Welche Klassen?
Fangen wir oben an
Wenn man eine Software modellieren will, besteht eine grundsätzliche Entscheidung in den Klassen, die implementiert werden sollen. Klassen bilden oft die höchste Abstraktionsebene einer Software, sie bilden die wichtigsten Komponenten namentlich ab.
- Betrachtet die User Stories für euren ersten Sprint
- Ordnet die User Stories Frontend und Backend zu
- Versucht, die User Stories weiter zu untergliedern, welche Klassen braucht ihr?
- Wie interagieren diese Klassen untereinander?
- Welche Attribute brauchen die Klassen?
- Welche Methoden brauchen die Klassen?
Hinweise
- Ihr müsst Backend und Frontend nicht zwangsläufig auf jeweils mehrere Klassen verteilen.
- Es kann folglich legitim sein, einfach eine Klasse "Frontend" oder "Backend" (oder beides) zu erstellen.
- Über die richtige Aufteilung von Funktionalitäten auf Klassen gibt es eigene Forschungsarbeiten. Es gibt IMMER viele Wege und in der Regel mehrere vergleichbar gut funktionierende.
- In agiler Entwicklung kennt man Anfangs zwar eine grobe Richtung, jedoch nicht genau den Weg dorthin. Ihr könnt diese Entscheidungen also noch gar nicht optimal treffen!
- Generell gilt allerdings: So viele Klassen wie nötig, so wenige wie möglich
- Den Button "Auflösung" solltet ihr NICHT ANKLICKEN, BEVOR IHR NICHT EIN VOLLSTÄNDIGES KLASSENDIAGRAMM ERSTELLT UND DISKUTIERT HABT!<7li>
Aufgabe
Führt eine entsprechend dieser Seite grundlegende Klassenmodellierung in eurem Team durch.
Auflösung
Diese Auflösung stellt nur einen von mehreren möglichen Lösungswegen dar. Sie ist nicht DIE richtige Lösung, sie dient nur dazu, dass ihr kurz überlegen könnt ob euch noch eine wichtige Grundkomponente fehlt. Sie nimmt bereits einige Entscheidungen vorweg, die ihr auch anders treffen könnt, oder sogar solltet (abhängig von euren User Stories). Sie ist daher mit Vorsicht zu genießen, die genauen Zusammenhänge werden ohnehin erst später erläutert. Um nicht noch mehr vorweg zu nehmen, sind hier auch noch keine Methoden aufgeführt. Wenn eure Lösung eine (teilweise) andere ist, solltet ihr damit auch weiterarbeiten ohne sie jetzt übereilt an diese Lösung anzupassen.
Quellen
- [1]: - Urheber: THL - Lizenz: inf-schule.de