Wie genau soll ein Klassendiagramm sein

LeaveX

Aktives Mitglied
Hallo,

die Frage steht eigentlich eh schon im Titel. Also wie genau soll eigentlich das Klassendiagramm beschrieben sein. Soll man alle Attribute methoden eintragen oder reichen die wichtigsten das man ein verständniss hat wie die Software funktionieren soll.

LG
LeaveX
 
Streng genommen kommt das darauf an, nach welchem Prinzip man entwickelt.

Scrum z.B. sieht explizit vor, dass man in jeder Iteration der Entwicklung Modelle und Code präzisiert/verändert/anpasst.
RUP (rational unified process) dagegen will von Anfang an möglichst vollstaändig und präzise sein, wenn ich mich recht an die Vorlesung erinnere.
(Es gibt noch einige weitere Vorgehensweisen, alle sind eigentlich abhängig von der Projektgröße)

Ganz pragmatisch würde ich antworten: Schreibe soviel hinein, dass du (oder andere) alle Zuständigkeiten einer Klasse klar umreissen kannst. Dabei sind Assoziationen auf jeden Fall wichtiger, als zB private Member und Methoden, da das dann sicher auch Geschmackssache des Entwicklers ist.
 
Zuletzt bearbeitet:
Da hast du recht mit assoiationen, denn dieser zeigt richtig die Verbindung zwischen Klassen auf.

Ich finde es is übersichtlicher.
 
Zuletzt bearbeitet:
Ja, es lohnt sich aber IMHO sicher immer, möglichst früh konkret über den genauen Typ der Assoziation (Kardinalität/Komposition oder Aggregation) nachzudenken, weil das eine genaue Vorgabe der Implemetierung an den Entwickler ist und nebenher viel mehr über das geplante Ganze informiert.
 
Also wenn es um die Frage geht WIE SOLL ein Klassendiagramm aussehen, dann lautet das Schlüsselwort UML (Unified Modeling Language). Es ist eine komplexe Notationssprache zur Modellierung, Dokumentation, Spezifizierung und Visualisierung komplexer SW-Systeme.

Das Problem: nicht jeder ist hier auf einem aktuellen Stand (UML 2.4.1), da das sogenannte SW-Engineering noch nicht so lange existiert wie Software selbst. Die meisten arbeiten noch mit der Version 2.

Hier findet man aber immer gute Vorlagen, die auch dafür sorgen, dass alles notwendige vorhanden ist. Im Einzelfall liegt die Entscheidung natürlich beim Entwickler 😉
 

Neue Themen


Zurück
Oben