Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

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

Frage Entwicklung

Mitglied: Arano

Arano (Level 2) - Jetzt verbinden

16.01.2011 um 00:42 Uhr, 11265 Aufrufe

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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

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
Ähnliche Inhalte
LAN, WAN, Wireless
Endgeräte wechseln zwischen zwei Access Points hin und her (15)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Switche und Hubs
gelöst Brücke zwischen zwei VLANS finden (9)

Frage von D1Ck3n zum Thema Switche und Hubs ...

Linux
Vergleich zwischen Distributionen. Mögliche Kriterien? (18)

Frage von hansleitner zum Thema Linux ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...