diff --git a/Documents/Diagramme/README_DIAGRAMMES.md b/Documents/Diagramme/README_DIAGRAMMES.md index 0694f3ad..b8d3f6fe 100644 --- a/Documents/Diagramme/README_DIAGRAMMES.md +++ b/Documents/Diagramme/README_DIAGRAMMES.md @@ -4,8 +4,62 @@ # Diagrammes nécéssaires à notre projet ## Diagrammes de classes -- [issue028 - Importation de fichiers .fit](DiagrammeDeClasses/README_issue028.md) +- Diagramme de classe pour l'ajout d'amis +```plantuml +class User { + + name : string +} + +User "1" --> "*" User: friends +User "1" --> "*" Notification: notifications +User "1" --> "*" Ask: friendRequests +class Notification { + - text : string +} + +interface INotifier { + + notify() : void +} + +INotifier --|> Observer + +abstract class UserManager { + - currentUser : User + + deleteFriend(userId : int) : void + + addFriend(userId : int) : void + + respondToFriendRequest(requestId : int, choice : bool) : void + + getFriends(userId : int) : User[] +} + +class Ask { + - fromUser : int + - toUser : int +} + +Ask --|> Subject + +abstract class Subject { + + attach(o : Observer) : void + + detach(o : Observer) : void + + notify() : void +} +Subject "1" --> "*" Observer +interface Observer { + + update() : void +} + +UserManager ..> User +UserManager o-- IUserRepository +UserManager o-- INotifier + +interface IUserRepository { + + findByUsername(username : string) : User + + addUser(user : User) : bool +} + +IUserRepository ..> User +``` ## Diagrammes de séquence - Envoi de demande d'ami : ```plantuml @@ -43,7 +97,7 @@ v-->c:EnregistrerReponse(idUser) c-->m:EnvoyerReponse(idUser) ``` --Supprimer un ami : +- Supprimer un ami : ```plantuml actor User as u boundary View as v @@ -73,7 +127,22 @@ c-->v: renderView(updatedFriendsList) v-->u: Display Updated Friends ``` ## Diagrammes de cas d'utilisation -- [use case 1]() +- Cas d'utilisation pour l'ajout d'amis +```plantuml +left to right direction +:User: as u +"Envoyer demande d'ami" as (c1) +"Accepter demande d'ami" as (c2) +"Lister ami" as (c3) +"Voir activité ami" as (c4) +"Supprimer ami" as (c5) + +:u: --> (c1) +:u: --> (c2) +:u: --> (c3) +:u: --> (c4) +:u: --> (c5) +``` ## Base de Données - [BDD] \ No newline at end of file