Was haben Sie für gute Ansätze zur Entwicklung von Webanwendungen gefunden?
Beginnen Sie beispielsweise mit der Benutzeroberfläche und fügen Sie dann Funktionen hinzu? Konzentrieren Sie sich auf eine einzelne Ressource und programmieren Sie alles, bevor Sie mit der nächsten fortfahren? Oder gehst du Schicht für Schicht, beginnend mit der Modell / DB-Schicht und aufbauend?
Ich arbeite alleine.
Ich gehe davon aus, dass Sie bereits einige User Storys und Anforderungen haben. Ich mag es, ein rudimentäres Domänenmodell zu erstellen (im Grunde ein Klassendiagramm), vielleicht nicht ALLE Felder, die alles enthalten wird, aber genug, um eine allgemeine Vorstellung davon zu bekommen, wie alles zusammenhängt, Vererbungshierarchien und was alles ist.
Was das Codieren angeht, möchte ich mit einer einzelnen Ressource beginnen und einige grundlegende Funktionen darauf aufbauen. Ich hänge es zu diesem Zeitpunkt im Allgemeinen nicht an eine DB an, ich verwende ein ziemlich einfaches DAO, das Dinge in eine Sammlung von Domänenobjekten stopft.
Als nächstes füge ich eine Handvoll kleiner zusammenhängender Ressourcen hinzu und beginne, die verschiedenen Verbindungen zwischen ihnen aufzubauen. An dieser Stelle habe ich ein paar Domain-Objekte an Ort und Stelle, aber möglicherweise nicht alle Felder und Sachen, die sie brauchen aufgebaut. Nur ein paar wichtige Felder, die ausreichen, um Instanzen der Objekte zu unterscheiden und eine Handvoll von ihnen miteinander zu verbinden.
An diesem Punkt versuche ich, die Domänenobjekte, die ich habe, mit Feldern und Verhaltensweisen zu füllen, und füge die erforderlichen Bits zu den Views hinzu, um diese Features nutzbar zu machen. Dann bekomme ich eine Art brauchbare persistente Arbeit, konfiguriere die Validierung und mache die Ansichten schön.
Verfeinern Sie, was Sie haben, und iterieren Sie, um den Rest Ihres Modells abzudecken.
"User Storys" & gt; Prototyp & gt; Design & gt; Codierung & gt; Iteration1 & gt; Iteration2 & gt; ... & gt; veröffentlichen
Hier ist ein gutes Beispiel für Iterationen:
Scrollen Sie nach unten zu "ASP.NET MVC Contact Manager-Beispielanwendung". Es sieht so aus:
Beginnen Sie mit dem Benutzer, wenn Sie eine Anwendung möchten, die Benutzer gerne verwenden. Dann arbeiten Sie wieder mit dem Datenbankentwurf zusammen, der mit den User Stories funktioniert.
Wenn Sie eine Anwendung haben möchten, die wie viele andere funktioniert, wo die Benutzer nur dazu da sind, die Datenbankwartung durchzuführen, starten Sie von der Datenbank aus. Sie werden wahrscheinlich schneller fertig, aber Ihre Benutzer werden nicht so glücklich mit dem Ergebnis sein.
Ich tendiere dazu, mit der Datenbank zu beginnen und wieder zu arbeiten, da das Modellieren von Entitäten dazu neigt, Probleme hervorzuheben.
Von dort werde ich dann die Basis-Webapp-Struktur erstellen (was in Java bedeutet, mein Projekt zu erstellen, Spring hinzuzufügen, Datenquellen und Sicherheit zu konfigurieren und so weiter).
Sobald ich alle Klempnerarbeiten habe, erstelle ich Datenzugriffe, Controller und Ansichten, in der Regel einen von beiden, um einen Proof of Concept zu erhalten oder einfach als Vorbild für die Junior-Entwickler zu folgen.
Webapps sind iterative Prozesse (meistens) und ich finde es am besten, so schnell wie möglich einen vertikalen Schnitt zu erstellen.
Wenn Sie wissen, was Sie wollen, können Sie das Problem von allen Seiten angreifen, aber gute Designprinzipien schreiben vor, dass Sie zuerst eine Art von Spezifikation haben, die die gewünschten Funktionen umreißt. Es hilft Ihnen nicht nur bei der Festlegung Ihrer Meilensteine, sondern auch bei der Planung Ihrer Anwendung.
Ein gutes Designprinzip schreibt vor, dass Sie zuerst Domänenobjekte oder Geschäftsobjekte entwerfen. Dies sind alle "Substantive" in Ihrer Anwendung. Angenommen, Sie möchten eine Website entwickeln, auf der die Baseballstatistiken der Major League Player angezeigt werden. Die Domainobjekte sind hier die Substantive "Spieler", "Statistik", "Baseball", "Liga" und so weiter. Für jedes dieser Objekte erstellen Sie ein Domänenmodell und eine entsprechende Datenbanktabelle. Dann beginnen Sie, über die Funktionalität nachzudenken, die Sie zum Beispiel Player.CareerSpan () oder Player.GamesPlayer (int Jahr) hinzufügen möchten.
Interface Design kann auch parallel passieren und auch hier sollten Sie Mockups entweder auf Papier oder mit einigen Werkzeugen (Balsamiq Mockups ist mein Favorit) verwenden.
Irgendwann kommt es nur auf das persönliche Management und die Vermeidung von Backtracking an. Wenn Sie zu viel Code rückgängig machen, ist etwas aus. Ein Quellcode-Kontrollsystem wird Ihnen dabei helfen, dies auch zu realisieren.
Die obige Antwort von Koistya ist gut. Ich habe jedoch festgestellt, dass ich die Kunden zufriedener mache und ihr Buy-In ziemlich schnell erhält, wenn ich die Benutzeroberfläche in einen darstellbaren Zustand bringe.
Persönlich beginne ich immer damit, alles zu verstehen. Dann erstelle ich die Struktur meiner Modelle, dann logge ich mich ein, um neue Daten hinzuzufügen (egal ob es sich um ein Admin-Control-Panel oder Front-End-Zeug handelt)
Dann schreibe ich Tests
Dann beginne ich mit der Anzeigelogik, der Bearbeitung usw. usw. und benötige zusätzliche Funktionalität
Ich beginne mit dem Modell - & gt; Datenzugriff - & gt; Datenbankschema - & gt; Benutzeroberfläche
Ich mache das gleiche für jede User Story (und ja, tested developed)
Wenn du dich alleine entwickelst, tu was auch immer für dich funktioniert. Hier sind einige andere Ressourcen für Sie zu sehen, während Sie mit was auch immer für Sie arbeiten. Beachten Sie, dass diese anderen Ansätze ein Team annehmen.
Ich hoffe, das hilft.
Entwicklung von Webanwendungen beginnt mit sehr guten Spezifikationen, die jeden Aspekt der Benutzererfahrung, Funktionen, zukünftige Entwicklungsbedürfnisse usw. umfassen Erst nachdem Sie es geschrieben und genehmigt haben, können Sie mit der Entwicklung von Webanwendungen beginnen. Andernfalls werden Sie immer wieder neue Funktionen hinzufügen und den Code immer wieder öffnen.
Tags und Links web-applications design