55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# Agile Design
|
|
> [UML](UML.md) ist nicht Software Design
|
|
|
|
- Diagramme repräsentieren einen Teil des SW-Designs
|
|
- Source Code
|
|
- Design ist ein abstraktes Konzept
|
|
- Struktur und Form des Projekts
|
|
- Detaillierte Beschreibung der Klassen, Module, Methoden
|
|
|
|
|
|
## What goes wrong with Software
|
|
- Im besten Fall
|
|
- Projekt startet mit klarem Bild, was das System tun soll
|
|
- Design ist ein Bild in den Köpfen der Devs
|
|
- Mit Glück: Klarheit des Designs schafft es bis zum ersten Release
|
|
- Häufig geht vorher was schief
|
|
- Programm wird schwieriger wartbar
|
|
- kleinste Änderungen werden kompliziert
|
|
- Neudesign geht meistens schief
|
|
- Das alte System wächst weiter, neues muss mithalten
|
|
- Probleme im neuen Design entstehen
|
|
- Software geht kaputt, wenn es anfängt mit Design Smells:
|
|
|
|
## Design Smells
|
|
### Rigidity (Steifigkeit)
|
|
- Das Design ist schwer zu ändern
|
|
- Code ist schwer zu ändern
|
|
- kleine Änderungen erzeugen Probleme in dependent Modulen
|
|
- je mehr Module geändert werden müssen, desto mehr steif ist das Design
|
|
- Ergebnis:
|
|
- Änderungen dauern deutlich länger als gedacht
|
|
|
|
### Fragility (Zerbrechlichkeit)
|
|
- Das Design ist einfach kaputtzumachen
|
|
- Neue Probleme sind in unvorhergesehenen Umgebungen
|
|
- Lösen dieser Probleme führt zu neuen Problemen
|
|
- Fragilität wird mit der Zeit höher
|
|
- Ist sehr normal
|
|
- Module sind bekannt dafür, dass sie repariert werden müssen
|
|
- Sind auf der Bug Liste
|
|
- Niemand will sich der Aufgabe widmen
|
|
|
|
### Immobility
|
|
- Das Design ist kaum neu zu benutzen
|
|
- Enthält Teile, die in anderen Systemen sinnvoll wären
|
|
- Risiko involviert in Aufteilung
|
|
- Ungünstig, aber sehr häufig
|
|
|
|
### Viscosity
|
|
- Es ist schwer das Richtige zu tun. Zwei Formen:
|
|
1. Viskosität der Software
|
|
- Devs entscheiden zwischen Designerhaltung und einfacher Lösung
|
|
- Design sollte design erhaltende Änderungen fördern
|
|
2. Viskosität der Umgebung
|
|
- h |