Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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 Annäherung an Objekte von a. Erfahrung aus Technik b. Ansätze aus SE c. Ansätze aus Common Sense oder Philosophie Daraus ableiten: Basiseigenschaften von Objekten und Beschreibung durch UML LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
5
LE 3.2 - LM 9 - LO2 Prozessmodell und Management
LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
9
LE 3.2 - LM 9 - LO3 Software Entwicklungsprozess
LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
17
Prozessstruktur des ISO 9001/9004 Prozessmodells
Die neuen Normen sind vor allem Kunden- und Prozess-orientiert Produkt Verantwortung QM zur Produkt Verbesserung Ressourcen Verwaltung Produktrealisierung Anforderung Aktivitäten Erfüllung LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
21
LE 3.2 - LM 9 - LO4 Vorgehensmodelle
LM 9 Prozessmodelle
22
Beispiele für Vorgehensmodelle
Sequentielle Modelle - Wasserfallmodell - Phasenmodell Mischmodelle - Spiralenmodell - Prototyp Modell Iterative-inkrementelle Modelle - V-Modell 2000 - Unified Process LM 9 Prozessmodelle
23
Weitere Prozessmodelle - Eigenschaften
Prozess- Primäres Antreibendes Benutzer- Characteristika Modell Ziel Moment beteiligung Wasserfall- minimaler Dokumente gering sequentiell, modell Management- volle Breite aufwand Spiralmodell Risiko- Risiko mittel Entscheidung pro minimierung Zyklus über weiteres Vorgehen Prototypen- Risiko- Code hoch nur Teilsysteme Modell 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 LM 9 Prozessmodelle
24
Was macht eine Phase aus ?
Personen Methoden Ergebnisse Eingangs- daten Aktivität Zeit LM 9 Prozessmodelle
25
Definition von Phasen Eine einzelne Phase ist durch folgende Kriterien definiert: Abgeschlossene Teilaufgabe (Zeit, Umfang) definierte Eingangsdaten definiertes Ergebnis involvierter Personenkreis benutzte Methoden LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
27
Kategorisierung Lebenszyklusmodelle können nach unterschiedlichen Kriterien kategorisiert werden: Art und Inhalt der Phasen Beziehungen zwischen den Phasen Anordnung der Phasen Betrachteter Projektumfang LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
29
Beispiel: Wasserfallmodell
Voraussetzungen: Stabiles Umfeld (z.B. keine Änderungen der Anforderungen) Bekannte Technologien und Verfahren Analyse Design Kodierung Test Aktivitäten Produkte: Spezifikation Entwurf Programm Abnahmebericht LM 9 Prozessmodelle
30
Wasserfallmodell Gut geeignet für kleine Projekte und Standardprojekte
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 Standardprojekte Ungeeignet für Neuentwicklungen komplexer Systeme LM 9 Prozessmodelle
31
Weitere sequentielle Prozessmodelle - Definitionen
Prototypen-Modell Frühzeitige Erstellung ablauffähiger Modelle (Prototypen) des zukünftigen Produkts zur Überprüfung von Ideen oder zum Experimentieren. 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. 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). LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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) LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
36
Das Prototyp-Modell nach Yourdon
Discuss initial requirements with user Develop prototype Demonstrate prototype to user no Prototype acceptable ? Revise prototype yes Formal analysis Formal design Formal code, test, etc. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
38
Schritte des Spiralenmodell - (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. LM 9 Prozessmodelle
39
Schritte des Spiralenmodell - (2)
- 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. LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
41
Vorgehensmodelle verbinden Prozess- und Qualitäts- Management
Anforderungs- definition Anwendungsszenarien Abnahmetest Validierung Verifikation Testfälle Grobentwurf Systemtest Feinentwurf Testfälle Integrationstest Modul- implementation Testfälle Modultest LM 9 Prozessmodelle
42
LE 3.2 - LM 9 - LO5 Iterativ-inkrementelle
LM 9 Prozessmodelle
43
Prozessmodelle - Eigenschaften
Prozess- Primäres Antreibendes Benutzer- Characteristika Modell Ziel Moment beteiligung Wasserfall- minimaler Dokumente gering sequentiell, modell Management- volle Breite aufwand Spiralmodell Risiko- Risiko mittel Entscheidung pro minimierung Zyklus über weiteres Vorgehen Prototypen- Risiko- Code hoch nur Teilsysteme Modell 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 LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
45
Iterative-Inkrementelle Vorgehensmodelle (1)
Annahmen: Anforderungen sind unvollständig wichtige Erkenntnisse werden erst im Laufe des Projektes gewonnen Analyse Design Iteration 1 Kodierung Test Iteration 2 Iteration N LM 9 Prozessmodelle
46
Iterative-Inkrementelle Vorgehensmodelle (2)
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 Geeignet für Projekte mit Unwägbarkeiten LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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) LM 9 Prozessmodelle
49
Was ist das V-Modell ? -2 Zu 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. LM 9 Prozessmodelle
50
Zusammenspiel der Submodelle
LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
52
LE 3.2 - LM 9 - LO6 Beispiel für iterativ inkrementelles Vorgehen: der RUP
LM 9 Prozessmodelle
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. LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
55
Phasen und ihre Workflows
Process Workflows Supporting Workflows Management Environment 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ührung Konzeption Realisierung Iterationen umfassen jeweils alle Workflows einer Phase LM 9 Prozessmodelle
56
Phasen und Iteratioen Managementsicht Technische Sicht Konzeption
Jede Phase endet mit einem Meilenstein Konzeption Entwurf Konstruktion Einführung Vorläufige Iterationen Iteration #1 #2... #n #n+1... #m+1... #m Jede Iteration endet mit einem ausführbaren Produkt Technische Sicht LM 9 Prozessmodelle
57
Bewährtes Mischmodell
Anforderungsanalyse Grobdesign, Komponentenbildung Iterativ inkrementelle Entwicklung Systemtest und Einführung LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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) LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
67
Aufgaben des Auftraggebers
Grobdesign, Komponentenbildung ___________________ Klärung spezieller Detailfragen Iterativ inkrementelle Entwicklung ___________________ Review von Teilergebnissen Anforderungsanalyse ___________________ Detaillierung Use Cases Verifizierung v. Modellen Systemtest und Einführung ___________________ Test und Abnahme LM 9 Prozessmodelle
68
Verbesserung der Prozessqualität: Ansätze und Ziele
Statische Ansätze zur Verbesserung der Prozeßqualität QM-Systeme Assessment TQM Business Engineering Audit SPICE CMM ISO 9000 Erreichung der nächsten Reifegradstufe Prinzipien Forderungen an Prozesse Quelle: Banford, R.C., Deibler II W.J., Comparing, contrasting ISO 9001 and the SEI capability maturity model, in: Computer, Oct. 1993, pp LM 9 Prozessmodelle
69
LE 3.2 - LM 9 - LO 7 Zusammenfassung und Abspann
LM 9 Prozessmodelle
70
Links LE 3.1 Lernmodul LE 3.2 Lernmodul
- LM 4 Das V - Modell - Überblick - LM 7 Der Rational Unified Process LE 3.2 Lernmodul - LM 14 Risikomanagement LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
73
LE LM 9 - LO 8 Tests zu LM 9 LM 9 Prozessmodelle
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 LM 9 Prozessmodelle
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.