Frage

Aus Gründen der Einfachheit:

Es gibt eine Erlaubnis basiertes System an Ort und Stelle mit verschiedenen Arten von Benutzerebenen und Aktionen (man denkt: UNIX-Dateisystemberechtigungen)

Was wäre der beste Ansatz sein, dies in UML zu visualisieren?

War es hilfreich?

Lösung

ich habe in der Regel Klassen, die Benutzer darstellen, Rollen und Berechtigungen. Benutzer gehören zu Rollen und Rollen werden gewährt Berechtigungen. Berechtigungen sind erforderlich, andere Objekte zuzugreifen. In UML nehme ich an, dass Sie Rolle als eine abstrakte Basisklasse Modell würde und haben mehrere verschiedene Implementierungen, eine für jede Rolle.

Normalerweise modellieren, ich eine Erlaubnis als Objekt enthält Sätze von lesbaren, beschreibbaren, löschen-able Klassen Geschäftseinheit (vielleicht enthält Eigentum Ausschlüsse oder Einschlüsse). Jede Rolle hat dann eine Berechtigung. Das Recht erlaubt oder verweigert den Zugriff auf eine oder mehr anderen Klassen. Die Erlaubnis ist standardmäßig verweigert, und der Zugang nur dann erlaubt, wenn die Klasse in dem entsprechenden Satz für die Aktion angefordert wird.

Andere Tipps

Ich mag ein Dateisystemobjekt denken, hat eine Reihe von Standardverfahren, von denen jedem von denen hat eine zugehörige Berechtigung.

Es gibt 9 Methoden / Berechtigungen, die von in der Regel von Interesse: die Kombinationen von (Benutzer, Gruppe, Andere) * (Lesen, Schreiben, Ausführen). Darüber hinaus gibt es Optionen wie Sticky and SetUID.

Ein Dateisystemobjekt ist mit einem Benutzer und einer Gruppe zugeordnet. Ein Benutzer wird mit einer beliebigen Anzahl von Gruppen zugeordnet ist.

Der aktuelle Benutzer wird mit einer beliebigen Anzahl von Gruppen zugeordnet ist.

Die oben ist ziemlich Standard-Klassendiagramm Sachen. Dateisystemobjekte, Benutzer, Gruppen, Verbände. Und die Dateisystemobjekte haben einen Stapel von Attributen und die 9 kanonischen Methoden.

Die Beschränkung auf das, was erlaubt ist kein ordentlich Diagramm haben. Es ist ein Satz von Regeln, Ausdrücke. Die erste ist, die Erlaubnis zu verwenden (Benutzer, Gruppe oder andere) eingestellt und dann die Erlaubnis, in der Menge (Lesen, Schreiben oder Ausführen).

Sie könnten, nehme ich an, eine Klasse von Benutzern mit einer gewissen Menge von konkreten Objekten definieren (Unix hat Benutzer, Gruppe, andere) und eine Klasse von Operationen mit einer gewissen Reihe von konkreten Objekten (Unix hat lesen, schreiben, ausführen) . Sie können dann Berechtigungen mit zwei Zuordnungen definieren: ein zu Benutzerklasse und einem für den Betrieb Klasse.

Ich denke, es ist einfacher, nur die kompletten Satz Methoden Liste, die auf fussily die Kombinationen Benutzerklasseninstanzen und den Betrieb Klasseninstanzen Diagramm.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top