commit 9c6bb98f1e3b042a7cc226f94444208ec8a80cdd Author: alejeune Date: Mon Nov 7 15:38:00 2022 +0100 Initial Commit diff --git a/DCAffichage.uml b/DCAffichage.uml new file mode 100644 index 0000000..746f054 --- /dev/null +++ b/DCAffichage.uml @@ -0,0 +1,8 @@ +@startuml + +class Affichage { + voirMessages() + voirUtilisateurs() +} + +@enduml \ No newline at end of file diff --git a/DSAdministration.uml b/DSAdministration.uml new file mode 100644 index 0000000..2befce5 --- /dev/null +++ b/DSAdministration.uml @@ -0,0 +1,9 @@ +@startuml + +actor Admin +participant Machine + +Admin -> Machine : mettreFichierSurMachine +Admin -> Machine : creerRaccourci + +@enduml \ No newline at end of file diff --git a/DSAffichage.uml b/DSAffichage.uml new file mode 100644 index 0000000..bf58528 --- /dev/null +++ b/DSAffichage.uml @@ -0,0 +1,22 @@ +@startuml + +actor User +participant UserAgent +participant DatabaseManager + +group Voir les messages + User -> UserAgent --++ #lightgrey : voirMessages(pseudo) + UserAgent -> UserAgent --++ #lightgrey : trouverId(pseudo) + UserAgent -> DatabaseManager --++ #lightgrey : lireHistorique(id) + DatabaseManager -> UserAgent --++ #lightgrey : envoyerHistorique + UserAgent -> User -- : envoyerMessages +end + +group Voir la liste des utilisateurs + User -> UserAgent --++ #lightgrey : voirUtilisteurs + UserAgent -> DatabaseManager --++ #lightgrey : voirUtilisteurs + DatabaseManager -> UserAgent --++ #lightgrey : listeUtilisateurs + UserAgent -> User -- : listeUtilisateurs +end + +@enduml \ No newline at end of file diff --git a/DSGestionUtilisateur.uml b/DSGestionUtilisateur.uml new file mode 100644 index 0000000..3021dd9 --- /dev/null +++ b/DSGestionUtilisateur.uml @@ -0,0 +1,65 @@ +@startuml + +actor User +participant UserAgent +participant DatabaseManager +database IdManager +participant NetworkManager + +/' To do : etablissement de connexion ++ corriger parametre des fonctions '/ + + + + +group Connexion + User -> UserAgent : connexion() + + alt PremiereConnexion + UserAgent -> IdManager --++ #lightgrey : getNextId() + IdManager -> UserAgent -- #lightgrey : sendId() + + else DejaConnecte + UserAgent -> UserAgent : getSelfId() + end + loop PseudoLibre + UserAgent -> User --++ #lightgrey : saisirPseudo() + User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo) + UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo) + alt + NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris() + UserAgent -> UserAgent -- : PseudoLibre = False + else + NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo) + UserAgent -> UserAgent -- : PseudoLibre = True + end + end + + + UserAgent -> DatabaseManager -- #lightgrey : storeInformations() + UserAgent --> User -- : ok() + +end + +group DeconnexionUser + User -> UserAgent --++ #lightgrey : deconnexion() + UserAgent -> NetworkManager -- : deconnexion() +end + +group ChangerPseudo + User -> UserAgent --++ #lightgrey : changerPseudo() + loop PseudoLibre + UserAgent -> User --++ #lightgrey : saisirPseudo() + User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo) + UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo) + alt + NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris() + UserAgent -> UserAgent -- : PseudoLibre = False + else + NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo) + UserAgent -> UserAgent -- : PseudoLibre = True + end + end +end + +@enduml \ No newline at end of file diff --git a/DSInteraction.uml b/DSInteraction.uml new file mode 100644 index 0000000..1ff0bc2 --- /dev/null +++ b/DSInteraction.uml @@ -0,0 +1,48 @@ +@startuml + +actor User +participant UserAgent +participant Os +participant DatabaseManager +participant NetworkManager + +group MinimiserFenetre + User -> UserAgent --++ #lightgrey : MinimiserFentre() + UserAgent -> Os --++ #lightgrey : MinimiserFenetre() + Os -> Os --++ #lightgrey : MinimiserFenetre() + opt + Os -> Os --: createSysTrayIcon() + end +end + +group CliquerSysTrayIcon + User -> Os --++ #lightgrey : CliquerIcon() + Os -> Os -- : RouvrirFenetre() +end + +group EnvoyerMessage /' pas d'acquitement de messages car UDP '/ + User -> UserAgent --++ #lightgrey : sendMessage(message, ip, port, id) + UserAgent -> NetworkManager -- : commute(message, ip, port, id) + UserAgent -> DatabaseManager -- : storeHistorique(message, id) +end + +group EnvoyerFichier /' pas d'acquitement de messages car UDP '/ + User -> UserAgent --++ #lightgrey : sendFichier(fichier) + UserAgent -> NetworkManager -- : commute(fichier) + UserAgent -> DatabaseManager -- : storeHistorique(fichier) +end + +group recevoirMessage + NetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message) + UserAgent -> User -- : afficheMessage(message) + UserAgent -> DatabaseManager -- : storeHistorique(message) +end + +group recevoirFichier + NetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier) + UserAgent -> User -- : afficheFichier(fichier) + UserAgent -> DatabaseManager -- : storeHistorique(fichier) +end + + +@enduml \ No newline at end of file diff --git a/DU.uml b/DU.uml new file mode 100644 index 0000000..3a85b90 --- /dev/null +++ b/DU.uml @@ -0,0 +1,83 @@ +@startuml + +left to right direction +actor "U1:User" as U1 +actor "U2:User" as U2 +actor ":Admin" as A + +package chat { + package "Gestion Utilisateur" { + usecase connexion + usecase changementPseudo + usecase deconnexion + usecase envoyerNotificationDeconnexion + usecase envoyerNotificationConnexion + usecase saisirPseudo + usecase ValidationPseudo + } + + package "Interaction" { + usecase minimisationFenetre_iconTray + usecase recevoirMessage + usecase recevoirFichier + usecase envoyerMessage + usecase envoyerFichier + } + + package "Affichage" { + usecase voirMessage + usecase lireHistorique + usecase lireListeUtilisateurs + usecase voirUtilisateurs + } + + package "Configuration" { + usecase mettreFichierSurMachine + usecase creerRaccourci + } + + + usecase lireBaseDonneeUtilisateur + usecase horodatage + usecase remplirBaseDonneeUtilisateur + +} + +envoyerNotificationConnexion --- U2 +envoyerNotificationDeconnexion --- U2 +envoyerFichier ---- U2 +envoyerMessage ---- U2 +U2 -- recevoirFichier +U2 -- recevoirMessage + +U1 --- envoyerMessage +U1 -- envoyerFichier +U1 --- recevoirMessage +U1 -- recevoirFichier +U1 -- connexion +U1 -- deconnexion +U1 -- voirMessage +U1 -- voirUtilisateurs +U1 -- minimisationFenetre_iconTray +U1 -- changementPseudo + +A -- mettreFichierSurMachine +A -- creerRaccourci + + +recevoirMessage --> remplirBaseDonneeUtilisateur +recevoirFichier --> remplirBaseDonneeUtilisateur +lireHistorique <|-- lireBaseDonneeUtilisateur +voirUtilisateurs <|-- lireListeUtilisateurs +lireListeUtilisateurs <|-- lireBaseDonneeUtilisateur +connexion <|-- saisirPseudo +connexion --> envoyerNotificationConnexion +changementPseudo <|-- saisirPseudo +saisirPseudo --> ValidationPseudo +deconnexion --> envoyerNotificationDeconnexion +voirMessage <|-- lireHistorique +voirMessage <|-- horodatage +envoyerFichier --> horodatage +envoyerMessage --> horodatage + +@enduml \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e69de29