software-lebenszyklus
DESCRIPTION
Software-Lebenszyklus. Inhalt Vorgehensmodell/Phasenplan Wasserfallmodell WAS-Beschreibung WIE-Beschreibung Weitere Phasenmodelle: Spiral-Modell, V-Modell, RUP Extreme Programming SW-Qualitätssicherung (SW-QS) Qualitätskosten (aus Projektsicht) Konstruktive/analytische QS - PowerPoint PPT PresentationTRANSCRIPT
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 1
Software-Lebenszyklus
Inhalt • Vorgehensmodell/Phasenplan
– Wasserfallmodell• WAS-Beschreibung• WIE-Beschreibung
– Weitere Phasenmodelle:• Spiral-Modell, V-Modell, RUP
– Extreme Programming• SW-Qualitätssicherung (SW-QS)
– Qualitätskosten (aus Projektsicht)– Konstruktive/analytische QS– Qualitätsmodell / Qualitätsmerkmale– Review– Beispiel: Qualitätsmodell für Pflegbarkeit
Christoph Riewerts
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 2
Studie
Analyse
Entwurf
Implementierung
Betrieb
2 Entwicklungsphasen zur Beschreibung, was realisiert werden soll.
2 Entwicklungsphasen zur Beschreibung, wie das Produkt realisiert werden soll
Wie heißt dieses Vorgehensmodell?
SW-LebenszyklusPhasenmodell
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 3
SW-LebenszyklusPhasenmodell
Tätigkeiten in der Phase „Studie“ (Projekt-Vorphase):
• Definition der Projektziele• Situationsanalyse (grobe
Darstellung)• Darstellung des SOLL-Ablaufs• Gegenüberstellung der SOLL/IST-
Abläufe• Vorstellung der Projektfinanzierung• Terminvorstellungen für den
Projektablauf
Tätigkeiten in der Phase „Analyse“:
• Systemabgrenzung• Zielsetzung• Zustandsanalyse (fein)• Analyse der Datenflüsse und Funktionen
(funktionsorientierter Ansatz)• Analyse der Kontrollflüsse und
Ablaufbedingungen (ablauforientierter Ansatz)
• Analyse der Daten und Datenbeziehungen (datenorientierter Ansatz)
• Qualitätsziele• Verifikation der Analyseergebnisse (mittels
eines CASE-Tools)
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 4
SW-LebenszyklusPhasenmodell
Tätigkeiten in der Phase „Entwurf“:
• Festlegen der Software-Architektur
(Client-Server, Kommunikation, Schnittstellen, …)
• Festlegen der Hardware-Konfiguration
• Festlegen der modularen Software-Struktur
• Entwurf der Benutzeroberfläche (Layout, Navigation)
• ggfs. Datenbankentwurf• Entwurf des Testplans
Tätigkeiten in der Phase „Implementierung“:
• Übersetzen der Module und Komponenten• Modul- und Komponententest• Integrationstest• Erstellen der Benutzerdokumentation:
– Systembeschreibung (für die Weiterentwicklung)
– Bedienungsanleitung (für die Benutzung)
– Betriebsanleitung (für das Rechenzentrum)
Tätigkeiten in der Phase „Betrieb“: Inbetriebnahme, Abnahme, Störungs- und Fehlerbeseitigung, Schulung der Benutzer, Weiterentwicklung
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 5
SW-LebenszyklusPhasenmodell
Weitere Phasenmodelle:• Spiral-Modell
– iterativer Entwicklungsprozess– Definition von Prototypen
• V-Modell:– seit 1986 in Deutschland entwickelt (von mehreren Hochschulen)– vorgesehen für IT-Projekte der öffentlichen Hand, jedoch auch in der
Privatwirtschaft eingesetzt.– keine strikte zeitliche Abfolge der Aktivitäten
• RUP (Rational Unified Process)– von der IBM entwickelt– objektorientiertes Vorgehensmodell– benutzt UML (Unified Modeling Language)
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 6
SW-LebenszyklusSpiral-Modell
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 7
SW-LebenszyklusV-Modell (1von2)
Anforderungs-definition
Grobentwurf
Feinentwurf
Modulimple-mentation
Abnahmetest
Systemtest
Integrationstest
Modultest
Anwendungsszenarien
Testfälle
Testfälle
Testfälle
Validierung
Verifikation
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 8
SW-LebenszyklusV-Modell (2von2)
Konfigurations-struktur
Projekt planenund kontrollieren
PM
SE
QS KM
Plandaten Istdaten SEU
SEU
QS-Ergebnis
Ist-daten
QS-Anforderung
Produkt
Produktentwickeln
QS-Anforderungen
vorgeben
Produkteprüfen
Produkte/
Rechteverwalten
Produktstrukturplanen
Plan-daten
SEU SEUPlan-daten
Plan-daten
Ist-daten
Ist-daten
Produkt
Rechte
Voraussetzungen schaffenund Softwareentwicklungs-
umgebung (SEU) bereitstellen
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 9
SW-LebenszyklusRUP
Process Workflows
Supporting Workflows
ManagementEnvironment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Iterationen umfassen jeweils alle Workflows einer Phase
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 10
SW-LebenszyklusExtreme Programming (XP)
XP ist gedacht für kleinere Projekte mit unklaren und sich immer wieder ändernden Anforderungen
Das Team besteht aus 2 - 12 Mitgliedern (Kunde(!), Programmierer, Manager, Trainer, Verfolger)
Der Kunde ist fester Bestandteil des Teams. Er definiert, priorisiert und entwickelt die Testfälle für die User Stories
Die Programmierung (incl. Test) erfolgt in Paaren (pair-programming) mit Rotation der Partner
Gemeinsame Verantwortung der Gruppe für den Code: Jeder kann Änderungen am Code vornehmen
Test Driven Development (TDD): Alle Tests sollten möglichst automatisch ablaufen Entwickler schreiben Unit Tests, Kunden schreiben funktionale Tests Zuerst Testfall entwerfen, dann Funktionalitäten solange implementieren, bis
Testfall erfolgreich Testfall als Spezifikation der Anforderungen Test als Kriterium für Anforderungserfüllung
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 11
SW-LebenszyklusExtreme Programming
Der Prozess ist in monatliche Releases gegliedert, die wiederum in wöchentliche Iterationen von mehreren Tasks
Die sequentielle Integration garantiert zu jeder Zeit ein lauffähiges System
Die Entscheidungskompetenz liegt bei den Entwicklern und beim Kunden. Das Management zeigt lediglich zu lösende Probleme und Fortschritte des Teams auf
Strenge Einhaltung von Richtlinien: simple design, develop for today, refactoring
Die Teammitglieder müssen erfahren und kommunikativ sein
XP geht von einer 40 Stunden Woche aus. Überstunden sollten überflüssig sein
DHBW Stuttgart, Informatik,SW-Engineering , Kapitel 1.1 Sep 2012
Seite 12
SW-LebenszyklusExtreme Programming
Vorteile von XP Vollständige Erfüllung der Anforderungen wegen der engen
Kopplung von Auftraggeber und Auftragnehmer Gute Termineinhaltung wegen des strengen Zeitrasters Hohe Qualität wegen der umfangreichen Tests und der Richtlinien Große Motivation des Teams wegen Entscheidungskompetenz und
Verantwortungsübernahme
Nachteile von XP Das Fehlen einer expliziten Spezifikation und einer
Entwurfsdokumentation wird häufig kritisiert spätere Änderungen sind nur unvollständig berücksichtigt Das gemeinsame Code-Eigentum kann zu Problemen führen Es gibt keine empirische Untersuchung, die belegt, dass XP anderen
Vorgehensweisen überlegen ist