Aller au contenu
FUTUR BTS FuturBTS
SLAM · chapitre 1 Chapitre offert

Analyser le besoin et le modéliser

Ce que tu sauras faire : Recueillir et formaliser le besoin d'un client (acteurs, besoins fonctionnels et non fonctionnels, règles de gestion, récits utilisateur et critères d'acceptation), le modéliser en UML (cas d'utilisation et descriptions, classes d'analyse, séquence, activité), maquetter une interface ergonomique et accessible, proposer une architecture, chiffrer la solution et faire valider le modèle par le client.

2 h 15 de cours 10 exercices corrigés 10 questions de quiz

1. Du besoin à l’application

Avant d’écrire la première ligne de code, il faut savoir ce que le client veut vraiment, pour qui, avec quelles règles et sous quelles contraintes. Ce travail d’analyse se termine par un modèle que le client comprend et valide, et que les développeurs savent programmer.

AUne demande de Kervanet

Le lundi 28 septembre 2026, Franck Guillou, responsable technique des bâtiments de Kervanet Hôtels & Résidences, écrit au centre de services de Vellacor (ticket VEL-2026-4203). Aujourd’hui, l’entretien périodique des équipements des sept établissements (chaudières, climatisations, ascenseurs, organes de sécurité) est suivi dans un classeur de tableur du partage Qualite : 58 lignes, une par contrôle à faire, avec la date du dernier passage. Sur les douze derniers mois, 9 contrôles ont été faits avec plus de 30 jours de retard et 2 ont été oubliés. Il demande « un module de maintenance préventive dans KerMaint », l’application de gestion des interventions que Vellacor développe et maintient pour Kervanet.

C’est un développement nouveau : il n’entre pas dans le forfait de maintenance et fera l’objet d’un devis (contrat : CEJMA-03). Anaïs Lecoq, responsable du pôle développement, confie l’analyse à Sarah Cherif, alternante en BTS SIO option SLAM, sous sa supervision. Tout le chapitre suit ce travail, du premier entretien à la validation du modèle.

BCe que fait l’analyste

Le client exprime un besoin avec ses mots (« ne plus oublier de contrôles »). L’analyste le transforme en spécifications précises, puis en modèle : un ensemble de textes et de diagrammes qui décrivent ce que fera l’application, sans encore dire comment elle sera programmée.

Définition

Besoin, spécification, modèle

  • Le besoin est ce que le client veut obtenir, exprimé dans son vocabulaire métier.
  • Une spécification est une exigence précise et vérifiable que l’application devra respecter (« une intervention préventive est créée 7 jours avant l’échéance »).
  • Un modèle est une représentation simplifiée de l’application à construire, sous forme de textes et de diagrammes normalisés, qui sert à comprendre, à communiquer et à valider avant de développer.

CTon rôle de développeur SLAM

Le référentiel attend que tu participes aux spécifications et à l’architecture, en équipe. À l’épreuve E6, la commission te remet une expression de besoins : tu l’analyses, proposes des spécifications et une démarche, puis réalises et fais la recette (exercice 10).

2. Les cycles de production

Une application se construit en passant par des activités qui reviennent toujours : comprendre, concevoir, réaliser, tester, mettre en service, maintenir. Les cycles de production diffèrent par la façon de les enchaîner, et chacun donne une place différente à l’analyse.

ALes activités du développement

Quel que soit le cycle, on retrouve les mêmes activités :

Les activités de la production d’une application
Activité Question Livrables typiques
Analyse du besoin Que veut le client, et pourquoi ? comptes rendus d’entretien, récits utilisateur, cas d’utilisation, règles de gestion
Conception Comment l’application sera-t-elle organisée ? architecture, diagrammes de classes et de séquence, modèle des données (SLAM-03), maquettes
Réalisation Le code composants, tests unitaires (SLAM-02, SLAM-07)
Tests et recette Est-ce conforme ? tests fonctionnels, cahier de recette, procès-verbal (SLAM-10, B1-11)
Déploiement Mettre à disposition version livrée, documentation, formation
Maintenance Corriger et faire évoluer tickets d’anomalie, nouvelles versions (SLAM-11)

BTrois grandes familles de cycles

Tu as vu en B1-10 l’approche prédictive (cascade, cycle en V) et l’approche agile (Scrum, Kanban). Pour une application, on les retrouve sous trois formes :

Typologie des cycles de production d’une application
Cycle Principe Place de l’analyse Adapté quand…
Séquentiel (cascade, cycle en V) chaque activité est terminée et validée avant la suivante complète, au début, figée dans un cahier des charges le besoin est stable et bien connu (contrat au forfait, contrainte réglementaire)
Itératif et incrémental (dont les méthodes agiles) on livre par petits incréments utilisables, en ajustant à chaque cycle continue : un cadrage initial, puis chaque élément est précisé juste avant d’être développé le besoin évolue ou se découvre en voyant le produit
Avec prototypage on construit d’abord une maquette ou un prototype jetable pour faire réagir l’utilisateur l’analyse s’appuie sur le prototype l’interface est décisive ou le client a du mal à exprimer son besoin

Elles se combinent : KerMaint évolue en Scrum (B1-10), et Sarah prototype les écrans avant un sprint.

Une approche plus récente, DevOps, rapproche le développement (development) et l’exploitation (operations) : tests, intégration et déploiement automatisés pour livrer souvent et sans risque. Ses outils (intégration continue) sont étudiés en SLAM-10.

À retenir

Agile ne veut pas dire « sans analyse ». Dans un cycle agile, l’analyse est découpée : un cadrage au départ (vision, acteurs, grandes fonctions), puis chaque récit est affiné avec le propriétaire du produit juste avant le sprint qui le réalisera.

CLes acteurs de la production

Qui intervient dans l’analyse d’une évolution de KerMaint
Rôle Ce qu’il apporte Dans le projet
Maîtrise d’ouvrage (MOA, B1-10) exprime le besoin, décide, finance, réceptionne Kervanet : Gwenaëlle Le Bihan signe le devis ; Franck Guillou porte le besoin
Utilisateurs clés décrivent le travail réel, testent Mathis Le Goff, Nadia Poitevin (techniciens)
Propriétaire du produit ordonne le backlog, accepte les récits Mélodie Rochereau (délégation de Kervanet)
Maîtrise d’œuvre (MOE) conçoit, réalise, conseille Vellacor
Analyste, architecte formalise, modélise, choisit l’architecture Anaïs Lecoq, avec Sarah
Développeurs programment et testent Romain Daguet, Sarah
Exploitation héberge, sauvegarde, supervise Thomas Guéguen (KV-KERMAINT)
Délégué à la protection des données conseille sur les données personnelles DPO externe de Kervanet (CEJMA-08)

DLes références communes

Pour que tout le monde se comprenne, l’analyse s’appuie sur des références partagées :

Les références utiles à l’analyste
Référence Ce qu’elle normalise Où dans ce chapitre
UML 2.5.1 (Unified Modeling Language), publié par l’OMG en décembre 2017 la notation des diagrammes parties 6 à 8
ISO/IEC 25010:2023 le modèle de qualité d’un produit logiciel (neuf caractéristiques) partie 4
ISO 9241-110:2020 les principes d’interaction entre l’utilisateur et le système partie 11
RGAA, fondé sur les règles internationales WCAG l’accessibilité des services numériques partie 11 et B1-09
Scrum Guide (2020), récits utilisateur l’organisation agile B1-10 et partie 5
Merise (modèle conceptuel des données) la modélisation des données SLAM-03

3. Recueillir le besoin

Le besoin ne se devine pas : il se recueille auprès des bonnes personnes, avec des techniques choisies, et dans son contexte, y compris juridique. On commence toujours par comprendre le travail actuel.

AIdentifier les parties prenantes

La première question est : qui est concerné ? Ceux qui paient, ceux qui décident, ceux qui utiliseront l’application, ceux qui subiront ses effets. Sarah dresse la liste avec Anaïs : Franck Guillou (demandeur), les 12 utilisateurs réguliers de KerMaint sur tablette (techniciens de maintenance), les directeurs d’établissement (qui reçoivent les prestataires), Gwenaëlle Le Bihan (budget), Mélodie Rochereau (backlog), Thomas Guéguen (serveur). Oublier un groupe, c’est découvrir son besoin à la recette.

BLes techniques de recueil

Techniques de recueil du besoin
Technique Principe Forces Limites
Entretien questions ouvertes puis précises à une personne fait émerger le « pourquoi », les exceptions une seule vision ; ce qu’on dit faire ≠ ce qu’on fait
Observation suivre l’utilisateur dans son travail réel révèle les contraintes cachées (gants, bruit, absence de Wi-Fi) prend du temps
Atelier réunir plusieurs acteurs autour d’un support (récits, maquette) fait converger les points de vue demande une animation rigoureuse
Questionnaire mêmes questions à beaucoup de personnes chiffres, avis du plus grand nombre réponses superficielles
Analyse de documents lire les supports existants (tableur, procédures, contrats d’entretien) données réelles, règles implicites documents parfois obsolètes
Analyse de l’existant applicatif étudier l’application actuelle, sa base, ses écrans réutilise ce qui marche ; voir la rétro-conception, partie 7 l’existant peut contenir des défauts

Sarah combine quatre techniques : un entretien avec Franck Guillou le mercredi 30 septembre, une demi-journée d’observation avec Mathis Le Goff à Port-Neuf le jeudi 1er octobre, l’analyse du classeur des contrôles et un atelier de récits utilisateur le mercredi 7 octobre.

Méthode

Préparer et mener un entretien

  1. Préparer : objectif de l’entretien, documents à lire avant (le classeur), une grille de questions qui va du général au précis.
  2. Ouvrir : « Racontez-moi comment se passe un contrôle aujourd’hui, du début à la fin. » Laisser parler.
  3. Creuser : demander des exemples réels, les exceptions (« Et si le technicien est absent ? »), les volumes (combien de contrôles par mois ?), les fréquences, les règles (« Qui décide de la date ? »).
  4. Reformuler : « Si je comprends bien, un contrôle non conforme doit toujours donner une réparation ? » Le client confirme ou corrige.
  5. Conclure : récapituler, noter les points en suspens et convenir de la suite.
  6. Rédiger le compte rendu dans les 24 heures et le faire valider par la personne interrogée.
Exemple

Ce que l'observation a appris à Sarah

À Port-Neuf, Mathis contrôle la chaudière principale dans la chaufferie, au sous-sol : pas de Wi-Fi, des gants de travail, une tablette posée sur un rebord. Il note sur papier et recopie le soir dans le tableur. Aucun entretien n’aurait révélé ces trois contraintes : elles deviendront des exigences non fonctionnelles (grands boutons, enregistrement du brouillon, partie 11).

CLe cadre juridique du besoin

Un besoin s’inscrit dans des règles de droit. L’analyste ne les tranche pas, mais il doit les repérer pour qu’elles deviennent des exigences, et alerter le client : c’est une part du devoir de conseil du prestataire (CEJMA-03).

Repérer les contraintes juridiques pendant l’analyse
Question à se poser Exemple dans le module Exigence qui en découle Où l’approfondir
Des données personnelles sont-elles traitées ? nom du technicien qui a fait le contrôle ne collecter que le nécessaire ; durée de conservation ; protection dès la conception CEJMA-08, B3SLAM-01
Le besoin est-il bien écrit dans le contrat ? périmètre du module, recette, prix cahier des charges et devis précis, critères d’acceptation CEJMA-03
Quels composants et sous quelle licence ? bibliothèque de génération de PDF pour l’export licences compatibles avec la politique de Vellacor CEJMA-02
À qui appartiendra le code ? module développé pour Kervanet clause de propriété dans le contrat CEJMA-06
L’application doit-elle être accessible ? écrans utilisés par des salariés bonnes pratiques d’accessibilité B1-09, partie 11
Qui est responsable en cas de défaut ? un contrôle de sécurité oublié traçabilité des contrôles, alertes CEJMA-05

4. Formaliser le besoin

Les notes d’entretien sont riches mais désordonnées. Formaliser, c’est les ranger dans des catégories précises : acteurs, besoins fonctionnels, exigences non fonctionnelles, règles de gestion, vocabulaire commun.

ALes acteurs

Définition

Acteur

Un acteur est un rôle joué par une personne ou par un système extérieur qui interagit avec l’application. Ce n’est pas une personne nommée : Mathis Le Goff et Nadia Poitevin jouent tous deux le rôle de Technicien.

On distingue l’acteur principal, qui déclenche une utilisation pour en tirer un résultat, et l’acteur secondaire, qui est sollicité par l’application (la messagerie qui envoie les notifications). Un acteur peut être un système : la tâche planifiée qui lance chaque nuit la génération des interventions est représentée par un acteur Planificateur.

Les acteurs du module de maintenance préventive
Acteur Type Ce qu’il fait avec le module
Responsable technique humain, principal crée et gère les plans de contrôle, suit les échéances, exporte le registre ; peut aussi faire tout ce que fait un technicien
Technicien humain, principal consulte ses contrôles à venir, enregistre les résultats
Planificateur système, principal déclenche chaque nuit la génération des interventions préventives
Messagerie système, secondaire envoie les notifications par courriel

BBesoins fonctionnels et non fonctionnels

La distinction a été vue en B1-10 : un besoin fonctionnel dit ce que l’application permet de faire, une exigence non fonctionnelle dit avec quelle qualité ou dans quelles limites. Pour ne pas oublier d’exigences non fonctionnelles, on parcourt une grille : celle de la norme ISO/IEC 25010:2023, qui décrit la qualité d’un produit logiciel en neuf caractéristiques.

Les exigences non fonctionnelles du module, classées selon ISO/IEC 25010:2023 (la norme n’existe qu’en anglais : noms français traduits librement, nom anglais entre parenthèses)
Caractéristique Exigence du module Comment la vérifier
Aptitude fonctionnelle (functional suitability) les échéances sont calculées exactement selon la règle RG3 jeu de tests sur des dates de fin de mois
Efficacité de performance (performance efficiency) la liste des échéances d’un établissement s’affiche en moins de 2 secondes sur tablette mesure sur une tablette de 2020
Compatibilité (compatibility) fonctionne dans le navigateur des 14 tablettes Android ; partage les équipements et les techniciens de KerMaint test sur chaque modèle
Capacité d’interaction (interaction capability) un contrôle conforme se saisit en moins de 2 minutes ; cibles tactiles d’au moins 44 × 44 pixels test utilisateur (partie 11)
Fiabilité (reliability) aucune saisie perdue : brouillon enregistré toutes les 2 minutes ; génération nocturne sans doublon test de coupure, double exécution
Sécurité (security) seul le profil Responsable modifie les plans ; chaque validation est tracée (qui, quand) tests d’habilitation, lecture du journal
Maintenabilité (maintainability) code dans le framework de KerMaint ; règles de calcul couvertes par des tests automatiques revue de code, tests (SLAM-10)
Flexibilité (flexibility) l’ouverture de la 8e résidence ne demande aucune modification du code création d’un établissement de test
Sûreté (safety) un organe de sécurité non conforme est signalé au responsable par courriel dès la validation scénario de recette
Astuce

Une exigence non fonctionnelle doit être mesurable : « rapide » ne se teste pas, « moins de 2 secondes pour afficher la liste d’un établissement » se teste.

CLes règles de gestion

Définition

Règle de gestion

Une règle de gestion est une règle du métier du client que l’application doit appliquer : un calcul, une condition, une contrainte sur les données ou un enchaînement obligatoire. Elle s’écrit en une phrase, sans jargon technique, et porte un identifiant (RG1, RG2…) pour être citée dans les diagrammes et les tests.

Les règles de gestion du module (version validée le 16/10/2026)
N° Règle
RG1 Un plan préventif concerne un seul équipement ; un équipement peut avoir plusieurs plans (la chaudière a un entretien annuel et un contrôle mensuel).
RG2 La périodicité d’un plan s’exprime en mois : 1, 3, 6 ou 12.
RG3 L’échéance suivante = échéance précédente + périodicité ; si ce jour n’existe pas dans le mois obtenu, on prend le dernier jour de ce mois.
RG4 Chaque nuit à 5 h, une intervention préventive (priorité 3, statut « ouverte ») est créée pour chaque plan actif dont l’échéance tombe dans les 7 jours, sauf s’il en existe déjà une non clôturée pour ce plan.
RG5 Un contrôle est conforme si tous ses points de contrôle sont conformes.
RG6 Un contrôle non conforme crée une intervention corrective de priorité 2 sur le même équipement, liée à l’intervention préventive.
RG7 Une échéance est en retard si la date du jour la dépasse et que l’intervention préventive correspondante n’est pas clôturée ; elle apparaît en orange dans la liste.
RG8 Seul le profil Responsable crée, modifie ou désactive un plan.
RG9 La durée d’une intervention est comprise entre 0 et 720 minutes.
Exemple

RG3 sur trois plans réels

  • Chaudière principale de Port-Neuf, entretien annuel, échéance le lundi 16/11/2026 : échéance suivante le 16/11/2027 ; l’intervention préventive est créée le 09/11/2026 (RG4, 7 jours avant).
  • Ascenseur A de la Corderie, contrôle visuel mensuel, échéance le 31/10/2026 : le 31 novembre n’existe pas, l’échéance suivante est le 30/11/2026.
  • Climatisation de la chambre 214, nettoyage des filtres trimestriel, échéance le 31/01/2027 : la suivante est le 30/04/2027.

RG3 a été précisée pendant l’atelier : Franck voulait d’abord « un an après le dernier contrôle », mais un contrôle fait avec 10 jours de retard aurait décalé toutes les échéances suivantes. Calculer à partir de l’échéance précédente garde un calendrier stable.

DLe glossaire

Franck dit « visite », Mathis « contrôle », le classeur « entretien ». Un glossaire fixe un seul mot par notion, avec sa définition : plan préventif, point de contrôle, échéance, intervention préventive, intervention corrective. Ces mots deviendront les noms des classes (l’intervention corrective, ordinaire, sera simplement la classe Intervention) : le glossaire évite que le modèle et l’interface parlent deux langues différentes.

5. Écrire des récits utilisateur

Le récit utilisateur décrit un besoin du point de vue de celui qui en profite, en une phrase. Accompagné de critères d’acceptation précis, il devient un engagement vérifiable entre le client et l’équipe.

ALa forme d’un récit

Tu as rencontré le récit utilisateur (user story) en B1-10 : « En tant que rôle, je veux action afin de bénéfice ». La troisième partie est la plus importante : elle donne la raison du besoin, qui permet de proposer une meilleure solution ou de prioriser.

Les récits du module, avec leur priorité (méthode MoSCoW, B1-10)
N° Récit Priorité
US1 En tant que responsable technique, je veux créer un plan préventif pour un équipement (périodicité, points de contrôle) afin de ne plus dépendre du tableur. Must
US2 En tant que technicien, je veux voir mes contrôles des 7 prochains jours afin d’organiser ma semaine. Must
US3 En tant que technicien, je veux enregistrer le résultat d’un contrôle point par point sur la tablette afin de prouver que l’entretien a été fait. Must
US4 En tant que responsable technique, je veux qu’un point non conforme crée automatiquement une intervention corrective afin qu’aucune anomalie ne soit oubliée. Must
US5 En tant que responsable technique, je veux exporter le registre des contrôles d’un établissement en PDF afin de le présenter à un prestataire ou à l’assureur. Should
US6 En tant que technicien, je veux saisir un contrôle sans réseau afin de travailler dans les locaux techniques. Could

BLa grille INVEST d’un bon récit

Les praticiens agiles vérifient chaque récit avec la grille INVEST :

  • Indépendant : il peut être réalisé sans attendre un autre récit ;
  • Négociable : c’est une base de discussion, pas un contrat figé ;
  • de Valeur : il apporte quelque chose à un utilisateur ou au client ;
  • Estimable : l’équipe comprend assez bien pour l’estimer en points ;
  • Small (petit) : il tient dans un sprint ;
  • Testable : on sait dire s’il est terminé.
Piège

« En tant que développeur, je veux créer la table plan_preventif » n’est pas un récit utilisateur : c’est une tâche technique, sans valeur visible pour l’utilisateur. Elle sert à réaliser US1 et se note dans le backlog du sprint, pas dans le backlog produit.

CLes critères d’acceptation

Définition

Critère d'acceptation

Un critère d’acceptation est une condition précise et vérifiable que l’application doit remplir pour que le récit soit accepté par le propriétaire du produit. Chaque critère deviendra au moins un test (fonctionnel ou de recette).

Une écriture très répandue, issue du développement piloté par le comportement, est le format Étant donné / Quand / Alors : le contexte de départ, l’action, le résultat attendu.

Exemple

Critères d'acceptation de US3 et US4

Scénario 1 — contrôle conforme Étant donné l’intervention préventive « Entretien annuel » de la chaudière principale de Port-Neuf, ouverte et affectée à Mathis Le Goff, quand Mathis marque les 4 points « Conforme », saisit une durée de 90 minutes et valide, alors l’intervention passe au statut « clôturée », son résultat est « conforme » et la prochaine échéance du plan devient le 16/11/2027.

Scénario 2 — un point non conforme Étant donné la même intervention, quand Mathis marque le point « Évacuation des fumées » « Non conforme » et valide, alors l’intervention préventive est clôturée avec le résultat « non conforme », une intervention corrective de priorité 2 est créée sur la chaudière avec la mention du point en cause, et Franck Guillou reçoit un courriel.

Scénario 3 — saisie incomplète Étant donné une intervention dont un point n’est pas renseigné, quand le technicien essaie de valider, alors la validation est impossible et le point manquant est signalé.

Astuce

Écris toujours au moins un scénario qui échoue (saisie incomplète, droit insuffisant, valeur hors limites). Ce sont ces cas que les développeurs oublient et que la recette découvre.

6. Représenter les cas d’utilisation

UML est le langage graphique standard pour modéliser une application. Le diagramme de cas d’utilisation en est souvent la première pièce : il montre d’un coup d’œil qui fait quoi avec le système, et il se complète par une description textuelle de chaque cas.

AUML en bref

Définition

UML

UML (Unified Modeling Language) est un langage de modélisation graphique normalisé par l’OMG (Object Management Group). La version en vigueur est UML 2.5.1 (décembre 2017). Il définit des diagrammes de structure (ce qui compose le système, comme le diagramme de classes) et des diagrammes de comportement (ce que fait le système, comme les diagrammes de cas d’utilisation, de séquence et d’activité).

UML n’est pas une méthode : il dit comment dessiner, pas dans quel ordre travailler. En BTS SIO, on attend surtout les diagrammes de cas d’utilisation (avec leurs descriptions), de classes et de séquence, et la lecture d’un diagramme d’activité, dessinés avec un outil de modélisation (Modelio, PlantUML…).

BLes éléments du diagramme

Définition

Cas d'utilisation

Un cas d’utilisation est une façon d’utiliser le système qui apporte un résultat observable et utile à un acteur. On le nomme par un verbe à l’infinitif suivi d’un complément : « Enregistrer un contrôle », pas « Contrôle » ni « Cliquer sur Valider ».

La notation du diagramme de cas d’utilisation (UML 2.5.1, § 18.1.4)
Élément Notation
Acteur bonhomme avec son nom dessous ; un système peut aussi être un rectangle portant le mot-clé «actor»
Cas d’utilisation ellipse contenant son nom
Sujet (frontière du système) rectangle contenant les cas, avec le nom du système en haut à gauche ; les acteurs sont dehors
Association acteur – cas trait plein
Inclusion flèche en pointillés à pointe ouverte, du cas de base vers le cas inclus, marquée «include»
Extension flèche en pointillés à pointe ouverte, du cas qui étend vers le cas étendu, marquée «extend» ; condition et point d’extension dans une note reliée à la flèche
Généralisation trait plein terminé par un triangle creux posé sur l’élément général
Diagramme de cas d'utilisation du module de maintenance préventive
KerMaint – maintenance préventive Responsable technique Technicien «actor» Planificateur «actor» Messagerie Gérer les plans préventifs Exporter le registre des contrôles Consulter les échéances Enregistrer un contrôle extension points résultat Créer une intervention corrective Générer les interventions préventives Rechercher un équipement «include» «include» «extend» condition : {un point non conforme} point d'extension : résultat
Le responsable technique hérite des cas du technicien (triangle creux sur Technicien). Gérer les plans et Enregistrer un contrôle incluent la recherche d'un équipement. Créer une intervention corrective étend Enregistrer un contrôle, au point d'extension « résultat », seulement si un point est non conforme.

CLes relations entre cas

Ces trois relations sont les plus mal utilisées : retiens leur sens.

  • «include» : le cas de base contient toujours le cas inclus. On ne peut pas gérer un plan ni enregistrer un contrôle sans rechercher un équipement : la recherche est mise en commun dans un cas inclus. La flèche part du cas qui inclut.
  • «extend» : le cas qui étend ajoute parfois un comportement au cas de base, à un endroit précis (le point d’extension, listé dans un compartiment du cas étendu) et sous une condition. Le cas de base est complet sans lui : un contrôle conforme ne crée rien. La flèche part du cas qui étend, vers le cas étendu.
  • Généralisation entre acteurs : l’acteur spécialisé peut faire tout ce que fait l’acteur général, et plus. Le responsable technique hérite des cas du technicien.
Piège

Le diagramme de cas d’utilisation n’est pas un enchaînement d’écrans : pas de flèches « puis » entre les cas, pas de cas « Se connecter » relié à tout (c’est une condition de départ, notée dans les préconditions). Et les flèches «include» et «extend» vont en sens contraires : «include» part de la base, «extend» arrive sur la base.

DLa description textuelle d’un cas

Le diagramme ne montre que les noms. Le contenu de chaque cas important se décrit dans une fiche textuelle, qui sert de référence aux développeurs et aux testeurs.

Description textuelle du cas « Enregistrer un contrôle »
Rubrique Contenu
Acteur principal Technicien (ou Responsable technique)
Acteur secondaire Messagerie
Objectif consigner le résultat d’un contrôle préventif, point par point
Préconditions le technicien est authentifié dans KerMaint ; une intervention préventive non clôturée existe pour le plan
Déclencheur le technicien ouvre l’intervention depuis la liste de ses contrôles ou en recherchant l’équipement (cas inclus)
Scénario nominal 1. KerMaint affiche l’équipement, l’échéance et les points de contrôle du plan. 2. Le technicien indique pour chaque point « Conforme » ou « Non conforme ». 3. Il saisit la durée, et éventuellement une observation et une photo. 4. Il valide. 5. KerMaint vérifie que tous les points sont renseignés et que la durée respecte RG9. 6. KerMaint enregistre le résultat (RG5), clôture l’intervention et calcule l’échéance suivante du plan (RG3). 7. KerMaint confirme l’enregistrement.
Scénario alternatif A1 (point d’extension « résultat ») en 6, un point est non conforme : KerMaint crée l’intervention corrective (RG6, cas « Créer une intervention corrective ») et la Messagerie prévient le responsable technique ; reprise en 7.
Scénario alternatif A2 à tout moment, le brouillon est enregistré toutes les 2 minutes ; si la connexion est perdue, la saisie reprend à la réouverture.
Exceptions E1 : en 5, un point manque ou la durée est hors limites → message précis, retour en 2. E2 : en 6, l’intervention a été clôturée entre-temps par un autre utilisateur → message, aucune modification.
Postconditions l’intervention est clôturée avec son résultat ; le plan a une nouvelle échéance ; le contrôle figure dans le registre.
Méthode

Construire le diagramme de cas d'utilisation

  1. Lister les acteurs à partir des entretiens (rôles, pas personnes ; penser aux systèmes extérieurs).
  2. Pour chaque acteur, lister ses objectifs : chacun donne un cas (verbe à l’infinitif + complément).
  3. Tracer le sujet et y placer les cas ; les acteurs à l’extérieur, reliés à leurs cas.
  4. Mettre en commun les parties répétées par «include» ; isoler les comportements facultatifs et conditionnels par «extend», avec point d’extension et condition.
  5. Ajouter les généralisations d’acteurs si un rôle fait tout ce que fait un autre.
  6. Décrire chaque cas important dans une fiche textuelle et relier ses étapes aux règles de gestion.
  7. Faire relire le diagramme et les fiches par le client.

7. Modéliser les classes

Le diagramme de classes d’analyse représente les notions du métier et leurs liens : c’est le vocabulaire du domaine mis en forme. Il prépare à la fois la programmation objet et la base de données, sans encore entrer dans leurs détails.

ADécrire une classe

Définition

Classe d'analyse

Une classe décrit un ensemble d’objets qui ont les mêmes caractéristiques (attributs) et les mêmes comportements (opérations). Une classe d’analyse représente une notion du métier du client (Equipement, PlanPreventif), pas un élément technique (écran, table, fichier).

Une classe se dessine comme un rectangle à trois compartiments : le nom (au singulier, avec une majuscule), les attributs, les opérations. La syntaxe d’un attribut est nom : Type [multiplicité] : dateMes : Date [0..1] veut dire que la date de mise en service d’un équipement peut être absente ; sans crochets, l’attribut a exactement une valeur. En analyse, on se limite à quelques opérations significatives (echeanceSuivante() : Date) ; la visibilité (+, −, #) et le détail des méthodes relèvent de la programmation objet (SLAM-02).

Diagramme de classes d'analyse du module
Etablissement nom : Texte ville : Texte nbChambres : Entier Equipement libelle : Texte categorie : Texte dateMes : Date [0..1] PointControle ordre : Entier libelle : Texte Technicien nom : Texte prenom : Texte Intervention dateDemande : Date priorite : Entier statut : Texte description : Texte dureeMin : Entier [0..1] PlanPreventif libelle : Texte periodiciteMois : Entier prochaineEcheance : Date actif : Booléen echeanceSuivante() : Date InterventionPreventive echeancePrevue : Date resultat : Texte [0..1] enregistrerResultat() 1 0..* contient 1 0..* emploie 1 0..* concerne 0..1 0..* réalise 1..* comprend 1 0..* concerne 1 0..* génère 0..1 0..1 déclenche Intervention n'est pas abstraite : une intervention non préventive est ordinaire (corrective). L'association « déclenche » relie une intervention préventive à l'intervention corrective créée par RG6.
Chaque trait est une association, avec son nom, son sens de lecture (petit triangle plein) et une multiplicité à chaque extrémité. Le losange plein marque la composition entre un plan et ses points de contrôle. Le triangle creux indique que InterventionPreventive est une spécialisation d'Intervention ; une intervention préventive non conforme déclenche une intervention ordinaire, dite corrective.

BAssociations et multiplicités

Définition

Association, multiplicité

Une association est un lien durable entre des objets de deux classes, dessiné par un trait plein ; on peut lui donner un nom, avec un petit triangle plein qui indique le sens de lecture. La multiplicité placée à une extrémité indique combien d’objets de cette classe peuvent être liés à un objet de l’autre classe.

Les multiplicités usuelles
Notation Sens Exemple dans le module
1 exactement un une intervention concerne 1 équipement
0..1 zéro ou un une intervention est réalisée par 0..1 technicien (pas encore affectée)
0..* ou * zéro, un ou plusieurs un équipement fait l’objet de 0..* plans
1..* au moins un un plan comprend 1..* points de contrôle
Méthode

Trouver une multiplicité sans se tromper

  1. Pose la question depuis un objet de la classe d’en face : « Pour un plan préventif, combien d’équipements au minimum ? au maximum ? » → 1 et 1 : on écrit 1 du côté d’Equipement.
  2. Puis dans l’autre sens : « Pour un équipement, combien de plans ? » → 0 à plusieurs : on écrit 0..* du côté de PlanPreventif.
  3. Vérifie chaque réponse avec un cas réel (la chaudière a deux plans ; une borne Wi-Fi n’en a aucun).

CLes liens particuliers

  • La composition (losange plein, côté du tout) indique qu’une partie n’existe pas sans son tout et n’appartient qu’à lui : un point de contrôle n’a pas de sens hors de son plan ; supprimer le plan supprime ses points.
  • L’agrégation (losange creux, côté du tout) indique un simple regroupement, sans dépendance de vie : une équipe et ses techniciens. Elle est peu utilisée ; dans le doute, une association simple suffit.
  • La généralisation (triangle creux côté classe générale) indique qu’une classe spécialisée est une sorte de classe générale : elle hérite de ses attributs, de ses opérations et de ses associations. Une intervention préventive est une intervention, avec en plus une échéance prévue et un résultat.
Définition

Classe abstraite

Une classe abstraite ne peut pas avoir d’objets directement : seules ses spécialisations en ont. Son nom s’écrit en italique (ou suivi de {abstract}). On rend une classe abstraite quand aucun objet ne peut exister sans appartenir à l’une de ses spécialisations.

Dans le module, la classe Intervention n’est pas abstraite : une intervention signalée par la réception ou créée par RG6 est une intervention ordinaire, dite corrective, qui n’a rien de plus que ce que décrit la classe Intervention. Seule l’intervention préventive ajoute des informations (échéance prévue, résultat) : elle seule mérite une sous-classe. Ce choix est repris tel quel dans le code de SLAM-02, où Intervention est une classe concrète et InterventionPreventive sa fille. À l’inverse, en SLAM-02, la classe Equipement est abstraite : un équipement est toujours une climatisation, une chaudière, un ascenseur…

Piège

Ne mets pas de clé étrangère (idEquipement) dans les attributs d’une classe d’analyse : le lien est porté par l’association. Et un attribut qui a lui-même des caractéristiques (un point de contrôle avec son ordre et son libellé) devient une classe, pas une liste de textes.

Quand une association porte elle-même des informations, on la représente par une classe d’association, reliée au trait de l’association par des pointillés. Le résultat de chaque point lors d’une intervention préventive (conforme ou non, commentaire) pourrait se modéliser ainsi entre InterventionPreventive et PointControle ; tu le pratiqueras en exercice 8.

DLes frontières avec les autres chapitres

Le même métier se modélise trois fois, à trois niveaux : ne les confonds pas.

Trois modèles, trois chapitres
Modèle Ce qu’il décrit Chapitre
Diagramme de classes d’analyse les notions du métier et leurs liens ici
Diagramme de classes de conception et code visibilité, types du langage, méthodes, interfaces, héritage programmé SLAM-02, SLAM-07
Modèle des données (MCD, modèle relationnel) tables, clés, contraintes, normalisation SLAM-03

ERetrouver le modèle d’une application existante

Le module s’ajoute à KerMaint, qui existe depuis 2022. Avant de modéliser le neuf, Sarah reconstitue le modèle de l’existant : c’est la rétro-conception (reverse engineering), qui part de ce qui fonctionne (base de données, écrans, code) pour retrouver le modèle.

Définition

Rétro-conception

La rétro-conception consiste à reconstruire le modèle d’une application à partir de ses éléments réalisés : schéma de la base, code source, écrans, documentation. Elle sert à comprendre un existant mal documenté, à préparer une évolution ou une migration.

Le schéma de la base de KerMaint (voir le fil rouge) se lit ainsi : chaque table métier donne une classe ; chaque clé étrangère donne une association ; une clé étrangère obligatoire (NOT NULL) donne la multiplicité 1, une clé facultative donne 0..1 ; une contrainte CHECK donne une règle de gestion. Les outils de modélisation savent dessiner le diagramme à partir de la base ; on peut aussi interroger le catalogue du SGBD.

Exemple

Requête exécutée par Sarah sur une copie de la base de KerMaint (MariaDB 10.11, catalogue information_schema) pour lister les clés étrangères :

SELECT TABLE_NAME AS table_source, COLUMN_NAME AS colonne,
       REFERENCED_TABLE_NAME AS table_cible
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = 'kermaint' AND REFERENCED_TABLE_NAME IS NOT NULL
ORDER BY TABLE_NAME, COLUMN_NAME;
+--------------+----------+---------------+
| table_source | colonne  | table_cible   |
+--------------+----------+---------------+
| equipement   | id_etab  | etablissement |
| intervention | id_equip | equipement    |
| intervention | id_tech  | technicien    |
| technicien   | id_etab  | etablissement |
+--------------+----------+---------------+

Lecture : intervention.id_tech accepte la valeur vide (colonne IS_NULLABLE = YES dans information_schema.COLUMNS) : une intervention est réalisée par 0..1 technicien. intervention.id_equip est obligatoire : elle concerne 1 équipement. La contrainte priorite BETWEEN 1 AND 4 est une règle de gestion qu’il faut garder.

Elle révèle aussi des manques : aucune colonne ne relie une intervention à un plan préventif ; la spécialisation InterventionPreventive du modèle cible demandera une évolution du schéma (SLAM-03, migration en SLAM-08).

8. Décrire les échanges et les traitements

Le diagramme de classes montre ce qui existe ; il ne dit pas ce qui se passe. Le diagramme de séquence décrit les messages échangés pendant un scénario, le diagramme d’activité l’enchaînement des actions d’un traitement.

ALe diagramme de séquence

Définition

Diagramme de séquence

Le diagramme de séquence représente les messages échangés entre des participants pendant un scénario, dans l’ordre chronologique, de haut en bas. Chaque participant a une ligne de vie verticale.

La notation du diagramme de séquence (UML 2.5.1, § 17.2 à 17.6)
Élément Notation
Cadre rectangle avec, en haut à gauche, un pentagone contenant sd et le nom de l’interaction
Ligne de vie rectangle de tête contenant nom : Type (nom facultatif, non souligné en UML 2), puis trait vertical en pointillés ; un acteur peut garder son bonhomme
Spécification d’exécution fine bande verticale sur la ligne de vie : le participant est en train de traiter
Message synchrone (appel) trait plein, pointe pleine : l’émetteur attend la fin du traitement
Message asynchrone trait plein, pointe ouverte : l’émetteur n’attend pas
Réponse trait en pointillés ; le libellé peut indiquer la valeur rendue (p = avancerEcheance())
Message de création trait en pointillés, pointe ouverte, qui arrive sur la tête du participant créé
Fragment combiné rectangle avec l’opérateur dans un pentagone : opt (facultatif), alt (alternatives séparées par des pointillés), loop (répétition) ; la garde s’écrit entre crochets [condition]
Diagramme de séquence « Valider un contrôle »
sd Valider un contrôle Technicien : EcranControle ip : InterventionPreventive plan : PlanPreventif valider(relevés) enregistrerResultat(relevés) avancerEcheance() p = avancerEcheance() r = enregistrerResultat opt [r = non conforme] : Intervention créer(equipement, 2) valider : confirmation flèche pleine : appel synchrone · pointillés : réponse ou création
Le technicien valide sur l'écran. L'écran demande à l'intervention préventive d'enregistrer le résultat ; celle-ci demande au plan d'avancer son échéance. Le fragment opt n'a lieu que si le résultat est non conforme : l'écran crée alors une intervention corrective (message de création en pointillés). L'écran renvoie enfin une confirmation.

Ce diagramme détaille les étapes 4 à 7 du scénario nominal et l’alternative A1 de la fiche « Enregistrer un contrôle ». Les messages correspondent à des opérations des classes : enregistrerResultat() doit figurer dans InterventionPreventive, avancerEcheance() dans PlanPreventif. C’est ainsi qu’on vérifie la cohérence des diagrammes : tout message reçu par un objet doit être une opération de sa classe. Ici, avancerEcheance() manque encore au diagramme de classes : il faudra l’ajouter (Sarah l’a noté pour la version suivante).

Piège

Un diagramme de séquence décrit un scénario, pas toutes les possibilités : s’il faut dix fragments alt imbriqués, le diagramme est illisible. Fais un diagramme par scénario important, et garde les alternatives dans la fiche textuelle.

BLe diagramme d’activité

Définition

Diagramme d'activité

Le diagramme d’activité représente l’enchaînement des actions d’un traitement ou d’un processus métier, avec ses décisions et ses actions parallèles. Il peut être découpé en couloirs (partitions) qui montrent qui fait quoi.

La notation du diagramme d’activité (UML 2.5.1, § 15.2 à 15.6)
Élément Notation
Action rectangle à coins arrondis, nommé par un verbe
Flux flèche à pointe ouverte ; une garde entre crochets près du départ
Nœud initial petit rond plein
Fin de l’activité rond plein dans un cercle (cible) : tout s’arrête
Fin de flux cercle barré d’une croix : seul ce chemin s’arrête
Décision et fusion losange : une entrée et plusieurs sorties gardées (décision), ou plusieurs entrées et une sortie (fusion)
Fourche et jonction barre épaisse : une entrée et plusieurs sorties parallèles (fourche), ou plusieurs entrées attendues avant de continuer (jonction)
Partition (couloir) bandes parallèles avec le nom du responsable en tête
Diagramme d'activité « Traiter une échéance préventive »
Traiter une échéance préventive KerMaint Technicien Responsable technique Générer l'intervention préventive (J − 7) Réaliser le contrôle sur place Saisir les relevés et valider [non conforme] Créer l'intervention corrective (priorité 2) Planifier la réparation [conforme] Clôturer l'intervention Calculer l'échéance suivante
KerMaint génère l'intervention 7 jours avant l'échéance ; le technicien réalise le contrôle et saisit les relevés. Si un point est non conforme, KerMaint crée l'intervention corrective que le responsable technique planifie. Les deux chemins se rejoignent ; KerMaint clôture l'intervention et calcule l'échéance suivante en parallèle.

Les gardes d’une même décision doivent être exclusives et couvrir tous les cas : [conforme] et [non conforme]. Le diagramme d’activité convient pour montrer un processus métier à un client, qui le lit plus facilement qu’un diagramme de séquence.

À retenir

Quel diagramme pour quelle question ?

  • Qui utilise le système et pour quoi faire ? → cas d’utilisation (et fiches textuelles).
  • Quelles notions et quels liens ? → classes.
  • Qui envoie quel message à qui, dans un scénario ? → séquence.
  • Dans quel ordre, avec quelles décisions et quel parallélisme ? → activité.

9. Choisir une architecture

L’architecture applicative, c’est la façon dont l’application est découpée en parties et dont ces parties communiquent et sont déployées. Le développeur ne la décide pas seul, mais il doit savoir lire et justifier les choix possibles.

ALes grandes typologies

Définition

Architecture applicative

L’architecture applicative décrit le découpage d’une application en composants (interface, traitements métier, accès aux données, services), leurs échanges et leur déploiement sur des machines.

Typologie des architectures applicatives
Architecture Principe Exemple dans le fil rouge
Client-serveur un client envoie des requêtes, un serveur les traite ; client léger (navigateur) ou lourd (logiciel installé) KerMaint : navigateur de la tablette → serveur web
En couches (trois niveaux) présentation / logique métier / données, chaque couche n’appelle que la suivante KerMaint : écrans, règles de gestion, MariaDB
MVC modèle, vue, contrôleur : une organisation du code de la couche applicative le framework de KerMaint (SLAM-07)
Monolithique une seule application déployée d’un bloc KerMaint aujourd’hui
Orientée services, API des fonctions exposées par des interfaces normalisées, appelées par d’autres applications l’API KerResa (SLAM-09)
Microservices beaucoup de petits services indépendants, déployés séparément non utilisé : trop lourd pour une petite équipe
Application mobile native (installée, accès au matériel), web (navigateur) ou hybride « Kervanet & Moi », cliente de KerResa

L’hébergement fait aussi partie des choix : serveur du client (KV-KERMAINT), prestataire, ou logiciel à la demande (SaaS), comme le logiciel de gestion hôtelière de Kervanet (CEJMA-01).

BL’architecture retenue pour le module

Anaïs et Sarah comparent deux options : intégrer le module dans KerMaint ou acheter un logiciel de maintenance du marché en SaaS (comparaison chiffrée en exercice 7). Elles proposent l’intégration :

  • les écrans du module sont de nouvelles vues de KerMaint, utilisées dans le navigateur des tablettes ;
  • la logique métier (RG1 à RG9) est programmée dans le framework de KerMaint ;
  • les données sont dans la base MariaDB existante : équipements et techniciens sont partagés, sans double saisie ;
  • la génération nocturne (RG4) est une tâche planifiée sur KV-KERMAINT à 5 h, qui joue le rôle de l’acteur Planificateur ;
  • les notifications passent par l’envoi de courriels que KerMaint utilise déjà ;
  • l’export PDF du registre utilise la bibliothèque déjà présente dans KerMaint, sous licence LGPL, autorisée par la politique de Vellacor (CEJMA-02).
Exemple chiffré

Ce que le module ajoute à la charge du serveur

Données : 58 plans. Même tous mensuels, ils donneraient 58 interventions par mois, environ 2 par jour. Interprétation : charge négligeable pour KV-KERMAINT (4 vCPU, 8 Go) ; le choix se joue sur l’intégration des données et le coût.

Astuce

Le mode hors connexion (US6, Could) changerait l’architecture : saisies stockées sur la tablette, puis synchronisées, avec des conflits à gérer. Sarah le note comme évolution possible, hors devis : le brouillon automatique couvre l’essentiel du risque.

10. Chiffrer une solution

Une solution se choisit aussi sur son coût, et pas seulement sur le prix du développement. Il faut additionner tout ce qu’elle coûtera, au client comme au prestataire, pendant sa durée de vie.

ALa composition du coût

Les composantes du coût d’une solution applicative
Composante Contenu Pour le module
Réalisation analyse, conception, maquettes, développement, tests, recette, pilotage, déploiement, documentation, formation le devis de Vellacor
Acquisition licences, composants, matériel composants libres déjà présents ; aucun matériel
Exploitation hébergement, sauvegarde, supervision, énergie serveur existant, coût marginal négligeable
Maintenance corrective, évolutive, mises à jour corrective : comprise dans la TMA du forfait ; évolutions : sur devis
Coûts internes du client temps des utilisateurs (entretiens, recette, formation), conduite du changement temps de Franck Guillou et des techniciens
Sortie réversibilité, export des données données dans la base de Kervanet, déjà couvertes par le plan de réversibilité (CEJMA-04)
Définition

Coût total de possession

Le coût total de possession (total cost of ownership, TCO) est la somme de tous les coûts d’une solution sur une durée donnée (souvent 3 à 5 ans) : acquisition et réalisation, exploitation, maintenance et coûts internes. Il permet de comparer des solutions dont les coûts ne tombent pas au même moment (un développement payé une fois contre un abonnement mensuel).

BLe devis du module

La charge s’estime par activité et par personne, en jours-homme (j-h), puis se valorise aux prix de journée de Vellacor (B1-10) : cheffe de projet ou responsable technique 680 € HT, technicien ou développeur 560 € HT, alternant 400 € HT.

Exemple chiffré

Le devis envoyé à Kervanet le 19/10/2026

Données : charges estimées par Anaïs et Sarah.

Activité Charge Montant HT
Analyse et modélisation (Anaïs 2 j, Sarah 3 j) 5 j-h 2 × 680 + 3 × 400 = 2 560 €
Maquettes et prototype (Sarah 2 j) 2 j-h 2 × 400 = 800 €
Développement (Romain 6 j, Sarah 5 j) 11 j-h 6 × 560 + 5 × 400 = 5 360 €
Tests et recette (Romain 1 j, Sarah 2 j) 3 j-h 560 + 800 = 1 360 €
Déploiement, documentation, formation (Romain 1 j, Sarah 1 j) 2 j-h 560 + 400 = 960 €
Pilotage (Mélodie Rochereau 2 j) 2 j-h 2 × 680 = 1 360 €
Sous-total 25 j-h 12 400 €

Calcul : réserve pour aléas de 10 % = 12 400 × 0,10 = 1 240 € ; total = 12 400 + 1 240 = 13 640 € HT.

Coûts internes de Kervanet (hypothèses de Vellacor) : Franck Guillou 10 h à 40 € = 400 € ; Mathis et Nadia, 12 h en tout à 30 € = 360 € ; formation d’une heure des 12 utilisateurs réguliers à 30 € = 360 € ; soit 1 120 €.

Interprétation : le module coûte à Kervanet 14 760 € la première année (13 640 + 1 120), puis presque rien en exploitation. Ce montant se compare au coût des oublis : un contrôle de sécurité oublié peut entraîner une panne en pleine saison ou mettre en cause la responsabilité de l’exploitant.

Piège

Oublier les coûts internes du client et la maintenance fausse toute comparaison : un logiciel du marché paraît moins cher à l’achat, mais son abonnement, sa formation et la double saisie s’additionnent chaque année.

11. Maquetter une interface

Les utilisateurs comprennent mieux un écran qu’un diagramme. La maquette et le prototype permettent de valider l’interface tôt, en appliquant les principes d’ergonomie et d’accessibilité, puis en la testant avec de vrais utilisateurs.

AMaquettes et prototypes

Définition

Maquette, prototype

  • Une maquette (wireframe, puis mock-up) est une représentation statique d’un écran : disposition des zones, libellés, boutons. En basse fidélité (croquis, niveaux de gris), on discute de l’organisation ; en haute fidélité (couleurs, typographie), de l’aspect final.
  • Un prototype est une version interactive et simplifiée : on peut cliquer, enchaîner les écrans, saisir. Il peut être jetable (fait pour tester une idée) ou évolutif (il devient l’application).

On maquette sur papier, avec un outil de conception d’interfaces (Penpot, outil libre, ou des outils en ligne du marché) ou directement en HTML et CSS. La maquette respecte la charte graphique du client quand elle existe (couleurs de Kervanet, B1-08), mais pour un outil interne sur tablette, la lisibilité prime.

Maquette de l'écran « Contrôle préventif » sur tablette
‹ Retour Contrôle préventif M. Le Goff Chaudière principale · K-002 · Port-Neuf Entretien annuel · échéance le 16/11/2026 1. Brûleur nettoyé ✓ Conforme Non conforme 2. Pression du circuit ✓ Conforme Non conforme 3. Évacuation des fumées Conforme ✗ Non conforme 4. Organes de sécurité Conforme Non conforme Durée (min) 90 Observation… Ajouter une photo Enregistrer le brouillon Valider le contrôle 1 2 3 4 1 Cibles tactiles d'au moins 44 × 44 px, utilisables avec des gants 2 Texte et symbole en plus de la couleur : l'état se lit sans voir les couleurs 3 Brouillon enregistré seul toutes les 2 min (saisie jamais perdue) 4 Action principale en bas à droite, inactive tant qu'un point reste à remplir
Pour chaque point de contrôle, deux grands boutons Conforme et Non conforme. L'état choisi se lit par la couleur, mais aussi par un symbole et du texte en gras. Le brouillon s'enregistre seul ; le bouton Valider, isolé en bas à droite, reste inactif tant qu'un point n'est pas renseigné.

BLes principes d’ergonomie

L’ergonomie d’une interface, c’est sa capacité à être utilisée efficacement, sans erreur et avec satisfaction par ses utilisateurs, dans leur situation réelle. La norme ISO 9241-110:2020 énonce des principes d’interaction ; en France, on utilise aussi beaucoup les critères ergonomiques de Christian Bastien et Dominique Scapin (INRIA, 1993), conçus pour évaluer une interface.

Les principaux critères ergonomiques, appliqués à l’écran de contrôle
Critère Ce qu’il demande Sur l’écran de contrôle
Guidage l’utilisateur sait où il est, quoi faire, ce qui s’est passé nom de l’équipement et échéance en tête ; confirmation après validation
Charge de travail peu de saisie, peu à mémoriser, informations utiles seulement deux boutons par point au lieu d’une liste déroulante ; durée seule à taper
Contrôle explicite l’utilisateur déclenche les actions importantes lui-même la validation est un geste volontaire, jamais automatique
Adaptabilité l’interface s’adapte au contexte et aux utilisateurs gros boutons utilisables avec des gants ; affichage en mode portrait ou paysage
Gestion des erreurs prévenir les erreurs, les signaler clairement, permettre de corriger « Valider » inactif tant qu’un point manque ; message précis sur le point oublié
Homogénéité mêmes choix d’un écran à l’autre mêmes boutons et mêmes couleurs que les autres écrans de KerMaint
Signifiance des codes et des dénominations des libellés clairs, dans les mots de l’utilisateur « Conforme » et « Non conforme », termes du glossaire
Compatibilité l’interface correspond aux habitudes et au travail réel points dans l’ordre où le technicien les contrôle sur place

CConcevoir pour la tablette et pour tous

L’accessibilité, étudiée en B1-09 avec le RGAA pour les sites publics, s’applique aussi à une application interne comme bonne pratique : elle profite à tous les utilisateurs (gants, lumière forte, fatigue) et à ceux qui ont un handicap.

À retenir

Les règles d'accessibilité à appliquer dès la maquette

  • Ne jamais transmettre une information par la couleur seule : l’état « Non conforme » est orange, mais aussi marqué d’une croix et écrit en gras.
  • Contraste suffisant entre le texte et le fond (au moins 4,5 pour 1 pour un texte normal, calcul en B1-09).
  • Cibles tactiles assez grandes : les règles internationales WCAG 2.2 demandent au moins 24 × 24 pixels CSS (niveau AA) et recommandent 44 × 44 (niveau AAA) ; KerMaint retient 44 × 44 pour le travail avec des gants.
  • Chaque champ a une étiquette visible (« Durée (min) ») et les messages d’erreur disent quoi corriger.
  • Tout est utilisable au clavier et lisible par un lecteur d’écran (titres, ordre logique).

DÉvaluer et valider une interface

On évalue une maquette ou un prototype de deux façons :

  • l’inspection : un spécialiste examine l’interface critère par critère et liste les défauts ;
  • le test utilisateur : de vrais utilisateurs réalisent des tâches précises sur le prototype, sans aide ; on observe et on mesure le taux de réussite, le temps et les erreurs, puis on recueille leur avis.
Méthode

Organiser un test utilisateur

  1. Choisir 3 à 5 utilisateurs représentatifs (les vrais techniciens, pas des collègues développeurs).
  2. Écrire des tâches réalistes, avec un objectif clair (« enregistre le contrôle de la chaudière, un point est non conforme »), sans donner le mode d’emploi.
  3. Observer sans aider ; noter les hésitations, les erreurs, le temps.
  4. Calculer les indicateurs : taux de réussite par tâche, temps moyen, erreurs.
  5. Classer les problèmes par gravité et corriger la maquette ; retester si le changement est important.
Exemple chiffré

Le test du prototype, mardi 13 octobre 2026

Données : 5 techniciens (dont Mathis Le Goff et Nadia Poitevin) ; trois tâches : T1 enregistrer un contrôle conforme, T2 enregistrer un contrôle avec un point non conforme, T3 trouver les échéances en retard d’un établissement. Réussites : T1 5 sur 5, T2 3 sur 5, T3 4 sur 5. Temps pour T1 : 95, 110, 80, 130 et 100 secondes.

Calcul : taux de réussite global = (5 + 3 + 4) ÷ 15 = 12 ÷ 15 = 80 % ; temps moyen de T1 = (95 + 110 + 80 + 130 + 100) ÷ 5 = 515 ÷ 5 = 103 secondes.

Interprétation : T1 respecte l’exigence « moins de 2 minutes » (103 s < 120 s). T2 pose problème : deux techniciens n’ont pas vu comment marquer un point non conforme, car le premier prototype utilisait un petit interrupteur. Sarah l’a remplacé par les deux grands boutons de la maquette ci-dessus.

12. Valider le modèle avec le client

Un modèle n’a de valeur que s’il est validé par ceux qui ont exprimé le besoin. La validation se prépare, se conduit avec des scénarios concrets et se conclut par un accord écrit, qui devient la référence pour la réalisation et la recette.

AFaire comprendre le modèle

Franck Guillou ne lit pas l’UML. Sarah prépare donc une revue de validation avec des supports adaptés :

  • les récits et leurs critères d’acceptation, en français courant ;
  • les règles de gestion, chacune illustrée d’un exemple chiffré (les trois plans de RG3) ;
  • le diagramme d’activité, qui ressemble à un logigramme ;
  • la maquette et le prototype, sur une vraie tablette ;
  • des scénarios déroulés de bout en bout (« le 9 novembre à 5 h, KerMaint crée l’intervention… »).

Les diagrammes de classes et de séquence sont validés en interne par Anaïs (cohérence avec les récits et les règles).

BLa revue du 16 octobre 2026

La revue réunit Franck Guillou, Mélodie Rochereau, Anaïs Lecoq, Sarah et Mathis Le Goff. Six scénarios sont déroulés. Trois remarques sont retenues : un plan doit pouvoir être suspendu pendant la fermeture d’un établissement (d’où l’attribut actif de PlanPreventif) ; un organe de sécurité non conforme doit prévenir immédiatement le responsable (exigence de sûreté) ; l’export PDF n’est pas indispensable pour la première version (US5 reste Should). Le compte rendu, avec la version 1.0 des spécifications, est validé par Franck Guillou et Mélodie Rochereau.

Définition

Traçabilité des exigences

La traçabilité relie chaque besoin à ce qui le réalise et à ce qui le vérifie : récit → cas d’utilisation → règles de gestion → tests de recette. Elle permet de prouver que tout ce qui a été demandé est réalisé et testé, et de mesurer l’impact d’un changement.

Extrait de la matrice de traçabilité du module
Récit Cas d’utilisation Règles Tests de recette
US1 Gérer les plans préventifs RG1, RG2, RG8 MP-01 à MP-04
US2 Consulter les échéances RG7 MP-05, MP-06
US3 Enregistrer un contrôle RG3, RG5, RG9 MP-07 à MP-10
US4 Créer une intervention corrective (extension) RG6 MP-11, MP-12
— Générer les interventions préventives RG4 MP-13, MP-14
Méthode

Conduire la validation d'un modèle

  1. Vérifier en interne la cohérence : chaque récit a un cas, chaque message de séquence une opération, chaque règle un test, chaque terme un sens dans le glossaire.
  2. Préparer des supports lisibles par le client : récits, règles illustrées, activité, maquettes, scénarios.
  3. Dérouler des scénarios réels, y compris des cas d’erreur, plutôt que commenter des diagrammes.
  4. Noter les remarques, décider ensemble de leur sort (accepté, refusé, reporté) et mettre le modèle à jour.
  5. Faire valider par écrit la version des spécifications (compte rendu signé ou validation dans l’outil) : c’est la référence du devis et de la recette.
  6. Gérer les changements ultérieurs : toute nouvelle demande passe par une analyse d’impact et, si elle sort du périmètre, par un nouveau devis (CEJMA-03, SLAM-11).

CEt après ?

Le devis est envoyé le 19 octobre 2026 à Gwenaëlle Le Bihan. S’il est accepté, US1 à US4 entreront dans le backlog produit après l’objectif en cours (fin prévue le 11 décembre, B1-10).

Erreurs fréquentes et points de vigilance

  • Écrire la solution au lieu du besoin (« ajouter une table ») : le besoin vient du client, la solution du prestataire.
  • Laisser des exigences non fonctionnelles non mesurables (« rapide », « simple »).
  • Confondre acteur et personne, ou nommer un cas d’utilisation par un nom ou par un clic.
  • Inverser le sens des flèches «include» (de la base vers l’inclus) et «extend» (de l’extension vers la base).
  • Placer la multiplicité du mauvais côté de l’association, ou mettre des clés étrangères dans les attributs d’une classe d’analyse.
  • Mettre le losange de composition du côté de la partie au lieu du tout.
  • Souligner les noms des lignes de vie (notation d’UML 1) ou dessiner une réponse en trait plein.
  • Des diagrammes incohérents entre eux : un message de séquence qui ne correspond à aucune opération.
  • Faire valider des diagrammes par un client qui ne les lit pas, au lieu de scénarios et de maquettes.

L’essentiel du chapitre

  • Analyser, c’est passer du besoin du client à des spécifications vérifiables, puis à un modèle validé, avant de développer.
  • Cycles séquentiels, itératifs (dont agiles) ou avec prototypage : en agile, l’analyse est découpée et affinée avant chaque sprint.
  • Le besoin se recueille par entretien, observation, atelier, questionnaire et analyse de l’existant ; ses contraintes juridiques deviennent des exigences.
  • On formalise : acteurs, besoins fonctionnels, exigences non fonctionnelles mesurables (grille ISO/IEC 25010:2023), règles de gestion numérotées, glossaire.
  • Un récit utilisateur (« En tant que…, je veux… afin de… ») respecte la grille INVEST et porte des critères d’acceptation (Étant donné / Quand / Alors).
  • UML 2.5.1 : cas d’utilisation (acteurs, sujet, «include», «extend», fiche textuelle), classes (attributs, opérations, associations, multiplicités, composition, généralisation), séquence (lignes de vie, messages synchrones, réponses, fragments), activité (actions, décisions, fourches, couloirs).
  • La rétro-conception reconstruit le modèle d’un existant à partir de sa base, de son code et de ses écrans.
  • L’architecture (client-serveur, couches, monolithe, services, mobile, hébergement) se choisit selon l’intégration, le coût et les compétences.
  • Le coût d’une solution inclut réalisation, acquisition, exploitation, maintenance, coûts internes et sortie : on compare des coûts totaux de possession.
  • Une interface se maquette, se prototype et s’évalue (critères ergonomiques, test utilisateur), en appliquant l’accessibilité dès le départ.
  • Le modèle se valide avec le client par des scénarios et des maquettes, avec une traçabilité des besoins jusqu’aux tests.

Sources et références

  • Arrêté du 29 avril 2019 portant définition et fixant les conditions de délivrance du BTS « Services informatiques aux organisations », modifié par les arrêtés du 8 juillet 2024 et du 22 novembre 2024 : annexe I.B, bloc 2 option B, compétence « Concevoir et développer une solution applicative » et savoirs associés ; définition de l’épreuve E6.
  • OMG, Unified Modeling Language, version 2.5.1, document formal/17-12-05, décembre 2017 (omg.org/spec/UML/2.5.1) : notation des cas d’utilisation (§ 18.1.4), des associations (§ 11.5.4), de la généralisation (§ 9.2.4), des attributs (§ 9.5.4), des interactions (§ 17.2.4 à 17.6.4) et des activités (§ 15.2.4, 15.3.4, 15.6.4) ; consulté le 20/10/2026.
  • ISO/IEC 25010:2023, Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model, 2e édition, novembre 2023 (fiche iso.org : neuf caractéristiques, norme publiée en anglais seulement) ; noms anglais des caractéristiques relevés sur quality.arc42.org ; traduction française libre ; consultés le 20/10/2026.
  • ISO 9241-110:2020, Ergonomics of human-system interaction — Part 110: Interaction principles (fiche iso.org : 2e édition, mai 2020, confirmée en 2025) ; consultée le 20/10/2026.
  • C. Bastien, D. Scapin, Ergonomic criteria for the evaluation of human-computer interfaces, rapport technique INRIA RT-0156, 1993, critères présentés en anglais et en français (inria.hal.science/inria-00070012, notice consultée le 20/10/2026).
  • W3C, WCAG 2.2, critères 2.5.8 « Target Size (Minimum) » (24 × 24 px, niveau AA) et 2.5.5 « Target Size (Enhanced) » (44 × 44 px, niveau AAA), pages « Understanding » de w3.org, consultées le 20/10/2026.
  • Scrum Guide (novembre 2020), récits utilisateur et MoSCoW : voir B1-10. RGAA 4.1.2 et obligations d’accessibilité : voir B1-09.
  • Requête de rétro-conception exécutée le 20/10/2026 sur la machine de laboratoire LAB-UBU01 (MariaDB 10.11 ; le catalogue information_schema utilisé est le même en MariaDB 11.8), sur une copie du schéma de KerMaint.

Garde la trace de ce que tu as lu

Avec un compte, ta progression, tes quiz et ton planning sont enregistrés.

Créer mon compte
Signaler une erreur dans ce chapitre