Sie wissen, ich denke, ich muss denen widersprechen, die blind das Design der GUI vor dem zugrunde liegenden Datenmodell setzen. In einer realen Geschäftsumgebung dreht sich der Geschäftsbetrieb nicht nur um den Arbeitsablauf - eine große Komponente des Geschäfts, die sich auf Datenanalyse und Berichterstellung konzentriert. Wie können Sie Entscheidungen basierend auf Daten treffen, die Sie nicht verstehen können? Wenn Sie sich in 90% der Fälle mit einem Kunden hinsetzen, verstehen sie auch nicht, was ihre Anwendung zu tun hat, wie sie angelegt werden muss und die Hälfte der Zeit, sie verstehen nicht einmal was Funktionalität erfordert.
Wie analysieren Sie Ihre Daten, wenn Ihr gesamtes Datenmodell nur eine Persistenz von Bildschirmdaten ist? Wie berichten Sie darüber? Wenn Sie sich mit einem Datenbank-Guru zusammensetzen und ihm mitteilen, dass Sie einen Bericht aus einem Datenmodell erstellen möchten, das im Grunde Ihren ViewState darstellt, würden sie aufhören und Sie auffordern, es selbst zu tun - zumindest, wenn mir jemand sagt, dass ich einen Bericht erstellen muss Basierend auf dieser Art von Modell würde ich aufhören und ihnen sagen, dass sie jemand anderen dazu bringen sollen.
Die GUI, die oben auf dem Datenmodell sitzt, ist nebensächlich und ermöglicht Mitarbeitern, mit den Daten auf die einfachste und effizienteste Weise zu interagieren. Bedenken Sie, dass Softwarebenutzer keine Programmierer sind, sie denken nicht so wie Programmierer oder Datenbankarchitekten, und sie arbeiten nicht so, wie wir arbeiten; noch wollen sie. Sie möchten Daten einfach und auf die logischste Weise gemäß ihrem täglichen Arbeitsablauf eingeben können. Sie wollen denken können, wie viel kann ich heute machen, damit ich, wenn ich nach Hause gehe, keine Arbeit mit mir nehmen muss, sie wollen in den Urlaub fahren, ohne sich Sorgen zu machen, ob der neue Mann in der Lage sein wird, zu bleiben mit dem Fluss oder wenn sie in der Lage sein werden, die Software zu verstehen.
Geschäftsinhaber möchten in der Lage sein, die Daten auf die einfachste und effizienteste Art und Weise zu erhalten. Sie möchten Berichte, die in kürzester Zeit geschrieben werden, und möchten, dass die Daten logisch, effizient und repräsentativ für jedes aktuelle Modell dargestellt werden Bericht. Sie kümmern sich wenig um den Workflow, sie brauchen nicht zu wissen, wie viele Abteilungen diese Daten durchflossen haben, woher sie kamen, wie sie dorthin gelangt sind, wo sie jetzt sind. Sie wollen wissen, was das Datenstück ist, was es darstellt und was es für das Geschäft als Ganzes bedeutet.
Für einen Geschäftsinhaber sind die Daten viel wichtiger als das Stück Software. Für den Endbenutzer, der unter zehnmal mehr Zeit zehn Mal mehr Druck ausüben muss, muss die Software ihnen die Möglichkeit geben, in kürzester Zeit so viele Daten wie möglich in die Datenbank zu bringen.
Also wie entscheiden Sie, welches Design zuerst, die GUI oder das Datenmodell? Wie viel Geld wird längerfristig eingespart? Hat das Unternehmen 500 Benutzer, die Daten in diese Software eingeben, und tun sie dies auf die effizienteste Art und Weise? Verfügt das Unternehmen über 500 Berichtsautoren und können sie schnell und effizient auf die Daten zugreifen? Wie lang ist ein Stück Schnur?
Gestalten Sie Ihr Datenmodell für die Datenanalysten - machen Sie es so sauber und effizient wie möglich, um die Daten in einem umfassenden Format zu erhalten.
Entwerfen Sie Ihre GUI für die Endbenutzer und machen Sie es so sauber, einfach und effizient, wie es für diese Benutzer sein kann, um so schnell und einfach wie möglich Daten in Ihre Datenbank zu bekommen, ohne ein Raketenwissenschaftler zu sein. Häufig sind Endanwender im Vergleich zu denen, die die Software schreiben und die Daten extrahieren, kaum Computerkenntnisse.
Denken Sie von Anfang an immer daran, wie Sie die beiden miteinander verbinden, denn wenn Sie dies nicht tun, haben Sie zwei Enden und keine Möglichkeit, eine Mitte bereitzustellen, auf die Ihr Projekt fallen wird Stücke ...
Mehr Geld wird verschwendet, indem man Daten in ein System steckt und die Daten herausholt, als die Software zu schreiben, die die Verdrahtung zwischen den beiden Enden macht. Ein Team von Entwicklern kostet nicht annähernd das, was ein Unternehmen kostet, dessen Benutzer ungenaue Daten ineffizient und schlechte Qualitätsberichte eingeben, weil die Datenanalysten nicht effizient auf diese ungenauen Daten zugreifen können und eine Woche damit verbringen, einen Bericht zu schreiben, der nicht realistisch ist dauert mehr als eine Stunde oder zwei und wenn es geschrieben wird, ist sowieso keine Hilfe.
Mögliche Duplikate: http://stackoverflow.com/questions/134094/developing-n-tier-app-in-what-direction –
Einverstanden. Duplikat. Wenn dies die andere Frage ausdehnt, dann schlagen wir vor, dass wir zusammenführen und Wiki. –
Die MoSCoW-Methode hilft Ihnen, Ihre Anforderungen zu definieren und dann Ihr Modell zu entwerfen. http://en.wikipedia.org/wiki/MoSCoW_Method –