LE LM 9 - LO 1 Prozessmodelle

Slides:



Advertisements
Ähnliche Präsentationen
Wir wünschen viel Erfolg
Advertisements

Elementarmethoden des RUP im V-Modell
Was ist das V-Modell ? -1 Der Entwicklungsstandard für IT-Systeme des Bundes besteht aus drei Teilen: Vorgehensmodell (Was ist zu tun?), ( Weitere Informationen)
Links Normen und Standards zum Qualitätsmanagement
Lexikon der Qualität Begriffe in Verbindung mit Qualität und ISO9000 finden sie auch im Lexikon der Qualität erläutert (
Qualität „Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produkts oder einer Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener.
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
Das V - Modell - Überblick
V - Modell Anwendung auf große Projekte
Phasen und ihre Workflows
Die Softwarelebenszyklen
V-Modell XT - Ein Überblick
IT-Projektmanagement
Beispiele für Vorgehensmodelle
LE LM 9 - LO6 Beispiel für iterativ inkrementelles Vorgehen: der RUP
Prozess-Qualität in der Softwareentwicklung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
LE LM 8 - LO 3 Prozessnormen und Normen zu QM-Systemen
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE Capability Maturity Model Tailoring Tailoring bedeutet ungefähr: Maßschneidern.
Prozessqualität: Ansätze und Ziele
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Der Rational Unified Process - Einführung Inhalt Prozessmodelle Der Rational Unified.
Prozessqualität: Ansätze und Ziele
Prozessqualität und Produktqualität
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.2- LM 8 - LO 9 Definitionen zu LM 8.
Zusammenfassung Risiken sind Bestandteil jeder Projektarbeit
Was bei der Modellierung komplexer Systeme bedacht werden sollte
Risikomanagement Inhalt Ziele und Motivation
Risiken und Chancen Risiko Beurteilung: Dazu gehört die Identifikationen von Risiken, ihre Analyse und das Ordnen nach Prioritäten. Risiko Kontrolle: Dazu.
Prüfung von SW-Komponenten – Überblick
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Beispiel 2: Iterative-Inkrementelle Vorgehensmodelle Annahmen: Anforderungen sind unvollständig.
Prozessmodelle als Teil des Management-Prozesses
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Regeln für Tester - best practice 1 Prüfe das eigene Programm nie als Einziger Testen.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Folie 1LE 3.1 Prozessqualität LM 2 Prozessqualität und Produktqualität Links Normen.
Der Rational Unified Process - Einführung
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE LM 9 - LO2 Prozessmodell und Management.
Phasen. beschreiben die Management-Sicht. In der Regel
Was ist ein Softwareentwicklungsprozess?
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Links Links sind im Text angegeben. Weitere Links werden kontinuierlich eingefügt.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
RUP-Elemente (Schlüsselkonzepte)
Prozessmodelle Inhalt Prozessmodell im Management Prozess
Prozessmodelle - Eigenschaften
Universität Stuttgart Institut für Kernenergetik und Energiesysteme RUP in der Praxis Zum RUP existiert eine online Version. Mit dieser Version können.
Zertifizierung von Software: CMM oder ISO 9000
Capability Maturity Model
Qualität von Software Qualität ist nicht messbar, sondern nur über die Erfüllung von Anforderungen zu definieren Die Erfüllung von Anforderungen ist oft.
Das V - Modell - Überblick
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick V-Modell Regelungen, die die Gesamtheit aller Aktivitäten,
Universität Stuttgart Institut für Kernenergetik und Energiesysteme MuSofT LE 3.1-4V - Modell Überblick Links zum Kapital V- Modell Glossar mit Zuordnung.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.1 ProzessqualitätLM 5 V-Modell-AnwendungenFolie 1 V-Modell für große Projekte.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Rational Unified Process (RUP) - Definitionen
Prozessmodelle Inhalt Prozessmodell im Management Prozess
Prozeßstruktur des ISO 9001/9004 Prozeßmodells
Grundlagen und Konzepte zur Umsetzung
Anpassung des RUP an ein konkretes Projekt - 1
Simulation komplexer technischer Anlagen
Vorgehensmodelle: Schwergewichtige Modelle
Das Wasserfallmodell - Überblick
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Wasserfallmodell und Einzelbegriffe
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
© Till Hänisch, 2002 BA Heidenheim Vorgehensmodelle Wie entsteht Software ?
 Präsentation transkript:

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

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

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

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

LE 3.2 - LM 9 - LO2 Prozessmodell und Management LM 9 Prozessmodelle

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

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

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

LE 3.2 - LM 9 - LO3 Software Entwicklungsprozess LM 9 Prozessmodelle

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

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

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

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

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

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

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

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

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

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

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

LE 3.2 - LM 9 - LO4 Vorgehensmodelle LM 9 Prozessmodelle

Beispiele für Vorgehensmodelle Sequentielle Modelle - Wasserfallmodell - Phasenmodell Mischmodelle - Spiralenmodell - Prototyp Modell Iterative-inkrementelle Modelle - V-Modell 2000 - Unified Process LM 9 Prozessmodelle

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

Was macht eine Phase aus ? Personen Methoden Ergebnisse Eingangs- daten Aktivität Zeit LM 9 Prozessmodelle

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LE 3.2 - LM 9 - LO5 Iterativ-inkrementelle LM 9 Prozessmodelle

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

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

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

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

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

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

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

Zusammenspiel der Submodelle LM 9 Prozessmodelle

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

LE 3.2 - LM 9 - LO6 Beispiel für iterativ inkrementelles Vorgehen: der RUP LM 9 Prozessmodelle

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

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

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

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

Bewährtes Mischmodell Anforderungsanalyse Grobdesign, Komponentenbildung Iterativ inkrementelle Entwicklung Systemtest und Einführung LM 9 Prozessmodelle

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

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

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

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

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

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

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

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

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

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

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. 68-70. LM 9 Prozessmodelle

LE 3.2 - LM 9 - LO 7 Zusammenfassung und Abspann LM 9 Prozessmodelle

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

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

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

LE 3.2 - LM 9 - LO 8 Tests zu LM 9 LM 9 Prozessmodelle

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