Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

LE LM 9 - LO 1 Prozessmodelle

Ähnliche Präsentationen


Präsentation zum Thema: "LE LM 9 - LO 1 Prozessmodelle"—  Präsentation transkript:

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


Herunterladen ppt "LE LM 9 - LO 1 Prozessmodelle"

Ähnliche Präsentationen


Google-Anzeigen