zusammenfassungen/Writerside/topics/OOAD/SoftwareProcesses.md
David Schirrmeister 3f03ebae36 update
2024-05-01 10:02:11 +02:00

2.9 KiB

Software Processes

In den 1950ern wurde Software an Seite der Hardware entwickelt

  • Ziel dieser Prozesse war das komplette Produkt in einem einzigen Projekt zu entwerfen

Classic Organizational Structure

  • Business or Client
    • braucht neue Software/System
    • Definiert Kriterien, welche für die Vollständigkeit des Systems essenziell sind
    • Definiert requirements specification, welche das benötigte System beschreibt
  • Entwicklungsteam oder Software-Firma
    • Bekommt requirements specification
    • Designt und entwickelt das System anhand der gegebenen Spezifikationen
    • Erstellt ein Handbuch
  • Operations Team
    • Bekommt Handbuch
    • Nimmt Rechenschaft für das Laufen der Software auf sich
    • Gibt auftretende Fehler an das Entwicklungsteam weiter

Waterfall Model

  • Sequenzielle Ausführung der Phasen des SDLC
    • Jede Phase wird mit einer Dokumentation des Schritts beendet
    • Iterationen sind nur zwischen zwei aufeinanderfolgenden Phasen möglich
  • image_40.png
  • image_41.png

Handling of Change: Implications

Ursprüngliches Projekt ist fertig - Kunde ist aber nicht glücklich

  • Ein neues Projekt startet den SDLC neu
    • image_42.png

Neue Modelle

V-Modell

image_43.png

Spiral-Modell

image_44.png

Agile

The Agile Manifesto

4 Werte

  • Individuen und Interaktionen über Prozesse und Werkzeuge
  • Funktionierende Software über verständliche Dokumentation
  • Arbeit mit Kunden über Vertragsverhandlungen
  • Anpassung an Veränderung über folgen des Plans

12 Prinzipien

  • Funktionierende Software ist die primäre Ressource um den Fortschritt zu messen
  • Die höchste Priorität ist den Kunden durch frühe und durchgehende Lieferung von wertvoller Software glücklich zu machen
  • Liefere funktionierende Software regelmäßig, ~mehrere Wochen bis mehrere Monate → kürzer = besser
  • Durchgehende Aufmerksamkeit auf technische Exzellenz und gutes Design verbessert die Agilität

Strongly Iterative Development

Verstärkt durchgehende Kreation von Nutzen für Kunden

  • Scope: wichtigsten Features der Iteration
  • image_45.png

Durchgehende Anpassung der Anforderungen an aktuelle Nachfrage

  • image_46.png

Small and Cross-functional Teams

  • Selbst organisiert, divers, T-shaped skills
  • klein
  • image_48.png
  • Beispiel Scrum Team:
    • 3-9 Developers
      • verantwortlich für alle Aspekte der Entwicklung
    • 1 Product Owner
      • spielt Kunde für die Devs, kreiert und priorisiert Features
    • 1 Scrum Master
      • Coach, Prozess-Authorität

Business/Client wird Teil des Teams

  • Product Owner
  • image_47.png

DevOps