Table des matières

Démarche de conception d'une User Story

Un exemple avec l'application Equida : lister les chevaux d'une vente

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’offre de vente aux enchères est variée, elle s’organise en catégories : vente mixte de février, vente d’été, vente d’automne, vente d’élevage, etc.

Lors d’une vente aux enchères, Equida propose différents types de chevaux :

Actuellement l’application permet de lister les ventes (passées et à venir).

L’application est opérationnelle. La configuration à la base de données est réalisée dans le fichier .env

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. 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

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.

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'application symfony : contrôle de version

Cette nouvelle fonctionnalité sera développée en local à partir de la dernière version de l’application publiée sur gitHub. On créera une nouvelle branche nommée consulter_vente_chevaux pour implémenter cette nouvelle fonctionnalité. A chaque nouvelle unité de code ajoutée ou modifiée, un commit sera réalisé.

Couche Model

L’id de chaque entity sera créé automatiquement ainsi que tous les getters/setters des propriétés.

Commandes cli symfony nécessaires :

 php bin/console make:entity

Base de données

Il faut faire évoluer la structure de la base de données en fonction du nouveau Model.

Couche Controller

Couche View

Tests

Avec le navigateur web :

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 :