Grundsatz
Alle Beteiligten sollten Anforderungen einbringen, um die Systemakzeptanz zu gewährleisten!
Synonym: Beteiligte = Stakeholder
Nur durch Beteiligung kann Akzeptanz erreicht werden!
Jede Gruppe von Beteiligten hat eine spezifische Sicht auf ein Software‐System, d.h. jede Gruppe hat auch spezifische Anforderungen!
Es ist sehr kostenintensiv, nachträglich Anforderung zu berücksichtigen, von daher müssen die Anforderungen aller Beteiligten vor Realisierung der Software ermittelt werden!
Problemerfassung / Zielfeststellung
Klärung und Konkretisierung der Aufgabenstellung / Ermittlung der Kernanforderungen
Analyse der Ist‐Situation
Abgrenzung des zu entwickelnden Systems / Feststellung von zu beachtenden Restriktionen
Aufzeigen / Beschreibung von alternativen Lösungsmöglichkeiten zur Zielerreichung (keine detaillierten Untersuchungen)
Überprüfung der Durchführbarkeit der einzelnen Lösungsalternativen in technischer, fachlicher, personeller und ökonomischer Hinsicht
Empfehlung und Entscheidung über eine Lösungsalternative
Erstellung eines Lastenheft und Pflichtenheftes
Analyse
Funktionen eines Pflichtenheftes
Vorgabefunktion für eine Softwareentwicklung (in Analogie zu einem Leistungsverzeichnis im Baubereich)
Abnahmefunktion bei der Übergabe des Softwareproduktes
Ein Pflichtenheft sollte vertraglicher Bestandteil eines Softwareentwicklungsauftrages sein (z.B. als Anlage des Vertrages)
Ein Pflichtenheft beschreibt, was realisiert werden soll, nicht wie es realisiert werden soll
Nach der Analyse muss man sich für eine Lösungsvariante entscheiden! Sollten mehrere mögliche Alternativen zur Verfügung stehen, kann eine Vorstudie/Prototyp sinnvoll sein.
Ergebnistypen einer Vorstudie
Entscheidungsübersicht für das Management
Betrachtung des monetär und nichtmonetären Nutzen und der Kosten für alle Lösungsalternativen
Aufzeigen der Konsequenzen bei Nichtrealisierung des Projektes
Problemstellung und Zielkatalog mit Beschreibung der Ist‐Situation, Aufzeigen der Probleme
Ausarbeitung der einzelnen Lösungsalternativen (i.d.R. nicht mehr als drei)
Abnahmefunktion bei der Übergabe des Softwareprojektes
vertraglicher Bestandteil eines Softwareentwicklungsauftrags
beschreibt, was realisiert werden soll, nicht wie es realisiert wird
Ableitung von (weiteren) Modellen aus den Anforderungen
Grundlegende Architektur (z.B.: Client-Server Architektur)
Klassenmodell
Dynamisches Modell
Entwurf / Überarbeitung / Präzisierung der fachlichen Modelle (Beispiel: Präzisierung der Klassenmodelle mit Datentypen, weitere Methoden/Operationen, Sichtbarkeit etc.)
Festlegung des Datei- / Datenbankkonzeptes auf der Grundlage des Informationsmodells
Entwurf des Schulungskonzeptes
Ergänzung der fachlichen Modelle um informationstechnisch erforderliche Klassen, z.B.
für das Fehlermanagement,
für das Sicherungskonzept
für Sicherheitsaspekte, wie Zugangskontrollen, Verschlüsselungen
Strukturierung/Zusammenfassung der Anwendung zu Softwarekomponenten mit klar spezifizierten Schnittstellen
Festlegung der Systemsteuerung, der Bildfolgen / Transaktionsfolgen, etc. (-> Usability Design)
Festlegung der Kommunikation zwischen den einzelnen Systemkomponenten
Entwurf des Testkonzeptes
Design
Aufgaben Implementierung
Umsetzung (Codierung /Implementierung/Konstruktion) der Units (z.B. Programme/Module/Klassen) auf der Grundlage der (hoffentlich) vorliegenden Spezifikation und der Architektur
Unit-Test (d.h. Test der einzelnen Programme/Module/Klassen) auf der Grundlage der (hoffentlich) vorliegenden Testkonzeption
Aufgaben Integration
Zusammenführung (Integration) der Programme, Module, Klassen zu einem lauffähigen Gesamtsystem innerhalb der Entwicklungsumgebung ( = interner Integrationstest)
Test des in der Entwicklungsumgebung integrierten Systems in einer Testumgebung, die der zukünftigen Produktivumgebung entspricht (= externer Integrationstest)
Aufgaben Stabilisierung
Roll out der Anwendung in ausgewählten Bereichen
Beseitigung von Fehlern, Schwachstellen, Optimierung
Gesamt – Roll out
Zuletzt geändertvor einem Jahr