Comment visualiser au mieux une & # 8220; permission? Matrix & # 8221; dans un diagramme de classes UML?

StackOverflow https://stackoverflow.com/questions/237373

Question

Par souci de simplicité:

Un système basé sur les autorisations est en place avec différents types d’activités et de niveaux d’utilisateur (pensez: autorisations du système de fichiers UNIX)

Quelle serait la meilleure approche pour visualiser cela en UML?

Était-ce utile?

La solution

J'ai généralement des classes représentant des utilisateurs, des rôles et des autorisations. Les utilisateurs appartiennent à des rôles et des autorisations sont accordées aux rôles. Des autorisations sont nécessaires pour accéder à d'autres objets. En UML, je suppose que vous modéliserez Role en tant que classe de base abstraite et que vous aurez plusieurs implémentations différentes, une pour chaque rôle.

En règle générale, je modélise une autorisation sous la forme d'un objet contenant des ensembles de classes d'entités commerciales lisibles, inscriptibles et supprimables (contenant éventuellement des exclusions de propriété ou des inclusions). Chaque rôle a alors une autorisation. Cette autorisation autorise ou refuse l'accès à une ou plusieurs autres classes. L'autorisation est refusée par défaut et l'accès est uniquement autorisé si la classe se trouve dans l'ensemble approprié pour l'action demandée.

Autres conseils

J'aime penser qu'un objet de système de fichiers possède un certain nombre de méthodes standard, chacune associée à une autorisation.

Il existe 9 méthodes / autorisations d’intérêt commun: les combinaisons de (utilisateur, groupe, autre) * (lecture, écriture, exécution). De plus, il existe des options telles que Sticky et SetUID.

Un objet système de fichiers est associé à un utilisateur et à un groupe. Un utilisateur est associé à un nombre quelconque de groupes.

L'utilisateur actuel est associé à un nombre quelconque de groupes.

Ce qui précède est un joli diagramme de classes standard. Objets du système de fichiers, utilisateurs, groupes, associations. Et les objets du système de fichiers ont une pile d'attributs et les 9 méthodes canoniques.

La contrainte sur ce qui est permis n’a pas de diagramme ordonné. C'est un ensemble d'expressions de règles. Le premier est quel jeu d'autorisations utiliser (utilisateur, groupe ou autre), puis quel droit de jeu (lire, écrire ou exécuter).

Vous pouvez, je suppose, définir une classe d’utilisateurs avec un ensemble d’objets concrets (Unix a utilisateur, groupe, autre) et une classe d’opérations avec un ensemble d’objets concrets (Unix a lu, écrit, exécuté) . Vous pouvez ensuite définir des autorisations avec deux associations: une pour la classe d'utilisateurs et une pour la classe d'opérations.

Je pense qu'il est plus facile de simplement énumérer les méthodes d'ensemble complètes afin de schématiser les instances de classes d'utilisateurs de combinaisons et d'instances de classes d'opérations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top