Upload
kuno-schneller
View
103
Download
1
Embed Size (px)
Citation preview
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 1
LE 3.2 - LM 9 - LO 1 Prozessmodelle
Inhalt• Prozessmodell im Management
Prozess• Was leisten PM• Wasserfall-Modell• Iterativ inkrementelles Vorgehen• Beispiel für iterativ inkrementelles
Vorgehen: der RUP • Beispiel für Koppelung von SE
Entwicklung mit QS und PM: das V-Modell
• Weitere Prozessmodelle• Verbesserung des SE Prozesses
am Beispiel des Capability Maturity Modell
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 2
Vorbemerkung
Prozessmodelle - häufig auch Vorgehensmodelle genannt - haben zum Ziel, den Prozess der Entwicklung von Softwaresystemen zu strukturieren und planbar zu machen. Sie bilden damit die Grundlage des prozessorientierten Qualitätsmanagements. Durch Tayloring kann aus einem Prozessmodell der organisatorische Rahmen der Softwareentwicklung innerhalb eines konkreten Projektes entwickelt werden. Anhand des Wasserfallmodells werden die grundlegenden Festlegungen eingeführt (Aktivitäten, Produkte einschliesslich Layout und Qualitätskriterien, Qualifikationen, Rollen und Entwicklungsumgebung). Es werden die Schwächen des Phasenmodells aufgezeigt und alternative Modelle skizziert.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 3
Prozessmodelle
Verwendete Lernobjekte
LO 2: Prozessmodell und Management
LO 3: Software Entwicklungsprozess
LO 4: Vorgehensmodelle
LO 5: Iterativ-inkrementelle
LO 6: Beispiel für iterativ inkrementelles Vorgehen: der RUP
LO 7: Zusammenfassung, Abspann
LO 8: Tests zu LM9
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 4
Das sollten Sie heute lernen
• Was meint Softwareentwicklungsprozess
• Warum benötigt man Prozessmodelle für die S-Entwicklung
• Was unterscheidet sequentielle und iterativ-inkrementelle Prozessmodelle
• Beispiele für sequentielle Prozessmodelle
• Beispiele für iterativ-inkrementelle Prozessmodelle
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 5
LE 3.2 - LM 9 - LO2
Prozessmodell und Management
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 6
Motivation
Softwaresysteme gehören zu den komplexesten Gebilden, die von
Menschen geschaffen werden
• Software ist meist einzigartig
• und unter unterschiedlichen Randbedingungen zu entwickeln
• Häufig wird die Integration von Altlasten gefordert
• Schneller technologischer Wandel
• Änderung der Anforderungen der Anwender
• Unterschiedliche Fähigkeiten der Mitarbeiter
Konsequenz: Die Entwicklung von Softwaresystemen muss gemanagt werden
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 7
Aufgaben des Managements (1)
• Planung und Überwachung
- Pläne erstellen und verfolgen
- Auswertung von Informationen
- Risikomanagement
• Führung und Steuerung
- Kommunikation der Projektziele
- Setzen von Schwerpunkten
- Entscheidungen treffen
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 8
Aufgaben des Managements (2)
• Teamaufbau
- Teambildung / Teamarbeit
- Langfristige Bindung guter Mitarbeiter
- Weiterbildung
- Mitarbeitermotivation
• Sonstiges
- Bereitstellung der Arbeitsumgebung
- Koordination mit Alltagsgeschäft und anderen Projekten
Unter den vom Management vorgegebenen Bedingungen muss dann ein Produkt „Software“ erstellt werden
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 9
LE 3.2 - LM 9 - LO3
Software Entwicklungsprozess
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 10
Was ist ein Softwareentwicklungsprozess?
– Eine Menge von Tätigkeiten, die die Entwicklung der Software als Ziel
haben
– Allgemeine Tätigkeiten in allen Softwareprozessen sind:
Spezifikation - Was das System können muss unter gegebenen
Entwicklungsbedingungen
Entwicklung - Produktion des Softwaresystems
Validierung - Testen, ob die Software das macht, was der Kunde
wollte
Wartung - Änderungen der Software in Antwort auf die
Änderungswünsche
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 11
Software-Entwicklungsprozess - Ziele
• Alle Elemente eines Systementwurfs sind in einem Repository erfaßt und damit quantitativ definiert. Sie bilden die Grundlage für die Aufwandskalkulation, stehen über festgelegte Strukturen in Beziehung zueinander und können in mehreren Projekten verwendet werden.
• Alle Systementwürfe und -dokumente beziehen sich begrifflich auf diese Elemente mit einheitlichen Schreibweisen und konsistenten Begriffen - inklusive der an der Benutzeroberfläche (Masken, Listen, Belege) verwendeten Bezeichnungen.
• Es besteht jederzeit Transparenz darüber, wo welche Elemente auftreten beziehungsweise benutzt werden. Die Beschreibung referenzierter Objekte ist direkt abrufbar.
• Die Entwürfe werden automatisch formalen Plausibilitätsregeln unterworfen. • Die Definitionen sind eins zu eins die Basis für Texte in
Benutzerdokumenten und Online-Help-Systemen.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 12
Was leisten Prozessmodelle - 1
• Software Erstellungsprozess wird transparent
– Vergabe von Zielen, Wegen, Mitteln, Aufgaben, Rollen
• Software Erstellung wird überprüfbar
– Erfüllung der Aufgabe
– Erreichung der Ziele
– Aufdeckung von Risiken
– Beurteilung des Projektfortschrittes
• Management von Ressourcen wird möglich
– Kosten
– Zeit
– Personen
• Erfahrungen werden gesammelt und wiederverwendbar
– Tailoring von Workflows
– Best Practice Effekt
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 13
Was leisten Prozessmodelle - 2
• Prozessmodelle strukturieren den Vorgang der Software Erstellung
– Definieren Aktivitäten
– Legen deren Ergebnisse fest
– Geben Empfehlungen für die Abarbeitung der Aktivitäten
• Prozessmodelle müssen daher
– für jedes Projekt
– für jedes Projektteam
ausgewählt und angepasst werden.
• Das in einem konkreten Projekt verwendete Prozessmodell charakterisiert die Komplexität und den Lösungsansatz im Projekt
• Die Instanzierung des Prozessmodelles spiegelt die Entwicklungskultur eines Software Unternehmens wieder
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 14
Prozess-Qualität in der Softwareentwicklung
Niedrige Prozessqualität
Improvisierter, ad hoc-Prozess
Reaktion bei Problemen
Kosten- und Terminpläne werden im allgemeinen nicht eingehalten
Qualitäts- und Funktionsreduktion bei Terminproblemen
QS-Aktivitäten werden bei Terminproblemen nicht durchgeführt
Hohe Prozessqualität
Professionell durchgeführter Prozess
Vermeiden von Problemen
Bessere Planung durch geeignete Prozessverfahren
Probleme werden frühzeitig erkannt und behoben
Der Prozess wird kontinuierlich verbessert
Die Verbesserung der Prozessqualität erfordert ein Ziel (Prozesswahl), die Erhebung des Istzustandes (Audit oder Assessment) und die Auswahl von Schritten zur Annäherung des Istzustandes an das Ziel.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 15
Software Entwicklungsprozess - häufige Fehler
• Auf ein Datenmodell wird im fachlichen Entwurf verzichtet
• Systeme und ihre Funktionen werden nicht über ein Repository sondern direkt als Word-Dokument beschrieben.
• Für Funktions- und Maskenabläufe werden, wenn überhaupt vorhanden, bunte Folien etwa über Powerpoint erstellt.
• Die zum System gehörenden Teile werden erst in der technischen Umsetzung eindeutig beschrieben und vielleicht bei Projektende nachdokumentiert.
• Dokumente werden in uneinheitlichen Formaten, Ablagemedien und -strukturen verwaltet.
• Es gibt kaum qualitätssichernde Prüfungen.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 16
Prozessmodelle nach der ISO 9000
• Die ISO 9000-Familie beschreibt einen Rahmen, um ein QM-System in einer Organisation einzuführen und zu betreiben. Die Einführung eines QM-Systems macht es notwendig, sich über alle Vorgänge, Verantwortlichkeiten, Verhaltensweisen und Einstellungen der Mitarbeiter klar zu werden. Alle Abläufe müssen offengelegt und dokumentiert werden. Dabei stellt sich oft heraus, daß einzelne Maßnahmen nicht angemessen sind und geändert werden müssen. Dies ist eine große Chance für jedes Unternehmen, seine Abläufe zu optimieren.
• Die Allgemeingültigkeit der Normen führt allerdings dazu, daß die Normen sehr vage formuliert sind und daher sehr unterschiedlich interpretiert werden können. Dadurch wird einerseits die Anpassung auf das eigene Unternehmen sehr aufwendig. Andererseits ist es auch möglich, Verantwortlichkeiten und Abläufe auf einem sehr niedrigem Niveau zu regeln, so daß die Anforderungen der Norm zwar formal erfüllt sind, die dadurch erreichte Produktqualität aber trotzdem sehr niedrig ist. Dies ergibt sich aus aus der Tatsache, daß es sich hier um eine Prozeßnorm und keine Produktnorm handelt. Eine weitere Folge ist, daß Zertifikate verschiedener Zertifizierungsstellen unterschiedlichen Stellenwert auf dem Markt besitzen
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 17
Prozessstruktur des ISO 9001/9004 Prozessmodells
Anforderung Aktivitäten Erfüllung
Die neuen Normen sind vor allem Kunden- und Prozess-orientiert
ProduktVerantwortung
RessourcenVerwaltung
Produktrealisierung
QM zur ProduktVerbesserung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 18
Aufgaben von Lebenszyklusmodellen
Software hat eine Geschichte, die von ihrer Planung bis zu ihrer Ablösung reicht (Lebenszyklus). Diese Geschichte verläuft für unterschiedliche Produkte oft ähnlich, man kann sie modellhaft beschreiben (Lebenszyklusmodell). Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:
– Definition der Tätigkeiten im Entwicklungsprojekt
– Zusicherung von Konsistenz zwischen einzelnen Projekten
– Schaffung von Kontrollpunkten für das Management
Lebenszyklusmodelle gliedern eine Gesamtaufgabe in Teilaktivitäten, denen Methoden und Personen zugeordnet werden und die ein oder mehrere Produkte erzeugen. Die Aktivitäten werden Phasen zugeordnet.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 19
Zeitliche Zerlegung Software-Lebenszyklus
Phase Ergebnis
1. Problemanalyse - Pflichtenheft
2. Programmentwurf - Spezifikation
3. Programmierung - Programm
4. Testprogramm - Testbericht des AuftragNehmer
5. Abnahme - Abnahmebericht
6. Verifikation - Erfahrungsbericht des Auftraggeber
7. Wartung - Fortschreibung aller Berichte
Typische Projektaktivitäten werden schwerpunktmäßig in getrennten Phasen durchgeführt
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 20
Phasenbeziehung und -anordnung
Phasen können in unterschiedlicher Weise miteinander in Beziehung stehen und angeordnet sein. Wir unterscheiden:
• Sequentielle Modelle
– Streng sequentiell
– mit Einfluss auf zurückliegende Phasen
• Iterative Modelle
– sich wiederholend
– mit oder ohne Überlappung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 21
LE 3.2 - LM 9 - LO4
Vorgehensmodelle
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 22
Beispiele für Vorgehensmodelle
• Sequentielle Modelle
- Wasserfallmodell
- Phasenmodell
• Mischmodelle
- Spiralenmodell
- Prototyp Modell
• Iterative-inkrementelle Modelle
- V-Modell 2000
- Unified Process
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 23
Weitere Prozessmodelle - Eigenschaften
Prozess- Primäres Antreibendes Benutzer- CharacteristikaModell Ziel Moment beteiligung
Wasserfall- minimaler Dokumente gering sequentiell,modell Management- volle Breite
aufwand
Spiralmodell Risiko- Risiko mittel Entscheidung prominimierung Zyklus über
weiteres Vorgehen
Prototypen- Risiko- Code hoch nur TeilsystemeModell minimierung (horizontal
oder vertikal)
V-Modell maximale Dokumente gering sequentiell,Qualität volle Breite,(safe-to- Validation,market) Verifikation
Diesen Prozessmodellen liegt im Wesentlichen das Paradigma der strukturierten Methoden zu Grunde. Die Objektorientierung wird erst durch neuere Modelle adäquat unterstützt. Dazu gehören das V-Modell-97 und der hier weiter vorgestellte Rational Unified Process
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 24
Was macht eine Phase aus ?
Personen Methoden
Eingangs-daten
ErgebnisseAktivität
Zeit
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 25
Definition von Phasen
Eine einzelne Phase ist durch folgende Kriterien definiert:
• Abgeschlossene Teilaufgabe (Zeit, Umfang)
• definierte Eingangsdaten
• definiertes Ergebnis
• involvierter Personenkreis
• benutzte Methoden
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 26
Aktivitäten in den einzelnen Phasen
In allen Phasen ergeben sich Aktivitäten genereller Art, die phasenspezifische umzusetzen sind
– Zielfestlegung für die Phase
– Bestimmung von Alternativen
– Bestimmung von Restriktionen
– Risikobewertung
– Auswahl des Lösungsweges
– Erstellung eines (oder mehrerer) Produkte
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 27
Kategorisierung
Lebenszyklusmodelle können nach unterschiedlichen Kriterien kategorisiert werden:
• Art und Inhalt der Phasen
• Beziehungen zwischen den Phasen
• Anordnung der Phasen
• Betrachteter Projektumfang
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 28
Kritik am sequenziellen Modell
Erfahrung
Die Behebung von Fehlern ist umso schwieriger, je früher sie im Lebenszyklus-Modell entstanden ist.
Kritik am sequentiellen Modell
Zu starrer Ablauf,
zu wenig Wechselwirkung zwischen Phasen,
zu unflexibel bei
Fehlern,
Änderungen.
Kaum Möglichkeiten für
Überspringen von Phasen,
Überarbeitung früherer Phasen,
inkrementelle Erweiterung.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 29
Beispiel: Wasserfallmodell
Voraussetzungen:
• Stabiles Umfeld (z.B. keine Änderungen der Anforderungen)
• Bekannte Technologien und Verfahren
Analyse
Design
Kodierung
Test
Produkte:• Spezifikation• Entwurf• Programm•Abnahmebericht
Aktivitäten
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 30
Wasserfallmodell
Vorteile:
• Klare Aufgaben in jeder Phase
• „relativ einfach“
• Genaue Planung bei geringem Overhead
Nachteile:
• Rückkehr in eine frühere Phase ist aufwendig
• Probleme werden erst spät erkannt
Gut geeignet für kleine Projekte und StandardprojekteUngeeignet für Neuentwicklungen komplexer Systeme
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 31
Weitere sequentielle Prozessmodelle - Definitionen
Spiralmodell Eine Softwareentwicklung durchläuft mehrmals einen aus vier Schritten bestehenden Zyklus mit dem Ziel, frühzeitig Risiken zu erkennen und zu vermeiden. Pro Zyklus kann dann ein Prozess-Modell oder eine Kombination von Prozess-Modellen zur Erstellung eines Teilprodukts oder einer Ebene eines Teilprodukts festgelegt werden.
Prototypen-Modell Frühzeitige Erstellung ablauffähiger Modelle (Prototypen) des zukünftigen Produkts zur Überprüfung von Ideen oder zum Experimentieren.
V-Modell-94 Ein um die Aktivitäten Verifikation und Validation erweitertes Wasserfallmodell, ursprünglich für eingebet-tete, militärische Entwicklungen vorgesehen. Inzwischen gibt es in Deutschland eine Weiterentwicklung, die auch andere Anwendungsklassen abdeckt (V-Modell 97 erweitert in Richtung Objektorientierung).
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 32
Prototyping
Prototyping soll folgende Probleme lösen helfen:
– Häufige Änderungen während des Projektes bewirken Rückkopplung und Berichtigungen
– Benutzereinfluss selten gegeben
– keine Möglichkeit der Überprüfung des Designs in frühen Phasen
Dies soll durch Einsatz von Prototypen erreicht werden, die schnell entwickelt werden können, aber nur teilweise funktionsfähig sind
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 33
Arten des Prototyping
Es existieren unterschiedliche Arten des Prototyping:
horizontal/ Realisierung einzelner vertikal: Schichten bzw. einzelner
Funktionalitäten
explorativ: Frühe Präzisierung von Anwender-wünschen
experimentell: Überprüfung des Lösungskonzepts auf Softwareebene
evolutionär: Permanente Adaption, keine Trennung von Wartung und Entwicklung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 34
Methoden des Prototyping
Möglichkeiten
1. Rohfassung ohne Qualitätssicherung
2. Hohe Programmiersprache oder Datenbanksprache
3. Verwendung von Framework
4. Realisierung ausgewählter Teilfunktionalitäten
Diese Liste kann erweitert werden.
Prototypart Wegwerf (Beispiel 1,2)
inkrementell (Beispiel 4)
evolutionär (Beispiel 3)
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 35
Bewertung von Prototyping
Der Einsatz von Prototyping lässt sich wie folgt beurteilen:
• Sinnvolle Ergänzung zu allen Lebenszyklusmodellen
• unterstützt wichtige Wiederverwendung von Ideen und Konzepten
• Benutzeranforderungen müssen trotzdem festgehalten werden
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 36
Das Prototyp-Modell nach Yourdon
Discuss initial requirements with user
Develop prototype
Demonstrate prototype to user
Prototype acceptable ?
Formal analysis
Formal design
Formal code, test, etc.
yes
Revise prototypeno
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 37
Das Spiralenmodell
Jede Spirale umfasst 4 Schritte
1. Analyse -Identifikation der Wege
2. Entwurf - Auswahl der Strategie mit minimalem Risiko
3. Prototyp erstellen
4. Prototyp evaluieren und nächsten Zyklus planen
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 38
Schritte des Spiralenmodell - (1)
• Schritt 1: - Identifikation der Ziele des Teilprodukts, das erstellt werden soll (Leistung, Funktionalität, Anpassbarkeit usw.).
- Alternative Möglichkeiten, um das Teilprodukt zu realisieren (Entwurf A, Entwurf B, Wiederverwendung, Kauf usw.).
- Randbedingungen, die bei den verschiedenen Alternativen zu beachten sind (Kosten, Zeit, Schnittstellen usw.).
• Schritt 2- Evaluierung der Alternativen unter Berücksichtigung der Ziele und Randbedingungen.
- Zeigt die Evaluierung, dass es Risiken gibt, dann ist eine kosteneffektive Strategie zu entwickeln, um die Risiken zu überwinden. Dies kann z.B. durch Prototypen, Simulationen, Benutzerbefragungen usw. geschehen.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 39
Schritte des Spiralenmodell - (2)
• Schritt 3- In Abhängigkeit von den verbleibenden Risiken wird das Prozess-Modell für diesen Schritt festgelegt, z.B. evolutionäres Modell, Prototypen-Modell oder Wasserfall-Modell.
- Es kann auch eine Kombination verschiedener Modelle vorgenommen werden, wenn dadurch das Risiko minimiert wird.
• Schritt 4- Planung des nächsten Zyklus einschließlich der benötigten Ressourcen. Dies beinhaltet auch eine mögliche Aufteilung eines Produktes in Komponenten, die dann unabhängig weiterentwickelt werden.
- Überprüfung (review) der Schritte 1 bis 3 einschließlich der Planung für den nächsten Zyklus durch die betroffenen Personengruppen oder Organisationen.
- Einverständnis (commitment) über den nächsten Zyklus herstellen.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 40
V-Modell
Das V-Modell in seiner ursprünglichen Fassung (V-Modell 99) war eine Erweiterung des Wasserfall-Modells. Es integriert die Qualitätssicherung in das Wasserfall-Modell. Die Verifikation und Validation der Teilprodukte sind Bestandteile des V-Modells.
Unter Verifikation wird die Überprüfung der Übereinstimmung zwischen einem Software-Produkt und seiner Spezifikation verstanden.
Unter Validation wird die Eignung bzw. der Wert eines Produktes bezogen auf seinen Einsatzzweck verstanden. (Prüfung ob Modell adäquat)
Das V-Modell wurde zunächst für die Bundeswehr und anschließend für Behröden entwickelt.
Das V-Modell wurde Ende der 90 Jahre zum VModell-97 weiterentwickelt.
(siehe LO 5, iterativ-inkrementelle Prozessmodelle)
Das V-Modell wird detailliert im LM 4 des LE 3.1 vorgestellt.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 41
Vorgehensmodelle verbinden Prozess- und
Qualitäts- Management
Anforderungs-definition
Grobentwurf
Feinentwurf
Modul-implementation
Modultest
Integrationstest
Systemtest
AbnahmetestAnwendungsszenarien
Testfälle
Testfälle
Testfälle
Validierung
Verifikation
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 42
LE 3.2 - LM 9 - LO5
Iterativ-inkrementelle
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 43
Prozessmodelle - Eigenschaften
Prozess- Primäres Antreibendes Benutzer- CharacteristikaModell Ziel Moment beteiligung
Wasserfall- minimaler Dokumente gering sequentiell,modell Management- volle Breite
aufwand
Spiralmodell Risiko- Risiko mittel Entscheidung prominimierung Zyklus über
weiteres Vorgehen
Prototypen- Risiko- Code hoch nur TeilsystemeModell minimierung (horizontal
oder vertikal)
V-Modell maximale Dokumente gering sequentiell,Qualität volle Breite,(safe-to- Validation,market) Verifikation
Diesen Prozessmodellen liegt im Wesentlichen das Paradigma der strukturierten Methoden zu Grunde. Die Objektorientierung wird erst durch neuere Modelle adäquat unterstützt. Dazu gehören das V-Modell-97 und der hier weiter vorgestellte Rational Unified Process
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 44
Iterativ-inkrementelle Prozessmodelle
Eine solche evolutionäre Entwicklung besitzt folgende Charakteristika• Das Software-Produkt wird allmählich und stufenweise entwickelt, gesteuert
durch die Erfahrungen, die der Auftraggeber und die Benutzer mit dem Produkt machen.
• Pflegeaktivitäten werden ebenfalls als Erstellung einer neuen Version betrachtet.• Gut geeignet, wenn der Auftraggeber seine Anforderungen noch nicht
vollständig überblickt: „ I can´t tell you what I want, but I´ll know it when I see it“• Die Entwicklung ist code-getriben, d.h. man konzentriert sich jeweils auf
lauffähige Teilprodukte.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 45
Iterative-Inkrementelle Vorgehensmodelle (1)
Annahmen:
• Anforderungen sind unvollständig
• wichtige Erkenntnisse werden erst im Laufe des Projektes gewonnen
Analyse
Design
Kodierung
Test
Analyse
Design
Kodierung
Test
Iteration 1
Iteration 2
Iteration N
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 46
Iterative-Inkrementelle Vorgehensmodelle (2)
Geeignet für Projekte mit Unwägbarkeiten
• Inkrementell - Verbesserung in Breite
• iterativ - Verbesserung in Tiefe
Vorteile:
• Evolutionäre SW-Entwicklung (Iterationsende: Programm)
• Reaktion auf Änderungen und Unvorhergesehenes einfacher
• Feinere Steuerung möglich
Nachteile:
• scheinbar mehr Aufwand
• Schwierigere Umsetzung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 47
Wasserfall vs. Iterative Modelle
• Wasserfallmodell:
- einfacher umzusetzen
- geeignet für Projekte mit bekannten Verfahren in einem stabilen Umfeld
• Iterative-Inkrementelle Modelle
- Flexibel
- Probleme werden frühzeitig erkannt
- Nach jeder Iteration steht ein Produkt, das ggf. ausgeliefert werden könnte
- Erlaubt schnelle Reaktion auf Unvorhergesehenes
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 48
Was ist das V-Modell ? -1
Der Entwicklungsstandard für IT-Systeme des Bundes besteht aus drei Teilen:
Vorgehensmodell (Was ist zu tun?),
Methodenzuordnung (Wie ist etwas zu tun?)
Funktionale Werkzeuganforderungen (Womit ist etwas zu tun?)
Der Kern des Standards ist die Beschreibung des IT-Entwicklungsprozesses als Vorgehensmodell, wofür abkürzend das Wort V-Modell benutzt wird. Dabei werden in dem Begriff „V-Modell“ die Teile Methodenzuordnung und funktionale Werkzeuganforderungen mit eingeschlossen, weil diese als Ergänzung zum Vorgehensstandard zu verstehen sind. Im V-Modell wird der Entwicklungsprozess als eine Folge von Tätigkeiten, den Aktivitäten, und deren Ergebnisse, den Produkten, beschrieben.(aus Dröschel et al. Kap. 4, Ref. 31)
Werkzeug-anforderungen
Methoden
Vorgehensweise
Konfigurationsmanagement
Qualitätssicherung
Systemerstellung
Projektmanagement
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 49
Was ist das V-Modell ? -2Zu jeder Aktivität existiert eine Aktivitätenbeschreibung als Arbeitsanleitung. Im zugehörigen Produktfluss wird angegeben• welche Produkte als Eingangsprodukte benötigt werden, • wo sie zuletzt bearbeitet wurden,• welche Produkte erzeugt oder modifiziert werden und • in welcher Folgeaktivität die erzeugten/modifizierten Produkte verwendet werden.
Dadurch wird der logische Ablauf des Vorgehens eindeutig festgelegt. Die Inhalte der Produkte werden in den Produktmustern festgelegt.
Der gesamte Prozess ist in Tätigkeitsbereiche untergliedert. Im V-Modell werden diese als Submodelle beschrieben:• Die Systemerstellung (SE) erstellt das System bzw. die Softwareeinheiten.• Das Projektmanagement (PM) plant, initiiert und kontrolliert den Prozess und informiert die
Ausführenden der übrigen Submodelle.• Die Qualitätssicherung (QS) gibt Qualitätsanforderungen, Prüffälle und Kriterien vor und unterstützt die
Produkte bzw. den Prozess hinsichtlich der Einhaltung von Qualitätsanforderungen und Standard.• Das Konfigurationsmanagement (KM) verwaltet die Produkte. Es stellt sicher, dass die Produkte eindeutig identifizierbar sind und Produktänderungen nur kontrolliert durchgeführt werden.
Das V-Modell wurde 1992 als Rahmenregelung für alle Bundesbehörden empfohlen. Aufgrund von Anregungen der V-Modell-Anwender wurde es in 1996/97 überarbeitet.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 50
Zusammenspiel der Submodelle
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/Rechte
verwalten
Produktstrukturplanen
Plan-daten
SEU SEUPlan-daten
Plan-daten
Ist-daten
Ist-daten
Produkt
Rechte
Voraussetzungen schaffenund Softwareentwicklungs-
umgebung (SEU) bereitstellen
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 51
Interative Vorgehensmodelle im Submodell SE
• V-Modell sollte als komplexer Modellbaukasten verstanden werden
• Modellbausteine können (müssen nicht) verwendet werden. Sie sollten
entsprechend dem verwendeten Prozessmodell an das Projekt angepasst
werden. (Tayloring)
• Bei iterativem Vorgehen dürfen Dokumente nicht als Abschluss von
Phasen interpretiert werden, sondern sind selber iterativ
weiterzuentwickeln, sie werden iterativ fortgeschrieben und teilweise erst
zum Projektende fertiggestellt.
• Basis der Projektdokumente sind Ergebnisse von Aktivitäten. Die
Ergebnisse sollten in einem Projekt Repository archiviert und für die
Fortschreibung der Dokumente verfügbar gemacht werden.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 52
LE 3.2 - LM 9 - LO6
Beispiel für iterativ inkrementelles Vorgehen: der RUP
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 53
Rational Unified Process (RUP) - Definitionen
Dem Rational Unified Process (RUP) liegt ein best practice objektorientiertes Modell zu Grunde. Der RUP definiert sich über Workflows, die parallel und in Phasen ablaufen. Innerhalb jeder Phase sind Iterationen und inkrementelle Verbesserungen möglich.
Zur Definition der Workflows stehen im RUP eine Reihe von Hilfsmitteln zur Verfügung (Schlüsselkonzepte), die miteinander wechselwirken. Zum Beispiel werden Aktivitäten von Workers erbracht, die dadurch Artefakte produzieren. Zur Gestaltung der Artefakte werden Guidelines und Templates zur Verfügung gestellt.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 54
RUP- Phasen
Der RUP kennt 4 Phasen
• Konzeptionalisierung
• Entwurf
• Konstruktion + Realisierung
• Einführung + Betrieb
Die Definitionen aller verfügbaren Phasen finden Sie über den Index (Glossary) des RUP-Handbuch oder wenn Sie auf der Einführungsseite Phasen aktivieren
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 55
Phasen und ihre Workflows
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
Entwurf EinführungKonzeption Realisierung
Iterationen umfassen jeweils alle Workflows einer Phase
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 56
Phasen und Iteratioen
Konzeption Entwurf Konstruktion Einführung
VorläufigeIterationen
Iteration#1
Iteration#2...
Iteration#n
Iteration#n+1...
Iteration#m+1...
Iteration#m
Managementsicht
Technische Sicht
Jede Phase endetmit einem Meilenstein
Jede Iteration endetmit einem ausführbarenProdukt
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 57
Bewährtes Mischmodell
AnforderungsanalyseAnforderungsanalyse
Grobdesign,Komponentenbildung
Grobdesign,Komponentenbildung
Iterativ inkrementelleEntwicklung
Iterativ inkrementelleEntwicklung
Systemtest undEinführung
Systemtest undEinführung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 58
Gesamtplanung des Projektes
Was soll geplant werden?
• Grobe Festlegung der Phasen und Iterationen
- Meilensteine
- Aufwandsschätzung und Terminplanung
• Feinplanung mit Aufwandsabschätzung (nur) der nächsten Iteration
Wer plant?
• Projektleiter
• Architekt
• ggf. weitere Fachleute
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 59
Vorbereitungsphase
Ziel:
• Planungs- und Entscheidungsgrundlagen schaffen
Aufgaben:
• Vorstudie zur Machbarkeit erstellen
• Definition des Projektzieles und Abgrenzung
• Erarbeitung, Bewertung, Empfehlung und Entscheidung über Realisierungsalternativen
• Überblick über Problembereich und Anforderungen
• Grobe Projektplanung (Iterationen etc.)
• Identifizierung der Projektrisiken
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 60
Besetzung der Rollen
• Besetzung der Rollen kann Aufwände bis zu einem Faktor 10 variieren lassen oder Projekte sogar ganz zum Scheitern bringen
• Alle als projektnotwendig identifizierte Rollen müssen mit geeignet qualifiziertem Personal besetzt werden
• Eine Person kann gleichzeitig mehrere Rollen übernehmen
• Ggf. muß benötigtes Know-How durch Weiterbildung geschaffen oder zugekauft werden
• Die Möglichkeiten bei den Ressourcen sind damit in weiten Teilen bestimmend für Erfolg oder Misserfolg eines Projektes. Bei jeder Risikobetrachtung spielen sie daher eine dominante Rolle
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 61
Anforderungsanalyse
• Detaillierte Analyse des fachlichen Feinkonzepts
• Grobentwurf von Use Cases
• Workshops mit Fachexperten und Systemanalytikern
- Detaillierung der Use Cases
- Akteure identifizieren (wer hat welche Aufgaben, Kompetenzen)
- Erstellung eines Glossars der Fachbegriffe
- Priorisierung der Use Cases
- Ggf. erste Dialogentwürfe
• Aktivitätsmodellierung
- Konkretisierung der Anforderungen
- Übergang zum Design (wie soll das System arbeiten)
• Identifizierung von Lösungsalternativen, Evaluierung und Empfehlung geeigneter Lösungen
• Planung des weiteren Vorgehens
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 62
Grobdesign
Ziel:
• Erfassung der wichtigsten funktionalen und nichtfunktionalen Anforderungen
• Validierte, stabile und ausführbare Software-Architektur
Aufgaben:
• Entwicklung von Systemteilen mit hoher Priorität und hohem Risiko
• Use Case-Modell erstellen (Anforderungsanalyse)
• Festlegung der Anwendungsarchitektur
• Feinplanung der jeweiligen Iteration erstellen
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 63
Komponentenbildung
• Modellierung von Geschäftsklassen und fachlichen Klassen
• Identifikation von Subsystemen und Komponenten
• Detaillierung der Systemarchitektur
• Entwicklung eines Prototypen zur Verifizierung der Architektur
• Planung der iterativ inkrementellen Komponentenentwicklung
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 64
Releaseplanung
• Releaseplanung
- Wieviel Iterationen ?
- Reihenfolge der Komponenten (-ausbaustufen)
-- riskante Komponenten,
-- hoch priorisierte Komponenten und
-- Basiskomponenten zuerst
- Richtwert für Iterationsdauer: 6 bis 8 Wochen
• Bildung von Teilprojekten/Teams
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 65
Iterativ, inkrementelle Komponentenentwicklung
• Detailplanung der bevorstehenden Iteration
• Komponentenspezifisch:
- Analyse
- Design
- Realisierung
- Test
• Regelmäßige Integration zum Gesamtsystem (z.B. wöchentlich)
• Regelmäßiges Kundenreview (z.B. alle zwei Iterationen)
(nimmt mit Anzahl der Iterationen ab)
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 66
Systemtest und Einführung
• Teilabnahmen können bereits während der Projektlaufzeit auf Basis von Subsystemen erfolgen, sofern diese unab-hängig voneinander getestet und abgenommen werden können.
• Planung und Durchführung des Rollouts
• Parallele Inbetriebnahme des neuen IMIS
• Test und Abnahme des Gesamtsystems
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 67
Aufgaben des Auftraggebers
Grobdesign, Komponentenbildung
___________________
Klärung speziellerDetailfragen
Grobdesign, Komponentenbildung
___________________
Klärung speziellerDetailfragen
Anforderungsanalyse___________________
Detaillierung Use CasesVerifizierung v. Modellen
Anforderungsanalyse___________________
Detaillierung Use CasesVerifizierung v. Modellen
Iterativ inkrementelleEntwicklung
___________________
Review von Teilergebnissen
Iterativ inkrementelleEntwicklung
___________________
Review von Teilergebnissen
Systemtest undEinführung
___________________
Test und Abnahme
Systemtest undEinführung
___________________
Test und Abnahme
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 68
Verbesserung der Prozessqualität: Ansätze und Ziele
QM-Systeme Assessment
Statische Ansätze zurVerbesserung der
Prozeßqualität
ISO 9000Erreichung der
nächsten Reifegradstufe
PrinzipienForderungen an Prozesse
TQMBusiness
Engineering
Audit SPICE CMM
Quelle: Banford, R.C., Deibler II W.J., Comparing, contrasting ISO 9001 and the SEI capability maturity model, in: Computer, Oct. 1993, pp. 68-70.
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 69
LE 3.2 - LM 9 - LO 7 Zusammenfassung und Abspann
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 70
Links
• LE 3.1 Lernmodul- LM 4 Das V - Modell - Überblick
- LM 7 Der Rational Unified Process
• LE 3.2 Lernmodul - LM 14 Risikomanagement
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 71
Literatur
• Balzert, Helmut: Lehrbuch der Software-Technik; Software-Management, Software-Qualitätssicherung, Unternehmensmodellierung. Spektrum Akademischer Verlag Heidelberg, Berlin. 1998
• Balzert, Helmut: Lehrbuch der Software-Technik; Software-Entwicklung. Spektrum Akademischer Verlag Heidelberg, Berlin. 1996
• Thaller, Georg Erwin: Software- und Systementwicklung, Heise Verlag Hannover, 2001
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 72
Danksagung
Aus folgenden Vorlesungen und Foliensammlungen aus dem Bereich Softwaretechnik konnten wir Anregungen zur Gestaltung dieses Lernmoduls gewinnen:
P. Göhner Softwaretechnik 1 IAS Uni Stuttgart
A. Schürr Software Engineering 1 Uni BW München
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 73
LE 3.2 - LM 9 - LO 8
Tests zu LM 9
Universität Stuttgart
Institut für Kernenergetik und Energiesysteme
LE 3.2 Qualitätsmanagement LM 9 Prozessmodelle Folie 74
Diese Fragen sollten Sie jetzt beantworten können
1. Welche Vorgehensmodelle sind auf iterativ-inkrementelle Prozesse anwendbar?
2. Was sind die Submodelle des V-Modelle?
3. Welche Phasen kennt der RUP? 4. Für welche Fragenstellungen gibt das Vmodell Hilfestellumgen ?
5. Was leistet Prozessmodelle? Test 1