310 likes | 658 Views
Vorgehensmodelle für die Software-Entwicklung. Vorlesungsinhalte. Begriffsdefinition Darstellung üblicher Vorgehensmodelle Bewertung dieser Vorhehensmodelle Vorgehensmodell für das Projekt „Bibliotheksverwaltung“. Begriffsdefinition.
E N D
Vorlesungsinhalte • Begriffsdefinition • Darstellung üblicher Vorgehensmodelle • Bewertung dieser Vorhehensmodelle • Vorgehensmodell für das Projekt „Bibliotheksverwaltung“
Begriffsdefinition Ein Vorgehensmodell (Prozeßmodell) ist eine Beschreibung einer koordinierten Vorgehensweise bei der Abwicklung eines Vorhabens. Es definiert sowohl den Input, der zur Abwicklung einer Aktivität notwendig ist, als auch den Output, der als Ergebnis der Aktivität produziert wird. Dabei wird eine feste Zuordnung von Rollen (Workern) vorgenommen, die die jeweilige Aktivität ausüben.
Ziele eines Vorgehensmodells (1) • Einsatz von Entwicklungs- und Managementmethoden, um ein Software – Projekt erfolgreich abzuwickeln
Ziele eines Vorgehensmodells (2) • Funktionierende Kommunikation • Klare Verantwortlichkeiten • Definition der Aktivitäten inklusive Input und Output • Messung des Projektfortschritts • Erkennung und Behebung von Risiken
Risiken im Projektumfelddurch fehlendes Vorgehensmodell • Projektsteuerung • Anforderungen • Technische Umgebung • Mitarbeiter • Erkennen und Beheben von Problemen und Fehlern • Außendarstellung
Risiken: Anforderungen • Anforderungsänderungen • Versteckte Implikationen • Nichterfüllbarkeit von Anforderungen • Fehleinschätzung des Aufwands zur Umsetzung von Anforderungen
Risiken: Technische Umgebung • Inadäquate Systemumgebung • Auftreten von Problemen / Fehlern • Technologiewechsel
Risiken: Mitarbeiter • Qualifikation • unzureichende Erfahrung • Unterqualifikation • Überqualifikation • Verfügbarkeit • zu wenige Mitarbeiter für anstehende Aufgabe • zu viele Mitarbeiter für anstehende Aufgabe
Vorgehensmodelle • Code and Fix • Implementierung, (Test), Betrieb • Fehlende Systemarchitektur => Notwendigkeit einer Architektur => Designphase • Fehlende Akzeptanz => Notwendigkeit der fachlichen Grundlage => Analysephase • Vorgehensmodelle des Software Life Cycle sind Variationen dieses Grundmodells
Wasserfallmodell • Sequentielles Vorgehen in voller Breite • Dokument getrieben • wenig Managementaufwand • Einbeziehung des Benutzers endet in der Definitionsphase
Wasserfallmodell Planung Definition Entwurf Implementierung Validierung Installation Betrieb
Wasserfallmodell + stufenweiser Test Validierung Planung Validierung/Verifikation Definition Verifikation Entwurf Modultests Implementierung Integrationstest Integration Betriebstest Installation Betrieb
V-Modell • Vorgehensmodell für Behörden (auch in der Industrie angewandt) • 4 Submodelle • Systemerstellung (SE) • Qualitätssicherung (QS) • Konfigurationsmanagement (KM) • Projektmanagement (PM) • Allgemeingültigkeit durch „Tailoring“
V-Modell • Begriffe • Produkt • Muster • Aktivität (zur Änderung eines Produktzustands) • Rolle
V-Modell • Einbeziehung von Validierung und Verifikation • Gleichgewichtung von Entwicklung und Integration • Sequentielles Vorgehen in voller Breite • Dokument getrieben • hoher Managementaufwand (Bürokratie)
Das V-Modell Wartung Anforderungsanalyse Betrieb Lastenheft Betriebstest Projektende Projektinitiierung Validiertes System Projektplan Akzeptanztest Anforderungsspezifikation Pflichtenheft Verifiziertes System Systementwurf Integrationstes Sys.Architektur Integratiertes System Detaildesign Integration Modulspezifikation Verifizierte Module Implementierung Modultest CODE http://www.v-modell.iabg.de
Interaktion Kunde Anforderungs def. Akzeptanz Test Integration Test System entwurf Modul Test Modul Impl. Code
Kritik am Wasserfall- und V-Modell • Vollständige Spezifikation der Anforderungen sind zum Projektbeginn i.a. nicht möglich • Fehlende Kommunikation zwischen Entwicklern und Benutzern • Fehlende Einbeziehung von Alternativen • „Proof of Concept“ ?
Prototypen • Demonstrationsprototypen (Rapid Prototyping) • Prototyp i.e.S. • Labormuster • Pilotsystem • horizontale Prototypen • vertikale Prototypen
Prototypen-Modelle • Risikominimierung als Zielsetzung • Integration in andere Vorgehensmodelle möglich • Höherer Entwicklungsaufwand • Prototypen wird ungeplant Teil des Endprodukts • Vernachlässigung der Dokumentation
Prototypen-Modelle • Evolutionäres Modell • partielles Modell • partielle Architektur • Inkrementelles Modell • vollständiges Modell • partielle Architektur
Spiralmodell • Metamodell (Böhm) • „Philosophische“ Grundlage sind die Prototypen-Modelle • Zielsetzung: Risikominimierung • Zyklische Verfeinerung • von Teilprodukt zu Teilprodukt • von Phase zu Phase • ...
Spiralmodell • 4 Schritte pro Verfeinerungsebene: • Identifikation der Ziele, Darstellen der Alternativen bei gegebenen Randbedingungen • Evaluation der Alternativen unter dem Aspekt der Risikominimierung • Festlegung des Vorgehensmodell für den Schritt • Review, Planung des nächsten Zyklus
Spiralmodell Evaluierung Alternativen, Risikoanalyse Ziele, Alternativen, Randbedingungen RisikoAnalyse RisikoAnalyse RisikoAnalyse Prototyp1 Prototyp2 Prototyp3 Pilotsystem Vorgehens- konzept Plan Anforderungen Detail- entwurf System- entwurf Integrations- und Testplan Entwicklungs- plan Anforderungs- validierung Implemen- tierung System- evaluation Planung nächste Phase Modultest Entwicklung, Verifikation Validierung Integration+ Test Akzeptanztest Installation
RUP (Rational Unified Process) • folgt später in der Vorlesung!