[retour au README.md](../../../README.md) [Retour aux Documents](../../README_DOCUMENTS.md) ## Diagramme de classe ```plantuml class Athlete { - array statsList - array activityList - array dataSourcesList - TrainingRepository trainingRepository - array usersList + __construct(trainingRepository: ?TrainingRepository) + getAthlete(): Athlete + getStatistic(): ?array + getActivite(): ?array + getDataSource(): ?array + getUsersList(): array + getUserList(user: User): User + getTraining(): ?TrainingRepository + getTrainingList(training: Training): ?Training + setTrainingsList(newTrainingsList: array): void + CheckAdd(user: User): bool + CheckAddTraining(training: Training): bool + addUser(user: User): bool + removeUser(user: User): bool + delUser(user: User): bool + addTraining(training: Training): bool + removeTraining(training: Training): bool + getTrainingsList(): ?array } Athlete --|> Role Athlete *-- TrainingRepository Athlete *-- User Athlete *-- Training abstract class Coach { + abstract __construct(trainingRepository: ?TrainingRepository) + abstract getUsersList(): ?array + abstract getUserList(user: User): User + abstract getTraining(): ?TrainingRepository + abstract getTrainingsList(): ?array + abstract getTrainingList(training: Training): ?Training + abstract CheckAdd(user: User): bool + abstract CheckAddTraining(training: Training): bool + abstract addUser(user: User): bool + abstract removeUser(user: User): bool + abstract addTraining(training: Training): bool + abstract removeTraining(training: Training): bool } Coach --|> Role Coach *-- User Coach *-- TrainingRepository Coach *-- Training class CoachAthlete { - TrainingRepository trainingRepository - array usersList + __construct(trainingRepository: ?TrainingRepository) + getUsersList(): ?array + getUserList(user: User): User + getTraining(): TrainingRepository + getTrainingsList(): ?array + getTrainingList(training: Training): ?Training + CheckAdd(user: User): bool + CheckAddTraining(training: Training): bool + addUser(user: User): bool + removeUser(user: User): bool + addTraining(training: Training): bool + removeTraining(training: Training): bool } CoachAthlete --|> Coach CoachAthlete *-- User CoachAthlete *-- TrainingRepository CoachAthlete *-- Training abstract class Role { - int id - array usersList - TrainingRepository trainingRepository + abstract __construct(trainingRepository: ?TrainingRepository) + abstract getUsersList(): ?array + abstract getUserList(user: User): User + abstract getTraining(): ?TrainingRepository + abstract getTrainingsList(): ?array + abstract getTrainingList(training: Training): ?Training + abstract CheckAdd(user: User): bool + abstract CheckAddTraining(training: Training): bool + abstract addUser(user: User): bool + abstract removeUser(user: User): bool + abstract addTraining(training: Training): bool + abstract removeTraining(training: Training): bool } Role *-- User Role *-- Training Role *-- TrainingRepository class Training { - int idTraining - DateTime date - float latitude - float longitude - String description - String feedback + __construct(idTraining: int, date: DateTime, latitude: float, longitude: float, description: ?String = null, feedback: ?String = null) + getId(): int + getDate(): DateTime + getLocation(): String + getDescription(): String + getFeedback(): String + __toString(): String } class User { - int id - String username - string nom - string prenom - string email - string motDePasse - string sexe - float taille - float poids - DateTime dateNaissance - Role role + __construct(id: int, username: String, nom: string, prenom: string, email: string, motDePasse: string, sexe: string, taille: float, poids: float, dateNaissance: DateTime, role: Role) + getId(): int + setId(id: int): void + getUsername(): String + setUsername(username: int): void + getNom(): string + setNom(nom: string): void + getPrenom(): string + setPrenom(prenom: string): void + getEmail(): string + setEmail(email: string): void + getMotDePasse(): string + setMotDePasse(motDePasse: string): void + getSexe(): string + setSexe(sexe: string): void + getTaille(): float + setTaille(taille: float): void + getPoids(): float + setPoids(poids: float): void + getDateNaissance(): DateTime + setDateNaissance(dateNaissance: DateTime): void + getRole(): Role + setRole(role: Role): void + isValidPassword(password: string): bool + __toString(): String } User *-- Role ````