Scénario (informatique)
# 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

Une variété de types de scénarios sont utilisés dans le développement de systèmes, dont:

| 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 | 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, les récits d'abuseur qui décrivent des menaces probables. Les scénarios négatifs peuvent en outre aider à identifier des exigences non fonctionnelles.

## Utilisation des scénarios

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 :

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

Les scénarios sont également utilisés dans le « design thinking » et le « design sprint » pour concevoir de façon interactive des solutions innovantes:

* 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

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 | Concept opérationnel, Scénario opérationnel | Cycle en V |
| Produit complexe combinant matériel et logiciel | Voiture, systèmes de télécommunication | Cas d'utilisation | Processus unifié |
| Logiciel de gestion | Application de téléphonie mobile | Récit utilisateur | Développement agile |
