Zum Inhalt springen

Klassen identifiezieren


widenda

Empfohlene Beiträge

Hallo zusammen,

ich habe mir bereits einige Beiträge zum Thema Identifizierung von Klassen bzw. erstellen von Klassendiagrammen durchgelesen.

Allerdings war da nichts passendes dabei...

Ich möchte für folgenden Sachverhalt ein Klassendiagramm erstellen:

Beschreibung der relevanten Daten:

Workflows bestehen aus einer Abfolge von einzelnen Schritten (Aufgaben, Aktivitäten, „tasks“), die jeweils einem bestimmten Mitarbeiter zugeordnet sind und zu einem bestimmten Zeitpunkt erledigt sein müssen. Diese Aktivitäten haben einen Namen und enthalten eine Aufwandsschätzung (in Stunden) für ihre Durchführung. Für statistische Zwecke wird erfasst, wann die Aktivität für einen Mitarbeiter zur Bearbeitung anstand und wann sie tatsächlich bearbeitet wurde.

Zu einem einer Aktivität zugeordneten Mitarbeiter sind folgende Informationen erfasst: Name, Adresse, Personalnummer, Name der Abteilung und der unmittelbare Vorgesetzte (ebenfalls ein Mitarbeiter des Unternehmens). Außerdem wird in jeder Aktivität hinterlegt, welche als nächste (im „Erfolgsfall“) auszuführen ist.

In jedem Schritt werden bestimmte Informationen (in Form eines Dokuments mit Namen und Erstellungsdatum) benötigt: Das Datum der Reise (Beginn, Ende), das Reiseziel (Ort und Kunde), die jeweils addierten Kosten für die Reise (Kosten für Bahn-, Flugzeugtickets, Leihwagenkosten), die Unterbringung (Hotelkosten) sowie andere Spesen (Taxirechnungen, Verpflegung). Es muss vermerkt sein, ob die Reise ins Ausland geführt hat.

Wenn ein Mitarbeiter eine Aufgabe erledigt hat, wird der Workflow mit der nächsten Aufgabe fortgesetzt; ist der Workflow beendet, ist keine Folgeaktivität angegeben. Jeder Workflow weist eine Bezeichnung auf und bestimmt die Aktivität, mit der der Ablauf begonnen wird; ein Workflow

enthält die Information, wann er gestartet wurde und wann er spätestens beendet sein sollte. Jedem Workflow ist ein Verantwortlicher zugeordnet.

Meine Frage ist nun wie ich am besten vorgehe um die Klassen zu finden?

Ich habe zuerst alle Substantive raus geschrieben und überprüft ob diese redundant,irrelevant usw sind.

Ich würde jetzt folgende Begriffe als Klassen identifizieren:

- Mitarbeiter

- Vorgesetzter (oder ist dieser eine Rolle des Mitarbeiters?)

- Aufgaben = Aktivitäten = Tasks

- Statistik

- Reise

- Kosten

- Information = Dokument (evtl = Reise?)

- Workflow (?)

Ist das so richtig?

Ich hoffe hier kann mir jemand weiterhelfen.

Vielen Dank schonmal im voraus

Gruß

Widenda

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

nach mehrmaligem Lesen frag ich mich grundsätzlich, ob du auch nichts vergessen hast, abzutippen. Es geht zuerst um Workflows, Mitarbeiter und Aktivitäten, dann um Reiseinformationen und Kosten, die überhaupt nichts mit dem Vorigen zu tun haben und dann wieder um Workflows, Mitarbeiter und Aktivitäten. Im Prinzip kannst du 2 Aufgaben draus machen :)

Aber gut, werfen wir mal einen Blick aufs Detail, immerhin ein nicht ganz triviales Beispiel. Aber vorweg nochmal zur Sicherheit: Du willst ein Klassendiagramm erstellen und kein ER-Modell, richtig? Das lässt sich nämlich gern mal vermischen.

Das, was du als Klassen identifiziert hast, sind erstmal inhaltsrelevante Dinge. Gut. Du musst aber überlegen: Was für Beziehungen gibt es zwischen diesen Dingen und wie lassen sie sich am einfachsten darstellen, ohne etwas zu vergessen und ohne etwas doppelt zu haben.

Ich lass bewusst Lösungsvorschläge weg, streue aber wohlwollend Begriffe wie Generalisierung, Komposition/Aggregation und rekursive Beziehung ein.

Hilft Dir das soweit erstmal?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ulfmann,

erst einmal Danke für deine schnelle Antwort.

Die Aufgabe ist vollständig und die Aufgabe ist es ein Klassendiagramm zu erstellen und in einem späteren Schritt diese Klassen als Java-Klassen umzusetzen.

Aber so weit bin ich noch nicht ;)

Scheiter momentan noch beim finden der richtigen Klassen, weil ich die Aufgabe auch komisch finde. Wie du schon geschrieben hast ist erst von Workflow die Rede und in der Mitte kommt etwas von einer Reisekostenkalkulation.

Ich habe mal anhand deiner Tipps versucht die Beziehungen (ohne Berücksichtigung der Attribute) zu modellieren. Siehe Anhang

Mir stellt sich nun aber die Frage ob ich alle relevanten Klassen erfasst habe bzw. ob meine Klassen richtig gewählt sind.

So könnte bspw. der Verantwortliche des Workflows gleich dem Vorgesetzten des Mitarbeiters sein?

Muss ich die Anweisung, dass eine beendete Aufgabe mit einer weiteren Aufgabe fortgesetzt wird oder alternativ der Workflow beendet wird irgendwie modellieren? oder hat das nichts mit dem Klassendiagramm zu tun?

Besten Dank

Widenda

post-75106-14430448823085_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du arbeitest zu unstrukturiert und denkst zu nah am Quelltext. Gruppier doch erstmal alles, was zusammengehört und schau dann, was womit in Beziehung zueinander steht.

Du hast verschiedene Personen, du hast Aufgaben, Workflows und Informationen/Dokumente. Mir ist anhand der Aufgabenstellung allerdings immernoch nicht klar, was das Reisezeug mit den Aufgaben zu tun hat.

In jedem Schritt werden bestimmte Informationen (...) benötigt.

Das ist das einzige, was man erfährt. Beziehen sich die Aufgaben also auf die Informationen über eine Reise? In dem Fall scheint mir der Ansatz nachvollziehbar.

Was nun aber wichtig ist: Vorsicht bei der Verwendung der UML-Symbolik. So, wie du es darstellst, erben Deine Klassen Mitarbeiter und Aufgabe beide von Statistik. Außerdem würde ich die Beziehung zwischen der Workflow- und der Aufgaben-Klasse strenger sehen und als Komposition darstellen. Außerdem: Wähle treffende Bezeichnungen für Beziehungen "hat" oder "gehört zu" ist völlig nichtssagend.

Die Grundlagen zur UML habt ihr bereits durchgenommen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich habe das so verstanden, dass die Informationen in Form eines Dokuments für die Aufgaben benötigt werden.

Klassendiagramme haben wir leider nicht durchgenommen, sondern sollen das im Selbststudium anhand dieser Aufgabe lernen.

ER-Modellierung haben wir allerdings schon gehabt und wie ich das verstanden habe sind die Entitäten beim ERM gleich der Klassen.

Also habe ich versucht erstmal ein ER-Modell zu erstellen.

Da der Sachverhalt nicht ganz trivial ist, bin ich mir nicht einmal sicher ob mein ERM richtig ist.

Im Anhang mal der Versuch den Sachverhalt als ERM zu modellieren. Die Kardinalitäten habe ich vorerst weggelassen.

Muss ich überhaupt Reise als eigene Entität (bzw. Klasse) modellieren oder reicht es die Attribute an Information zu hängen?

post-75106-14430448824124_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...