arano
Goto Top

UML Use-Case-Diagramm - Modellieren von Assoziationen zwischen Anwendungsfällen und mehreren Akteueren mit unterschiedlichen Rechten

Zur Einarbeitung in die "Softwareentwicklung mit UML" möchte ich ein kleines Forum modellieren um gelesenes anzuwenden und besser verstehen/nachvollziehen zu können.
Doch bereits das erste Use-Case-Diagramm lässt mich um Rat fragen...

Hallo und ein schönes Wochenende zusammen.

Ich habe mich in der letzten Woche zum Thema "Softwareentwicklung mit UML" eingelesen und bin dazu übergegangen(-gesprungen) die ersten Diagramme zu erstellen. Doch leider bin ich nicht so weit gekommen wie ich das erwartet hatte. Wenigstens die ersten Use-Case-Diagramme (UCD) wollte ich schaffen bevor ich wieder nachlesen muss was als nächstes folgt, doch nun hänge ich noch beim erstem UCD.

Erst sollte es ein einfaches Gästebuch werden das mit ein paar Zusatzfunktionen ausgestattet wird um, sozusagen, das Modellieren zu üben. Doch beim erstellen der ersten Anwendungsfälle im erstem Diagramm zeigte sich schnell das es doch mehr ein kleines Forum wird...
Egal, ich will es ja nicht voll ausbauen und schon gar nicht einsetzen, lediglich Modellieren will ich es.

__Schritt eins: Welche Akteure kann es geben__
  1. Gast
  2. Mitglied
  3. Moderator
  4. Administrator

__Schritt zwei: Zeichne alle Anwendungsfälle ins System__
Dazu die Frage: "Ob ich für jeden Akteur ein eigenes UCD erstellen sollte ?"
Ich entschied: "Nein, zuerst Modellierst du das Haupt-UCD auf dem Grob alles zu erkennen ist !"
Außerdem muss ich dann nicht alles doppelt und vierfach zeichnen, schließlich sollen alle vier Akteure einen Beitrag erstellen dürfen... Bei den vielen Überschneidungen vom "Gast" bis hin zum "Administrator" wären das viele Assoziationen und wahrscheinlich ein ebenso großes Netz an Verbindungen.
Generalisierung: Gast <- Mitglied <- Moderator <- Administrator
Zusammen mit den Anwendungsfällen und etwas organisiert sah es dann so aus:
428244baa10fb0d21c4a51225b0748e2
Das ist schon einmal ein Anfang. Es gibt sicher noch einige Anwendungsfälle (z.B. Das Löschen von Profilen) aber wegen der Übung lasse ich sie einfach weg oder integriere den eine oder anderen später.
In den folgenden Bildern lasse ich die Akteure: Gast und Administrator wegen der Platzersparnis und der aktuell geringeren Relevanz weg

__Schritt drei: Überprüfe die Anwendungsfälle__
__Sind sie wirklich nötig, haben welche evtl. die selbe Aufgabe, gehören sie zusammen, kann man welche zusammenfassen,...__
Da gibt es tatsächlich welche meine ich z.B.
  • Profil ansehen und Profil bearbeiten gehören zusammen.
  • Beitrag korrigieren, Beitrag kommentieren und Beitrag löschen kann man zu Beitrag bearbeiten zusammenfassen und
  • Einloggen und Ausloggen zu Authentifizieren

__Und hier gehen meine Probleme los !__
Z.B. der Anwendungsfall Beitrag löschen, wenn der wirklich zu Beitrag bearbeiten gehört, wie Assoziiere ich den nun mit den Akteuren: "Mitglied", "Moderator" und "Administrator" !?
Dadurch, das das "Mitglied" seine eigenen Beiträge bearbeiten darf, haben wir eine Verbindung zwischen "Mitglied" und Beitrag bearbeiten. Auf Grund der Generalisierung in Schritt zwei, kann ein "Moderator" das was ein "Mitglied" kann und hat somit auch Zugriff auf Beitrag bearbeiten bzw. Beitrag löschen - sehr gut, dann hat ja jeder Zugriff auf seine Aktionen.
Sehr ähnlich verhält es sich für die andren genannten Fälle und mein Diagramm sah danach so aus:
343a2fc44e16dd3bbfaf6e6d8fa075be

Aber irgendetwas stimmt nicht !
Nur das Diagramm betrachtet sieht es nun so aus als könne ein "Mitglied" beliebige Beiträge: bearbeiten, kommentieren oder sogar löschen, ebenso könnte jedes Profil bearbeitet werden !
So war das natürlich nicht gedacht, doch wie verdeutliche ich das in dem Diagramm ?
Für das Profil bearbeiten könnte ich natürlich eine Bedingung festlegen, das es entweder das eigene Profil des Auslösenden "Mitgliedes" sein muss oder der Auslöser ein "Moderator" bzw. "Administrator".
Das sah dann so aus:
b52cfecc5bdec0cdc9465719aa5a66ea

Allerdings wird der "Moderator" immer kleiner und verschwindet langsam aus dem Bild. Wenn ich das jetzt noch für die anderen Fälle tue, dann wird es meiner Meinung nach immer unübersichtlicher zu erkennen wer was kann und darf weil alles an irgendwelche Bedingungen geknüpft und bei anderen Akteuren .zu suchen ist.
So soll das doch nicht aussehen oder ?
b1915015179e8b3781dd37c3a9be6ab0

Was habe ich denn da noch nicht verstanden ?
Was sollte ich also anders lösen und warum !?
Welche Ideen und Ansätze habt ihr, wie würdet ihr es Modellieren ?
Oder ist es doch tatsächlich richtig bzw. so (akzeptabel) möglich ?


"Wissen ist Macht, wahre Macht meine Freunde.
Ihr tätet gut daran soviel wie möglich davon anzusammeln
und auf die zu hören, die dies bereits getan haben."



In diesem Sinn bin ich auf jede eurer Antworten gespannt und für jede Hilfe dankbar.
~Arano

Content-Key: 158731

Url: https://administrator.de/contentid/158731

Ausgedruckt am: 29.03.2024 um 16:03 Uhr