Software Prozesse Teil 1 Flashcards
Software Prozess
Entspricht der konkreten Durchführung einer Software-Entwicklung
Was ist das Software-Prozessmodell?
- Formale / präzise Definition der Software-Entwicklungsprozesse
- Beschreibt eine Menge von Software-Prozessen
Lebenszyklusmodell
- Festlegung der wesentlichen Arten von Entwicklungstätigkeiten und ihrer Abhängigkeiten
- Abstrahiert von konkreten Software-Prozessmodellen
Lebenszyklusmodell
Code and Fix Modell
Die wesentlichen Aktivitäten sind Code schreiben und Fehlerbehebung
Lebenszyklusmodell
Nachteil des Code and Fix Modells
- Der Programmcode ist am Ende unstrukturiert aufgrund von mangelnder Analyse und Design
- Ist nicht für Teamarbeit vorgesehen
- Änderungen sind nur sehr schwer möglich
Lebenszyklusmodell
Worum geht es beim Wasserfallmodell?
- Beim Wasserfallmodell geht es um ein dokumentzentriertes Vorgehen
- Phase x kennt nur die Ergebnisse der direkt vorhergehenden Phase x-1
Vorteile des Wasserfall-Modells
- Das Wasserfallmodell ist an den Bedürfnissen des Managements ausgerichtet
- Implementierung erst nach Verständnis des Problems
Nachteile des Wasserfall-Modells
- Berücksichtigt nicht die erkenntnisgetriebene Entwicklung
- Die Phasen können nicht überlappen und sind starr
- Es ist stark dokumentenzentriert
Lebenszyklusmodell
Spiralmodell
- Ist ein Gegenentwurf zum Wasserfall-Modell
- Es wird eine iterative Entwicklung vorgesehen die vier Schritte beinhaltet
Spiralmodell
Wesentliche Entwicklungsaktivitäten
- Ziele, Alternativen und Randbedingungen identifizieren
- Risiko-Management
- Entwicklung und Test von Teilergebnissen
- Review der Resultate und Planung der nächsten Phase
Vorteile des Spiralmodells
- Überprüfung in regelmäßigen Intervallen
- Flexibel, da ein Prozess-Modell nicht für die gesamte Entwicklung festgelegt ist
Lebenszyklusmodell
Nachteile Spiralmodell
- Hoher Managementaufwand
- Weniger für kleinere und mittlere Projekte geeignet
Lebenszyklusmodell
Die wesentlichen Entwicklungsaktivitäten für Prototyping-Modelle
- Erstellung von Prototypen
- Nutzung von Prototypen um Nutzerfeedback zu erhalten
Prototyping-Modelle
Arten von Prototypen hinsichtlich der Verwendung
Es gibt Throw-away-Prototypen und evolutionäre / inkrementelle Prototypen
- Throw-away-Prototypen dienen zur Sammlung von Erfahrungen
- Evolutionäre / inkrementelle Prototypen dienen dem gleichen Zwecken wie der Throw-away-Prototyp werden aber zum Produkt weiterentwickelt
Arten von Prototypen hinsichtlich der implementierten Funktionalität
Es gibt Horizontale Prototypen und vertikale Prototypen
- Der horizontale Prototyp realisiert nur spezifische Ebenen des Systems
- Der vertikale Prototyp implementiert ausgewählte Teile des Zielsystems vollständig durch alle Ebenen hindurch
Prototyping-Modell
Vorteile des Prototyping-Modells
- Protoypen können durch geeignetes Werkzeug schnell erstellt werden
- Fördern die Kreativität für Lösungsalternativen
- Intensive Rückkopplung mit dem Endbenutzer und dem Auftraggeber
- Reduzierung des Entwicklungsrisikos
Prototyping-Modell
Nachteile des Prototyping-Modells
- Es besteht die Gefahr, dass ein Throw-away-Prototyp Teil des Endprodukts wird
- Prototypen werden oft als Ersatz für fehlende Dokumentation angesehen
Lebenszyklusmodell
V-Modell
- Das V-Modell ist eine Erweiterung des Wasserfallmodells
Achsen des V-Modells
Die horizontale Achse des V-Modells zeigt die Zeit / den Projektfortschritt an und die vertikale Achse zeigt die Abstraktions- / die Detaillierungsebene an
Entwicklungsaktivitäten des V-Modells
Was gehört zur Konstruktion?
Zur Konstruktion gehören:
- Anforderungsdefinition
- Systementwurf
- Architekturentwurf
- Komponententwurf
- Implementierung
Entwicklungsaktivitäten des V-Modells
Integration & Test
Zur Integration & Test gehören:
- Abnahmetest
- Systemtest
- Integrationstest
- Komponententest
V-Modells
Entwicklungsaktivitäten des V-Modells
Die Aktivitäten sind miteinander verbunden von oben bis unten
- Z.B.: Anforderungsdefiniton <—- Abnahmetest
V-Modell
Vorteile des V-Modells
- Qualitätssicherung erhält gleichen Stellenwert wie Konstruktion
- Klare Gegenüberstellung von konstruktiven und prüfenden Aktivitäten
- Bekanntes und weit verbreitetes Lebenszyklusmodell
V-Modell
Nachteile des V-Modells
- Es scheint als, dass das Testen erst nach der Implementierung erfolgt, obwohl dies auch paralell erfolgen kann
- Die Erkenntnisgewinnung durch Iterationen wird nicht unterstützt