Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Development Methodologies © Prof. Dr. Josef M. Joller 1
Slide 3.1
Entwicklungsmethoden
Prof. Dr. Josef M. [email protected]
Development Methodologies © Prof. Dr. Josef M. Joller 2
Slide 3.2Session 3
SOFTWARELIFE-CYCLEMODELLE
Development Methodologies © Prof. Dr. Josef M. Joller 3
Slide 3.3Übersicht
Build-and-fix Modell
Waterfall Modell
Rapid Prototyping Modell
Inkrementelles Modell
Extreme Programming
Synchronize-and-stabilize Modell
Spiral Modell
Objekt-orientierte Life-Cycle Modelle
Vergleich der Life-Cycle Modelle
Development Methodologies © Prof. Dr. Josef M. Joller 4
Slide 3.4Software Life-Cycle Modelle
Life-Cycle Modelle (oder Prozess Modelle)
Die folgenden Phasen finden Sie immer:w Anforderungsphasew Spezifikationsphasew Designphasew Implementationsphasew Integrationsphasew Wartungsphasew Ablösung
Development Methodologies © Prof. Dr. Josef M. Joller 5
Slide 3.5Build and Fix Modell
Problemew keine Spezifikationw kein Design
Kaum brauchbar
Man benötigtw “Game Plan”w Phasenw Milestones
Development Methodologies © Prof. Dr. Josef M. Joller 6
Slide 3.6Wasserfall Modell
Kennzeichnenw Feedback Loopsw Dokumentation gesteuert
Vorteilew Dokumentationw Wartung gesichert
Nachteilew zu ehrgeiziges Modell
Development Methodologies © Prof. Dr. Josef M. Joller 7
Slide 3.7Rapid Prototyping Modell
Lineares Modell
“Rapid”
Development Methodologies © Prof. Dr. Josef M. Joller 8
Slide 3.8Drei Schlüsselpunkte des Prototyping
Prototypen sollten nicht zum Produkt werden
Prototypen sind eine sinnvolle Ergänzung der Spezifikation
Prototypen sind nie ein Ersatz für ein Design!
Vergleich:w Wasserfall Modell—versuche alles gleich beim ersten Mal korrekt
zu machenw Rapid Prototyping—versuchs mal, vielleicht dann noch einmal
Development Methodologies © Prof. Dr. Josef M. Joller 9
Slide 3.9Wasserfall und Rapid Prototyping Modell
Wasserfall Modellw wurde oft erfolgreich eingesetztw kommt den Benutzeranforderungen entgegen (klare Planung...)
Rapid prototyping Modellw keine sauberen statistischen Daten verfügbarw kann zu Problemen führen
Lösungw Rapid Prototyping in der Anforderungsphasew Wasserfall für den Rest
Development Methodologies © Prof. Dr. Josef M. Joller 10
Slide 3.10Extreme Programming
Eine kontroverse Methodew Stories werden festgehalten (Anforderungen der Kunden)w Kosten und Aufwandschätzung pro Storyw bestimmte Stories bilden zusammen ein “Build”, die Funktionalität,
die als nächstes freigegeben wirdw jedes “Build” besteht aus mehreren Tasksw Zuerst werden die Tests definiert, mit denen die Tasks getestet
werden sollenw Programmiert wird zu zweitw Integration erfolgt kontinuierlich, auf Task Ebene
Ungewöhnlichw Rechner stehen alle im selben Raumw der Client muss anwesend seinw jeder muss alles können : keine Spezialisierungw möglichst wenig oder keine Überzeit (bringt nur Stress)w Refactoring (ist inn: Verbesserungen eines bestehenden Systems)
Development Methodologies © Prof. Dr. Josef M. Joller 11
Slide 3.11Synchronize-and Stabilize Model
Microsoft’s Life-Cycle Modellw Anforderungs-Analyse—Interviews mit potentiellen Kundenw Festhalten der Anforderungenw Aufteilen des Projekts in 3-4 Buildsw Jedes Build wird durch je ein kleines Team realisiertw Am Ende des Tages wird synchronisiertw Am Ende des Build wird zusammengefügtw Komponenten arbeiten zusammen und das Zusammenspiel wird
dauernd getestetw die Funktionsweise des Gesamtsystems soll möglichst früh
sichtbar werden.
Development Methodologies © Prof. Dr. Josef M. Joller 12
Slide 3.12Spiral Modell
Einfaches Modellw Wasserfall Modell
plus Risk Analyse
Pro Phase Vorarbeit:w Alternativen
untersuchenw Risiko Analyse
Pro Phase Nacharbeitw Evaluationw Planen der nächsten
Phase
Development Methodologies © Prof. Dr. Josef M. Joller 13
Slide 3.13Volles Spiralmodell
Development Methodologies © Prof. Dr. Josef M. Joller 14
Slide 3.14Analyse des Spiralmodells
Stärkenw sauberes Modell, nachvollziehbarw Entwicklung und Wartung bilden eine EInheit
Schwächenw lediglich für grössere Projektew Probleme bei vielen Interationen (in diesem Fall eher für Inhouse
Projekte)
Development Methodologies © Prof. Dr. Josef M. Joller 15
Slide 3.15Objekt-Orientierte Life-Cycle Modelle
Iterationen innerhalb und zwischen den Phasenw rekursive und parallele Phasenw round-tripGestaltungw vereinheitlichter SW / IT Projekt-Prozess
Typische Kennzeichenw Iterationw Parallele Bearbeitung mehrerer Phasenw Inkrementelle Entwicklung
Gefahrw unendliche Schleifen
Development Methodologies © Prof. Dr. Josef M. Joller 16
Slide 3.16
FF DerDer Rational Unified Process Rational Unified Process undund UML — UML — wurden beide von wurden beide von Rational Rational entwickeltentwickelt
FF Viele Hersteller haben ihren Beitrag geleistetViele Hersteller haben ihren Beitrag geleistetFF MicrosoftMicrosoft
FF HPHP
FF IBMIBM
FF OracleOracle
FF Texas InstrumentsTexas Instruments
FF MCI SystemHouseMCI SystemHouseFF StandardStandard durch durch die OMG (Object Management Group)die OMG (Object Management Group)
RUP – Rational Unified Process
Development Methodologies © Prof. Dr. Josef M. Joller 17
Slide 3.171. Wichtige Kennzeichen eines iterativen Prozesses
w Risiken werden abgeschätztw Integration geschieht kontinuierlichw öfters kann ein Teil freigegeben werden (Cash fliesst)w der Endbenutzer kann öfters seinen Beitrag leisten
InitialInitialPlanningPlanning
PlanningPlanning
RequirementsRequirementsCaptureCapture Analysis & DesignAnalysis & Design
ImplementationImplementation
TestTest
DeploymentDeployment
EvaluationEvaluation
ManagementManagementEnvironmentEnvironment
Development Methodologies © Prof. Dr. Josef M. Joller 18
Slide 3.182. Managen der Anforderungen
Aufzeigen und dokumentieren der Anforderungen
Entscheide werden dokumentiert
Use Cases beschreiben die Geschäftsfälle / Anforderungen
Use Cases können zur Planung eingesetzt werden
Design Modell Implementations Modell Test Modell
verifiesrealization influenced by
Use Cases werdendurchgehendeingesetzt, bilden dieBasis aller Modelle
Use-Case Modell
Development Methodologies © Prof. Dr. Josef M. Joller 19
Slide 3.19
3. Entwickeln einer Komponenten-basiertenArchitektur
Design und Testen der Architektur sobald wie möglich!
Definition einer “guten” Achitekturw stützt sich auf klare Interfaces abw verwendet erprobte Komponenen und Konzeptew basiert auf bewerteten Use Casesw ist verständlichw verwendet möglicht erprobte Patterns
System-System-softwaresoftware
MiddlewareMiddleware
BusinessspezifischBusinessspezifisch: Spelling Checker: Spelling Checker
Applikationsspezifisch Applikationsspezifisch : Word: Word
Komponenten basierteArchitekturmit Layer Pattern
Development Methodologies © Prof. Dr. Josef M. Joller 20
Slide 3.204. Visuelle Modellierung der Software
Festhalten der Struktur und des Verhaltens
Aufzeigen des Zusammenspiels
Konsistente Beschreibung über alle Phasen
Basis für eine klare Kommunikation innerhalb des Teams und mitKunden
Code
Klassen
Sub Systeme
VisuelleModellierung
Development Methodologies © Prof. Dr. Josef M. Joller 21
Slide 3.215. Verifikation der Software Qualität
Tests basieren auf Use Cases und können sehr früh festgelegt werden
Die Software kann besser geprüft werden
Tests können automatisiert werden (JUnit)
Entwicklung Auslieferung
Kosten
Die Kosten für dieFehlersuche variierensehr stark
Development Methodologies © Prof. Dr. Josef M. Joller 22
Slide 3.226. Änderungsmanagement
Änderungen und Ergänzungen werden erfolgt
Jeder Entwickler arbeitet in einem gesicherten Bereich• Fehler und Änderungen verbreiten sich nicht• Die SW Artifakten (Dokumente, Code) werden verfolgbar
Integration und Release des Produkts können vereinfacht werden
ALERTREPORT
WorkspaceManagement
Prozess Integration
Parallele Entwicklung
BuildManagement
ConfigurationsManagement istmehr als Check-inund Check-out
Development Methodologies © Prof. Dr. Josef M. Joller 23
Slide 3.23Prozess Übersicht
Infrastruktur
Business Modellierung
Implementation
Test
Analyse & Design
Iteration(en) Iter.#1
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Ausliefern
Konfigurations Management
Anforderungen
Vertiefung ÜbergabeAufbau Konstruktion
Projekt Management
Development Methodologies © Prof. Dr. Josef M. Joller 24
Slide 3.24Phases im Prozess
Der Rational Unified Process besteht aus folgenden Grobphasenww Inception / Start / Inception / Start / Aufbau des ProjektsAufbau des Projekts - - Definieren des ProjektsDefinieren des Projektsww VertiefungVertiefung - - ProjektplanProjektplan, , FestlegenFestlegen derder GrobarchitekturGrobarchitekturww KonstruktionKonstruktion - - Bau des ProduktsBau des Produktsww ÜbergabeÜbergabe - - Ausliefern des Produkts Ausliefern des Produkts an den an den KundenKunden
time
ProjektstartProjektstart Projektvertiefung Konstruktion Übergabe
Wichtige Wichtige MilestonesMilestones
Development Methodologies © Prof. Dr. Josef M. Joller 25
Slide 3.25Iterationen und Phases
EineEine IterationIteration bestehtbesteht ausaus einereiner SequenzSequenz vonvon AktivitätenAktivitäten, , mitmiteinemeinem Plan Plan undund BemessungskriterienBemessungskriterien undund demdem ZielZiel eineinauslieferbaresauslieferbares TeilsystemTeilsystem herzustellenherzustellen (intern (intern oderoder extern). extern).
PreliminaryPreliminaryIterationIteration
Architect.Architect.IterationIteration
Architect.Architect.IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
TransitionTransitionIterationIteration
TransitionTransitionIterationIteration
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Releases
Development Methodologies © Prof. Dr. Josef M. Joller 26
Slide 3.26
Workflows beschreiben, wie dieModelle entwickelt und weiterentwickelt werden
Modelle und Workflows
DesignModell
ImplementationModell
TestModell
realized by
implemented by
Anforderungs Workflow
Analysis & DesignWorkflow
ImplementationsWorkflow
Test Workflow
Use-CaseModell
BusinessModell
Business Modell
verified by
Development Methodologies © Prof. Dr. Josef M. Joller 27
Slide 3.27Alles auf einen Blick...
PhasenProzess Workflows
Iterationen
UnterstützendeWorkflows
ManagementEnvironment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Ausllieferung
Configuration Mgmt
Anforderungen
Elaboration TransitionInception Construction
Alle Aktivitätenwerden in jederIterationausgeführt
Development Methodologies © Prof. Dr. Josef M. Joller 28
Slide 3.28Beispiel eines Workflows
Development Methodologies © Prof. Dr. Josef M. Joller 29
Slide 3.29Rational Unified Process (RUP)
Testversion
http://www.rational.com/products/rup/tryit/eval/gen_eval.jspw Username
w Password• KmiVF1wP
• bis Ende April 2002!
Development Methodologies © Prof. Dr. Josef M. Joller 30
Slide 3.30Schlussfolgerungen
Es gibt unterschiedliche Lebensphasen-Modelle
Jedes Modell hat sein Stärken und Schwächen
Welches Modell soll ich wählen?w Welche Organisation ist etabliert?w Wie denkt das Management?w Welche Fähigkeiten haben die Mitarbeiter?w Welches Produkt soll entwickelt werden?
In der Regelw wird eine Mischung das Beste sein!