Vorgehensmodelle Flashcards
Was sind Eigenschaften des Wasserfallmodells?
Anzahl und Benennung der Phasen variiert.
Reihenfolge: Anforderung, Design, Implementierung, Test, Inbetriebnahme
Phasen werden sequentiell durchlaufen.
Am Ende jeder Phase ein Meilenstein.
Rückkopplung bei Fehlern nur über eine Phase möglich
Was sind Vorteile des Wasserfallmodells?
Für jeden sofort verständlich
Qualitätskontrolle durch Meilensteine am Phasenende
Was sind Nachteile des Wasserfallmodells?
Unterstellt dass nach Abschluss der Anforderungsanalyse alles bekannt ist und sich nichts ändert.
Es gibt keine Prototypen: Erst fertiges System getestet
Fehler bei Anforderungsanalyse werden spät erkannt
Keine Iterative Entwicklung
Wann ist das Wasserfallmodell sinnvoll?
Wird von abgeraten
Nur sinnvoll wenn: Anforderungen klar und unmißverständlich formuliert + keine Änderungen mehr
z.B.: Erstellen DB für Sicherheitszwischenfälle in Unternehmens IT
Was ist das V-Modell?
Modell für IT Systeme in öffentlicher Hand in DE
Jahrzehntelang weiterentwickelt worden, viele Aspekte aus anderen Vorgehensmodellen integriert
Sehr umfangreich
Was sind inkrementell-iterative Methoden?
Initial wird Kernfunktionalität erstellt.
In mehreren Iterationen wird sie ergänzt
Zwischenprodukte als Prototyp zum testen
Was sind Vor- und Nachteile inkrementell-iterativer Methoden?
Vorteil: Fehler können früh erkannt werden
Nachteil: Technisches Design muss immer Endausbaustufe berücksichtigen
Was macht das Spiralmodell nach Barry Boehm aus?
Inkrementell-iteratives Modell
Jeder Zyklus besteht aus 4 Punkten: Zieldefinition, Risikoabschätzung, Implementierung und Test, Planung des nächsten Zyklus
Was macht Rational Unified Process aus?
6 Best practices:
Iterative Entwicklung Anforderungsmanagement Komponentenbasierte Architektur Visuelle Modellierung (UML) Permanente Qualitätskontrolle Management von Änderungen
Was sind Vorteile des RUP?
Früher Fehlererkennung durch Iterative Entwicklung
Einbindung aktueller SW-technischer Methoden
Geeignet für Objektorientierte SW
Parallelisierung von Aktivitäten
Verfügbarkeit unterstützender Tools
Was sind Nachteile des RUP?
Komplex -> Hoher Einarbeitungsaufwand
Speziell für objektorientierte Softwareentwicklung.
Angepasst auf Tools von Rational (IBM)
Was macht agile Vorgehensmodell aus?
Gehen inkrementell-iterativ vor.
Iterationen werden aber nach Projektfortschritt und Kundenfeedback im Laufe des Projekts festgelegt.
Was sind Grundsätze agiler Methoden?
So wenig Bürokratie wie möglich (Formalisierung, Dokumentation etc.)
-> gesparte Zeit in SW Entwicklung
Anwender werden eng ins Projekt eingebunden. Vertrauen daher wichtig.
Gibt keine allgemein gültigen Regeln weil jedes Projekt anders ist. Mensch im Mittelpunkt.
Kundenzufriedenheit wichtig. Änderungen flexibel im Projektverlauf.
Was macht XP aus?
Bekannteste agile Methode
Entwickler und Anwender in einem Raum
Anwender definieren Anforderungen in Stories. Entwickler schätzen Aufwand -> Verhandeln der Entwicklungsreihenfolge
Ständige Wiederholung des Zyklus (Anforderung, Design, Entwicklung, Test) in kurzen Zeitabständen
Refactoring: Codeverbessung ohne Funktionalität
Entwicklungsstandards: Keine persönlichen Vorlieben
Jeder verantwortlich für Gesamtergebnis
Zwei Programmierer teilen sich Arbeitsplatz
Wann ist XP geeignet?
Eher für kleinere Projekte.
Setzt großes Vertrauen voraus.
Dokumentation fehlt weitgehend. -> Ein Entwickler aus ursprünglichem Team sollte immer verfügbar sein
Was macht Scrum aus?
`Von Ken Schwaber entwickelt
Idee: Prozess eines SW Projekts zu komplex um detailliert zu beschreiben.
Scrum gibt nur groben Rahmen vor. Schwerpunkt ist das Projektmanagement.
In diesem Rahmen können Projekte gestaltet werden, indem Projektteam sich selbst Richtlinien gibt.
Team gemeinsam verantwortlich
Was sind die drei Phasen von Scrum?
Pre Game
Game
Post Game
Was macht die Pre Game Phase aus?
Projektteam wird zusammengestellt.
Einigung auf Standards/Werkzeuge
Product Owner erstellt Product Backlog (Darin alle bekannten Anforderungen enthalten -> wird ständig weiterentwickelt)
Grobdesign wird im Design Review Meeting beschlossen
Alternative Vorschläge zum Systemdesign werden diskutiert
Was macht die Game Phase aus?
Produkt wird in mehrere Abschnitte (Sprints unterteilt)
Pro Sprint: P. Owner + Team legen Ziel des nächsten Sprints fest und wie es erreicht wird.
Sprint Backlog wird angelegt/Gepflegt. Enthält Ziele des laufenden Sprints. Sprint Backlog kann nicht geändert werden erst im nächsten Sprint.
Team entscheidet wer welche Punkte aus Sprint Backlog bearbeitet
In einem Daily Scrum beantwortet jeder 3 Fragen. Was gestern erreciht? Was morgen erreichen? Was blockiert Arbeit?
Zum Abschluss stellt das Projektteam dem P.Owner und Stakeholder Ergebnisse vor.
Dann Entscheidung ob: Product Backlog anpassen, neuer Sprint, oder Post Game danach
Was macht die Post Game Phase aus?
Erstellung Dokumentation
Systemtest (Bei Fehlern wird Product Backlog angepasst und neuer Sprint gestartet)
User Acceptance Test
Was macht der Scrum Master?
Überwacht Einhaltung der Regeln
Kein Teammitglied/ kein Teamleiter
Bei Schwierigkeiten Ansprechpartner für Team
Verantwortlich, die Blockaden der MA aus dem Daily Scrum einzutragen(Impedient Backlog) und zu beseitigen
Kann Sprint abbrechen wenn Ziele unerreichbar.
Was macht der Product Owner?
Kommuniziert mit Kunden und vertritt diese.
Definiert Projektziele anhand von User Storiers.
Priorisiert Einträge im Product Backlog
Kommuniziert mit team
Was macht das Projekt Team?
Schätzt Aufwände für Einträge im Product Backlog
Wählt anhand Prioritäten des Product Owners aus Product Backlog Einträgen die Ziele für nächsten Sprint
Was machen die Stakeholder (Scrum)?
Finanzieren Projekt
Bekommen die Ergebnisse im Sprint Review Meeting präsentiert
Was machen die Manager (Scrum)?
Sind Vorgesetzte des Teams
Stellen Arbeitsumgebung zur Verfügung
Was ist die Idee von DevOps?
Gemeinsame Ziele, Abläufe und Werkzeuge für Entwicklungsprojekte und Systembetrieb
Wie läuft DevOps ab?
Teams für Applikation werden aus Entwicklern/Testern und Operatoren/Administratoren zusammengesetzt.
Unabhängig vom Vorgehensmoddel, aber sinnvoll bei agilen Methoden und CI
Team fortlaufend zuständig für Entwicklung neuen Codes und Systembetrieb.
Was enthält die DevOps Toolchain?
Create (Entwicklung)
Verify (V+V)
Package (Einbinden von graphiken etc.)
Release (Dokumentieren nach IT Richtlinien)
Configure (Einrichten Betreiben der Applikation)
Monitor (Automatisiert und nach Anwender Feedback)
Plan (Entwurf nächster Verbesserung)