cnam:nfe114:secureuml

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:13] jcheroncnam: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 (ressources).
  
 ==== Diagrammes de Secure-UML ==== ==== Diagrammes de Secure-UML ====
Ligne 72: Ligne 72:
 Les permissions sont ensuite reliées aux cas d'utilisation correspondants, montrant comment les actions du système sont contrôlées par les rôles et les permissions. Les permissions sont ensuite reliées aux cas d'utilisation correspondants, montrant comment les actions du système sont contrôlées par les rôles et les permissions.
 === Secure Use case diagram === === Secure Use case diagram ===
 +<html><div class="imageB"></html>
 <uml> <uml>
 @startuml @startuml
Ligne 106: Ligne 107:
  
 </uml> </uml>
 +<html></div></html>
 +== Source ==
 +
 +<sxh ;gutter:false>
 +@startuml
 +
 +!define ROLE Actor
 +!define PERMISSION Actor/ #pink;line:red;line.bold;text:red
 +
 +' 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 : <<hasPermission>>
 +Bibliothécaire -down-> Modification : <<hasPermission>>
 +Bibliothécaire -down-> Administration : <<hasPermission>>
 +
 +Membre -down-> Lecture : <<hasPermission>>
 +
 +' Cas d'utilisation du système
 +Lecture --> (Lire un livre) : <<canDo>>
 +Lecture --> (Emprunter un livre) : <<canDo>>
 +Lecture --> (Retourner un livre) : <<canDo>>
 +Modification --> (Ajouter un livre) : <<canDo>>
 +Modification --> (Modifier les informations sur un livre) : <<canDo>>
 +Modification --> (Supprimer un livre) : <<canDo>>
 +Administration --> (Gérer les emprunts) : <<canDo>>
 +
 +@enduml
 +</sxh>
 +
 +=== Secure Class Diagram ===
 +
 +<html><div class="imageB"></html>
 +<uml>@startuml
 +
 +!define ROLE Class
 +!define PERMISSION Class
 +
 +note "<<AuthorizationConstraint>>\n<u>context:</u>read, return\n<u>pre:</u>this.livres.contains(unLivre)" as N1
 +
 +' Définition des classes pour les rôles
 +ROLE Bibliothécaire <<role>>
 +ROLE Membre <<role>>
 +
 +' Définition des permissions
 +PERMISSION Lecture <<permission>> {
 +  + read(unLivre): execute
 +  + return(unLivre): execute
 +  + borrow(unLivre):execute
 +}
 +PERMISSION Modification <<permission>> {
 +  + add():execute
 +  + modify():execute
 +  + delete():execute
 +}
 +PERMISSION Administration <<permission>> {
 +  + manage():execute
 +}
 +
 +' Association des rôles avec les permissions
 +Bibliothécaire -down-> Lecture : <<hasPermission>>
 +Bibliothécaire -down-> Modification : <<hasPermission>>
 +Bibliothécaire -down-> Administration : <<hasPermission>>
 +
 +Membre -down-> Lecture : <<hasPermission>>
 +
 +' Classes du système
 +class Livre <<Resource>> {
 +  +title: String
 +  +author: String
 +  +ISBN: String
 +  +getDetails(): String
 +}
 +
 +class Emprunt <<Resource>> {
 +  +startDate: Date
 +  +endDate: Date
 +  +isOverdue(): Boolean
 +}
 +
 +class Bibliothèque <<Resource>> {
 +  +add(Livre):execute
 +  +modify(Livre):execute
 +  +delete(Livre):execute
 +  +borrow(livre: Livre, membre: Membre): Emprunt
 +  +return(emprunt: Emprunt): execute
 +  +manage(List<Emprunt>): execute
 +}
 +
 +' Permissions pour les méthodes de la classe Bibliothèque
 +Lecture --> Livre : <<use>>
 +Lecture --> Bibliothèque::borrow : <<canDo>>
 +Lecture --> Bibliothèque::return : <<canDo>>
 +
 +Modification --> Bibliothèque::add : <<canDo>>
 +Modification --> Bibliothèque::remove : <<canDo>>
 +Modification --> Bibliothèque::modify : <<canDo>>
 +Modification --> Livre : <<use>>
 +
 +Administration --> Bibliothèque::manage : <<canDo>>
 +Administration --> Emprunt : <<use>>
 +Lecture .. N1
 +@enduml
 +</uml>
 +<html></div></html>
 +
 +== Source ==
 +
 +<sxh ;gutter:false>
 +@startuml
 +
 +!define ROLE Class
 +!define PERMISSION Class
 +
 +' Définition des classes pour les rôles
 +ROLE Bibliothécaire <<role>>
 +ROLE Membre <<role>>
 +
 +' Définition des permissions
 +PERMISSION Lecture <<permission>> {
 +  + read(): execute
 +  + return(): execute
 +  + borrow():execute
 +}
 +PERMISSION Modification <<permission>> {
 +  + add():execute
 +  + modify():execute
 +  + delete():execute
 +}
 +PERMISSION Administration <<permission>> {
 +  + manage():execute
 +}
 +
 +' Association des rôles avec les permissions
 +Bibliothécaire -down-> Lecture : <<hasPermission>>
 +Bibliothécaire -down-> Modification : <<hasPermission>>
 +Bibliothécaire -down-> Administration : <<hasPermission>>
 +
 +Membre -down-> Lecture : <<hasPermission>>
 +
 +' Classes du système
 +class Livre <<Resource>> {
 +  +title: String
 +  +author: String
 +  +ISBN: String
 +  +getDetails(): String
 +}
 +
 +class Emprunt <<Resource>> {
 +  +startDate: Date
 +  +endDate: Date
 +  +isOverdue(): Boolean
 +}
 +
 +class Bibliothèque <<Resource>> {
 +  +add(Livre):execute
 +  +modify(Livre):execute
 +  +delete(Livre):execute
 +  +borrow(livre: Livre, membre: Membre): Emprunt
 +  +return(emprunt: Emprunt): execute
 +  +manage(List<Emprunt>): execute
 +}
 +
 +' Permissions pour les méthodes de la classe Bibliothèque
 +Lecture --> Livre : <<use>>
 +Lecture --> Bibliothèque::borrow : <<canDo>>
 +Lecture --> Bibliothèque::return : <<canDo>>
 +
 +Modification --> Bibliothèque::add : <<canDo>>
 +Modification --> Bibliothèque::remove : <<canDo>>
 +Modification --> Bibliothèque::modify : <<canDo>>
 +Modification --> Livre : <<use>>
 +
 +Administration --> Bibliothèque::manage : <<canDo>>
 +Administration --> Emprunt : <<use>>
 +
 +@enduml
 +</sxh>
  
  
  • cnam/nfe114/secureuml.1717524785.txt.gz
  • Dernière modification : il y a 9 mois
  • de jcheron