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 modifier

Une 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

Récits utilisateurs

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

Prototype

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

Diagrammes de communication

Modèles de processus

EPC

Organigrammes,

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 modifier

Le 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

Récits utilisateur

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

Wireframe

Mock-up

Prototypes

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

Cas d'utilisation

Cartographie de récits utilisateurs

É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 modifier

Le 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) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Scenario (computing) » (voir la liste des auteurs).
  1. a et b (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)
  2. a et b (en) Cohn, Mike, User stories applied : for agile software development, Addison-Wesley, (ISBN 0-321-20568-5 et 9780321205681, OCLC 54365622, lire en ligne)
  3. (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)
  4. 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 )
  5. a et b (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)
  6. (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 )
  7. 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)
  8. (en) INCOSE, « Global Positioning System II - SEBoK », sur www.sebokwiki.org (consulté le )
  9. (en) INCOSE, « Business or Mission Analysis - SEBoK », sur www.sebokwiki.org (consulté le )
  10. (en) INCOSE, « Operational Scenario (glossary) - SEBoK », sur www.sebokwiki.org (consulté le )
  11. (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 )
  12. 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 modifier

Articles connexes modifier

Liens externes modifier