docs : diagramme de classe
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
1275659a5f
commit
2128d34b2a
@ -0,0 +1,368 @@
|
|||||||
|
@startuml
|
||||||
|
top to bottom direction
|
||||||
|
|
||||||
|
class Application {
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerAdministrators {
|
||||||
|
+ addAdministrator(administrator: EntityAdministrator): void
|
||||||
|
+ removeAdministrator(administrator: EntityAdministrator): void
|
||||||
|
+ getAdministrators(): List<EntityAdministrator>
|
||||||
|
+ getAdministratorByUsername(username: string): EntityAdministrator
|
||||||
|
+ verifyAdministratorCredentials(username: string, password: string): int
|
||||||
|
+ verifyAdministratorByName(nickname: string): int
|
||||||
|
+ setAdministratorPassword(username: string, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerQuestions {
|
||||||
|
+ addQuestion(question: EntityQuestion): void
|
||||||
|
+ removeQuestion(question: EntityQuestion): void
|
||||||
|
+ getQuestions(): List<EntityQuestion>
|
||||||
|
+ getQuestionsByChapterAndDifficulty(chapter: int, difficulty: int): List<EntityQuestion>
|
||||||
|
+ removeQuestionById(id: int): void
|
||||||
|
+ getQuestionById(id: int): EntityQuestion
|
||||||
|
+ updateQuestion(id: int, questionDataArray: EntityQuestion): void
|
||||||
|
+ updateNbFails(question: EntityQuestion): void
|
||||||
|
+ updateDifficulty(question: EntityQuestion): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerAnswers {
|
||||||
|
+ addAnswer(answer: Answer): int
|
||||||
|
+ removeAnswer(answer: Answer): void
|
||||||
|
+ getAnswers(): List<Answer>
|
||||||
|
+ getAnswersByIdQuestions(idQuestion: int): List<Answer>
|
||||||
|
+ updateAnswer(answersId: int, answer: Answer): void
|
||||||
|
+ removeAnswerById(id: int): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerLobbies {
|
||||||
|
+ addLobby(lobby: EntityLobby): void
|
||||||
|
+ removeLobby(lobby: EntityLobby): void
|
||||||
|
+ getLobbies(): List<EntityLobby>
|
||||||
|
+ getLobbyById(lobbyId: int): EntityLobby
|
||||||
|
+ verifyLobbyPassword(lobbyId: int, password: string): boolean
|
||||||
|
+ setLobbyPassword(lobbyId: int, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerPlayers {
|
||||||
|
+ addPlayer(player: EntityPlayer): void
|
||||||
|
+ removePlayer(player: EntityPlayer): void
|
||||||
|
+ getPlayers(): List<EntityPlayer>
|
||||||
|
+ getPlayerById(playerId: int): EntityPlayer
|
||||||
|
+ getPlayerByNickname(nickname: string): EntityPlayer
|
||||||
|
+ getPlayersInLobby(lobbyId: int): List<EntityPlayer>
|
||||||
|
+ getPlayersMaxScore(playerId: int): int
|
||||||
|
+ verifyPlayerCredentials(nickname: string, password: string): int
|
||||||
|
+ verifyPlayerByName(nickname: string): int
|
||||||
|
+ setPlayerPassword(playerId: int, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ControllerChapters {
|
||||||
|
+ addChapter(chapter: EntityChapter): void
|
||||||
|
+ removeChapter(chapter: EntityChapter): void
|
||||||
|
+ getChapters(): List<EntityChapter>
|
||||||
|
+ getChapterById(chapterId: int): EntityChapter
|
||||||
|
}
|
||||||
|
|
||||||
|
class AdministratorsManager {
|
||||||
|
+ addAdministrator(administrator: Administrator): void
|
||||||
|
+ removeAdministrator(administrator: Administrator): void
|
||||||
|
+ getAdministrators(): List<Administrator>
|
||||||
|
}
|
||||||
|
|
||||||
|
class QuestionsManager {
|
||||||
|
+ addQuestion(question: Question): void
|
||||||
|
+ removeQuestion(question: Question): void
|
||||||
|
+ getQuestions(): List<Question>
|
||||||
|
}
|
||||||
|
|
||||||
|
class AnswersManager {
|
||||||
|
+ addAnswer(answer: Answer): void
|
||||||
|
+ removeAnswer(answer: Answer): void
|
||||||
|
+ getAnswers(): List<Answer>
|
||||||
|
}
|
||||||
|
|
||||||
|
class LobbiesManager {
|
||||||
|
+ addLobby(lobby: Lobby): void
|
||||||
|
+ removeLobby(lobby: Lobby): void
|
||||||
|
+ getLobbies(): List<Lobby>
|
||||||
|
}
|
||||||
|
|
||||||
|
class PlayersManager {
|
||||||
|
+ addPlayer(player: Player): void
|
||||||
|
+ removePlayer(player: Player): void
|
||||||
|
+ getPlayers(): List<Player>
|
||||||
|
}
|
||||||
|
|
||||||
|
class ChaptersManager {
|
||||||
|
+ addChapter(chapter: Chapter): void
|
||||||
|
+ removeChapter(chapter: Chapter): void
|
||||||
|
+ getChapters(): List<Chapter>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Lobbies <<Serializable>> {
|
||||||
|
+ addLobby(lobby : Lobby )
|
||||||
|
+ removeLobby(lobby : Lobby )
|
||||||
|
+ getLobbies(): List<Lobby>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Lobby {
|
||||||
|
- id: int
|
||||||
|
- name: string
|
||||||
|
- password: string
|
||||||
|
- nbPlayers: int
|
||||||
|
|
||||||
|
+ getId(): int
|
||||||
|
+ getName(): string
|
||||||
|
+ getNbPlayers(): int
|
||||||
|
+ setNbPlayers(nbPlayers: int): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Lobbies *-- Lobby : lobbies
|
||||||
|
|
||||||
|
class Answers <<Serializable>> {
|
||||||
|
+ addAnswer(answer: Answer)
|
||||||
|
+ removeAnswer(answer: Answer)
|
||||||
|
+ getAnswers(): List<Answer>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Answer {
|
||||||
|
- id: int
|
||||||
|
- content: string
|
||||||
|
- idQuestion: int
|
||||||
|
|
||||||
|
+ Answer(id: int, content: string, idQuestion: int)
|
||||||
|
+ getId(): int
|
||||||
|
+ getContent()
|
||||||
|
+ getIdQuestion()
|
||||||
|
+ setContent(content: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Answers *-- Answer : answers
|
||||||
|
|
||||||
|
class Administrators <<Serializable>> {
|
||||||
|
+ addAdministrator(administrator: Administrator)
|
||||||
|
+ removeAdministrator(administrator: Administrator)
|
||||||
|
+ getAdministrators(): List<Administrator>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Administrator {
|
||||||
|
- id: int
|
||||||
|
- username: string
|
||||||
|
- hashedPassword: string
|
||||||
|
|
||||||
|
+ Administrator(id: int, username: string, password: string)
|
||||||
|
+ getId(): int
|
||||||
|
+ getUsername()
|
||||||
|
+ getHashedPassword()
|
||||||
|
+ setHashedPassword(hashedPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Administrators *-- Administrator : administrators
|
||||||
|
|
||||||
|
class Questions <<Serializable>> {
|
||||||
|
+ addQuestion(question: Question)
|
||||||
|
+ removeQuestion(question: Question)
|
||||||
|
+ getQuestions(): List<Question>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Question {
|
||||||
|
- id: int
|
||||||
|
- content: string
|
||||||
|
- idChapter: int
|
||||||
|
- idAnswerGood: int
|
||||||
|
- difficulty: int
|
||||||
|
- nbFails: int
|
||||||
|
|
||||||
|
+ Question(id: int, content: string, idChapter: int, idAnswerGood: int = -1, difficulty: int = 1, nbFails: int = 0)
|
||||||
|
+ getId(): int
|
||||||
|
+ getContent(): string
|
||||||
|
+ getIdChapter(): int
|
||||||
|
+ getIdAnswerGood(): int
|
||||||
|
+ getDifficulty(): int
|
||||||
|
+ getNbFails(): int
|
||||||
|
+ setContent(content: string): void
|
||||||
|
+ setIdAnswerGood(idAnswerGood: int): void
|
||||||
|
+ setDifficulty(difficulty: int): void
|
||||||
|
+ setNbFails(nbFails: int): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Questions *-- Question : questions
|
||||||
|
|
||||||
|
class Chapters <<Serializable>> {
|
||||||
|
+ addChapter(chapter: Chapter)
|
||||||
|
+ removeChapter(chapter: Chapter)
|
||||||
|
+ getChapters(): List<Chapter>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Chapter {
|
||||||
|
- id: int
|
||||||
|
- name: string
|
||||||
|
|
||||||
|
+ Chapter(id: int, name: string)
|
||||||
|
+ getId()
|
||||||
|
+ getName()
|
||||||
|
+ setName(name: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Chapters *-- Chapter : chapters
|
||||||
|
|
||||||
|
class Players <<Serializable>> {
|
||||||
|
+ addPlayer(player: Player)
|
||||||
|
+ removePlayer(player: Player)
|
||||||
|
+ getPlayers(): List<Player>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Player {
|
||||||
|
- id: int
|
||||||
|
- nickname: string
|
||||||
|
- hashedPassword: string
|
||||||
|
|
||||||
|
+ Player(id: int, nickname: string, password: string)
|
||||||
|
+ getId(): int
|
||||||
|
+ getNickname(): string
|
||||||
|
+ getHashedPassword(): string
|
||||||
|
+ setHashedPassword(hashedPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Players *-- Player : players
|
||||||
|
|
||||||
|
entity EntityAnswer {
|
||||||
|
- id: int
|
||||||
|
- content: string
|
||||||
|
- idQuestion: int
|
||||||
|
}
|
||||||
|
|
||||||
|
entity EntityLobby {
|
||||||
|
- id: int
|
||||||
|
- name: string
|
||||||
|
- password: string
|
||||||
|
- nbPlayers: int
|
||||||
|
- idPlayerCreator: int
|
||||||
|
}
|
||||||
|
|
||||||
|
entity EntityAdministrator {
|
||||||
|
- id: int
|
||||||
|
- username: string
|
||||||
|
- password: string
|
||||||
|
}
|
||||||
|
|
||||||
|
entity EntityQuestion {
|
||||||
|
- id: int
|
||||||
|
- content: string
|
||||||
|
- difficulty: int
|
||||||
|
- nbfails: int
|
||||||
|
- idChapter: int
|
||||||
|
- idAnswerGood: int
|
||||||
|
}
|
||||||
|
|
||||||
|
entity EntityChapter {
|
||||||
|
- id: int
|
||||||
|
- name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
entity EntityPlayer {
|
||||||
|
- id: int
|
||||||
|
- nickname: string
|
||||||
|
- password: string
|
||||||
|
}
|
||||||
|
class GatewayPlayer {
|
||||||
|
+ addPlayer(player: EntityPlayer)
|
||||||
|
+ removePlayer(player: EntityPlayer)
|
||||||
|
+ getPlayers(): List<EntityPlayer>
|
||||||
|
+ getPlayerById(playerId: int): EntityPlayer
|
||||||
|
+ getPlayerByNickname(nickname: string): EntityPlayer
|
||||||
|
+ getPlayersInLobby(lobbyId: int): List<EntityPlayer>
|
||||||
|
+ getPlayersMaxScore(playerId: int): int
|
||||||
|
+ verifyPlayerCredentials(nickname: string, password: string): int
|
||||||
|
+ verifyPlayerByName(nickname: string): int
|
||||||
|
+ setPlayerPassword(playerId: int, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class GatewayLobby {
|
||||||
|
+ addLobby(lobby: EntityLobby)
|
||||||
|
+ removeLobby(lobby: EntityLobby)
|
||||||
|
+ getLobbies(): List<EntityLobby>
|
||||||
|
+ getLobbyById(lobbyId: int): EntityLobby
|
||||||
|
+ verifyLobbyPassword(lobbyId: int, password: string): boolean
|
||||||
|
+ setLobbyPassword(lobbyId: int, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class GatewayChapter {
|
||||||
|
+ addChapter(chapter: EntityChapter)
|
||||||
|
+ removeChapter(chapter: EntityChapter)
|
||||||
|
+ getChapters(): List<EntityChapter>
|
||||||
|
+ getChapterById(chapterId: int): EntityChapter
|
||||||
|
}
|
||||||
|
|
||||||
|
class GatewayAnswer {
|
||||||
|
+ addAnswer(answer: Answer): int
|
||||||
|
+ getAnswerByID(id: int): Answer
|
||||||
|
+ getAnswersByIDQuestions(idQuestion: int): List<Answer>
|
||||||
|
+ updateAnswer(answersId: int, answer: Answer): void
|
||||||
|
+ removeAnswerByID(id: int): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class GatewayQuestion {
|
||||||
|
+ getQuestions(): List<Question>
|
||||||
|
+ getQuestionsByChapterAndDifficulty(chapter: int, difficulty: int): List<Question>
|
||||||
|
+ removeQuestionByID(id: int): void
|
||||||
|
+ addQuestion(questionsDataArray: List<Question>): int
|
||||||
|
+ getQuestionByID(id: int): Question
|
||||||
|
+ updateQuestion(id: int, questionDataArray: Question): void
|
||||||
|
+ updateNbFails(question: Question): void
|
||||||
|
+ updateDifficulty(question: Question): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class GatewayAdministrator {
|
||||||
|
+ addAdministrator(administrator: EntityAdministrator)
|
||||||
|
+ removeAdministrator(administrator: EntityAdministrator)
|
||||||
|
+ getAdministrators(): List<EntityAdministrator>
|
||||||
|
+ getAdministratorByUsername(username: string): EntityAdministrator
|
||||||
|
+ verifyAdministratorCredentials(username: string, password: string): int
|
||||||
|
+ verifyAdministratorByName(nickname: string): int
|
||||||
|
+ setAdministratorPassword(username: string, newPassword: string): void
|
||||||
|
}
|
||||||
|
|
||||||
|
Application --> ControllerAdministrators : ctrlAdministrators
|
||||||
|
Application --> ControllerQuestions : ctrlQuestions
|
||||||
|
Application --> ControllerAnswers : ctrlAnswers
|
||||||
|
Application --> ControllerLobbies : ctrlLobbies
|
||||||
|
Application --> ControllerPlayers : ctrlPlayers
|
||||||
|
Application --> ControllerChapters : ctrlChapters
|
||||||
|
|
||||||
|
ControllerAdministrators --> AdministratorsManager : administratorsManager
|
||||||
|
ControllerQuestions --> QuestionsManager : questionsManager
|
||||||
|
ControllerAnswers --> AnswersManager : answersManager
|
||||||
|
ControllerLobbies --> LobbiesManager : lobbiesManager
|
||||||
|
ControllerPlayers --> PlayersManager : playersManager
|
||||||
|
ControllerChapters --> ChaptersManager : chaptersManager
|
||||||
|
|
||||||
|
AdministratorsManager --> Administrators : administrators
|
||||||
|
QuestionsManager --> Questions : questions
|
||||||
|
AnswersManager --> Answers : answers
|
||||||
|
LobbiesManager --> Lobbies : lobbies
|
||||||
|
PlayersManager --> Players : players
|
||||||
|
ChaptersManager --> Chapters : chapters
|
||||||
|
|
||||||
|
AdministratorsManager -[dotted]-> Administrator
|
||||||
|
QuestionsManager -[dotted]-> Question
|
||||||
|
AnswersManager -[dotted]-> Answer
|
||||||
|
LobbiesManager -[dotted]-> Lobby
|
||||||
|
PlayersManager -[dotted]-> Player
|
||||||
|
ChaptersManager -[dotted]-> Chapter
|
||||||
|
|
||||||
|
AdministratorsManager --> EntityAdministrator : entAdministrator
|
||||||
|
QuestionsManager --> EntityQuestion : entQuestion
|
||||||
|
AnswersManager --> EntityAnswer : entAnswer
|
||||||
|
LobbiesManager --> EntityLobby : entLobby
|
||||||
|
PlayersManager --> EntityPlayer : entPlayer
|
||||||
|
ChaptersManager --> EntityChapter : entChapter
|
||||||
|
|
||||||
|
EntityAdministrator <-[dotted]- GatewayAdministrator
|
||||||
|
EntityQuestion <-[dotted]- GatewayQuestion
|
||||||
|
EntityAnswer <-[dotted]- GatewayAnswer
|
||||||
|
EntityLobby <-[dotted]- GatewayLobby
|
||||||
|
EntityPlayer <-[dotted]- GatewayPlayer
|
||||||
|
EntityChapter <-[dotted]- GatewayChapter
|
||||||
|
@enduml
|
Loading…
Reference in new issue