ep


L. H.
Diese Lernkarten bieten einen Überblick über verschiedene Softwareentwicklungsmethoden und deren Prinzipien. Sie behandeln agile Ansätze wie Scrum und Extreme Programming, traditionelle Modelle wie das V-Modell und das Wasserfallmodell, sowie deren Vor- und Nachteile. Entwickler und Projektmanager können von diesen Karteikarten profitieren, um fundierte Entscheidungen über die Wahl der passenden Methodik für ihre Projekte zu treffen.
Cartes-fiches
10
Utilisateurs
1
Langue
Allemand
Catégorie
Informatique
Niveau
Autres
Créé / Mis à jour
13.07.2016 / 13.07.2016

Cartes-fiches

Beschreiben Sie das Wasserfall-Modell und nennen Sie die Problematiken.

  • lineares, nicht iteratives Vorgehensmodell 
  • Phasen werden nacheinander abgearbeitet, wobei es „kein zurück“ in eine vorige Phase gibt
  • Problem 1: lange Feedback-Schleifen
    —> Probleme werden oft erst in späten Stadien entdeckt, was oftmals zu hohen Kosten führt
  • Problem 2: Architektur wird am Anfang festgelegt & nicht mehr überdacht
    —> aber praktisch unmöglich gleich zu Beginn eine optimale/sehr gute Architektur zu entwickeln

Wie ist der Ablauf/Aufbau des V-Models?

  • Linke Seite des „V“: Zersetzung von Anforderungen & Erstellung von Systemspezifikationen
    (Anforderungsdefinition, Grobentwurf, Feinentwurf, Modulimplementierung)
  • Rechte Seite des „V“: Integration von Teilen & deren Validierung
    (Modultest, Integrationstest, Systemtest, Abnahmetest)

Wofür wird das V-Modell vorwiegend verwendet?

  • statische Projekte, ursprünglich aus dem Militärbereich
  • Projekte der Bundeswehr
  • Bundesverwaltung

Nennen Sie 4 Prinzipien des Agilen Manifestes.

  • Individuen und Interaktionen über Prozesse und Tools
  • Lauffähige Software über eine umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden über Vertragsverhandlungen
  • Auf Reaktion reagieren nicht nach Plan zu arbeiten

Beschreiben und skizzieren Sie Scrum.

  • Der PO holt Input von Kunden, Team, Managern, … ein; erarbeitet aus den Infos User Stories & priorisiert diese im Product Backlog
  • Im Sprint Planning Meeting wird mit dem Team entschieden wie viel des Product Backlogs in den Sprint Backlog kommen (Aufwandschätzung)
  • Ein Sprint ist eine Zeitspanne von 1-4 Wochen, in denen das Team tägliche Daily Standup Meetings abhält; der Scrum Master organisiert/überwacht den Prozess
  • Nach jedem Sprint sollte ein lauffähige Version entstanden sein 
  • Es findet ein Sprint Review und eine Sprint Retrospective statt
    —> Beim Sprint Review wird geprüft, inwiefern welche Items des Backlogs geschafft wurden

—> Projekt Management Methodologie, um anstehende Arbeit & Gruppen zu organisieren;
—> hilft uns nicht, wie wir mit dem tatsächlichen Code arbeiten/umgehen sollen

Was sind wesentliche Eigenschaften von XP?

  • Extreme Code Reviews durch Pair Programming
  • Extreme Testing durch Testing-First
  • Einfachheit
  • Integration durch Continuous Integration und tägliche Builds
  • Short Iterations
  • Continuous Feedback und Customer on Site

Nennen Sie jeweils 2 Vor- und Nachteile von Extreme Programming.

  • Vorteile:
    Kostenkurve wird flach gehalten, höhere Qualität, Erweiterbarkeit & Nachhaltigkeit der Software
  • Nachteile:
    erfordert hohe Kompetenz & Kommunikationsfähigkeit; erfordert eine sehr intensive Zusammenarbeit des Kunden

Beschreiben Sie die Unterschiede zwischen agilen & nicht agilen Vorgehensmodellen in der Softwarentwicklung?

  • Interaktion vs. Prozesse/Tools
  • Lauffähige Software vs. umfassende Dokumentation
  • viel vs. wenig Kundenkontakt während des Prozesses
  • dynamische vs. statische Anforderungen

In XP bleibt die „Cost of Change“ Kurve flach. Nennen Sie 3 Maßnahmen, wie diese flach gehalten werden kann.

  • Automatisiertes Testen aller Artefakte
  • Automatisierte Konsistenz aller Artefakte
  • Einfachheit

Skizziere und beschreibe kurz die Cost of Change Kurve. Welche Schlussfolgerung kann daraus gezogen werden?

  • Um ein Problem zu analysieren und zu lösen erfordert dies a = x Minuten
  • Um ein Problem zu finden und zu beheben p > 10*x
  • Während dem Testen werden t > 10*p benötigt 
  • Beheben nach der Entwicklung f > 10*t
    —> Entscheidungen so früh wie möglich treffen (dafür braucht es guten Architekten)
    —> Probleme so früh wie möglich erkennen
    —> intensiv analysieren und modellieren
    —> genau das implementieren, was modelliert wurde
  • Aber: In der Praxis ändern sich die Anforderungen häufig

Étudier