ALEJEUNE-RLACROIX_UML/DSGestionUtilisateur.uml
2022-11-09 18:07:38 +01:00

72 lines
No EOL
2.5 KiB
Text

@startuml
actor User
participant UserAgent
participant DatabaseManager
participant TCPNetworkManager
participant BroadcastNetworkManager
database IdManager
/' To do : etablissement de connexion
+ corriger parametre des fonctions '/
group Connexion
User -> UserAgent : connexion()
alt PremiereConnexion
UserAgent -> BroadcastNetworkManager --++ #lightgrey : getServerAddress()
BroadcastNetworkManager -> IdManager --++ #lightgrey : getServerAddress()
IdManager -> BroadcastNetworkManager --++ #lightgrey : ServerAddress
BroadcastNetworkManager -> UserAgent --++ #lightgrey : ServerAddress
UserAgent -> TCPNetworkManager --++ #lightgrey : getNextId()
TCPNetworkManager -> IdManager --++ #lightgrey : getNextId()
IdManager -> TCPNetworkManager --++ #lightgrey : sendId()
TCPNetworkManager -> UserAgent -- #lightgrey : sendId()
else DejaConnecte
UserAgent -> UserAgent : getSelfId()
end
loop PseudoLibre
UserAgent -> User --++ #lightgrey : saisirPseudo()
User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo)
UserAgent -> BroadcastNetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
alt
BroadcastNetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
UserAgent -> UserAgent -- : PseudoLibre = False
else
BroadcastNetworkManager -> 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 -> BroadcastNetworkManager -- : deconnexion()
end
group ChangerPseudo
User -> UserAgent --++ #lightgrey : changerPseudo()
loop PseudoLibre
UserAgent -> User --++ #lightgrey : saisirPseudo()
User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo)
UserAgent -> BroadcastNetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
alt
BroadcastNetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
UserAgent -> UserAgent -- : PseudoLibre = False
else
BroadcastNetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo)
UserAgent -> UserAgent -- : PseudoLibre = True
end
end
end
@enduml