• Aucun résultat trouvé

Pour aller plus loin : Spécification et préparation des tests

N/A
N/A
Protected

Academic year: 2022

Partager "Pour aller plus loin : Spécification et préparation des tests"

Copied!
7
0
0

Texte intégral

(1)

Pour aller plus loin : Spécification et préparation des tests

Denis Conan

avec Chantal Taconet et Christian Bac

CSC4102

(2)

Pour aller plus loin : Spécification et préparation des tests

Table des matières

Pour aller plus loin : Spécification et préparation des tests

Denis Conan, avec Chantal Taconet et Christian Bac, Télécom SudParis, CSC4102

Janvier 2022 1

1 Complément sur les relations entre cas d’utilisation 3

2 Diagrammes d’activité 4

2.1 Actions et choix . . . 5 2.2 Concurrence . . . 6 2.3 Autres notations du diagramme d’activité . . . 7

(3)

# 2

'

&

$

%

1 Complément sur les relations entre cas d’utilisation

■ «include»=réutilisation complète sans changement,

■ généralisation spécialisation ou héritage=spécialisation de certaines actions du cas d’utilisation d’origine,

■ «extend»a =ajout de fonctionnalité facultative.

Créer un scrutin Voter

Authentification M1

Enregistrement tentatives Vérifier droits

relation d’inclusion

d’extension relation

généralisation spécialisation relation de

<<include>>

<<include>>

<<extend>>

a. Sémantique très controversée, donc évitez d’utiliser«extend»

Les relations entre cas d’utilisation ont pour but de décomposer le système en fonctionnalités à granularité plus fine, suivant ainsi l’adage « diviser pour régner ». Il existe trois types de décompositions ou relations entre cas d’utilisation, les deux principales étant l’inclusion et l’héritage, la troisième (l’extension) étant d’utilisation mal aisée et déconseillée1.

La relation la plus simple à comprendre entre deux cas d’utilisation est l’inclusion notée par une dépen- dance stéréotypée ««include»». L’inclusion exprime le fait qu’un cas d’utilisation comprend une séquence d’actions consécutives qu’il est possible de factoriser avec d’autres cas d’utilisation. Dans l’exemple de la diapositive, la vérification des droits est similaire, à quelques paramètres près, et peut être factorisée pour la création d’un scrutin et le vote/la participation à un scrutin. Lorsque le système modélisé atteint une cer- taine taille, il est important de montrer les relations d’inclusion qui définissent alors des parties du système réutilisables par d’autres parties.

La relation de généralisation spécialisation ou héritage est utile pour montrer qu’un cas d’utilisation est un type spécial d’un autre : le cas d’utilisation le plus spécialisé diffère quelque peu de l’original. Le premier spécialise certaines étapes de la séquence d’actions du second en les remplaçant par des « versions » plus spécialisées. Ainsi, toutes les étapes du cas d’utilisation original doivent être exécutées, certaines étant remplacées par des « versions » plus spécialisées. Dans l’exemple, nous pouvons imaginer que le client demande de concevoir l’authentification comme une « brique » générique spécialisable selon les protocoles existants. Par exemple, nous spécialisons le cas d’utilisation « vérifier droits » en utilisant la méthode M1 et créons le nouveau cas d’utilisation « authentification M1 ».

La relation d’extension entre cas d’utilisation est très controversée. Les concepteurs du langage UML ont voulu montrer qu’un cas d’utilisation peut réutiliser un cas d’utilisation complet, de manière similaire à

(4)

Pour aller plus loin : Spécification et préparation des tests

# 3

'

&

$

%

2 Diagrammes d’activité

2.1 Actions et choix . . . 4 2.2 Concurrence . . . 5 2.3 Autres notations du diagramme d’activité . . . 6

Un cas d’utilisation montre ce que fait ou doit faire le système pour une fonctionnalité donnée. Lorsqu’un cas d’utilisation est « complexe » au sens où le scénario est « complexe », il peut être intéressant de modéliser le scénario dans un diagramme d’activité. Ce qui suit sert donc à aller au-delà de ce que nous modélisons dans notre étude de cas pour laquelle les scénarios ne requièrent pas vraiment ce type de modélisation.

Deux types de diagrammes sont utiles ici : le diagramme d’activité et le diagramme de séquence. Le second type de diagramme étant présenté lors de la séance 3, nous présentons dans la suite le diagramme d’activité.

Un diagramme d’activité permet par exemple de décomposer un cas d’utilisation en actions, avec l’objectif de valider la modélisation avec le « client ». Un diagramme d’activité montre les actions à un très haut niveau d’abstraction avec les interactions entre elles. Dans la pratique, les diagrammes d’activité sont bien adaptés à cette phase de l’analyse qui consiste en l’expression des processus métier comme un ensemble d’actions coordonnées pour atteindre un but. Un processus métier peut aussi être l’enchaînement d’un ensemble de cas d’utilisation. Notez qu’un diagramme d’activité ressemble dans ses objectifs et, comme nous le verrons dans les diapositives qui suivent, dans sa forme à un diagramme BPMN, que vous avez étudié dans le module CSC3601.

Nous présentons les diagrammes d’activité dans les pages qui suivent, mais n’aurons pas le temps de les pratiquer lors des bureaux d’étude.

(5)

# 4

'

&

$

%

2.1 Actions et choix

décision

fusion

terminal noeud garde

initial noeud

arête sélection type scrutin

[scrutin type plages horaires] [scrutin type préférences]

entrer listes plages horaires entrer liste préférences

validation création du scrutin

Les diagrammes d’activité visualisent les étapes des cas d’utilisation et plus particulièrement les enchaî- nements et les branchements. Une activité débute par unnœud initial représenté par un disque noir. Cette action marque le début de l’activité et est suivi d’arêtesreprésentant le passage à l’action suivante. À l’autre extrémité du diagramme, lenœud terminalou final signifiant la fin de l’activité est représenté par un disque noir entouré d’un second disque. Entre les deux extrémités, les actions importantes du scénario sont reliées entre elles de façon à montrer le flot de l’activité : les enchaînements ou séquences et la concurrence (parallé- lisme). Le premier type de losange est appelée unedécisionet simule le début d’une instruction «si-alors».

Les conditions sont appelées des gardes. Le second type de losange signifie la fusion des branches à la fin du «si-alors». Bien sûr, une attention particulière doit être apportée aux conditions pour qu’elles soient mutuellement exclusives et complètes. Le standard UML indique que si plusieurs gardes sont valides alors une seule branche est parcourue et le choix de la branche est aléatoire. Ce comportement ne correspond que très rarement au souhait de l’auteur du diagramme. En outre, les conditions doivent être complètes pour éviter que l’activité ne soit bloquée ou gelée indéfiniment parce qu’aucune des conditions n’est valide. Par analogie avec les instructions « switch » des langages de programmation, il est ainsi judicieux de penser à ajouter une garde « sinon » représentant le chemin par défaut à emprunter si aucune des autres gardes n’est vraie.

Cf. le glossaire pour la définition du terme « action ».

(6)

Pour aller plus loin : Spécification et préparation des tests 2 Diagrammes d’activité

# 5

'

&

$

%

2.2 Concurrence

« join »

« fork » recherche scrutin

calcul résultat scrutin calcul liste adresses courriels

envoi résultat scrutin

Les actions qui se déroulent en même temps sont dites concurrentes. Elles sont modélisées entre deux traits épais comme des chemins parallèles, le premier de ces traits étant appelé «fork » et le second «join ».

Les séquences d’actions en parallèle débutent en même temps, sont toutes exécutées, mais par définition ne finissent pas au même instant. La fin de l’action join intervient lorsque toutes les actions en parallèle se terminent ;join est donc un point de synchronisation.

(7)

# 6

'

&

$

%

2.3 Autres notations du diagramme d’activité

activité appel autre

informations transmises date / heure de démarrage attente X secondes

Signal X reçu par le système

X Y Signal Y émis par le système

Le diagramme d’activité possède d’autres notations que nous citons pour information mais n’illustrons pas. Le diagramme d’activité permet d’exprimer le passage du temps avec le symbole du sablier. Il est ainsi possible de modéliser une activité qui s’exécute périodiquement en remplaçant l’action initiale par un sablier.

Il est aussi possible, à partir d’une activité, d’appeler une autre activité et d’indiquer entre deux actions les informations transmises (montrant ainsi les flux d’informations en plus des flots d’actions).

Les interactions entre le système et les acteurs sont modélisées sous la forme de signaux émis et reçus.

Enfin, le langage UML fournit d’autres notations que nous ne montrons pas : la fin d’un chemin, le partitionnement, les connecteurs, lesexpansion regions. Pour plus d’information, nous invitons les curieux à se référer à la bibliographie du module, dont le standard UML.

Références

Documents relatifs

Dans ces quelques pages, nous complétons cette introduction avec un autre outil Git , une autre manière d’intégrer des modifications, et une boîte à outil pour la résolution

Soient (X, d) un espace métrique et A ⊂ X.. Pour obtenir 0iii, i.e. une forme bilinéaire symétrique dénie positive.. Par dénition même d'un fermé, cela signie que les intervalles

1 Un laser, placé en A, émet un rayon lumineux ; on souhaite que ce rayon soit dévié vers B, sachant que la lumière emprunte toujours le plus

1 Un laser, placé en A, émet un rayon lumineux ; on souhaite que ce rayon soit dévié vers B, sachant que la lumière emprunte toujours le plus

Facebook, Twitter… Les réseaux sociaux évoqués par les éditeurs permettent de se créer une communauté d’intérêts, de partager des informations, des idées, etc. C’est aussi

En effet, on ne peut envisager un bou- leversement dans des domaines aussi différents que la science des matériaux, l’électronique et les technologies de l’information, la biologie,

Trouve sur quelle ligne et dans quelle colonne de chacun des tableaux se trouve le nombre 35 puis le nombre 109b. Que peux-tu dire des nombres de chacune des colonnes des

Encinas de Munagorri (dir.), Expertise et gouvernance du changement climatique, Paris, LGDJ,