AI Ba Sem2


B. K.
Diese Lernkarten bieten einen Überblick über verschiedene Prozessmodelle in der Softwareentwicklung, darunter das Wasserfallmodell, das Spiralmodell, das Nebenläufige Modell und das Objektorientierte Modell. Sie erläutern die Phasen, Vorteile und Nachteile jedes Modells, sowie deren Anwendung in der Praxis. Entwickler und Projektmanager profitieren von diesen Karteikarten, da sie die verschiedenen Ansätze vergleichen und das passende Modell für ihre Projekte auswählen können.
Karten
25
Lernende
3
Sprache
Deutsch
Kategorie
Informatik
Stufe
Andere
Erstellt / Aktualisiert
10.05.2016 / 24.11.2018

Lernkarten

Wasserfall - Modell I

  • Ergebnisse einer Phase „fallen“ in die nächste Phase
  • Jede Aktivität in richtigen Reihenfolge vollständig durchführen
  • Dokumenten – getrieben
  • Entwicklungsablauf streng sequentiell
  • Top-down-Vorgehen
  • Wenig Managementaufwand

Wasserfall - Modell II

  • Hierarchisch Zerlegung der Aktivitäten in Phasen
  • Meilenstein-Sitzungen am Ende von Phasen (Bericht über Projektfortschritt und nächste Phase)
  • Qualitätssicherung schwer gewährleistet
  • Jeweilige Phase fortgeführt, bis Abnahme erfolgreich
  • Abarbeitung nach Checklisten

Wasserfall - Modell Phasen Dokumente

Phasen:

  • Anforderungen
  • Analyse
  • Design
  • Codierung/ Implementierung
  • Test
  • Installation

Dokumente:

  • Spezifikation
  • Software Entwurf
  • Detaillierter Entwurf
  • Quelltext, Dateien,…
  • Testfälle und –ergebnisse
  • Run-time Version des Systems

Wasserfall - Modell Vorteile

Vorteile:

  • Sehr einfach und verständlich
  • Gewährleistet einen planbaren Entwicklungsprozess

 

Wasserfallmodell - Nachteile

  • Nicht immer sinnvoll, alle Entwicklungsschritte vollständig und / oder sequentiell durchzuführen
  • Gefahr, dass die Dokumentation wichtiger wird als eigentliche System
  • Risikofaktoren u.U. zu wenig berücksichtigt, da der einmal festgelegte Entwicklungsablauf durchgeführt wird
  • Zu geringe Benutzerbeteiligung

V - Modell

  • Erweiterung des Wasserfall - Modells mit dem Ziel der Rückkopplung zwischen den Phasen
  • Ermöglicht Qualitätssicherung
  • Ermöglicht Projektmanagement
  • Verifikation (Ist das Produkt korrekt ?)
  • Validation (Ist das Produkt richtig ?)
  • Zerlegung in hierarchische Segmente

V-Modell: Vorteile

  • Sehr detailliert
  • Anpassbarkeit durch Maßschneidern der Lösung
  • Sehr strukturiertes Vorgehen
  • Geeignet für große Projekte
  • Berücksichtigung der Hardware

V-Modell: Nachteile

  • für kleine/mittlere Entwicklungen: zu große Bürokratie
  • hohe Komplexität: CASE Unterstützung notwendig
  • hohe Einarbeitungszeit
  • wenig Trennung von Daten und Funktionen

V - Modell: Subsysteme

  1. Systemerstellung (SE)
  2. Projektmanagement (PM)
  3. Qualitätssicherung (QS)
  4. Konfigurationsmanagement (KM)

Prototypen - Modell

Gründe dafür:

  • Fehlende Vorstellung von Lösungswunsch oder fehlendes Wissen, was möglich ist beim Auftraggeber
  • Auftragnehmer weiß nicht, ob Produkt technisch realisierbar
  • Auftragsvergabe erleichtert durch Präsentation der Technik
  • Zeitliche Vorteile (Geschwindigkeit) ???

Prototypen - Modell: Vorteile

  • Reduzierung des Entwicklungsrisikos,
  • „schnell“ erstellbar (geeignete Werkzeuge)
  • Unterstützen Kreativität für Alternativlösungen
  • Benutzer-und Auftraggeber-kommunikativ
  • Können sinnvoll in andere Prozessmodelle integriert werden
  • Erfahrungsunterstützend

Prototypen - Modell: Nachteile

  • Höherer Entwicklungsaufwand (meist zusätzlich)
  • Gefahr, „Wegwerf-Prototyp“ = Endprodukt
  • Prototyp = Ersatz für (fehlende) Dokumentation

Evolutionäres Modell - Gründe

  • Auftraggeber kann seine Anforderungen häufig nicht vollständig am Anfang formulieren
  • Die Benutzer können sich noch nicht vorstellen, was auf sie zukommt und was sie wollen
  • Während der Entwicklung ergeben sich „Zusatzwünsche“
  • Nach Produkteinsatz werden Veränderungen gewünscht

Evolutionäres Modell - Vorteile

  • Sich aufbauendes lauffähiges Produkt
  • Einsatzfähige Zwischenstadien
  • Benutzerbeteiligung
  • „schnelle“ Verbesserung / Ausbesserung des Produktes

Evolutionäres Modell - Nachteile

  • Produktkern muss evtl. bei neuer Version neu angepasst werden (wenn Kernanforderungen „übersehen“ wurden)
  • (eventuell) mehr Kosten und mehr Zeit

Evolutionäres Modell Entwicklung/Vorgehensweise

= stufenweise Entwicklung mit ständigen Rücksprungmöglichkeiten

Vorgehensweise:

  • Implementierung eines Produktkerns (Kern- oder Mussanforderungen) nach Minimalanforderungen vom Auftraggeber
  • Test der „Nullversion“
  • Ermittlung von neuen Anforderungen nach Erfahrungen mit der letzten Version“
  • Entwicklung einer neuen Version und erneutes Testen

Objektorientiertes Modell

  • Hin zu wiederverwendbaren Software – Komponenten (aus früheren Entwicklungen, Einkauf von vorhandene Lösungen)
  • Anwendung von objektorientierten Methoden
  • OO-Software-Entwicklung auf allen Ebenen anwendbar (Definieren, Entwerfen, Implementieren)
  • Gut kombinierbar mit evolutionären und Prototypen – Modell
  • Management und Verwaltung sehr wichtig
  • Zeit- und Kostenersparnis bei richtiger Anwendung

Objektorientiertes Modell: Vorteile

  • Produktivitäts- und Qualitätsverbesserung
  • Wiederverwendung und „Zukauf“ vorhandener Komponenten

Nebenläufiges Modell - Vorteile:

  • Optimale Zeitausnutzung (Parallele Entwicklung, Minimierung von trial and error, Beachtung arbeitsorganisatorischer Aktivitäten)
  • Frühes Erkennen und Eliminieren von Problemen

Objektorientiertes Modell - Nachteile

  • Einsatz von objektorientierte Methoden für volle Nutzung des Modells Voraussetzung
  • Verwaltung und Verwendung des Wiederverwendungsarchivs

Nebenläufiges Modell

  • Parallelisierung von Aktivitäten
  • Ab Beginn Zusammenarbeit aller Entwicklungsteams (inkl. Fertigung, Marketing und Verkauf)
  • Genaue Klärung aller Anforderungen
  • Management sehr wichtig
  • Minimale Entwicklungszeit

Nebenläufiges Modell - Nachteile:

  • Erfordern viele organisatorische und technische Maßnahmen
  • Hoher Planungs- und Personalaufwand
  • Wenn zu späte Entscheidungen, dann Iterationen notwendig
  • Empfehlenswert nur für „sichere“ Entwicklungen

Spiral - Modell


Metamodell (Boehm) Risikogetriebenes Modell (Minimierung Risiko als Ziel) Zielbestimmung beinhalten auch Qualitätsziele

iterative Vorgehensweise - mehrmaliges Durchlaufen eines Zyklus

  • Schritt 1: Ziele, Alternativen, Randbedingungen
  • Schritt 2: Evaluierung Alternativen, kosteneffektive Strategie
  • Schritt 3: Wahl des geeigneten Prozessmodells oder Kombinationen dessen
  • Schritt 4: Überprüfung Schritte 1 – 3, Planung nächster Zyklus

Fläche der Spirale stellt Kosten und Winkel Entwicklungs-fortschritt dar -> Spirale so eng wie möglich halten

Spiral - Modell - Vorteile: 

  • Überprüfung und erneute Festlegung des Prozessablaufs in periodischen Intervallen
  • Frühzeitiges Eliminieren von Fehlern und ungeeigneten Alternativen
  • Flexibles Modell (keine Festlegung auf ein Prozess – Modell)
  • Einfache Umstrukturierung der Entwicklung bei auftretenden Risiken

Spiral - Modell - Nachteile:

  • Hoher Managementaufwand
  • Für kleine und mittlere Projekte nicht empfehlenswert
  • Keine Trennung zwischen Entwicklung und Wartung

Lernen