Initial Commit

This commit is contained in:
alejeune 2022-11-07 15:38:00 +01:00
commit 9c6bb98f1e
7 changed files with 235 additions and 0 deletions

8
DCAffichage.uml Normal file
View file

@ -0,0 +1,8 @@
@startuml
class Affichage {
voirMessages()
voirUtilisateurs()
}
@enduml

9
DSAdministration.uml Normal file
View file

@ -0,0 +1,9 @@
@startuml
actor Admin
participant Machine
Admin -> Machine : mettreFichierSurMachine
Admin -> Machine : creerRaccourci
@enduml

22
DSAffichage.uml Normal file
View file

@ -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

65
DSGestionUtilisateur.uml Normal file
View file

@ -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

48
DSInteraction.uml Normal file
View file

@ -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

83
DU.uml Normal file
View file

@ -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

0
readme.md Normal file
View file