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/05 00:28] 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 108: Ligne 108:
 </uml> </uml>
 <html></div></html> <html></div></html>
-=== Secure Object Diagram ===+== 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> <html><div class="imageB"></html>
Ligne 115: Ligne 151:
 !define ROLE Class !define ROLE Class
 !define PERMISSION 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 ' Définition des classes pour les rôles
Ligne 122: Ligne 160:
 ' Définition des permissions ' Définition des permissions
 PERMISSION Lecture <<permission>> { PERMISSION Lecture <<permission>> {
-  + read(): execute+  + read(unLivre): execute 
 +  + return(unLivre): execute 
 +  + borrow(unLivre):execute
 } }
 PERMISSION Modification <<permission>> { PERMISSION Modification <<permission>> {
Ligne 175: Ligne 215:
 Administration --> Bibliothèque::manage : <<canDo>> Administration --> Bibliothèque::manage : <<canDo>>
 Administration --> Emprunt : <<use>> Administration --> Emprunt : <<use>>
 +Lecture .. N1
 @enduml @enduml
 </uml> </uml>
 <html></div></html> <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.1717540119.txt.gz
  • Dernière modification : il y a 9 mois
  • de jcheron