Académique Documents
Professionnel Documents
Culture Documents
Avancée
– Cours 3 –
Chapitre 03 : Diagramme de cas d’utilisation
Staff pédagogique
Nom Grade Faculté/Institut Adresse e-mail
Gueraich Sonia MCB Nouvelles Technologies Sonia.gueraich@univ-constantine2.dz
Etudiants concernés
Faculté/Institut Département Année Spécialité
Nouvelles Technologies TLSI Master1 Système d’Information et Technologie
Web (SITW)
Objectifs du cours 3
L’étudiant est censé comprendre et maitriser les différents concepts liés aux cas d’utilisations.
1. Introduction
Ce chapitre suit les premières étapes du processus de développement 2TUP qui sont l’étude préliminaire et
l’expression des besoins afin d’arriver à manipuler les diagrammes de cas utilisations en UML2.
2. L’étude préliminaire
L’étude préliminaire est la toute première étape du processus de développement. Elle permet de faire un
premier repérage des besoins fonctionnels et opérationnels en utilisant principalement du texte ou des
diagrammes très simples. Elle prépare les activités suivantes : capture des besoins fonctionnels et des besoins
techniques.
Objectifs
Remarque :
L’élaboration d’un CC (fonctionnel) débute lorsque la phase de lancement du projet est terminée (charte
de projet validée).
L’élaboration d’un CC (fonctionnel) débute lorsque la phase de lancement du projet est terminé
Un CC doit donc pouvoir :
Définir les objectifs que doit atteindre la solution.
Définir les contraintes à respecter impérativement.
Etre un outil de dialogue entre les différents acteurs.
Diminuer les risques d’erreur lors de la réalisation ou l’installation.
2. 2 Objectifs d’un CC
Préciser les orientations et le champ du domaine étudié.
Analyser l’existant au niveau organisation, documents utilisés, traitements effectués et données
manipulées.
Proposer des solutions d’organisation, fonctionnelles et techniques répondant aux exigences et
besoins exprimés.
Remarque :
L’expression des besoins initiée en phase de lancement du projet puis complété en phase d’étude
préliminaire, est contenue dans le CC.
En résumé le CC est un document qui doit être rédigé, sa rédaction doit avoir une structure de base facilitant
la compréhension, i.e. :
Structure claire et simple
Paragraphes courts
Schémas et illustrations
Inspiration d’un modèle ou exemple
3. Description du contexte
Après le premier recueil des besoins, la description du contexte du système commence, elle consiste en trois
activités successives :
Acteur : C’est l’abstraction d’un rôle joué par des entités externes du système (utilisateur, dispositif matériel
ou autre système) qui interagissent directement avec le système.
Un acteur peut consulter ou modifier directement l’état du système, en émettant ou en recevant des messages
éventuellement porteurs de données.
Les acteurs candidats sont :
Les utilisateurs humains, dans ce cas il faut identifier les profils possibles sans oublier
l’administrateur, l’opérateur de maintenance ….
Les autres systèmes connexes qui interagissent avec le système
Remarque :
vérifier que les acteurs interagissent directement avec le système, et qu’ils se trouvent bien à
l’extérieur du système.
Un acteur joue un rôle face au système.
Eliminer les acteurs physiques au profit des acteurs logiques : L’acteur bénéficie de l’utilisation
du système et il a une autonomie de décision. Les terminaisons informatiques (imprimante, clavier
de l’agent …). Il faut se concentrer sur les acteurs métiers.
Représentation de l’acteur :
Une recommandation répandue consiste à utiliser le stick man pour les acteurs humains et la boite pour les
acteurs non humains.
En UML 2.0, un acteur est considéré comme une méta-classe indépendante il peut avoir :
- un ensemble d’attributs permettant de caractériser son état
- un ensemble de messages
- un diagramme d’état.
Message : c’est la spécification d’une communication unidirectionnelle entre objets qui peut transporter de
l’information avec l’intention de déclencher une activité chez le récepteur.
A un haut niveau le message est utilisé pour décrire les interactions entre les acteurs et le système.
Pour chaque acteur, il faut identifier les messages qui déclenchent un comportement attendu du système
par l’acteur.
Pour le système, il faut identifier les messages porteurs d’information émis à l’intention d’un acteur.
Remarques : Les messages entre acteurs ne sont d’aucune utilité.
Remarque :
il est conseillé de :
décrire textuellement les messages, en leur donnant un titre (créer , modifier client) et même une
description textuelle complète.
Omettre les messages de consultation pure et de connexion/déconnexion du système pour ne pas
surcharger le diagramme.
Durant cette phase les diagrammes UML sont utilisés pour compléter la capture des besoins fonctionnels
ébauchée dans la phase d’étude préliminaire. Les cas d’utilisation sont la pierre angulaire qui va permettre
d’étudier avec précision le contexte fonctionnel du système.
Qu’il fournit une valeur ajoutée notable à l’acteur dans le cadre de son métier
Qu’un événement externe au système en déclenche l’exécution.
Qu’il n’est pas réduit à une action, mais qu’il représente une séquence d’actions réalisées par le
système.
4.1.2 Notations et spécifications
La pratique des CUs via leurs notations est présentée dans la partie TD, néanmoins la description des
différentes notations est donnée dans ce qui suit.
Un cas d’utilisation se représente par une ellipse ( Le nom du cas est inclus dans
l’ellipse ou bien il figure dessous). Un stéréotype peut être ajouté
optionnellement au-dessus du nom, et une liste de propriétés placée au-dessous.
Un cas d’utilisation se représente aussi sous la forme d’un rectangle à deux compartiments celui du haut
contient le nom du cas ainsi qu’une ellipse (symbole d’un cas d’utilisation), celui du bas est optionnel et peut
contenir une liste de propriétés (figure ).
Remarque :
il est conseillé de :
4.2.2 Notations
Un acteur se représente par un petit bonhomme ayant son nom inscrit (voir paragraphe 3.3.1) ou par un
rectangle contenant le stéréotype acteur avec son nom juste en dessous. Il est recommandé d’ajouter un
commentaire sur l’acteur pour préciser son rôle.
Un acteur peut utiliser plusieurs fois le même cas d’utilisation La figure suivante montre un
internaute qui télécharge plusieurs morceaux de musique sur Internet.
Le symbole * qui signifie « plusieurs » est ajouté à l’extrémité du cas et s’appelle une multiplicité.
Plusieurs valeurs sont possibles pour la multiplicité : exactement n s’écrit tout simplement n, m..n
signifie entre m et n, etc.
Les inclusions permettent aussi de décomposer un cas complexe en sous-cas plus simples.
-
En UML, une dépendance se représente par une flèche pointillée. Un stéréotype est souvent ajouté
au-dessus du trait. Le stéréotype inclut indique que la relation de dépendance est une inclusion. Le
stéréotype étend indique une extension
En UML2 l’extension peut intervenir à un point précis du cas é tendu, ce point s’appelle le point
d’extension ; il porte un nom, qui figure dans un compartiment du cas étendu sous la rubrique « point
d’extension », et est éventuellement associé à une contrainte indiquant le moment où l’extension
intervient. Une extension est souvent soumise à une condition (indiquée dans une note attachée à la
flèche pointillée) (figure 3.9).
La relation de généralisation. Un cas A est une généralisation d’un cas B si B est un cas particulier
de A. Par exemple, la consultation d’un compte bancaire via Internet est un cas particulier de la
consultation. Cette relation de généralisation/spécialisation est présente dans la plupart des
diagrammes UML et se traduit par le concept d’héritage dans les langages orientés objet. Le symbole
utilisé pour la généralisation est une flèche en traits pleins dont la pointe est un triangle fermé. La
flèche pointe vers le cas le plus général.
Un cas d’utilisation est dit « interne » s’il n’est pas relié directement à un acteur.
La seule relation possible entre deux acteurs est la généralisation : un acteur A est une généralisation
d’un acteur B si l’acteur A peut-être substitué par l’acteur B (tous les cas d’utilisation accessibles à
A le sont aussi à B, mais l’inverse n’est pas vrai). Par exemple la figure suivante montre que le
directeur des ventes est un préposé aux commandes avec un pouvoir supplémentaire (en plus de
pouvoir passer et suivre une commande, il peut gérer le stock). Le préposé aux commandes ne peut
pas gérer le stock
L’identification des C.U. doit être faite d’une manière précise car ce sont eux qui vont guider toute la phase
d’analyse. L’identification des C.U. doit avoir comme objectifs de:
Il existe différentes façons pour décrire les cas ; telles que la description textuelle ou par diagrammes.
Bien que de nombreux diagrammes d’UML permettent de décrire un cas, il est recommandé de rédiger une
description textuelle car c’est une forme souple qui convient dans bien des situations. Une description
textuelle couramment utilisée se compose de trois parties.
La première partie permet d’identifier le cas. Elle doit contenir :
le nom du cas ;
un résumé de son objectif ;
les acteurs impliqués (principaux et secondaires) ;
les dates de création et de mise à jour de la description courante ;
le nom des responsables ;
un numéro de version.
La deuxième partie contient la description du fonctionnement du cas sous la forme d’une séquence de
messages échangés entre les acteurs et le système. Elle contient toujours une séquence nominale qui
correspond au fonctionnement nominal du cas (par exemple, un retrait d’argent qui se termine par
l’obtention des billets demandés par l’utilisateur). Cette séquence nominale commence par préciser
l’événement qui déclenche le cas (l’utilisateur introduit sa carte bancaire par exemple) et se développe
en trois points :
Les pré-conditions. Elles indiquent dans quel état est le système avant que se déroule la séquence (le
distributeur est alimenté en billets par exemple).
L’enchaînement des messages.
Les post-conditions. Elles indiquent dans quel état se trouve le système après le déroulement de la
séquence nominale (une transaction a été enregistrée par la banque par exemple).
Parfois la séquence correspondant à un cas a besoin d’être appelée dans une autre séquence (par exemple
quand une relation d’inclusion existe entre deux cas d’utilisation). Signifier l’appel d’une autre séquence se
fait de la façon suivante : « appel du cas X », où X est le nom du cas.
Les acteurs n’étant pas sous le contrôle du système, ils peuvent avoir des comportements imprévisibles. La
séquence nominale ne suffit donc pas pour décrire tous les comportements possibles.
A la séquence nominale s’ajoutent fréquemment des séquences alternatives et des séquences d’exceptions.
Ces deux types de séquences se décrivent de la même façon que la séquence nominale mais il ne faut pas les
confondre.
Une séquence alternative diverge de la séquence nominale (c’est un embranchement dans une séquence
nominale) mais y revient toujours, alors qu’une séquence d’exception intervient quand une erreur se produit
(le séquencement nominal s’interrompt, sans retour à la séquence nominale) (un exemple de la description
textuelle est explicitée dans le TD).
La description de C.U doit être complétée par des diagrammes dynamiques simples.
4.5.2 Description par les diagrammes
Les exigences non fonctionnelles représentent des nécessités identifiées du système qui ne sont pas d’ordre
fonctionnelles. Elles viennent décrire la manière d’opérer des fonctionnalités d’un point de vue fréquence,
concurrence, confidentialités, sécurités,….etc.
Exigence Signification
Temps de réponse Indiquer le temps de réponse maximum toléré ou attendu pour un C.U.
Concurrence Indiquer si un avertissement doit être émis suite à la réalisation ou pas du
C.U.
Fréquence Prévenir la fréquence de réalisation du C.U
Volumétrie Volume estimé de l’information manipulée par le C.U.
Disponibilité Jours et heures de disponibilité du C.U.
Intégrité Recenser les cas ou le C.U ne peut pas se réaliser pour un fonctionnement
correct et intègre du système
Confidentialité Degrés de confidentialité du C.U et de l’information manipulée.
La phase de recueil des besoins fonctionnels doit préparer la modélisation objet en aidant à identifier les
principales classes du futur modèle statique du système.
Les premières classes candidates identifiées dans cette phase doivent être des concepts connus des
utilisateurs du système appelée : objet métier et par abstraction classes métier (commande, client,
produit,….). Ces classes seront juste recensées dans une première étape.
Dans une prochaine étape seront rajoutées des concepts applicatifs liés à l’informatisation tels que : code-
barres, profil,…
Pour chaque C.U., il y aura un Diagramme de classes participantes représentant les classes candidates avec
les associations identifiées. Ces diagrammes préliminaires, n’ont pas comme objectif l’exhaustivité, ils
servent juste à démarrer la découverte des classes pour la partie d’application délimitée par le C.U.
La réunion de tous les diagrammes, après élimination des classes et associations redondantes représentera le
squelette du modèle statique d’analyse.
La capture des besoins technique couvre toutes les contraintes qui ne traitent ni de la description du métier de
l’utilisateur, ni de la description applicative. Elle concerne donc la capture des contraintes techniques. Ceci
est primordial pour la conception de l’architecture.
Cette étape ne peut débuter que lorsque les architectes ont eu suffisamment d’information sur les pré-requis
techniques (les machines, les réseaux, les progiciels à intégrer, et les outils retenus pour le développement).
Les différents éléments mis en jeu dans cette étape sont :
Diagramme de déploiement : nœuds et connexions du réseau, architecture à 3 niveaux
Diagrammes de composants, composants d’exploitation, architecture 3-tiers
Diagrammes de cas d’utilisation techniques,
Objectifs
La capture des besoins techniques est une étape de prise en compte des contraintes techniques et logicielles.
Elle doit être suffisamment détaillée pour permettre d’aborder la conception générique du système. Ses
objectifs sont :
Identifie les contraintes techniques liées aux machines, aux connexions et aux déploiements existants
Produire le diagramme de configuration matérielle
Identifier les contraintes d’organisation spécifiées par les choix d’architecture. Par exemple, pour le
style d’architecture en niveaux, nous trouvons :
- L’architecture à trois niveaux met en œuvre le système informatique de toute l’entreprise avec les
trois niveaux : central, départemental, local. Une telle architecture couvre les différents métiers de
l’entreprise
6 Conclusion
Dans ce chapitre, nous avons présenté les étapes conduisant vers la modélisation des cas d’utilisation, ainsi
que des aspects sur les besoins techniques du développement. Le chapitre suivant, portera sur la modélisation
statique par les diagrammes de classes.