Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cnam:nfe114:secureuml [2024/06/04 19:16] – jcheron | cnam:nfe114:secureuml [2024/06/05 01:31] (Version actuelle) – [Exemples] jcheron | ||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
Regroupent les permissions en fonction des responsabilités des utilisateurs. | Regroupent les permissions en fonction des responsabilités des utilisateurs. | ||
=== Permissions === | === Permissions === | ||
- | Actions autorisées que les rôles peuvent effectuer sur les objets du système. | + | Actions autorisées que les rôles peuvent effectuer sur les objets du système |
==== Diagrammes de Secure-UML ==== | ==== Diagrammes de Secure-UML ==== | ||
Ligne 49: | Ligne 49: | ||
=== Assignation des Permissions === | === Assignation des Permissions === | ||
Les permissions sont associées aux rôles plutôt qu'aux utilisateurs individuels. | Les permissions sont associées aux rôles plutôt qu'aux utilisateurs individuels. | ||
+ | |||
+ | ==== Exemples ==== | ||
+ | Gestion d'une bibliothèque : | ||
+ | |||
+ | === Rôles : === | ||
+ | |||
+ | |||
+ | * Bibliothécaire : Un utilisateur avec le rôle de Bibliothécaire. | ||
+ | * Membre : Un utilisateur avec le rôle de Membre. | ||
+ | |||
+ | === Permissions : === | ||
+ | * Lecture : Inclut les actions de lire, emprunter et retourner des livres. | ||
+ | * Modification : Inclut les actions d' | ||
+ | * Administration : Inclut l' | ||
+ | === Cas d' | ||
+ | * Lecture : Lire un livre, emprunter un livre, retourner un livre. | ||
+ | * Modification : Ajouter un livre, modifier les informations sur un livre, supprimer un livre. | ||
+ | * Administration : Gérer les emprunts. | ||
+ | |||
+ | Dans ce diagramme, les rôles " | ||
+ | |||
+ | Les permissions sont ensuite reliées aux cas d' | ||
+ | === Secure Use case diagram === | ||
+ | < | ||
+ | <uml> | ||
+ | @startuml | ||
+ | |||
+ | !define ROLE Actor | ||
+ | !define PERMISSION Actor/ # | ||
+ | |||
+ | ' Définition des rôles | ||
+ | ROLE Bibliothécaire | ||
+ | ROLE Membre | ||
+ | |||
+ | ' Définition des permissions | ||
+ | PERMISSION Lecture | ||
+ | PERMISSION Modification | ||
+ | PERMISSION Administration | ||
+ | |||
+ | ' Acteurs (rôles) et leurs permissions | ||
+ | Bibliothécaire -down-> Lecture : << | ||
+ | Bibliothécaire -down-> Modification : << | ||
+ | Bibliothécaire -down-> Administration : << | ||
+ | |||
+ | Membre -down-> Lecture : << | ||
+ | |||
+ | ' Cas d' | ||
+ | Lecture --> (Lire un livre) : << | ||
+ | Lecture --> (Emprunter un livre) : << | ||
+ | Lecture --> (Retourner un livre) : << | ||
+ | Modification --> (Ajouter un livre) : << | ||
+ | Modification --> (Modifier les informations sur un livre) : << | ||
+ | Modification --> (Supprimer un livre) : << | ||
+ | Administration --> (Gérer les emprunts) : << | ||
+ | |||
+ | @enduml | ||
+ | |||
+ | </ | ||
+ | < | ||
+ | == Source == | ||
+ | |||
+ | <sxh ; | ||
+ | @startuml | ||
+ | |||
+ | !define ROLE Actor | ||
+ | !define PERMISSION Actor/ # | ||
+ | |||
+ | ' Définition des rôles | ||
+ | ROLE Bibliothécaire | ||
+ | ROLE Membre | ||
+ | |||
+ | ' Définition des permissions | ||
+ | PERMISSION Lecture | ||
+ | PERMISSION Modification | ||
+ | PERMISSION Administration | ||
+ | |||
+ | ' Acteurs (rôles) et leurs permissions | ||
+ | Bibliothécaire -down-> Lecture : << | ||
+ | Bibliothécaire -down-> Modification : << | ||
+ | Bibliothécaire -down-> Administration : << | ||
+ | |||
+ | Membre -down-> Lecture : << | ||
+ | |||
+ | ' Cas d' | ||
+ | Lecture --> (Lire un livre) : << | ||
+ | Lecture --> (Emprunter un livre) : << | ||
+ | Lecture --> (Retourner un livre) : << | ||
+ | Modification --> (Ajouter un livre) : << | ||
+ | Modification --> (Modifier les informations sur un livre) : << | ||
+ | Modification --> (Supprimer un livre) : << | ||
+ | Administration --> (Gérer les emprunts) : << | ||
+ | |||
+ | @enduml | ||
+ | </ | ||
+ | |||
+ | === Secure Class Diagram === | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | !define ROLE Class | ||
+ | !define PERMISSION Class | ||
+ | |||
+ | note "<< | ||
+ | |||
+ | ' Définition des classes pour les rôles | ||
+ | ROLE Bibliothécaire << | ||
+ | ROLE Membre << | ||
+ | |||
+ | ' Définition des permissions | ||
+ | PERMISSION Lecture << | ||
+ | + read(unLivre): | ||
+ | + return(unLivre): | ||
+ | + borrow(unLivre): | ||
+ | } | ||
+ | PERMISSION Modification << | ||
+ | + add(): | ||
+ | + modify(): | ||
+ | + delete(): | ||
+ | } | ||
+ | PERMISSION Administration << | ||
+ | + manage(): | ||
+ | } | ||
+ | |||
+ | ' Association des rôles avec les permissions | ||
+ | Bibliothécaire -down-> Lecture : << | ||
+ | Bibliothécaire -down-> Modification : << | ||
+ | Bibliothécaire -down-> Administration : << | ||
+ | |||
+ | Membre -down-> Lecture : << | ||
+ | |||
+ | ' Classes du système | ||
+ | class Livre << | ||
+ | +title: String | ||
+ | +author: String | ||
+ | +ISBN: String | ||
+ | +getDetails(): | ||
+ | } | ||
+ | |||
+ | class Emprunt << | ||
+ | +startDate: Date | ||
+ | +endDate: Date | ||
+ | +isOverdue(): | ||
+ | } | ||
+ | |||
+ | class Bibliothèque << | ||
+ | +add(Livre): | ||
+ | +modify(Livre): | ||
+ | +delete(Livre): | ||
+ | +borrow(livre: | ||
+ | +return(emprunt: | ||
+ | +manage(List< | ||
+ | } | ||
+ | |||
+ | ' Permissions pour les méthodes de la classe Bibliothèque | ||
+ | Lecture --> Livre : << | ||
+ | Lecture --> Bibliothèque:: | ||
+ | Lecture --> Bibliothèque:: | ||
+ | |||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Livre : << | ||
+ | |||
+ | Administration --> Bibliothèque:: | ||
+ | Administration --> Emprunt : << | ||
+ | Lecture .. N1 | ||
+ | @enduml | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | == Source == | ||
+ | |||
+ | <sxh ; | ||
+ | @startuml | ||
+ | |||
+ | !define ROLE Class | ||
+ | !define PERMISSION Class | ||
+ | |||
+ | ' Définition des classes pour les rôles | ||
+ | ROLE Bibliothécaire << | ||
+ | ROLE Membre << | ||
+ | |||
+ | ' Définition des permissions | ||
+ | PERMISSION Lecture << | ||
+ | + read(): execute | ||
+ | + return(): execute | ||
+ | + borrow(): | ||
+ | } | ||
+ | PERMISSION Modification << | ||
+ | + add(): | ||
+ | + modify(): | ||
+ | + delete(): | ||
+ | } | ||
+ | PERMISSION Administration << | ||
+ | + manage(): | ||
+ | } | ||
+ | |||
+ | ' Association des rôles avec les permissions | ||
+ | Bibliothécaire -down-> Lecture : << | ||
+ | Bibliothécaire -down-> Modification : << | ||
+ | Bibliothécaire -down-> Administration : << | ||
+ | |||
+ | Membre -down-> Lecture : << | ||
+ | |||
+ | ' Classes du système | ||
+ | class Livre << | ||
+ | +title: String | ||
+ | +author: String | ||
+ | +ISBN: String | ||
+ | +getDetails(): | ||
+ | } | ||
+ | |||
+ | class Emprunt << | ||
+ | +startDate: Date | ||
+ | +endDate: Date | ||
+ | +isOverdue(): | ||
+ | } | ||
+ | |||
+ | class Bibliothèque << | ||
+ | +add(Livre): | ||
+ | +modify(Livre): | ||
+ | +delete(Livre): | ||
+ | +borrow(livre: | ||
+ | +return(emprunt: | ||
+ | +manage(List< | ||
+ | } | ||
+ | |||
+ | ' Permissions pour les méthodes de la classe Bibliothèque | ||
+ | Lecture --> Livre : << | ||
+ | Lecture --> Bibliothèque:: | ||
+ | Lecture --> Bibliothèque:: | ||
+ | |||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Bibliothèque:: | ||
+ | Modification --> Livre : << | ||
+ | |||
+ | Administration --> Bibliothèque:: | ||
+ | Administration --> Emprunt : << | ||
+ | |||
+ | @enduml | ||
+ | </ | ||
+ | |||
+ |