You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
retour au README.md
Retour au diagramme de classes
Diagramme de classes pour l'importation de fichiers .fit
Bienvenue dans le monde de la gestion d'activités sportives avec notre application innovante ! Cette user story se concentre sur une fonctionnalité essentielle qui améliorera l'expérience des utilisateurs : l'importation de fichiers .fit. Nous avons conçu un diagramme de classes pour vous offrir une vision claire et structurée de la manière dont cette fonctionnalité est implémentée au sein de notre application.
Acteurs Principaux :
- Utilisateur (User) : Représente un individu inscrit sur notre plateforme, avec la capacité d'importer des fichiers .fit.
- Athlète (Athlete) : Un type spécialisé d'utilisateur, bénéficiant de fonctionnalités supplémentaires liées à la gestion d'activités sportives.
Entités Clés :
- Activité (Activity) : Représente une session d'activité physique, avec des détails tels que le type, la date, la durée, et plus encore.
- Gestionnaires (Managers) : Gérant différentes facettes de l'application, notamment les utilisateurs, les activités et les fichiers.
Fonctionnalité Clé :
- Importation de fichiers .fit : Permet aux utilisateurs de charger des données provenant de fichiers .fit, générés par des dispositifs de suivi d'activité. Ces fichiers contiennent des informations précieuses telles que la fréquence cardiaque, la distance parcourue et d'autres métriques essentielles.
Architecture :
- AuthService (Service d'Authentification) : Gère l'authentification des utilisateurs, garantissant un accès sécurisé à la fonction d'importation.
- UserManager (Gestionnaire d'Utilisateurs) : Gère les opérations liées aux utilisateurs, y compris l'importation de fichiers .fit. ActivityManager (Gestionnaire d'Activités) : Responsable du stockage et de la gestion des activités importées.
Objectif :
Offrir aux utilisateurs, en particulier aux athlètes, la possibilité d'enrichir leur profil et de suivre leur performance en important des données détaillées à partir de fichiers .fit.
@startuml issue028_DiagrammeDeClasses
class Activite {
-idActivite:int
-type:String
-date:Date
-heureDebut:Date
-heureFin:Date
-effortRessenti:int
-variability:float
-variance:float
-standardDeviation:float
-average:float
-maximum:int
-minimum:int
-avrTemperature:float
-hasAutoPause:boolean
+getIdActivite():int
+getType():String
+getDate():Date
+getHeureDebut():Date
+getHeureFin():Date
+getEffortRessenti():int
+getVariability():float
+getVariance():float
+getStandardDeviation():float
+getAverage():float
+getMaximum():int
+getMinimum():int
+getAvrTemperature():float
+setType(type:String):void
+setEffortRessenti(effortRessenti:int):void
+__toString():String
}
class Role {
-id:int
}
class Athlete {
+getActivities():array
+addActivity(myActivity:Activity):boolean
}
class User {
-id:int
-username:String
-nom:String
-prenom:String
-email:String
-motDePasse:String
-sexe:String
-taille:float
-poids:float
-dateNaissance:Date
+getId():int
+setId(id:int):void
+getUsername():String
+setUsername(username:String):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():Date
+setDateNaissance(dateNaissance:Date):void
+getRole():Role
+setRole(role:Role):void
+isValidPassword(password:String):boolean
+__toString():String
}
class AthleteManager {
+getActivities():array
}
class ActivityManager {
+saveFitFileToJSON(monFichierFit:object):boolean
+uploadFile(type:string, effortRessenti:int, file_path_or_data:string|resource, options:array):boolean
}
class DataManager {
}
class UserManager {
+login(loginUser:string, passwordUser:string):boolean
+register(loginUser:string, passwordUser:string, data:array):boolean
+deconnecter():boolean
}
User -> Role: role
Athlete -|> Role
DataManager -> UserManager: -userMgr
DataManager -> AthleteManager: -athleteMgr
DataManager -> ActivityManager: -activityMgr
UserManager -> AuthService: -authService
UserManager -> User: -currentUser
ActivityManager -> AuthService: -authService
Athlete -> Activite: listActivite
AthleteManager -> AuthService: -authService
@enduml