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 20:10] – 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 51: | Ligne 51: | ||
| ==== Exemples ==== | ==== 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 === | === Secure Use case diagram === | ||
| + | < | ||
| <uml> | <uml> | ||
| @startuml | @startuml | ||
| Ligne 86: | Ligne 107: | ||
| </ | </ | ||
| + | < | ||
| + | == 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 | ||
| + | </ | ||
 jcheron
 jcheron