[retour au README.md](../../../README.md) [Retour aux Documents](../../README_DOCUMENTS.md) [Retour au diagramme de classes](../README_DIAGRAMMES.md) ## Diagramme de classe ```plantuml @startuml class User { - id: int - username: String - nom: string - prenom: string - email: string - motDePasse: string - sexe: string - taille: float - poids: float - dateNaissance: \DateTime + getId(): int + getUsername(): string + setUsername(string $username): void + setId(int $id): void + getNom(): string + setNom(string $nom): void + getPrenom(): string + setPrenom(string $prenom): void + getEmail(): string + setEmail(string $email): void + getMotDePasse(): string + setMotDePasse(string $motDePasse): void + getSexe(): string + setSexe(string $sexe): void + getTaille(): float + setTaille(float $taille): void + getPoids(): float + setPoids(float $poids): void + getDateNaissance(): \DateTime + setDateNaissance(\DateTime $dateNaissance): void + getRole(): Role + setRole(Role $role): void + addNotification($notification): void + deleteNotification($index): void + isValidPassword(string $password): bool + __toString(): string } abstract class Role { - id: int - usersRequests: array + getUsersList(): array + getUsersRequests(): array + addUsersRequests(RelationshipRequest $request): void + removeRequest(RelationshipRequest $req): bool + CheckAdd(User $user): bool + addUser(User $user): bool + removeUser(User $user): bool + addTraining(Training $training): bool + getTrainingsList(): array } abstract class Coach extends Role { } class CoachAthlete extends Coach { + CheckAdd(User $user): bool } class Athlete extends Role { + getActivities(): array + addActivity(Activity $myActivity): bool + CheckAdd(User $user): bool } class Activite { - idActivity: int - type: String - date: \DateTime - heureDebut: \DateTime - heureFin: \DateTime - effortRessenti: int - variability: float - variance: float - standardDeviation: float - average: int - maximum: int - minimum: int - avrTemperature: float - hasAutoPause: bool + getIdActivity(): int + getType(): String + getDate(): \DateTime + getHeureDebut(): \DateTime + getHeureFin(): \DateTime + getEffortRessenti(): int + getVariability(): float + getVariance(): float + getStandardDeviation(): float + getAverage(): float + getMaximum(): int + getMinimum(): int + getAvrTemperature(): float + setType(String $type): void + setEffortRessenti(int $effortRessenti): void + __toString(): String } class Notification { - type: string - message: string - toUserId: int + getType(): string + setType(string $type): void + getMessage(): string + setMessage(string $message): void + getToUserId(): int + setToUserId(int $toUserId): void + __construct(int $toUserId,string $type, string $message) + __toString(): string } class Entrainement { - idTraining: int - date: \DateTime - latitude: float - longitude: float - description: String - feedback: String + getId(): int + getDate(): \DateTime + getLocation(): String + getDescription(): String + getFeedback(): String + __toString(): String } class Statistique { - idStat: int - distanceTotale: float - poids: float - tempsTotal: time - FCmoyenne: int - FCmin: int - FCmax: int - cloriesBrulees: int + getIdStat(): int + getDistanceTotale(): float + getPoids(): float + getTempsTotal(): time + getFCmoyenne(): int + getFCmin(): int + getFCmax(): int + getCloriesBrulees(): int + __toString(): String } class SourceDonnees { - idSource: int - nom: String - type: String - precision: enum - dateDerniereUtilisation: \DateTime + getIdSource(): int + getNom(): String + getType(): String + getPrecision(): enum + getDateDerniereUtilisation(): \DateTime + __toString(): String } User -> Role : role Role -> User : usersList Athlete -> Statistique : statsList Athlete -> Activite : activityList Athlete -> SourceDonnees : sdList User -> Notification : notificationList User -> Entrainement : trainingsList Activite -> SourceDonnees : maSource @enduml ```