Checkliste zur Überarbeitung des Analysemodells in ein Entwurfsmodell

Für den ersten Meilenstein

0 Abgabe

Bei einer schriftlichen Abgabe (z.B. während Corona; bitte keine Zip-Dateien schicken, sondern nur PDFs):

1. Klassendiagramm vorher (das letzte Fachklassendiagramm aus SE1)

2. Textuelles "Changelog", in dem steht, welche Anpassungen (siehe unten) Sie im Diagramm vorgenommen haben, und warum dies geschah. Hinweis: Im Changelog bitte einzelne grafische Ausschnitte aus dem Klassendiagramm darstellen, auf die sich Ihre Beschreibungen beziehen.

3. Klassendiagramm nachher (das im Rahmen dieses Meilensteins bearbeitete Klassendiagramm)

Bei einer Präsentation:

Orientieren Sie sich an dem, was für die schriftliche Abgabe verlangt wird. Präsentieren Sie die Schwerpunkte Ihrer Anpassungen in zehn bis zwölf Minuten mittels Beamer.

1 Allgemein

Anpassung aller Bezeichner an die gewählte Programmiersprache (betrachten Sie bitte "Java" als die von Ihnen gewählte Programmiersprache)

Anpassung aller Datentypen an die gewählte Programmiersprache und Aufgabe (die UML-Typen Number und Text gibt es in Java beispielsweise nicht)

2 Operationen (Methoden)

Ergänzung der vollständigen Signatur im Klassendiagramm (inkl. Rückgabetyp - auch "void") gemäß Operationsschablonen aus der Analysephase (SE1)

Hinzufügen der Getters und Setters (nach Abstimmung mit dem Dozenten nur auszugsweise, für gewöhnlich ein Getter/Setter-Paar pro Klasse)

Anpassung der Sichtbarkeit

3 Attribute

Hinzufügen der Attribute für Objektbeziehungen (Referenzattribute), evtl. Array-Typ bei ToMany-Assoziationen

Anpassung der Sichtbarkeit (möglichst private, nur bei Bedarf protected oder public)

Hinterfragen fachlich sinnvoll abgeleiteter Attribute ("abgeleitet" hat in diesem Zusammenhang nichts mit Vererbung zu tun, siehe SE1)

4 Assoziationen

Hinzufügen der Navigation (möglichst unidirektional, nur bei Bedarf bidirektional)

Bei bidirektionalen Assoziationen möglichst zwei Pfeile in der Darstellung des UML-Werkzeugs einstellen, und nicht kein Pfeil (obwohl in UML beides valide ist)

Hinterfragen der fachlich sinnvoll abgeleiteten Assoziationen ("abgeleitet" hat auch hier nichts mit Vererbung zu tun, siehe wieder SE1)

5 Klassen

(Optional) Ergänzung des Klassennamens um ein Schichtenpräfix Ui, Lg oder Db (wird heutzutage nur noch selten gemacht, also bitte nicht machen)

Hinzufügen derjenigen Konstruktoren, die über das "Normalverhalten" hinausgehen. Das wären die Konstruktoren, die z.B. Muss-Attribute beim Instanziieren setzen, Berechnungen durchführen usw.

Ergänzung von Containerklassen (support classes) zur Verwaltung von Objektmengen gleichen Typs (haben häufig Methoden für das Erstellen, Suchen, Bearbeiten, Löschen von Objekten der Objektmenge)

Beseitigung assoziativer Klassen (Assoziationsklassen) durch Auflösung in "normale" Klassen

6 Pakete

Einbau einer fachlichen Paketierung (sofern nicht bereits in SE1 geschehen), Klassen mit gleichem fachinhaltlichen "Thema" gehören zusammen

Einbau einer schichtenorientierten Paketierung (Ui, Lg, Db), nur die Fachlogikschicht wird mit dem Fachklassendiagramm aus SE1 gefüllt (optional)

7 Java-Code

Generierung des Java-Quelltextes mit dem UML-Werkzeug (oder einem Ersatztool, falls im üblichen Werkzeug keine Code-Generierung möglich ist)

Modifizieren der "hässlichen" Stellen (generische Attributbezeichner, merkwürdige Datentypen und Signaturen etc.) im Modell (nicht im Quelltext)

Hinweis: Bitte schicken Sie mir keinen Java-Quelltext per Mail (auch nicht in einer Zip-Datei). Er wird vom Mail-Filter geschluckt. Beschränkden Sie sich auf Screenshots und Texte im Changelog.

IMPRESSUM | DATENSCHUTZ | RECHTLICHE HINWEISE
Copyright © 2024 ziemer's informatik, Dipl.-Inform. Thomas Ziemer. Alle Rechte vorbehalten.