id_symfo_conception_us
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
id_symfo_conception_us [2024/11/27 14:29] – [Base de données] admwiki | id_symfo_conception_us [2024/11/27 16:47] (Version actuelle) – [Préalables sur l'application symfony] admwiki | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Démarche de conception d'une User Story d'une application symfony ====== | + | ===== Démarche de conception d'une User Story ===== |
- | ==== Un exemple avec l' | + | === Un exemple avec l' |
- | ===== Contexte | + | ==== Contexte ==== |
L’application Equida est une application permettant de gérer les ventes aux enchères des chevaux de courses. La société Equida organise environ dix ventes aux enchères par an sur deux sites : | L’application Equida est une application permettant de gérer les ventes aux enchères des chevaux de courses. La société Equida organise environ dix ventes aux enchères par an sur deux sites : | ||
Ligne 23: | Ligne 23: | ||
La configuration à la base de données est réalisée dans le fichier .env | La configuration à la base de données est réalisée dans le fichier .env | ||
- | ===== Expression du besoin | + | ==== Expression du besoin ==== |
Une nouvelle fonctionnalité (user story) doit être ajoutée à l’application Equida. Il faut ajouter la possibilité à l’utilisateur de l’application de consulter la liste les chevaux proposés lors d’une vente avec, pour chaque cheval, le prix de la mise de départ, les informations du vendeur. | Une nouvelle fonctionnalité (user story) doit être ajoutée à l’application Equida. Il faut ajouter la possibilité à l’utilisateur de l’application de consulter la liste les chevaux proposés lors d’une vente avec, pour chaque cheval, le prix de la mise de départ, les informations du vendeur. | ||
Si un cheval n’a pas été vendu, il pourra être remis aux enchères lors d’une prochaine vente. C’est la notion de Lot (précisé dans le cahier des charges). | Si un cheval n’a pas été vendu, il pourra être remis aux enchères lors d’une prochaine vente. C’est la notion de Lot (précisé dans le cahier des charges). | ||
- | ===== Modélisation / Diagramme de classes | + | ==== Modélisation / Diagramme de classes ==== |
Le diagramme de classe existe déjà (classes en rose). | Le diagramme de classe existe déjà (classes en rose). | ||
Pour répondre au besoin exprimé, il faut le faire évoluer comme ci-dessous : classes en jaune. | Pour répondre au besoin exprimé, il faut le faire évoluer comme ci-dessous : classes en jaune. | ||
- | ===== Wireframes ===== | + | {{ : |
- | On partira de la page existante « lister les ventes » et on ajoutera sur chaque vente, un lien qui affichera une page reprenant les informations de la vente et listant les chevaux sélectionnés pour la vente sur laquelle on aura cliquée. | + | |
+ | ==== Wireframes et navigation ==== | ||
+ | On partira de la page existante « lister les ventes » et on ajoutera sur chaque vente, un lien qui affichera une page reprenant les informations de la vente et listant les chevaux sélectionnés pour la vente sur laquelle on aura cliquée. | ||
- | ===== Préalables sur l' | + | {{ : |
+ | ==== Préalables sur l' | ||
Cette nouvelle fonctionnalité sera développée en local à partir de la dernière version de l’application publiée sur gitHub. | Cette nouvelle fonctionnalité sera développée en local à partir de la dernière version de l’application publiée sur gitHub. | ||
Ligne 43: | Ligne 45: | ||
A chaque nouvelle unité de code ajoutée ou modifiée, un commit sera réalisé. | A chaque nouvelle unité de code ajoutée ou modifiée, un commit sera réalisé. | ||
- | ===== Couche Model ===== | + | ==== Couche Model ==== |
- | * l’entity | + | * l’entity |
- | * création de l’entity Lot + relation ManyToOne vers Vente | + | * création de l’entity Lot + relation ManyToOne |
* création de l’entity Vendeur | * création de l’entity Vendeur | ||
- | * Création de l’entity Cheval + relation MTO vers Vendeur + relation MTO vers Race | + | * Création de l’entity Cheval + relation MTO vers Vendeur + relation MTO vers TypeCheval |
* Reprendre l’entity Lot pour y ajouter la relation MTO vers Cheval Commit | * Reprendre l’entity Lot pour y ajouter la relation MTO vers Cheval Commit | ||
L’id de chaque entity sera créé automatiquement ainsi que tous les getters/ | L’id de chaque entity sera créé automatiquement ainsi que tous les getters/ | ||
Ligne 54: | Ligne 56: | ||
< | < | ||
- | ===== Base de données | + | ==== Base de données ==== |
Il faut faire évoluer la structure de la base de données en fonction du nouveau Model. | Il faut faire évoluer la structure de la base de données en fonction du nouveau Model. | ||
Ligne 62: | Ligne 64: | ||
* Ajouter ensuite des données pertinentes et en nombre suffisant dans les nouvelles tables : donc ajouter des chevaux avez leur vendeur et leur type, ajouter des lots avec le cheval et la vente liés. | * Ajouter ensuite des données pertinentes et en nombre suffisant dans les nouvelles tables : donc ajouter des chevaux avez leur vendeur et leur type, ajouter des lots avec le cheval et la vente liés. | ||
- | ===== Couche Controller | + | ==== Couche Controller ==== |
* le contrôleur VenteControlleur existe déjà. Il faut y ajouter la méthode permettant de consulter une vente | * le contrôleur VenteControlleur existe déjà. Il faut y ajouter la méthode permettant de consulter une vente | ||
Ligne 71: | Ligne 73: | ||
* type de retour : Response | * type de retour : Response | ||
- | * adapter la route associée // | + | * adapter la route associée // |
* nom de la route : app_vente_show | * nom de la route : app_vente_show | ||
* url : / | * url : / | ||
Ligne 77: | Ligne 79: | ||
* Corps de la méthode | * Corps de la méthode | ||
- | * récupérer dans un objet vente, | + | * récupérer dans une variable |
- | * renvoyer vers la vue qui sera dans le dossier templates/ | + | * renvoyer vers la vue qui sera dans le dossier templates/ |
- | ===== Couche View ===== | + | ==== Couche View ==== |
* Reprendre la vue permettant de lister les ventes (template/ | * Reprendre la vue permettant de lister les ventes (template/ | ||
* Dans le dossier template/ | * Dans le dossier template/ | ||
* afficher les informations basiques d’une vente en récupérant la vente passée en paramètre dans le contrôleur (vente/nom, vente.CategVente.libelle, | * afficher les informations basiques d’une vente en récupérant la vente passée en paramètre dans le contrôleur (vente/nom, vente.CategVente.libelle, | ||
* créer un tableau des chevaux qui sera construit en faisant une boucle sur les lots d’une vente ({% for leLot in vente.lots %} (affichage des informations d’un cheval avec leLot.cheval.nom, | * créer un tableau des chevaux qui sera construit en faisant une boucle sur les lots d’une vente ({% for leLot in vente.lots %} (affichage des informations d’un cheval avec leLot.cheval.nom, | ||
- | * implémenter le design commun aux pages | + | * implémenter le design commun aux pages de l' |
+ | |||
+ | |||
+ | ==== Tests ==== | ||
+ | |||
+ | Avec le navigateur web : | ||
+ | |||
+ | * ouvrir la page http:// | ||
+ | * cliquer sur une vente (exemple la vente ayant l'id 3) | ||
+ | * la page http:// | ||
+ | |||
+ | ==== Publication ==== | ||
+ | |||
+ | Les commits ont été réalisés à chaque unité de code ajoutée et/ou modifiée. | ||
+ | |||
+ | Une fois la user story testée et validée : | ||
+ | |||
+ | * publier le code de la branche vers github | ||
+ | * créer une pull Request | ||
+ | * faire tester la US et réviser le code par une autre personne de l' | ||
+ | * si ok, merge la branche avec la main | ||
+ | * prévenir les autres membres de l' | ||
+ | * livrer en environnement de recette | ||
+ | * faire tester par le product owner | ||
+ | |||
+ | |||
id_symfo_conception_us.1732717776.txt.gz · Dernière modification : de admwiki