Hallo.
Da es kein Brett „Modellierung“ gibt, schreibe ich mein Frage hier rein, da es irgendwie mit Java zu tun hat.
Und zwar, habe ich eine Java Klasse bzw. Java Bean in einer Webapplikation, die eine etwas kompliziertere Operation (mit vielen if und while schleifen) besitzt. Wollte nun diese Operation genauer mit UML darstellen. Lieder weiss ich nicht genau, welches Diagramm sich besonders dazu eignet.
Hatte an Zustandsdiagramm gedacht, aber ich wüsste nicht, wie ich die Zustände benennen soll, oder ob es überhapt welche gibt (wartend, prüfend?). Vielleicht gibt es noch eine andere Diagrammart, an die ich noch nicht gedacht habe, oder hatte schon jemand sowas Ähnliches darstellen müssen/sollen?
Schon mal Danke f. evtl. Anregungen.
Agnes
Hallo Agnes,
Modellierung ist zum Verstehen und Kommunizieren da, daher ist es nur wichtig, dass die betreffenden Leute es verstehen. Wenn Du es für Dich darstellen willst, mach es auf dem Papier, nach Deinem Gefühl.
In der UML würde ich Aktivitätsdiagramm vorschlagen. Aber das ist auch eine Gewohnheitssache. Jemand anderes könnte da auch ne vollkommen andere Vorstellung haben. (UML hat ca 1000 zulässige Notationen, leider).
Gruß Jakob
Hallo Agnes,
da kommt es nun wieder auf den genauen Kontext deiner Operation an.
Ich kann hier nur aus meiner Erfahrung reden und folgendes erzählen:
In einigen früheren Projekten gab es Objekte, deren Zustände in komplizierten Bedingungskaskaden (klingt eben so wie bei dir) abgehandelt wurden. Dies war auf der einen Seite unübersichtlich (deswegen möchte man ein Diagramm oder so zeichnen) und auf der anderen Seite unflexibel.
In meinem neuesten Projekt habe ich dann das State-Design-Pattern verwendet. Hierzu habe ich die verschiedenen Zustände eines Auftrags-Objekts und die möglichen Übergänge aufgezeichnet (Zustandsdiagramm).
Aus den einzelnen Zuständen wurden dann eigene Klassen mit den Übergängen als Methoden. Da nicht alle Methoden in jedem Zustand Sinn machen, gibt es natürlich eine Oberklasse, die alle Zustände als nicht gültig (Exeption) implementiert und die konkreten Zustände überschreiben dann die jeweils gültigen Methoden sinnvoll.
Ähnliches lässt sich hier nachlesen:
http://www.javacamp.org/designPattern/
Mein Fazit:
Durch den Einsatz dieses Design-Patterns wurde mein Code wesentlich leichter lesbar und pflegbar. Immer wieder kommt es vor, dass ich irgendwo eine kleine Erweiterung in einem Zustand einbauen muss und das geht jetzt wesentlich einfacher als früher.
Hoffe das hilft dir weiter.
Ciao, Bill
Hallo Agnes.
ich eine Java Klasse, die eine etwas kompliziertere Operation (mit
vielen if und while schleifen) besitzt. Wollte nun diese
Operation genauer mit UML darstellen. Lieder weiss ich nicht
genau, welches Diagramm sich besonders dazu eignet.
Für Deinen Fall eignet sich das Aktivitätsdiagramm
am besten. Mit der UML 2.0 ist es um einiges erweitert
worden, so dass es modellierungsmäßig keine Wünsche
mehr offen lässt:
- Schleifen werden per Schleifenknoten modelliert,
-
Fallunterscheidungen können mit Verzweigungs- und
Verbindungsknoten sowie alternativ mit Entscheidungsknoten
dargestellt werden -
parallele Abläufe lassen sich er Parallelisierungs- und
Synchronisationsknoten abbilden - die Diagramme sind hierarchisch schachtelbar , so dass Du
mit verschiedenen Abstraktionsebenen arbeiten kannst
Beispieldiagramme findest Du z.B. unter
- http://www.jeckle.de/UML2Artikel-OS/index.html, Abbildung 4
- http://tfs.cs.tu-berlin.de/lehre/SS04/GRA-IOSIP/Foli…, Kapitel 7
Viel Spass damit,
-Andreas.
Hallo. Danke schon mal für die Antworten.
Gleich werde ich mir die Links noch genauer
anschauen.
Habe schon mal ein Aktivitätsdiagramm begonnen, da ich
mit dem Zustandsdiagramm gar nicht klar kam.
Werde es eh noch mal überarbeiten müssen, da ich
wahrscheinlich noch eine Abfrage hinzufügen werde.
Grüße
Agnes