Scénario (informatique)
Un scénario en informatique est une trame narrative qui décrit un ensemble d'interactions possibles entre des utilisateurs et des systèmes (logiciels, matériels et services).
Type des scénarios
modifierUne variété de types de scénarios sont utilisés dans le développement de systèmes, dont[1]:
Type | Description | Outils |
---|---|---|
Récit | description narrative d'une séquence d'événements ou d'actions ayant un lien de causalité.
Les récits utilisateurs en sont une forme succincte, populaire dans le contexte des méthodes dites agile[2] |
Texte descriptif
Exposé oral |
Situation
Monde alternatif |
situation hypothétique future dans laquelle on se projette | Raisonnement hypothétique
« Que se passerait-il si... » « Imaginons que... » |
Simulation | exploration virtuelle et interactive sur la base de modèles;
Permet de jouer l'enchainement des événements et d'en prédire le résultat et les impacts |
Maquette logicielle |
Storyboard | séquence de dessins, utilisés pour raconter une histoire.
Cette forme est courante pour concevoir l’interaction homme-machine, et en particulier les dialogues de l'utilisateur à l'écran |
Croquis et esquisses
Dessins « Wireframes » |
Séquence | suite d'étapes et d'interactions entre humains et systèmes. | Présentation tabulaire
Liste numérotées Scénarios opérationnels Cartographie du parcours utilisateur Scénarios de test |
Structure | représentation plus structurée d'un scénario | Cas d'utilisation
Cartographie de récits utilisateurs Diagrammes de séquence |
Les scénarios peuvent aussi être négatifs et représenter des situations que l'on souhaiterait éviter, comme des situations pénibles pour les utilisateurs, ou encore les cas d'abus ou de détournement d'utilisation[3], les récits d'abuseur[4] qui décrivent des menaces probables. Les scénarios négatifs peuvent en outre aider à identifier des exigences non fonctionnelles[1].
Utilisation des scénarios
modifierLe SWEBOK identifie dans le domaine du génie logiciel explicitement l'utilisation des scénarios pour la gestion des exigences, la conception, et les tests.
Les scénarios ont toutefois de nombreuses applications possibles dans le développement de systèmes[5] :
Objectif | Utilisation des scénarios | Forme fréquemment utilisée |
---|---|---|
Analyse des besoins | la description d'une situation sous forme de scénario permet aux analystes de « jouer » les différents cas de figure et ainsi de découvrir ou clarifier des exigences. Les scénarios négatifs contribuent également à l'élicitation des exigences[6]. | Cas d'utilisation
Scénario négatif |
Communication entre utilisateur et concepteur | l'utilisation de scénarios facilite le dialogue avec les utilisateurs par le biais de la narration et l'appel à l'imagination qui en résulte | Conversation de situation
Ateliers (« workshop ») Simulation sur tableau blanc |
Justification de la conception | des scénarios particuliers peuvent motiver des choix de conception et servir alors de justification aisément compréhensible | Scénario négatif |
Visualisation | les scénarios « peuvent être un moyen pour déterminer à quoi devrait ressembler le système et ce qu'il devrait faire », par exemple sous la forme de maquettes graphiques ou des maquettes logicielles | Storyboards |
Conception du logiciel | l'analyse des scénarios permet d'identifier les fonctionnalités nécessaires, de définir le comportement du système et de déterminer les objets que le système devra gérer | Cas d'utilisation
Cartographie de récits utilisateurs Tous les scénarios de type structure |
Mise en œuvre | les logiciels peuvent être implémentés scénario par scénario, ce qui permet de garder une dynamique de productivité chez les développeurs et de confirmer que le système est conforme aux scénarios souhaités. | Récits utilisateur |
Documentation et formation | les scénarios les plus significatifs pour l'utilisateur peuvent aider à rédiger le manuel d'emploi et à préparer des séquences de formation qui prennent au mieux en compte la réalité des tâches de l'utilisateur. | Storyboards |
Évaluation et test | les scénarios décrivent les interactions avec le système. Ils sont de ce fait idéaux pour structurer les tests et évaluer dans quelle mesure le système répond aux besoins | Cas d'utilisation
Critères de confirmation des récits utilisateur |
Abstraction | les scénarios peuvent être comparés pour faire émerger des règles générales ou des comportements génériques applicables à différentes tâches | |
Team building | « un ensemble commun d'histoires fondatrices est un élément de cohésion important dans tout système social »[5] |
Les scénarios sont également utilisés dans le « design thinking » et le « design sprint » pour concevoir de façon interactive des solutions innovantes[7]:
- Lors de la phase exploratoire « esquisser », chaque participant développe des idées de solutions qu'il présente sous forme d'une esquisse, qui peut être vue comme un début de scénario;
- Lors de la phase de maturation « décider », les participants développent un storyboard de la solution;
- Lors de la phase du prototype, les participants font une maquette réaliste du produit en vue de permettre une simulation du scénario retenu;
- Enfin, lors de la phase de test, la maquette est exposée à des utilisateurs potentiels et la simulation permet d'évaluer la pertinence et les chances de succès de la solution retenue.
Exemples d'utilisation
modifierLe choix de la forme des scénarios varie considérablement selon le mode de développement et le secteur d'activité:
Contexte du projet | Exemple | Forme du scénario | Mode de développement |
---|---|---|---|
Grand projet militaire | Avions de chasse |
Vue opérationnelle, concept d'opération | Cycle de vie en cascade, documentation très complète (voir DoDAF ) |
Projet aérospatial | Systèmes de satellites[8] | Concept opérationnel[9],
Scénario opérationnel[10] |
Cycle en V[11] |
Produit complexe combinant matériel et logiciel | Voiture, systèmes de télécommunication | Cas d'utilisation [12] | Processus unifié |
Logiciel de gestion | Application de téléphonie mobile | Récit utilisateur[2] | Développement agile |
Références
modifier- (en) Alexander, Ian et Maiden, Neil, Scenarios, stories, use cases : through the systems development life-cycle, Wiley, (ISBN 0-470-86195-9, 9780470861950 et 128027140X, OCLC 61744545, lire en ligne)
- (en) Cohn, Mike, User stories applied : for agile software development, Addison-Wesley, (ISBN 0-321-20568-5 et 9780321205681, OCLC 54365622, lire en ligne)
- (en) Donald Firesmith, « Security Use Cases », Journal of Object Technology, ETH Zurich, Chair of Software Engineering, vol. 2, no 3, , p. 53-64 (lire en ligne)
- Agence Nationale de la Sécurité des Systèmes d'Information, « Agilité et sécurité numériques : méthode et outils à l’usage des équipes projet (publication téléchargeable) », sur ANSSI, (consulté le )
- (en) Carroll, John M., Scenario-based design : envisioning work and technology in system development, New-York/Chichester/Brisbane etc., Wiley, , 408 p. (ISBN 0-471-07659-7 et 9780471076599, OCLC 31412244, lire en ligne)
- (en) Sebastian Uchitel, Jeff Kramer et Jeff Magee, « Negative scenarios for implied scenario elicitation », ACM SIGSOFT Software Engineering Notes, vol. 27, no 6, , p. 109 (DOI 10.1145/605466.605484, lire en ligne, consulté le )
- Knapp, Jake., Kowitz, Braden. et Pavillet, Marie-France. (trad. de l'anglais), Sprint : résoudre les problèmes et trouver de nouvelles idées en cinq jours, Paris, Eyrolles, 302 p. (ISBN 978-2-212-56606-2, OCLC 980347083, lire en ligne)
- (en) INCOSE, « Global Positioning System II - SEBoK », sur www.sebokwiki.org (consulté le )
- (en) INCOSE, « Business or Mission Analysis - SEBoK », sur www.sebokwiki.org (consulté le )
- (en) INCOSE, « Operational Scenario (glossary) - SEBoK », sur www.sebokwiki.org (consulté le )
- (en) Kevin Forsberg et Harold Mooz, « The Relationship of System Engineering to the Project Cycle », INCOSE International Symposium, vol. 1, no 1, , p. 57–65 (ISSN 2334-5837, DOI 10.1002/j.2334-5837.1991.tb01484.x, lire en ligne, consulté le )
- Jacobson, Ivar., Rumbaugh, James. et Zaïm, Virginie., Le processus unifié de développement logiciel, Eyrolles, (ISBN 978-2-212-09142-7, OCLC 45152206, lire en ligne)
Voir aussi
modifierArticles connexes
modifierLiens externes
modifier- Notes sur les pratiques de conception: histoires et prototypes en tant que catalyseurs de la communication. par Thomas Erickson (cité dans Carroll, John M. (ed) Conception basée sur des scénarios: envisager le travail et la technologie dans le développement de systèmes Wiley, 1995.)