Next: Description des Interfaces Up: Le modèle des Besoins Previous: Cas d'utilisationCas d'emplois,

Extentions

Nous allons maintenant préciser pourquoi nous avons utiliser le terme services plutôt que le terme scénario plus usuel pour décrire ces cas d'utilisation. Ce que nous voulons utiliser une un approche objets des services afin de pouvoir d'un part simplifier la présentation et réduire la complexité de notre analyse. Nous utilisons ici la notion d'extension.

Pour relier et structurer les objets du Modèle des services nous utilisons pour des extensions. Les extensions à un service peuvent être décrites facilement.

A cette phase nous créons des extensions a nos services de Base. Une extension ce fait toujours sur un service complet (pour être sur de l'utilité de l'extension mais surtout pour assuré que l'on ne décompose pas un service en plusieurs objets. On fabrique donc le premier service sans se soucier du reste. Puis sans changer le service original on fabrique les extensions. Ainsi le cas de base est construit indépendemment des extensions possibles. Dans notre exemple une extension immédiate est la situation ou un article se bloc, il faut alors déclencher l'alarme pour l'opérateur. D'ou le schéma 1.4 analyse.article.bloqueExtention de Dépose d'article avec Article bloqué. C'est un lien d'héritage de classe (les instances sont les exécutions).

On peut alors fabriquer la description du service :

Article Bloqué

Quand un article reste bloqué un signal est envoyé pour prévenir l'opérateur.
Quand l'opérateur a débloqué l'article il repositionne l'alarme et le client peut continuer à déposer des articles. Le total courant du client est conservé. Le client ne reçoit rien pour l'article qui a bloqué.

Nous trouvons ici une autre propriété des services il peuvent communiquer avec plusieurs acteurs. Un autre exemple d'extensions la figure 1.5 analyse.sessionSituation commune d'extension multiple.

Un collecteur de statistique d'un service donnée est formé par extension du service de contrôle (cf. contrôle page 2.3).

D'autres exemples d'extensions.

On doit voire les extensions comme des interruptions dans le service de base. Le service ne peut savoir si il sera interrompu ou non avant l'exécution. Pour chaque extension nous spécifions précisément l'état, dans le graphe d'état du service ou l'extension est inséré, où se fait l'insertion (mais évidement pas dans le service de base pour ne pas alourdir la définition du service de base).

l'extension est toujours insérée dans le service : on doit à chaque article vérifié qu'il n'est pas bloqué mais on exécute l'extension que dans le cas d'un blocage. Dans les deux cas la suite du service Dépose Article se poursuit identiquement.

Next: Description des Interfaces Up: Le modèle des Besoins Previous: Cas d'utilisationCas d'emplois,

Pour vos remarques ou sugestions copyright D.revuz 1995

D'autres cours en francais