finished class

This commit is contained in:
alejeune 2022-11-09 18:07:38 +01:00
parent 5f58d94fe2
commit 6c2e0d7c11
3 changed files with 145 additions and 22 deletions

View file

@ -1,15 +1,131 @@
@startuml
class Affichage {
voirMessages()
voirUtilisateurs()
package Controller <<Rectangle>> {
abstract class Network {
}
class NetworkManager {
sendMessage(message, ip, port, id)
receiveMessage(message, id)
}
class IdManager {
getNextID()
}
class ThreadManager {
ThreadList : ThreadList
NewThread()
}
class TCPNetworkManager {
connect(port, ip);
send(port, ip, message);
}
class AccountManager {
connection()
setName(Name : String)
deconnection()
}
class ConversationManager {
addMessage(message,conversation)
getHistorique()
getListeUtilisateurs()
}
class BroadcastNetworkManager {
pingSend(message)
}
NetworkManager <--- BroadcastNetworkManager
NetworkManager <--- TCPNetworkManager
TCPNetworkManager <|-- Network
BroadcastNetworkManager <|-- Network
AccountManager -- NetworkManager
ConversationManager -- NetworkManager
}
class NetworkManager {
sendMessage(message, ip, port, id)
receiveMessage(message, id)
'=============================================='
package Model <<Rectangle>> {
class Conversation {
user : User
listeMessage : Arraylist<Message>
}
class Message{
user : User
body : String
date : Date
}
class ThreadList{
listThread : Arraylist<Thread>
}
class User{
name : String
id : Int
status : Boolean 'connecté ou non'
port : Int
ip : Inet_Addr
}
class Annuaire {
listUser : Arraylist<User>
}
Conversation "1" <-- "*" User /'notes to self'/
Conversation "1" <-- "*" Message
Message "*" <-- "*" User
Annuaire "1" <-- "*" User
}
'=============================================='
package View <<Rectangle>> {
abstract class Display {
SetDarkMode()
}
class UserListDislay {
afficherUtilisateurs()
}
class MessageDislay {
afficherMessages()
}
class FirstLoginDisplay {
}
class ChangePseudoDisplay {
}
UserListDislay <|-- Display
MessageDislay <|-- Display
FirstLoginDisplay <|-- Display
ChangePseudoDisplay <|-- Display
}
@enduml
AccountManager -- User
ThreadManager <--- ThreadList
Model ----- ConversationManager
@enduml

View file

@ -3,8 +3,9 @@
actor User
participant UserAgent
participant DatabaseManager
participant TCPNetworkManager
participant BroadcastNetworkManager
database IdManager
participant NetworkManager
/' To do : etablissement de connexion
+ corriger parametre des fonctions '/
@ -16,8 +17,14 @@ group Connexion
User -> UserAgent : connexion()
alt PremiereConnexion
UserAgent -> IdManager --++ #lightgrey : getNextId()
IdManager -> UserAgent -- #lightgrey : sendId()
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()
@ -25,12 +32,12 @@ group Connexion
loop PseudoLibre
UserAgent -> User --++ #lightgrey : saisirPseudo()
User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo)
UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
UserAgent -> BroadcastNetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
alt
NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
BroadcastNetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
UserAgent -> UserAgent -- : PseudoLibre = False
else
NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo)
BroadcastNetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo)
UserAgent -> UserAgent -- : PseudoLibre = True
end
end
@ -43,7 +50,7 @@ end
group DeconnexionUser
User -> UserAgent --++ #lightgrey : deconnexion()
UserAgent -> NetworkManager -- : deconnexion()
UserAgent -> BroadcastNetworkManager -- : deconnexion()
end
group ChangerPseudo
@ -51,12 +58,12 @@ group ChangerPseudo
loop PseudoLibre
UserAgent -> User --++ #lightgrey : saisirPseudo()
User -> UserAgent --++ #lightgrey : envoyerPseudo(Pseudo)
UserAgent -> NetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
UserAgent -> BroadcastNetworkManager --++ #lightgrey : sendInformation(port, ip, id, pseudo)
alt
NetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
BroadcastNetworkManager -> UserAgent --++ #lightgrey: pseudoDejaPris()
UserAgent -> UserAgent -- : PseudoLibre = False
else
NetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo)
BroadcastNetworkManager -> UserAgent --++ #lightgrey : sendInformation(port, ip, id, pseudo)
UserAgent -> UserAgent -- : PseudoLibre = True
end
end

View file

@ -4,7 +4,7 @@ actor User
participant UserAgent
participant Os
participant DatabaseManager
participant NetworkManager
participant TCPNetworkManager
group MinimiserFenetre
User -> UserAgent --++ #lightgrey : MinimiserFentre()
@ -22,24 +22,24 @@ 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 -> TCPNetworkManager -- : 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 -> TCPNetworkManager -- : commute(fichier)
UserAgent -> DatabaseManager -- : storeHistorique(fichier)
end
group recevoirMessage
NetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message)
TCPNetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message)
UserAgent -> User -- : afficheMessage(message)
UserAgent -> DatabaseManager -- : storeHistorique(message)
end
group recevoirFichier
NetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier)
TCPNetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier)
UserAgent -> User -- : afficheFichier(fichier)
UserAgent -> DatabaseManager -- : storeHistorique(fichier)
end