UML generell- Vorgehensweise

Hallo allerseits!

Ich stehe vor folgendem Problem:
Zur Zeit eigne ich mir den Umgang mit UML an. Bis auf die relativ schwierigen Sequenzdiagramme versteh’ ich das auch ganz gut-
Mein Problem ist aber nun:
Wenn ich z.B. ein umgangssprachlich erstelltes Pflichtenheft vor mir liegen habe, fehlt mir oftmals ein vernünftiger Ansatz, bzw. Vorgehensweise, wie ich aus den Anforderungen ein Klassendiagramm entstehen lasse…ich übe das bereits seit Wochen, aber irgendwie fehlt mir der richtige Kniff, um mal ein korrektes Diag. zu erstellen…

Könntet ihr mir Tipps geben, wie man an eine solche Umsetzung am Besten herangeht?

Vielen Dank im Voraus!

Hallo Daniel,

du solltest zuerst unterscheiden, ob du eine eher dynamische (Steuerung) oder statische (Verwaltung) Anwendung modellierst. Je nachdem solltest du besser mit den Geschäftsprozessen oder dem Klassendiagramm und Datenmaodell anfangen.

Für das Klassendiagramm:

Versuch die Zentralen Elemente zu finden. Bei größeren Projekten versuche kleinere Module zu identifizieren. Dort die zentralen Klassen. Modelliere zuerst NUR die Zusammenhänge. Die Attribute kommen automatisch mit dem Datenmodell hinzu. Erweitere das System um diese zentralen Klassen bis deine Spezifikation erfüllt ist.

Für das Geschäftsprozessdiagramm:

Identifiziere die primären (lebenswichtig), sekundären (darf am Ende nicht fehlen) und optionalen (nice to have) Geschäftsprozesse. Daraus erstellst du Aktivitätsdiagramme und daraus dann Sequenzdiagramme für Analyse und dann für den Entwurf.

Die Diagramme werden immer erweitert und angepaßt. Durch die Sequenzdiagramme findest du sicher noch neue Klassen, Atrribute und vor allem die Operationen. Kleiner Tipp: denk dabei immer an das Geheimnisprinzip, dann kann dabei nichts mehr schief gehen (haha)

Soweit erst mal.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Peter!

Danke erstmal für die Anregungen!

Mein Problem kann ich noch folgendermaßen differenzieren:

Die eigentlichen Klassen, die ich aus einem Heft heraus identifizieren soll, finde ich teilweise nicht-
Dahingehend ist es dann natürlich umso schwieriger, noch Assoziationen, Attribute und Operationen einer Klasse zu finden-
Das ist eigentlich mein Hauptproblem.

Viele Grüße,
Daniel

Hallo Daniel,

du solltest vom Kern des Problems ausgehen und nicht versuchen das Pflichtenheft 1:1 umzusetzen.

Ein Pflichtenheft ist:

  • ungenau
  • redundant
  • widersprüchlich
  • wichtige Klassen und Zusammenhänge fehlen
  • unwichtige werden hervorgehoben

Du musst also mit deinem Fachwissen das Problem lösen, wobei das Ergebnis das Pflichtenheft widerspiegeln muss. Es kann (wird hoffentlich so sein) dazu eine große Hilfe sein.

Du kannst erst mal versuchen die wichtigste Klasse (oder Klassen) in deinem Projekt zu finden. Diese spinnst du dann weiter.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]