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__
__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:
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.
__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:
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:
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 ?
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
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__
- Gast
- Mitglied
- Moderator
- 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:
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:
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:
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 ?
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 158731
Url: https://administrator.de/contentid/158731
Ausgedruckt am: 24.11.2024 um 17:11 Uhr