3. SE - 2. Vorgehensmodelle Flashcards
Was machen Vorgehensmodelle?
definieren Standards für IT-Projekte
vor allem für:
- Projektphasen (zB Entwicklung und Test)
- Projektorganisation (zB Rollen und Aktivitäten)
- Dokumente (zB Requirement Spec, Change Request)
- Kommunikationsbeziehungen zwischen den Beteiligten
- Methoden (zB für die Aufwandsschätzung)
Was bedeutet Tailoring? (Vorgehensmodelle)
Wenn Vorgehensmodelle ausdrücklich vorsehen, dass spezielle Anforderungen angepasst werden, nennt man das Tailoring.
Zweck von Vorgehensmodellen?
- fassen Erfahrungen aus vergangenen Projekten zusammen
- geben Grundstruktur für Projektplanung vor (Wie sollen wir vorgehen?)
- helfen beim Assessment (Was war gut, was schlecht?)
Wasserfallmodell Reihenfolge
Anforderungen (System requirements, Software requirements) Design (Analysis, Program design) Implementierung (Coding) Test (Testing) Inbetriebnahme (Operations)
Was variiert beim Wasserfallmodell?
Anzahl und Benennung der einzelnen Phasen
Was ist zu beachten beim Wasserfallmodell?
- Reihenfolge (Anforderungen, Design, Implementierung, Test, Inbetriebnahme)
- Phasen sequentiell durchlaufen
- Am Ende jeder Phase steht ein Meilenstein
- Rückkopplung im Falle von offensichtlichen Fehlern ist nur über eine Phase möglich, auf dem Rückweg wird keine Phase übersprungen
(2) Vorteile Wasserfallmodell
- unmittelbar für jedermann verständlich
- Qualitätskontrolle durch Meilensteine am Ende jeder Phase
Nachteile Wasserfallmodell
- Keine Prototypen (erst fertige Softwareprodukte stehen nach Abschluss der Entwicklung zum Testen zur Verfügung UND erst fertig getestete System wird Anwendern vorgestellt)
- Missverständnisse bei Anforderungsanalyse werden spät erkannt
- Keine Iterative Entwicklung (über mehrere Softwarerelease)
Was sagen Experten zum Wasserfallmodell?
Viele Experten raten grundsätzlich vom Wasserfallmodell ab, dennoch wird Modell bis heute häufig angewandt
Wann ist Wasserfallmodell sinnvoll?
Anforderungen klar und unmissverständlich formuliert
keine Änderungen der Anforderung zu erwarten
Bsp für sinnvollen Einsatz des Wasserfallmodells und warum ist es hier sinnvoll?
Erstellung einer Datenbank für Sicherheitszwischenfälle in der Unternehmens-IT
- da kleines, überschaubares Projekt mit kurzer Laufzeit und weniger Mitarbeitern. IT-interne Anwendung (Anwender selbst sind IT Experten. Missverständnisse über Anforderungen sind deshalb unwahrscheinlich)
Was ist das “V-Modell des Bundes” und von wem gepflegt und weiterentwickelt?
Vorgehensmodell für IT-Systeme der öffentlichen Hand in Deutschland
- gepflegt und weiterentwickelt von Beauftragten der Bundesregierung für Informationstechnik
Vorteil Inkrementell-iterative Methoden
Fehler können früh erkannt werden
Nachteil Inkrementell-iterative (wird besser nach jeder Wiederholung) Methoden
“Endausbaustufe” muss bei technischen Design berücksichtigt werden, sonst fällt Wegwerfaufwand an (Bsp. Web-Frontend einer Applikation als letzte Iteration)
Wie wird die Kernfunktionalität einer Inkrementell-iterativen Methode erstellt?
Die Kernfunktionalität wird initial unter Berücksichtigung der technischen Herausforderungen erstellt
In mehreren Iterationen wird sie ergänzt
Wie stehen Zwischenprodukte zum Test zur Verfügung? (inkrementell iterative methoden)
zumindest als Prototyp
Wie heißt das Inkrementell-iteratives Modell bei dem jeder Zyklus aus 4 Quadranten besteht?
Spiralmodell nach Barry Boehm
Wie heißen die 4 Quadranten des Spiralmodell nach Barry Boehm?
- Zieldefinition
- Risikoabschätzung
- Implementierung und Test
- Planung des nächsten Zyklus
Was bedeutet RUP und was ist es?
Rational Unified Process
Ein Vorgehensmodell für Projekte der objektorientierten Softwareentwicklung, welches sich auf die UML bezieht
Enthält die UML ein Vorgehensmodell?
NEIN, es enthält kein Vorgehensmodell
Was macht Rational? (RUP)
Das Vorgehensmodell frei verfügbar
verkauft bestimmte Werkzeuge die an vielen Stellen benutzt werden müssen
Was sind die Dreh- und Angelpunkte des RUP
sogenannten 6 BEST PRACTICES, die von Rational-Werkzeugen unterstützt werden
Nenne die RUP Best Practices (6)
- Iterative Entwicklung
- Anforderungsmanagement
- Komponentenbasierte Architektur
- Visuelle Modellierung, i.d.R. mittels der UML
- Permanente Qualitätskontrolle
- Management von Änderungen
Vorteile des RUP
- Iterative (Wiederholende) Entwicklung ermöglicht frühe (und somit Kostengünstige) Fehlererkennung
- Einbindung aktueller softwaretechnischer Methoden
- geeignet für Entwicklung objektorientierter Software mit Komponentenarchitektur
- kein rein sequentielles Modell, Parallelisierung von Aktivitäten
- Verfügbarkeit unterstützender (allerdings kostenpflichtiger) Tools
Nachteile des RUP
- komplex. hoher initialer Einarbeitungsaufwand
- speziell vorgesehen für objektorientierte Softwareentwicklungsprojekte - deshalb ungeeignet für Hardware, für nicht-objektorientierte Legacy-Erweiterungen, für Einführung von Standardsoftware
- angepasst auf die Tools von Rational (mit anderen Werkzeugen erhöhter Aufwand, ohne entsprechende Werkzeuge nicht einsetzbar)
Wie gehen Agile Modelle vor?
Gehen Inkrementell-iterativ vor
Wie sind die Iterationen bei Agilen Vorgehensmodellen geplant?
Iterationen werden nicht zu Projektbeginn geplant, sondern nach Projektfortschritt und Kundenfeedback im Laufe des Projektes erst festgelegt
Wie werden Struktur des Projektes, Formalisierung, Dokumentation bei agiler Vorgehensmodelle empfunden?
Als übertriebene Bürokratie. Die gesparte Zeit durch Bürokratieabbau soll in eigentliche Softwareentwicklung investiert werden
So wenig wie möglich, so viel wie nötig
Wie werden die Anwender bei agiler Vorgehensmodelle einbezogen?
Anwender werden in alle Projektphasen eng eingebunden. vertrauen geht vor detaillierter vertraglicher Absicherung
Welche allgemeingültige Regeln gibt es zu beachten bei agiler Vorgehensmodelle?
KEINE
Jedes Projekt ist anders deswegen kann es keine allgemein gültige Regeln geben. Der Mensch steht im Mittelpunkt, Prozesse und Werkzeuge sind weniger wichtig
Wie wird auf Änderungen im Projektverlauf reagiert?
FLEXIBEL
Kundenzufriedenheit ist wichtiger als das Einhalten überholter Ziele
Was ist die bekannteste agile Methode?
Extreme Programming (XP)