Vous êtes sur la page 1sur 16

Cahier de charge

Application Gestion Spa

Réalisés par :
Hanane Addou
Aya Saidi
Introduction général :
Un projet de gestion de spa vise à harmoniser les multiples facettes de
l'exploitation d'un spa, allant de la planification des rendez-vous et de la
gestion des employés à la création d'une expérience client exceptionnelle. Il
s'agit d'une initiative stratégique qui intègre des solutions technologiques
avancées, des pratiques de gestion efficaces et une compréhension
approfondie des tendances du marché du bien-être.

Diagramme de Gantt :

Etude de l’existant :
Les besoins fonctionnels de gestion de spa :
Planification des Rendez-vous :
Vue calendrier pour planifier les rendez-vous en fonction de la disponibilité des
salons.
Possibilité d'associer un rendez-vous à un salon spécifique.
Consultation des Rendez-vous :
Consultation rapide des rendez-vous prévus pour un client donné.
Affichage des détails du rendez-vous, y compris la prestation associée.
Gestion des Demandes de Rendez-vous :
Possibilité de gérer les demandes de rendez-vous, y compris la date de demande.
Historique des Rendez-vous par Client :
Affichage de l'historique des rendez-vous pour un client spécifique.
Consultation des Prestations :
Consultation des détails des prestations disponibles, y compris le libellé.
Consultation des Informations du Salon :
Consultation rapide des informations sur un salon spécifique.
Association Rendez-vous-Prestation :
Possibilité d'associer une prestation à un rendez-vous.
Suivi des Rendez-vous par Salon :
Vue pour suivre les rendez-vous programmés pour un salon particulier.

les besoins non fonctionnels de gestion de spa :


Performance :
Le système doit être capable de gérer et de traiter efficacement les données relatives
aux clients, rendez-vous, prestations et salons, même avec un grand nombre
d'enregistrements.
Les temps de réponse pour les requêtes et les mises à jour doivent être rapides pour
éviter tout délai dans les opérations quotidiennes.
Disponibilité et Fiabilité :
Le système doit être disponible et fonctionnel pendant les heures d'ouverture du spa,
avec une très haute fiabilité pour éviter les perturbations des activités.
Sécurité :
Protection des données clients (y compris les données sensibles comme la date de
naissance) contre les accès non autorisés, les fuites de données ou les
cyberattaques.
Conformité avec les réglementations en vigueur sur la protection des données
personnelles (comme le RGPD en Europe).
Scalabilité :
Capacité du système à s'adapter et à gérer une augmentation du volume de données
sans perte de performance.Flexibilité pour ajouter de nouvelles fonctionnalités ou
intégrations si nécessaire.
Maintenabilité :
Facilité de maintenance et de mise à jour du système sans perturber les opérations
quotidiennes.Documentation claire et support technique pour faciliter la résolution
des problèmes.
Interopérabilité :
Capacité à intégrer ou à communiquer efficacement avec d'autres systèmes ou
logiciels (par exemple, systèmes de paiement, outils de marketing, etc.).
Convivialité :
Interface utilisateur intuitive et facile à utiliser, réduisant le besoin de formation
approfondie pour le personnel.
Accessibilité sur différentes plateformes (ordinateur, tablette, smartphone).
Conformité réglementaire :
Le système doit être conforme aux réglementations locales et internationales
pertinentes, notamment en matière de santé, de sécurité et de commerce.
Support et Formation :
Assistance continue et support technique pour le personnel.Ressources de formation
pour aider à l'utilisation efficace du système.
Sauvegarde et Récupération :
Mécanismes de sauvegarde régulière des données pour prévenir la perte de
données.Fonctionnalités de récupération rapide en cas de panne ou de problème
technique.

Cycle de vie :

Méthodologie de conception(MVC) :
Contrôleur
Le Contrôleur dans une application Spring Boot agit comme l'intermédiaire entre la Vue et
les couches de données, gérant le flux de données entrantes et sortantes. Il reçoit les
requêtes de l'utilisateur, appelle les services ou les méthodes nécessaires pour traiter ces
requêtes, et détermine la vue appropriée pour la réponse. En utilisant des annotations
comme @Controller ou @RestController, il est capable de gérer des requêtes HTTP spécifiques.
Vue
La Vue est responsable de présenter les données à l'utilisateur. Dans Spring Boot, cela se fait
généralement à travers des templates HTML, souvent avec l'aide de Thymeleaf, un moteur
de template Java pour le traitement et la création de vues HTML côté serveur. La vue prend
les données fournies par le contrôleur et les affiche dans un format approprié pour
l'utilisateur.
Repository
Le Repository est l'interface entre la couche de données et la logique métier de l'application.
Dans Spring Boot, il est couramment implémenté en utilisant Spring Data JPA. Les
repositories étendent généralement JpaRepository ou d'autres interfaces Spring Data,
fournissant ainsi une couche d'abstraction pour l'accès aux données. Cela permet de réaliser
des opérations de base de données comme les requêtes, insertions, mises à jour, et
suppressions, sans avoir à écrire de code SQL explicite.

Analyse et conception :
Diagramme de class :

Diagramme cas d’utilisation :


Charte graphique :

Réalisation :
Utilisation de Spring avec Maven, Thymeleaf et JPA : Justification des Choix Technologique
Outils Nom Présentation
 Phase : Backend
MySQL  Rôle : Utilisé pour stocker et récupérer
les données de manière persistante. Les
requêtes MySQL seront utilisées pour
interagir avec la base de données
depuis le backend.
Choix de Spring Framework :
Polyvalence et Modularité : Spring est un Framework
extrêmement polyvalent, offrant une multitude de
Spring modules pour différents besoins, comme Spring Boot
pour un démarrage rapide et une configuration facile,
Spring Security pour la gestion de la sécurité, et Spring
Data pour l'accès aux données. Cette modularité a rendu
Spring idéal pour construire une application de gestion de
spa robuste et évolutif.
Inversion de Contrôle (IoC) et Injection de Dépendance :
L'utilisation du principe d'Inversion de Contrôle (IoC) de
Spring permet une meilleure gestion des dépendances et
une architecture plus souple et testable. Cela facilite la
maintenance et l'évolution du système.
Intégration et Flexibilité : Spring s'intègre facilement avec
diverses autres technologies et frameworks, ce qui a
permis d'adapter l'application aux exigences spécifiques
du projet de gestion de spa.

Utilisation de Maven :
Gestion des Dépendances et Automatisation de la
Construction : Maven facilite la gestion des dépendances
et automatise le processus de construction du logiciel. Il
Maven
assure la cohérence du processus de build et réduit les
erreurs potentielles liées à la gestion manuelle des
bibliothèques et des modules. Standardisation et
Productivité : En utilisant Maven, le projet suit une
structure standardisée, rendant le code plus organisé et
facile à comprendre. Cela a également amélioré la
productivité de l'équipe de développement grâce à ses
conventions et configurations par déf

. Adoption de JPA
Abstraction et Facilité d'Accès aux Données : JPA offre
JPA une couche d'abstraction pour l'accès aux données,
simplifiant la complexité de la persistance des données.
Cela a permis de se concentrer davantage sur la logique
métier du système de gestion de spa, plutôt que sur les
détails de la gestion de la base de données. Portabilité et
Flexibilité : Grâce à JPA,l'application n'est pas liée à un
fournisseur de base de données spécifique, offrant une
grande flexibilité et facilitant un éventuel changement de
Wireframes :
Internationalisation :
SPRINTS TACHES RESPON STAT END TESTS
SABLS DATE DATE
1 Configurer le projet Spring Dev Team /01/2024 /01/2024 Test de compilation
boot
2 Créer la base de données DBA/Dev /01/2024 /01/2024 Test de connexion DB
Team
3 Mise en place Dev Team /01/2024 /01/2024 Tests
l’authentification JWT d’authentification
4 Développer l’interface de Frontend /01/2024 /01/2024 Test d’affichage
liste des clients Dev
5
Implémenter l’ajout de Backend Dev /01/2024 / Teste de création
clients 01/2024/ client
01/2024
6
Mettre en place la Backend Dev /01/2024 /01/2024 Teste de
modification et modification/
suppression de clients Suppression
7
Développer Backend Dev /01/2024 /01/2024 Tests CRUD
l’ajout/modification des Prestations

8 prestations
Interface et logique pour Full stack /01/2024 /01/2024 Tests d’intégration
la gestion des salons Dev salons
9 Interface pour la prise de Frontend /01/2024 /01/2024 Test d'interface
rendez-vous Dev rendez-vous
10 Logique backend pour les Backend Dev /01/2024 /01/2024 Tests de
rendez-vous création/modificati
on RDV
11 Développer la gestion des Full stack /01/2024 /01/2024 Tests CRUD
propositions Dev Propositions
12
Résoudre les bugs Dev Team /01/2024 /01/2024 Tests de régression

Vous aimerez peut-être aussi