Checkliste zur Überarbeitung des Analysemodells in ein Entwurfsmodell

Für den ersten Meilenstein

0 Abgabe

Normalfall der Abgabe - Bei einer schriftlichen Abgabe (bitte keine Zip-Dateien schicken, sondern nur eine einzige, zoombare PDF-Datei):

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)

Sonderfall der Abgabe - 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

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 oder Initialisierungen 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)

Eliminierung assoziativer Klassen (Assoziationsklassen) durch Auflösen in "normale" Klassen

6 Pakete

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

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

7 Java-Code

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

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

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

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