cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
wichtigWir suchen PHP-Entwickler/innen (Freelancer oder Vollzeit)
Forum
Aktuellste Beiträge
Forenregeln

Community
BB-Codes
Tags
Chat
Suche (Web)
Wer ist online?
Top-User

Basar


Statistik
Mitglieder gesamt: 69406
Mitglieder online: 0
Gäste online: 2
mehr...

Anzeige
Forum » Forum: Website & Webprogrammierung » Thread: UML Use-Case-Diagramm - Modellieren von Assoziationen zwischen Anwendungsfällen und mehreren Akteueren mit unterschiedlichen Rechten

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


17.01.2011 20:48 Uhr

 

Status: offline
Haallooo CYBTON  :lol: 

Ich habe diese Frage zwar schon in einem anderem Forum gestellt, dort aber leider noch keine Antwort erhalten.
Und weil ich hier quasi auf heissen Kohlen sitze und weiter machen/lernen möchte, probiere ich es hier ein zweites mal - vielleicht mit etwas mehr Glück.

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:
Weil ich diesem Beitrag nur drei Bilder hinzufügen kann, folgt dieses "Bild" als Text ^^
+ PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Gast--+-Übersicht
 ^    +-Einzelansicht
 |    +-Registrieren
 |    +-Moderator
 |
Mitglied--+--------------------+-Antwort erstellen
 ^        +-Einloggen          +-Profil ansehen
 |        +-Ausloggen          +-Profil bearbeiten
 |        +-Thema erstellen    +-Eigene Beiträge bearbeiten
 |
Moderator--+-Thema schließen
 ^         +-Beitrag kommentieren
 |         +-Beitrag löschen
 |
Administrator--+-Einstellungen ändern
               +-Moderatoren ernennen
               +-Administratoren ernennen
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:
user-pic

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:
user-pic

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 ?
user-pic

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.
~Dragonl

Uii, vielleicht doch etwas viel Text ^^
Nach dem Einfügen und beim weiterbearbeiten konnte ich die Zeichen die auf dem Display erscheinen im Sekundentakt mitzählen während meine CPU-Auslastung auf 100% anstieg oO
3 Dateien angehängt
1 mal bearbeitet
___________________________
Gemeinde Jugend Vertretung Bremen
"Ich will das Rad kein zweites mal erfinden,
ich will nur verstehen wie es funktioniert !"
Ähnliche Threads Forum Ähnlichkeitsgrad
 UML-Werkzeug Software & Betriebssysteme 1
nach obennach oben

Copyright © 2014 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news
ANEXIA - PHP Entwicklung - Web-Entwicklung - Fritz!Box Anrufmonitor für Mac OS - Rolladen, Markisen und Jalousien in Stuttgart - Rolladen in Stuttgart - SMSjobs