Skip to content

Latest commit

 

History

History
169 lines (126 loc) · 14.1 KB

Doc_Conception.adoc

File metadata and controls

169 lines (126 loc) · 14.1 KB

Document de Conception - Ludorama

1. Contexte et Objectifs

1.1 Contexte

Le projet consiste en la création d’un site de vente en ligne de jouets, orienté vers une expérience utilisateur qui distingue les besoins spécifiques des clients adultes et des clients enfants. Le site doit proposer des fonctionnalités adaptées à chaque type de client, telles que la visualisation de produits par tranche d’âge, une liste de souhaits pour les adultes, un système de fidélisation, des descriptions complètes pour chaque produit, et un filtrage précis pour une expérience d’achat optimisée.

Ludorama, en tant que leader dans la vente de jouets, souhaite moderniser son site web pour offrir une navigation intuitive, des fonctionnalités de personnalisation, et une sécurité renforcée. Le but est de rendre l’achat de jouets en ligne aussi simple et agréable que possible, tout en garantissant la satisfaction des utilisateurs.

Ce document de conception vise à fournir une compréhension claire et détaillée de la solution proposée, en expliquant les aspects fonctionnels et techniques nécessaires à la réalisation du projet. Il sert de guide pour les développeurs, les designers, et les parties prenantes pour assurer la cohérence et la qualité de la solution finale.

1.2 Objectifs

  • Offrir aux utilisateurs une expérience personnalisée et sécurisée.

  • Répondre aux besoins des clients adultes en leur permettant de noter et de consulter les souhaits de leurs enfants.

  • Faciliter la navigation pour les clients enfants en leur permettant de trouver des jouets adaptés à leur âge.

  • Mettre en place un système de fidélisation pour récompenser les clients réguliers.

  • Assurer une gestion efficace et intuitive des avis et des évaluations des produits.

  • Intégrer des fonctionnalités de filtrage avancées pour simplifier la recherche de produits.

  • Fournir des informations complètes et détaillées sur chaque produit pour aider les clients à faire des choix informés.

2. Description Fonctionnelle

2.1 User Stories et Cas d’utilisation

ID

User Story

Cas d’utilisation

US1

En tant que client, je souhaite avoir accès à des jeux/objets adaptés à mon âge, et non à des produits inadaptés afin de pouvoir faire ma commande rapidement et efficacement (ex : armes d’airsoft pour un enfant, ou dinette pour un adulte).

CU1 : Filtrage des produits par âge

US2

En tant que client enfant, je souhaite pouvoir visualiser facilement le catalogue afin de trouver les jouets à commander au Père Noël.

CU2 : Navigation simplifiée pour enfants

US3

En tant que client (adulte), je souhaite avoir une liste de souhaits pour noter ce que mon enfant désire.

CU3 : Gestion de la liste de souhaits

US4

En tant que client (adulte), je souhaite avoir un système de fidélisation afin d’avoir accès facilement aux produits que mon enfant désire.

CU4 : Système de fidélisation

US5

En tant que client (adulte), je souhaite avoir une description complète (avec fiche technique) pour être sûr de ce que j’achète.

CU5 : Fiche technique détaillée

US6

En tant que client, je souhaite pouvoir filtrer les produits par intervalles de prix, marques, catégories, groupes, et avis/notes afin de trouver rapidement des produits correspondant à mes critères.

CU6 : Filtrage avancé des produits

US7

En tant que client, je souhaite voir les produits en rupture de stock mais être empêché de les commander.

CU7 : Affichage des produits en rupture de stock

US8

En tant que client (adulte), je souhaite pouvoir laisser un avis ou une note sur un produit acheté dans une commande livrée afin de partager mon expérience.

CU8 : Gestion des avis et notes

US9

En tant que client, je souhaite visualiser les produits regroupés par catégorie spéciale (soldes, nouveautés, meilleures ventes, made in France) pour repérer plus facilement les produits intéressants.

CU9 : Visualisation des produits par catégorie spéciale

US10

En tant que client, je souhaite pouvoir visualiser les variantes de produits (coloris et/ou tailles) pour choisir le modèle qui convient le mieux à mes besoins.

CU10 : Visualisation des variantes de produits

US11

En tant que gestionnaire de stock, je souhaite visualiser les quantités en stock (actuel, minimum, maximum) pour optimiser les niveaux de réapprovisionnement.

CU11 : Suivi des niveaux de stock

US12

En tant que client, je souhaite utiliser différents types de paiement (CB, PayPal…) pour avoir plus de flexibilité au moment de payer ma commande.

CU12 : Options de paiement

US13

En tant que client, je souhaite pouvoir commander des lots de produits pour acheter des ensembles complets.

CU13 : Gestion des lots de produits

US14

En tant que client, je souhaite pouvoir voir des avis et notes clients pour m’assurer de la qualité des produits avant de les acheter.

CU14 : Consultation des avis et notes

US15

En tant que client, je souhaite pouvoir chercher des produits par mots-clés afin de trouver rapidement les produits recherchés.

CU15 : Recherche par mots-clés

US16

En tant que client, je souhaite pouvoir chercher des produits par mots-clés et filtres (prix, marques, notes) afin de trouver rapidement les produits recherchés.

CU16 : Recherche avancée par mots-clés et filtres

2.2 Use Case

UC

Acteurs

  1. Client : Représente les utilisateurs qui naviguent sur le site pour acheter des produits.

  2. Administrateur : Représente l’administrateur du site, chargé de gérer les produits et de modérer les avis.

Cas d’utilisation pour le Client

  • Se connecter / Déconnecter : Le client peut se connecter ou se déconnecter de son compte.

  • Créer compte client : Permet au client de créer un nouveau compte.

  • Rechercher produits : Le client peut rechercher des produits en utilisant des mots-clés ou des filtres.

  • Visualiser liste produits : Affiche la liste des produits disponibles en fonction de la recherche.

  • Trier liste produits : Permet de trier la liste des produits par critères comme le prix.

  • Visualiser détail produit : Le client peut consulter les détails d’un produit spécifique.

  • Gérer liste de souhaits : Le client peut ajouter des produits à sa liste de souhaits.

  • Gérer points fidélité : Fonctionnalité optionnelle qui permet au client de gérer ses points de fidélité.

  • Visualiser commandes passées : Le client peut accéder à l’historique de ses commandes.

  • Rédiger avis : Le client peut laisser un avis sur les produits achetés.

  • Ajouter au panier et Gérer panier : Permet d’ajouter des produits au panier et de gérer son contenu (modifier les quantités ou supprimer des articles).

Cas d’utilisation pour l’Administrateur

  • Ajouter / Supprimer produit : L’administrateur peut ajouter de nouveaux produits ou en supprimer.

  • Gérer les produits : L’administrateur peut modifier les détails des produits existants.

  • Répondre aux avis : L’administrateur peut répondre aux avis laissés par les clients pour modérer ou fournir des informations supplémentaires.

Relations entre les cas d’utilisation

  • Répondre aux avis dépend du cas d’utilisation Rédiger avis. Cela signifie que les réponses de l’administrateur sont liées aux avis postés par les clients.

2.3 Diagrammes séquences

1. Connexion du client :

ConnexionClient
  • Le client envoie ses informations pour se connecter via l’interface Web.

  • Le client envoie ses informations pour se connecter via l’interface Web.

  • Si les informations sont valides, le client obtient l’accès.

2. Recherche et Visualisation d’un Produit :

RechercheVisualisationProduit
  • Le client recherche des produits en fonction de critères spécifiques.

  • Le système filtre et récupère les produits correspondants de la base de données.

  • La liste des produits est affichée au client, qui peut ensuite voir les détails d’un produit spécifique.

3. Gestion du Panier :

GestionPanier
  • Le client ajoute des produits au panier ou modifie le contenu de son panier.

  • Le système met à jour le panier dans la base de données.

  • Le client voit la confirmation des modifications apportées au panier.

4. Gestion des Avis :

GestionAvis
  • Le client peut rédiger un avis sur un produit, qui est stocké dans la base de données.

  • L’administrateur peut répondre aux avis du client.

  • La réponse de l’administrateur est enregistrée et affichée.

3. Architecture et Conception Technique

3.1. Diagramme de classes Métier

Diagramme de classes métier

Le diagramme de classes métier représente les principales entités du système e-commerce Ludorama et leurs relations. Les classes principales incluent Client, Produit, Categorie, SousCategorie, Marque, Panier, Commande, Paiement, Avis, Administrateur, ListeSouhaits, et SystemeFidelisation.

Explication des Classes et Relations

  • Client : Représente un utilisateur du site. Les attributs incluent des informations personnelles comme l’identifiant, le nom, le prénom, l’email, l’adresse, le téléphone et la date de naissance.

  • Produit : Représente un produit disponible sur le site. Il a des attributs comme le nom, la description, le prix, le stock, l’âge minimum et maximum recommandé, ainsi que des relations avec Categorie, SousCategorie et Marque.

  • Categorie : Représente une catégorie de produits. Chaque catégorie peut contenir plusieurs sous-catégories.

  • SousCategorie : Représente une sous-catégorie de produits, liée à une catégorie.

  • Marque : Représente la marque d’un produit.

  • Panier : Représente un panier d’achat, contenant des produits et lié à un client.

  • Commande : Représente une commande effectuée par un client, incluant un panier et un paiement.

  • Paiement : Représente un paiement pour une commande, avec des détails sur le type de paiement et la date.

  • Avis : Représente un avis laissé par un client sur un produit, incluant une note et un commentaire.

  • Administrateur : Représente un administrateur du site, avec des attributs pour le nom, le prénom et l’email.

  • ListeSouhaits : Représente une liste de souhaits, permettant aux clients de gérer les produits qu’ils désirent.

  • SystemeFidelisation : Représente un système de points de fidélité pour les clients, permettant de gagner des points pour les achats effectués.

Relations entre les Classes

  • Un Client peut passer plusieurs Commande.

  • Chaque Commande est liée à un Panier.

  • Un Panier peut contenir plusieurs Produit.

  • Un Produit appartient à une Categorie et une SousCategorie, et est associé à une Marque.

  • Un Produit peut avoir plusieurs Avis laissés par des Client.

  • Un Client peut laisser plusieurs Avis sur des Produit.

  • Une Commande est associée à un Paiement.

  • Un Client a une ListeSouhaits et un SystemeFidelisation.

3.2. Diagramme d’état Commande

Diagramme d’état Commande

Le diagramme d’état pour la classe Commande montre les différents états par lesquels une commande peut passer, ainsi que les transitions possibles entre ces états.

Explication des États et Transitions

  • EnCoursTraitement : L’état initial d’une commande une fois qu’elle est créée. Elle est en cours de traitement.

  • Expediee : La commande est expédiée au client.

  • Livree : La commande est livrée au client.

  • Annulee : La commande est annulée.

Transitions

  • Une commande passe de EnCoursTraitement à Expediee lorsqu’elle est expédiée.

  • Une commande passe de Expediee à Livree lorsqu’elle est livrée au client.

  • Une commande peut être annulée à partir de l’état EnCoursTraitement ou Expediee.

  • Une commande peut retourner à l’état Expediee à partir de l’état Annulee si elle est retournée par le client.

3.3. Diagramme de classes de conception

Le diagramme de classes de conception permettent de structurer les principales entités du projet et leurs interactions pour répondre aux besoins fonctionnels identifiés. Dans le contexte de Ludorama, un site de vente en ligne de jouets, ces diagrammes sont essentiels pour assurer une expérience utilisateur fluide et personnalisée.

Le diagramme de classe joint illustre comment le système gère les fonctionnalités de recherche, de visualisation de produit, et d’ajout au panier, tout en prenant en compte les besoins spécifiques des clients adultes et des clients enfants :

Diagramme de classes de conception de Ludorama
  • Recherche : La classe Recherche est conçue pour permettre aux utilisateurs de trouver rapidement des produits en fonction de critères comme l’âge ou la catégorie de jouet.

  • Visualisation de produit : La classe Produit fournit des informations détaillées sur chaque jouet, incluant des descriptions complètes et des avis, particulièrement utiles pour les clients adultes.

  • Ajout au panier : La classe Panier permet de gérer les articles que les utilisateurs souhaitent acheter. Elle est associée à la classe Client, représentant la relation entre un client et son panier. Le système de fidélisation est également pris en charge dans cette architecture pour encourager les clients adultes à revenir sur la plateforme.

Les relations entre les classes, telles que Client et Panier ou Produit et Avis, montrent comment les fonctionnalités sont intégrées pour offrir une navigation intuitive et adaptée aux différents types de clients.