BMW MotorradBMW Motorrad
Avec mon équipe, je conçois le système d'information d'un site de vente de motos : d'un cahier des charges client de 56 pages à un modèle UML complet. With my team, I'm designing the information system of a motorcycle e-commerce website, from a 56-page client brief to a complete UML model.
ContexteContext
SAÉ 3.01, en 2e année de BUT Informatique à l'IUT d'Annecy. BMW Motorrad, la branche moto de BMW, veut refondre tout son système d'information : un nouveau site pour présenter et vendre ses motos et son équipement, un back-office pour ses concessionnaires, son propre hébergement et un avis juridique sur la protection des données.
SAÉ 3.01, second year of the BUT Informatique at IUT Annecy. BMW Motorrad, BMW's motorcycle division, wants a complete redesign of its information system: a new website to present and sell its bikes and rider gear, a back office for its dealers, its own hosting, and a legal opinion on data protection.
Projet universitaire fondé sur un cahier des charges rédigé à des fins pédagogiques. Sans lien avec BMW AG, qui ne l'a ni commandé ni approuvé. University project based on a brief written for teaching purposes. Not affiliated with or endorsed by BMW AG.
ObjectifObjective
Modéliser d'abord tout le système d'information, puis développer le site et son back-office avec Laravel, sur une base PostgreSQL, en s'appuyant sur des API externes.
Model the whole information system first, then develop the website and its back office with Laravel, on a PostgreSQL database, using external APIs.
FonctionnalitésFeatures
- Motos neuves à configurer : couleurs, packs, options d'usine et accessoires concessionnaire, avec le prix mis à jour en direct.
- Motos en stock chez les concessionnaires, avec filtres de recherche et réservations.
- Comptes clients, particuliers ou professionnels, avec des adresses vérifiées par un service externe.
- Demandes de devis et d'essai auprès d'un concessionnaire.
- Boutique d'équipement (casques, blousons…) avec panier, commandes et codes promo.
- Back-office pour le financement et la reprise de l'ancienne moto du client.
- New bikes to configure: colours, packs, factory options and dealer accessories, with a live price.
- Bikes in stock at dealers, with search filters and reservations.
- Customer accounts, private or professional, with addresses checked by an external service.
- Quote requests and test rides booked with a dealer.
- A rider gear shop (helmets, jackets…) with a basket, orders and promo codes.
- A back office for financing and for trading in the customer's old bike.
Les règles métier qui ont guidé le modèleBusiness rules that shaped the model
- Délai de 15 jours : le virement doit arriver sous 15 jours, sinon le concessionnaire annule la réservation.
- Paiement selon le client : un particulier peut payer comptant, à crédit ou en location longue durée ; une entreprise uniquement en location.
- Reprise par étapes : chaque étape (documents, estimation, négociation) a un délai de 8 jours, au-delà duquel la reprise est annulée.
- Une gamme par moto : un modèle appartient à une seule gamme (Sport, Adventure…).
- 15-day deadline: the bank transfer must arrive within 15 days, otherwise the dealer cancels the reservation.
- Payment depends on the customer: private customers can pay cash, on credit or by long-term lease; companies only by lease.
- Trade-ins in steps: every step (documents, estimate, negotiation) has an 8-day limit before the trade-in is cancelled.
- One range per bike: a model belongs to exactly one range (Sport, Adventure…).
Mon rôleMy role
- Traduire le cahier des charges en un modèle de classes UML de 36 classes et 8 énumérations.
- Découper ce modèle par domaine métier en cinq diagrammes, plus une vue complète, pour que le dossier de conception reste lisible une fois imprimé.
- Transformer les statuts du cahier des charges en énumérations : une réservation est en attente de paiement, validée, annulée, expirée ou finalisée, ce qui rendra les règles de délai simples à coder.
- Dessiner 3 diagrammes de séquence pour les scénarios clés : échanges entre le navigateur, le serveur web, la base de données et les services externes (API d'adresses, service d'email, banque).
- Participer à l'analyse du cahier des charges et aux présentations du projet.
- Translated the brief into a UML class model of 36 classes and 8 enumerations.
- Split the model by business area into five diagrams, plus one complete view, so the design dossier stays readable once printed.
- Turned the statuses of the brief into enumerations: a reservation is awaiting payment, validated, cancelled, expired or finalised, which makes the deadline rules easy to implement later.
- Drew 3 sequence diagrams for the key scenarios, showing the exchanges between the browser, the web server, the database and external services (address API, mail service, bank).
- Took part in the analysis of the brief and in the project presentations.
DiagrammesDiagrams
Cliquez sur un diagramme pour l'ouvrir en grand. Click a diagram to open it full size.
Diagrammes de classesClass diagrams
Diagrammes de séquenceSequence diagrams
Gestion de projetProject management
- Équipe de cinq étudiants en Scrum sur Azure DevOps : le cahier des charges devient des user stories dans un backlog, livrées par sprints.
- Présentations régulières de l'avancement à nos enseignants.
- Vérification du respect du droit informatique, en particulier sur les données personnelles.
- Premier livrable : le dossier de conception et de spécification, rendu le 16 octobre 2026. Il contient les diagrammes de cette page.
- A team of five students using Scrum on Azure DevOps: the brief becomes user stories in a backlog, delivered in sprints.
- Regular progress presentations to our teachers.
- Checking compliance with IT law, especially regarding personal data.
- First deliverable: the design and specification dossier, handed in on 16 October 2026. It contains the diagrams on this page.
Prochaines étapesWhat comes next
- Développement : construire le site et le back-office avec Laravel, sur une base PostgreSQL hébergée sur le serveur du département.
- Services externes : brancher des API externes (cartes, paiement ou authentification) et un chatbot d'aide dont il faudra justifier le choix.
- Tests et documentation : rédiger le guide d'installation de notre environnement, mener des tests de performance et documenter le chatbot.
- Development: build the website and the back office with Laravel, on a PostgreSQL database hosted on the department's server.
- External services: connect external APIs (maps, payment or authentication) and a help chatbot whose choice we will have to justify.
- Tests and documentation: write the installation guide of our environment, run performance tests and document the chatbot.
Compétences acquisesSkills gained
- Lire un long cahier des charges et en extraire les entités, les règles et les statuts.
- Construire un modèle UML assez structuré pour être codé ensuite, et assez découpé pour rester lisible.
- Travailler en sprints avec un backlog partagé, et présenter notre travail à l'oral.
- Reading a long brief and extracting its entities, rules and statuses.
- Building a UML model structured enough to be implemented later, and split enough to stay readable.
- Working in sprints with a shared backlog, and presenting our work orally.