Der Software -Designprozess umfasst mehrere wichtige Aktivitäten, die jeweils spezifische Ausgaben erzeugen. Diese Aktivitäten sind nicht immer streng sequentiell. Es gibt oft Iteration und Überlappung. Eine gemeinsame Darstellung folgt jedoch folgenden Phasen:
1. Anforderungen Sammlung und Analyse:
* Aktivität: Verständnis der Bedürfnisse der Stakeholder (Kunden, Benutzer usw.) und formell dokumentieren. Dies beinhaltet Interviews, Umfragen, Dokumentenüberprüfungen und Anwendungsfallerstellung.
* Ausgabe: Anforderungsspezifikationsdokument (SRS). In diesem Dokument wird genau definiert, was die Software tun soll, nicht wie sie es tun soll. Es kann Anwendungsfälle, Benutzergeschichten, funktionale Anforderungen, nicht funktionale Anforderungen (Leistung, Sicherheit usw.) und Einschränkungen enthalten.
2. Systemdesign:
* Aktivität: Definieren der Gesamtarchitektur des Systems. Dies beinhaltet die Identifizierung wichtiger Komponenten, deren Interaktionen und wie sie zusammenarbeiten, um die Anforderungen zu erfüllen. Zu diesem Zeitpunkt werden Entscheidungen über Technologie, Plattformen und Bereitstellungen getroffen.
* Ausgabe: Systemarchitekturdokument. Dies enthält typischerweise Diagramme, die die Komponenten des Systems, ihre Beziehungen (z. B. UML -Diagramme wie Komponentendiagramme, Bereitstellungsdiagramme) und den Datenfluss zeigen. Technologische Auswahlmöglichkeiten und hochrangige Designentscheidungen werden ebenfalls dokumentiert.
3. Detailliertes Design:
* Aktivität: Das System in kleinere, überschaubarere Module zerlegen und das interne Design jedes Moduls angeben. Dies beinhaltet das Entwerfen von Algorithmen, Datenstrukturen und Schnittstellen. Diese Phase konzentriert sich auf das "Wie" - die Implementierungsdetails.
* Ausgabe: Detailliertes Entwurfsdokument, das Modulspezifikationen, Klassendiagramme (bei Verwendung von objektorientiertem Design), Algorithmusbeschreibungen, Datenstrukturdefinitionen, Datenbankschemata (falls zutreffend), Schnittstellenspezifikationen (APIs) und potenziell Pseudocode oder Flowcharts enthält.
4. Datenbankdesign (falls zutreffend):
* Aktivität: Entwerfen des Datenbankschemas zum Speichern und Verwalten der Daten der Anwendung. Dies beinhaltet die Auswahl eines Datenbankverwaltungssystems (DBMS), das Definieren von Tabellen, Beziehungen zwischen Tabellen und Datentypen.
* Ausgabe: Datenbankschema-Entwurfsdokument, einschließlich Entitätsbeziehungsdiagramme (ERDs), Tabellendefinitionen und Datenwörterbücher.
5. Benutzeroberfläche (UI) Design:
* Aktivität: Entwerfen der Benutzeroberfläche, um das System einfach und intuitiv zu verwenden. Dies umfasst Wireframes, Modelle und Prototypen. Usability -Tests sind häufig Teil dieser Phase.
* Ausgabe: UI -Entwurfspezifikationen, einschließlich Drahtgaser, Modelle, Prototypen und UI -Style Guides. Usability -Testberichte können ebenfalls enthalten sein.
6. Testen und Validierung:
* Aktivität: Überprüfen Sie, ob das Design den Anforderungen entspricht und Fehler identifiziert. Dies kann die Überprüfung der Entwurfsdokumente, die Durchführung von Vorläufen und die Erstellung von Prototypen zum Testen beinhalten.
* Ausgabe: Testerpläne, Testfälle und Testberichte, in denen die Ergebnisse der Testaktivitäten beschrieben werden. Dies hilft sicherzustellen, dass das Design robust ist und den angegebenen Anforderungen entspricht.
Es ist wichtig zu beachten, dass die Ausgaben jeder Aktivität als Eingaben für nachfolgende Aktivitäten dienen. Beispielsweise informiert die Anforderungenspezifikation das Systemdesign, wodurch das detaillierte Design informiert wird. Der iterative Charakter der Softwareentwicklung beinhaltet häufig die Überprüfung früherer Stadien auf der Grundlage von Feedback und Änderungen in späteren Stadien.