techSphere

Die Informationsplattform für Management, Strategien und Konzepte

Vorgehensmodelle und standardisierte Vorgehensweisen

Einführung zu Vorgehensmodellen Share/Bookmark

Definition Vorgehensmodell:
Vereinfachte Beschreibung eines Entwicklungs- prozesses, welcher von einer bestimmten Perspektive aus dargestellt wird.
Vorgehensmodelle umfassen:

  • Tätigkeiten des Entwicklungsprozesses
  • Produkte, welche entstehen
  • Rollen von Personen
Wozu dienen Vorgehensmodelle?

  • Entwicklungsprozesse werden transparenter und somit
  • planbar
  • nachvollziehbar
  • kontrollierbar
  • lehrbar
für das Produkt bedeutet das

  • höhere Qualität
  • effizientere Produktion
  • bessere Wartbarkeit und somit
  • schnellere Fehlerbehebung
  • erhöhte Änderungsfreundlichkeit
Vorstellung allgemeiner Vorgehensmodelle

  1. Phasenmodell
  2. Wasserfall-Modell
  3. Evolutionäres Modell
  4. Wiederverwendungsorientierte Entwicklung
  5. Inkrementelle Entwicklung
  6. Extreme Programming
  7. Spiralmodell
  8. Unified Process
  9. V-Modell
1. Phasenmodell

Vorteile Nachteile
Vielseitiges Modell Streng sequenziell, keine Iterationen
Zahlreiche Modellvarianten Zeitanteil der einzelnen Phasen fest
  Modell entspricht nicht der Realität

2. Wasserfall-Modell

Besonderheiten:

  • Weiterentwicklung des Phasenmodells
  • Weit verbreitetes Vorgehensmodell
  • Jede Phase muss vollständig durchlaufen werden
  • Das Modell ist streng sequentiell. Nächste Phase beginnt erst nach Abschluss der vorigen Phase
  • Iterationen sind nur zwischen zwei aufeinanderfolgenden Phasen erlaubt
  • Modell ist dokumentengetrieben
  • Aus jeder Phase entstehen Dokumente, die abgenommen werden
Achtung:
In der Praxis sind Überlappungen der Phasen notwendig.
Vorteile Nachteile
Einfach verständlich, kein großer Schulungsaufwand notwendig Annahme, dass zu Beginn eine abgeschlossene und korrekte Anforderungsdefinition existiert, entspricht nicht der Realität
Begrenzter Managementaufwand Lauffähige Version des Systems liegt erst am Ende der Entwicklung vor
Sehr strukturierter und kontrollierbarer Prozessablauf Auftraggeber ist nur in der Anforderungsdefinition mit eingebunden
  Nichteinhalten der Projektdauer führt zu Abstrichen in den späten Phasen
  Tests werden nur am Ende des Entwicklungszyklus vorgesehen

3. Evolutionäres Modell

Besonderheiten:

  • Softwareentwicklungsprozess wird nicht als linearer Prozess betrachtet, sondern als Folge von Entwicklungszyklen
  • Entwicklung verläuft über viele Versionen, bis ein angemessenes Produkt entstanden ist
  • Entwicklung beginnt typischerweise mit einem Prototyp
Vorteile Nachteile
Nähe zum Kunden während des gesamten Entwicklungsprozesses Prozess ist nicht sichtbar
Akzeptanz des Kunden wird durch fortlaufende Berücksichtigung der Wünsche verbessert Keine regelmäßigen Zwischenversionen für die Messung des Projektfortschritts
  Keine kosteneffiziente Dokumentation möglich
  Systeme sind schlecht strukturiert
  Stetige Veränderungen führen zu schlecht strukturierten Systemen
  Schlechte Eignung für große Systeme mit langer Lebensdauer

4. Wiederverwendungsorientierte Entwicklung

Besonderheiten:

  • Basiert auf der systematischen Wiederverwendung, in der Systeme aus existierenden Komponenten zusammengebaut werden
  • Dieser Ansatz wird immer wichtiger, bisher jedoch nur geringe Erfahrungen
Vorteile Nachteile
Menge der zu entwickelnden Produkten wird verringert Kompromisse bei den Anforderungen sind unvermeidbar
Kosten und Risiken werden reduziert Kann zu Systemen führen, die den Benutzerwünschen nicht gerecht werden
  Einfluss auf Teile der Produkte geht verloren, da Komponenten von Fremdfirma entwickelt werden

5. Inkrementelle Entwicklung

Besonderheiten:

  • Die Systementwicklung wird in Schritte/Inkremente unterteilt
  • Jeder Schritt realisiert einen Teil der geforderten Funktionalität
  • Kundenanforderungen werden priorisiert und die höchstpriorisierten Anforderungen in die frühen Schritte integriert
  • Die Anforderungen eines Inkrements werden zu Beginn der Entwicklung dieses Inkrements eingefroren
  • Anforderungen können somit kontinuierlich weiterentwickelt werden
Vorteile Nachteile
Kundenwünsche können in jedem Inkrement erfüllt und ausgeliefert werden, somit ist die Systemfunktionalität früher verfügbar Abbildung der Kundenbedürfnisse/Anforderungen auf einzelne Inkremente ist schwierig
Frühe Inkremente agieren als Prototyp und helfen Anforderungen für spätere  Inkremente zu eruieren Ermittlung der Grundfunktionen für das erste Inkrement ist schwierig
Geringeres Risiko für Scheitern des Gesamtprojekts  
Die höchstpriorisierten Funktionen werden am intensivsten getestet  
Grundfunktionen = Funktionen, welche später von Teilsystemen gebraucht werden.
6. eXtreme Programming (XP)

Besonderheiten:

  • Leichtgewichtiges und flexibles Vorgehensmodell
  • Weiterentwicklung der inkrementellen Entwicklung
  • Basiert auf der Entwicklung und Auslieferung kleiner Inkremente/Teilsysteme
  • Zwei Forderungen motivierten die Entwicklung von XP
1. Develop for today

  • Konzentration auf aktuelle Probleme
2. Do the simplest thing that could possible work

  • Verwendung des einfachsten Entwurfs (Simple Design)
  • Erfüllung der Anforderungen
  • Redundanzfreiheit
7. Spiralmodell

Besonderheiten:

  • Risikogetriebenes Vorgehensmodell
  • Oberstes Ziel: Minimierung des Risikos
  • Ähnlichkeiten zu evolutionärem Modell
  • Softwareprozess wird als iterativer Prozess verstanden und als Spirale dargestellt, statt einer Sequenz aus Aktivitäten mit Rückkopplung
  • Jede Windung repräsentiert eine Projektphase
  • Jede Windung ist in Segmente aufgeteilt
  • Festlegung von Zielen, Alternativen und Randbedingungen
  • Evaluierung der Alternativen, Erkennen und Reduzieren der Risiken
  • Realisierung und Überprüfung des Zwischenprodukts
  • Planung der Projektfortsetzung
Vorteile Nachteile
Flexibles Modell Hoher Managementaufwand
Periodische Überprüfung und erneute Festlegung des Ablaufs in Abhängigkeit von Risiken Risikomanagement ist nicht weit verbreitet
Integrierte Risikoabwägung Schlechte Eignung für kleine und mittlere Projekte oder Wiederverwendung von Produkten
Integration anderer Vorgehensmodelle  
Betrachtung von Alternativen  

8. Unified Process

Besonderheiten:

  • Vorgehensmodell passend zur Unified Modeling Language (UML)
  • Sehr mächtiges Prozessframework
  • Baut auf den "Best Practices" der Softwareentwicklung auf
  • Iterative Softwareentwicklung
  • Anforderungsmanagement
  • Verwendung komponentenbasierter Architekturen
  • Visuelle Software-Modellierung (Standardnotation - UML)
  • Prüfung der Softwarequalität
  • Kontrolliertes Änderungsmanagement
  • Unterstützung der "Best Practices" durch vordefiniertes Framework von Methoden, Templates und Tools
  • Unterscheidung zwischen Projektphasen und Arbeitsschritten/Workflows
  • Projektphasen werden zusätzlich in Iterationen unterteilt
Phasen des Unified Process

  • Beginn ("Inception")
  • Entwicklung der Vision des Endprodukts
  • Entwicklung einer Architekturidee
  • Abschätzung von Risiken
  • Ausarbeitung ("Elaboration")
  • Festlegung der späteren Nutzung im Detail
  • Festlegung der Systemarchitektur
  • Realisierung der wichtigsten Funktionalitäten
  • Genaue Planung der Kosten
  • Konstruktion ("Construction")
  • Realisierung des Systems
  • Alpha-Release
  • Umsetzung ("Transition")
  • Übergang zu Beta-Release
  • Schulung von Benutzern
  • Fehler und Unzulänglichkeiten nachbessern
Vorteile und Nutzen von Standards bei standardisierten Vorgehensweise

  • Standards sind eine notwendige Voraussetzung für eine einheitliche Verwendung
  • Durch standardisiertes Vorgehen wird die Vollständigkeit der zu liefernden Ergebnisse am ehesten gewährleistet
  • Definierte Zwischenergebnisse ermöglichen frühzeitige Validierung und Verifikation
  • Standardisierter Einsatz von Notationen erleichtert die Lesbarkeit, Wartbarkeit sowie die Codegenerierung
  • Das standardisierte Vorgehen macht die Kalkulation des Aufwands transparenter
  • Standards erlauben eine globale Entwicklung. Sie helfen beim Outsourcing und bei der Auftragsbearbeitung
9. V-Modell

Besonderheiten:

  • Entwicklungsmodell für ein Gesamtsystem
  • Einheitlicher Standard für den gesamten öffentlichen Bereich
  • ISO-Standard: Militär- und Bundesbehörden
  • Anspruch auf Allgemeingültigkeit
  • Definiert 25 Rollen für Managementaufgaben
  • Zurechtschneiden auf konkrete Anforderungen (Tailoring)
  • Aufteilung in 4 Submodelle
  • System-Erstellung (SE)
  • Qualitätssicherung (QS)
  • Konfigurationsmanagement (KM)
  • Projektmanagement (PM)
V-Modell - Submodell Systemerstellung

Besonderheiten:

  • Ähnlichkeit zum Wasserfallmodell
  • Integration von Validierung/Verifikation
  • Formale Kriterien zur Abnahme von Teilprodukten
Vorteile Nachteile
Umfassendes Modell Zu allgemein und generisch
Integriert viele Aspekte des Entwicklungsprozesses Nicht für kleine Projekte geeignet
Erweiterbar und anpassbar Benötigt unbedingt gute CASE-Tools in der Softwareentwicklung
Unter dem Begriff CASE versteht man Computerprogramme, welche bei der Entwicklung von Software unter anderem folgende Aufgaben übernehmen können:

  • Planung und berwachung aller erforderlichen Teilschritte
  • Unterstützung der Entwurfsphase durch geeignete Methoden
  • Automatische Umsetzung der Entwürfe in die Datenbank, einschliesslich Prüfung auf vollständigkeit
  • Automatische Umsetzung der Entwürfe in lauffähige Programme
  • Automatisches Erstellen von Datenstrukturen, Bidschirmmasken,..
Die Erfahrungen zeigen allerdings, dass CASE-Tools in grösseren Projekten zwar hilfreich sind, aber das "Programmieren auf Knopfdruck" in der Realität eher schwierig zu erreichen ist.
Neue Version des V-Modells: V-Modell XT

  • Stärkere Modularisierung
  • Integration agiler und inkrementeller Ansätze
Dreistufiges Standardisierungskonzept

1. Vorgehensweise "Was ist zu tun"

  • Tätigkeiten in der Softwareentwicklung
  • Ergebnisse
  • Inhalte der Ergebnisse
2. Methoden "Wie ist etwas zu tun"

  • Methodenunterstützung der Tätigkeiten
  • Darstellungsmittel für Ergebnisse
3. Werkzeuganforderungen "Womit ist etwas zu tun"

  • Funktionale Eigenschaften an Softwarewerkzeugen

zurück zum Beitragsanfang Share/Bookmark

Markieren Sie den Inhalt der Textbox und kopieren Sie ihn in Ihre Website