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 @startuml
class Affichage { package Controller <<Rectangle>> {
voirMessages() abstract class Network {
voirUtilisateurs()
} }
class NetworkManager { class NetworkManager {
sendMessage(message, ip, port, id) sendMessage(message, ip, port, id)
receiveMessage(message, 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
}
'=============================================='
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
}
AccountManager -- User
ThreadManager <--- ThreadList
Model ----- ConversationManager
@enduml @enduml

View file

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

View file

@ -4,7 +4,7 @@ actor User
participant UserAgent participant UserAgent
participant Os participant Os
participant DatabaseManager participant DatabaseManager
participant NetworkManager participant TCPNetworkManager
group MinimiserFenetre group MinimiserFenetre
User -> UserAgent --++ #lightgrey : MinimiserFentre() User -> UserAgent --++ #lightgrey : MinimiserFentre()
@ -22,24 +22,24 @@ end
group EnvoyerMessage /' pas d'acquitement de messages car UDP '/ group EnvoyerMessage /' pas d'acquitement de messages car UDP '/
User -> UserAgent --++ #lightgrey : sendMessage(message, ip, port, id) 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) UserAgent -> DatabaseManager -- : storeHistorique(message, id)
end end
group EnvoyerFichier /' pas d'acquitement de messages car UDP '/ group EnvoyerFichier /' pas d'acquitement de messages car UDP '/
User -> UserAgent --++ #lightgrey : sendFichier(fichier) User -> UserAgent --++ #lightgrey : sendFichier(fichier)
UserAgent -> NetworkManager -- : commute(fichier) UserAgent -> TCPNetworkManager -- : commute(fichier)
UserAgent -> DatabaseManager -- : storeHistorique(fichier) UserAgent -> DatabaseManager -- : storeHistorique(fichier)
end end
group recevoirMessage group recevoirMessage
NetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message) TCPNetworkManager -> UserAgent --++ #lightgrey : receptionMessage(message)
UserAgent -> User -- : afficheMessage(message) UserAgent -> User -- : afficheMessage(message)
UserAgent -> DatabaseManager -- : storeHistorique(message) UserAgent -> DatabaseManager -- : storeHistorique(message)
end end
group recevoirFichier group recevoirFichier
NetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier) TCPNetworkManager -> UserAgent --++ #lightgrey : receptionFichier(fichier)
UserAgent -> User -- : afficheFichier(fichier) UserAgent -> User -- : afficheFichier(fichier)
UserAgent -> DatabaseManager -- : storeHistorique(fichier) UserAgent -> DatabaseManager -- : storeHistorique(fichier)
end end