Prozessmodelle Inhalt Prozessmodell im Management Prozess

Slides:



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

Elementarmethoden des RUP im V-Modell
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
Vorgehensmodell - Wasserfallmodell
Von David Keß, Heinrich Wölk, Daniel Hauck
Die Softwarelebenszyklen
Das „Vorgehensmodell“
V-Modell XT - Ein Überblick
IT-Projektmanagement
Software-Lebenszyklus
Konzeption und Realisierung eines Software Configuration Management Systems Autor: Alex Rempel Referent: Prof. Dr. Elke Hergenröther Korreferent: Prof.
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Beispiele für Vorgehensmodelle
LE LM 9 - LO 1 Prozessmodelle
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
Was bei der Modellierung komplexer Systeme bedacht werden sollte
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.
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 LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
RUP-Elemente (Schlüsselkonzepte)
Prozessmodelle Inhalt Prozessmodell im Management Prozess
Prozessmodelle - Eigenschaften
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
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Rational Unified Process (RUP) - Definitionen
Prozeßstruktur des ISO 9001/9004 Prozeßmodells
eXtreme Programming (XP)
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.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
20:00.
Synergieeffekte durch softwaregestützte Prozessmodelle
Wasserfallmodell und Einzelbegriffe
HFWI System Development Teil B Der Softwareentwicklungsprozess
PRO:CONTROL Ziel des Moduls Arbeitspakete
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Rational Unified Process
Software Engineering Grundlagen
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
© Till Hänisch, 2002 BA Heidenheim Vorgehensmodelle Wie entsteht Software ?
 Präsentation transkript:

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 MuSofT LE 3.2-2 Prozessmodelle

Struktur der Einheit Prozessmodelle in LO‘s Inhalt + Learning Object Structure GO Einleitung GO Prozessmodell im Management Prozess GO Was leisten Prozessmodelle Wasserfall-Modell RUP kurz V-Modell kurz Sonstige GO Verbesserung des SE Prozesses - (CCM kurz) GO Abspann

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.

Das sollten Sie heute lernen

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

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.

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

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

Prozess-Qualität in der Softwareentwicklung Niedrige Prozeßqualität Improvisierter, ad hoc-Prozeß 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 Prozeßqualität Professionell durchgeführter Prozeß Vermeiden von Problemen Bessere Planung durch geeignete Prozeßverfahren Probleme werden frühzeitig erkannt und behoben Der Prozess wird kontinuierlich verbessert Die Verbesserung der Prozeßqualität erfordert ein Ziel (Prozeßwahl), die Erhebung des Istzustandes (Audit oder Assessment) und die Auswahl von Schritten zur Annäherung des Istzustandes an das Ziel.

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.

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

Aufgaben von Lebenszyklusmodellen 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 Die Aktivitäten können Phasen zugeordnet sein.

Aufgaben in den einzelnen Phasen In allen Phasen ergeben sich phasenspezifische und Aktivitäten genereller Art Zielfestlegung für die Phase Bestimmung von Alternativen Bestimmung von Restriktionen Risikobewertung

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

Definition von Phasen Eine einzelne Phase ist durch folgende Kriterien definiert: Abgeschlossene Teilaufgabe (Zeit, Umfang) definierte Eingangsdaten definiertes Ergebnis involvierter Personenkreis benutzte Methoden

Typische Projektaktivitäten Analyse Design Umsetzung Inbetriebnahme Wartung

Kategorisierung Lebenszyklusmodelle können nach unterschiedlichen Kriterien kategorisiert werden: Art und Inhalt der Phasen Beziehungen zwischen den Phasen Anordnung der Phasen Betrachteter Projektumfang

Phasenbeziehung und -anordnung Phasen können in unterschiedlicher Weise miteinander in Beziehung stehen und angeordnet sein: Streng sequentiell mit Einfluss auf zurückliegende Phasen sich wiederholend mit oder ohne Überlappung

Kritik am Modell Lebenszyklus Erfahrung Die Behebung von Fehlern ist umso schwieriger, je früher sie im Lebenszyklus-Modell entstanden ist. Kritik am Lebenszyklusmodell 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.

Beispiel: Wasserfallmodell als einfaches Phasenmodell Voraussetzungen: Stabiles Umfeld (z.B. keine Änderungen der Anforderungen) Bekannte Technologien und Verfahren Analyse Design Kodierung Test Aktivitäten Produkte: Spezifikation Entwurf Programm Abnahmebericht

Gut geeignet für kleine Projekte und Standardprojekte Wasserfallmodell Vorteile: Klare Aufgaben in jeder Phase „relativ einfach“ Genaue Planung bei geringem Overhead Nachteile: Rückkehr in eine frühere Phase ist aufwendig Probleme werden erst spät erkannt Gut geeignet für kleine Projekte und Standardprojekte Ungeeignet für Neuentwicklungen komplexer Systeme

Eigenschaften des Wasserfallmodells Grundlegendes Modell für andere Modelle Ergebnisse einer Phase gehen in nächste Phase über kein Einfluss auf vorherige Phasen (nur bei Fehlern) Phasen müssen jeweils vollständig abgeschlossen werden

Vor- und Nachteile des Wasserfallmodells Das Wasserfallmodell hat durch seine Einfachheit diverse Vorteile: Überschaubare Aufteilung der Gesamtaufgabe Verfügbarkeit von Zwischenergebnisse fester Lösungsweg Nachteile sind dafür: Keine Berücksichtigung überlappender Aktivitäten Beschränkung der Rückkopplung auf den Fehlerfall große Systeme nicht vollständig vorplanbar kein Einfluss des Benutzers

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.

Das Spiralenmodell Jede Spirale Analyse - Entwurf - Alternativen - Prototyp Grobentwurf Feinentwurf Durchführung

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

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

Methoden des Prototyping Möglichkeiten Rohfassung ohne Qualitätssicherung Hohe Programmiersprache (LISP mit ADT-Liste) Datenbanksprache (4GL-Werkzeug) Werkzeugsystem (UNIX mit YACC, LEX, AWK, ...) Wiederverwendbare Software (OOPS) Diese Liste kann erweitert werden. Prototypart Wegwerf inkrementell evolutionär

Bewertung von Prototyping Der Einsatz von Prototyping lässt sich wie folgt beurteilen: Sinnvolle Ergänzung zu allen Lebenszyklus-modellen unterstützt wichtige Wiederverwendung von Ideen und Konzepten Benutzeranforderungen müssen trotzdem festgehalten werden

Weitere Prozessmodelle - Definitionen Spiralmodell Eine Softwareentwicklung durchläuft mehrmals einen aus vier Schritten bestehenden Zyklus mit dem Ziel, frühzeitig Risiken zu erkennen und zu vermeiden. Pro Zyklus kann dann ein Prozess-Modell oder eine Kombination von Prozess-Modellen zur Erstellung eines Teilprodukts oder einer Ebene eines Teilprodukts festgelegt werden. Prototypen-Modell Frühzeitige Erstellung ablauffähiger Modelle (Prototypen) des zukünftigen Produkts zur Überprüfung von Ideen oder zum Experimentieren. V-Modell 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).

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

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.

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

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

Vorgehensmodelle -2 Das V-Modell in seiner ursprünglichen Fassung 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.

Verbesserung der Prozeßqualitä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-3 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.

Prozeßstruktur des ISO 9001/9004 Prozeßmodells Die neuen Normen sind vor allem Kunden- und Prozess-orientiert Produkt Verantwortung Ressourcen Verwaltung QM zur Produkt Verbesserung Produktrealisierung Anforderung Aktivitäten Erfüllung

Diese Fragen sollten Sie jetzt beantworten können

Links

Literatur

Quellen

Prozeßstruktur des ISO 9001/9004 Prozeßmodells Die neuen Normen sind vor allem Kunden- und Prozess-orientiert Anforderung Aktivitäten Erfüllung

Prozeßstruktur des ISO 9001/9004 Prozeßmodells Continual Improvement of the Quality Management System Intertested Parties Management Responsibility Interested Parties Measurement Analysis and Improvement Resource Management Satisfaction Input Output Requirements Product Realization Product Anforderung Aktivitäten Erfüllung

Anhang: Software Projekte nach dem Unified Process Aufgaben des Managements Planung und Überwachung Phasen und Iterationen Planung eines Projektes - ein pragmatischer Ansatz

Motivation Softwaresysteme gehören zu den komplexesten Gebilden, die von Menschen geschaffen wurden Software ist meist einzigartig unterschiedliche Randbedingungen Integration von Altlasten Schneller technologischer Wandel Änderung der Anforderungen der Anwender Unterschiedliche Fähigkeiten der Mitarbeiter

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

Aufgaben des Managements (2) Teamaufbau - Teambildung / Teamarbeit - Langfristige Bindung guter Mitarbeiter - Weiterbildung - Mitarbeitermotivation Sonstiges - Bereitstellung der Arbeitsumgebung - Koordination mit Alltagsgeschäft und anderen Projekten

Planung und Überwachung: Vorgehensmodelle Sequentielle Modelle - Wasserfallmodell - Phasenmodell Iterative-inkrementelle Modelle - Spiralenmodell - Booch-Methode - OOSE - Unified Process

Planung und Überwachung: Wasserfallmodell (1) Voraussetzungen: Stabiles Umfeld (z.B. keine Änderungen der Anforderungen) Bekannte Technologien und Verfahren Analyse Design Kodierung Test

Planung und Überwachung: Wasserfallmodell (2) 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

Planung und Überwachung: 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

Planung und Überwachung: 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

Planung und Überwachung: 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

Phasen und Iteratioen Managementsicht Technische Sicht 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

Phasen und Iterationen: 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

Phasen und Iterationen: Vorbereitungs- (Konzept-)phase 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

Phasen und Iterationen: Entwurfsphase 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

Vorplanung von Projekten: Besetzung der Rollen 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 Besetzung der Rollen kann Aufwände bis zu einem Faktor 10 variieren lassen oder Projekte sogar ganz zum Scheitern bringen

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

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

Grobdesign und 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

Releaseplanung Releaseplanung Bildung von Teilprojekten/Teams - 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

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)

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

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