Modélisation Objet

Download Report

Transcript Modélisation Objet

Modélisation Objet Introduction

Catherine Barry 2004-2005

Bibliographie

Ce cours a été construit à partir de la bibliographie suivante : - MERISE et UML Pour la modélisation des systèmes d’information de Joseph Gabay éditions DUNOD - Modélisation objet avec UML de Pierre-Alain Muller et Nathalie Gaertner éditions EYROLLES -UML par la pratique, cours et exercices java et C++ de Pascal Roques éditions EYROLLES. - site http://uml.free.fr/ UML en français

Introduction

Dans le cheminement de la pensée qui va de la naissance d’un projet informatique jusqu’à son terme on distingue trois grandes étapes : - La première prend la décision de développer un logiciel ou non au sein de l’entreprise.

- La seconde est l’élaboration proprement dite du logiciel.

- la troisième est la phase de maintenance du logiciel construit.

Ces activités sont mises en œuvre suivant des stratégies diverses et parfois complexes requérant des compétences variées dans de nombreux domaines de l’informatique.

Génie logiciel (Software Engineering)

Génie logiciel

Génie Logiciel

(Software Engineering) = Science de l'ingénierie du logiciel - " l’application pratique de la connaissance scientifique dans la conception et l’élaboration de programmes informatiques et de la documentation associée nécessaire pour les développer, les mettre en oeuvre et les maintenir " (B. W. Boehm, 1976) - activités de conception et de mise en oeuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi (Arrêté ministériel du 30-12-83)

Cycle de vie du logiciel pour la seconde étape

Le développement d’un logiciel se fait suivant un cycle appelé cycle de vie du logiciel .

Le cycle de vie est décomposé en phases de développement : - Spécification des besoins (15% du temps) - Conception générale (10% du temps) - Conception détaillée (25% du temps) - Codage et Tests unitaires (15% du temps) - Tests des modules (5% du temps) - Intégration du logiciel (20% du temps) - Système – Test (10% du temps) Ces phases sont échelonnées dans le temps.

Une phase se termine par la remise d’un (ou plusieurs) document(s).

Cycle de vie d’un logiciel en V

Spécifications Conception générale Conception détaillée Système-Test Intégration Test des modules Codage  test unitaires Les premières phases permettent de décomposer l’ensemble du projet pour simplifier la phase de codage.

Les phases suivantes recomposent l’ensemble du logiciel en le testant du détail vers l’ensemble.

Cycle de vie d’un logiciel (1)

 Spécification, cahier des charges ou analyse : Ensemble des activités consistant à définir de manière précise, complète et cohérente ce dont l’utilisateur a besoin.

 Conception générale ou préliminaire : Ensemble des activités conduisant à l’élaboration du logiciel.

 Conception détaillée : Ensemble des activités consistant à détailler les résultats de la conception préliminaire, tant sur le plan algorithmique que sur celui de la structure des données, jusqu’à un niveau suffisant pour permettre le codage.

 Codage : Activité permettant de traduire le résultat de la conception détaillée en un programme à l’aide d’un langage de programmation donné.

Cycle de vie d’un logiciel (2)

 Test unitaires : Activité ayant pour but de vérifier, pour chaque composant pris isolément, que tous les chemins logiques sont parcourus au moins une fois, que la plage de validité des données d’entrée et de sortie a été explorée, que les résultats sont conformes au dossier de conception détaillée.

 Intégration : Activité consistant à assembler progressivement les composants du logiciel identifiés lors de la conception préliminaire et contrôlés lors des tests unitaires.

 Système-Test ou Validation : Activité conduisant à s’assurer, essentiellement au moyen de tests, qu’un logiciel est conforme au dossier de spécification du logiciel

Typologie des méthodes d’informatisation

 Méthodes cartésiennes : SADT, approche fonctionnelle  programmation structurée (Langages C, Pascal, …)  Méthode systémique : MERISE  construction de systèmes d’informations avec gestion de bases de données relationnelles  Méthode à objets (utilisation de UML)  Programmation objets

Programmation Orientée Objet Le concept d’objet

 La POO est fondée sur le concept d’objets, à savoir une association des données et des procédures (appelées méthodes) agissant sur ces données;

Méthodes + Données = Objets

Objet 1

nom

: Barry

prénom

: Catherine

compte

: Objet2 entier

solde

() { retourner (compte.solde());}

débite

(Entier x) {compte.débite(Entier x)}; Objet 2

numéro

: 1234AZ12

solde

: 1200

débite

(entier x) {solde = solde-x;}

Programmation Orientée Objet Le concept de classe

 Les classes permettent de décrire la structure et le comportement d’un ensemble d’objets Classe : Personne

nom

: Chaîne de caractères

prénom

: Chaîne de caractères

compte

: Compte entier

solde

() { retourner (compte.solde());}

débite

(Entier x) {compte.débite(Entier x)}; Classe : Compte

numéro

: chaîne de caractères

solde

: Entier

débite

(entier x) {solde = solde-x;} Est une instance de Objet 1

nom

: Barry

prénom

: Catherine

compte

: Objet2 entier

solde

() { retourner (compte.solde());}

débite

(Entier x) {compte.débite(Entier x)}; Est une instance de Objet 2

numéro

: 1234AZ12

solde

: 1200

débite

(valeur x) {solde = solde-x;}

Programmation Orientée Objet pure

  Cette association est plus qu’une simple juxtaposition !

POO « pure » = encapsulation des données

Il n’est pas possible d’agir directement sur les données d’un objet; il est nécessaire de passer par l’intermédiaire de ses méthodes qui jouent ainsi le rôle d’interface obligatoire

Vocabulaire

l’objet : l’appel d’une méthode est en fait l’envoi d’un message à

Cycle de vie pour construire un logiciel basée sur la programmation objet

 Afin de mieux maîtriser l’élaboration d’un programme objet, il faut que les phases d’analyse et de conception soient réalisées selon le paradigme objet.

 La phase d’analyse va aider à identifier les objets métiers autrement dit les objets et les classes reconnaissables par l’utilisateur du logiciel.

 La phase de conception va : – Compléter la définition des classes (type de propriétés, suppression de propriétés car leur valeur peut être calculée à partir d’autres propriétés, etc…) – Définir le contenu des méthodes – Spécifier des classes utilisés lors de la construction de la solution du logiciel et donc non connu par l’utilisateur  La notion d’objet durant la phase d’analyse est définie comme :

Objet = Etat + comportement + identité

Etat d’un objet

L’état regroupe les valeurs instantanées de toutes les propriétés d’un objet.

Propriétés de l’objet Une voiture Couleur : bleu Masse : 979 kg Puissance : 12CV Modélisation en UML Une voiture Contenu du réservoir = 30 litres Après un parcours de 100 km Une voiture Contenu du réservoir = 20 litres MONDE REEL

Le comportement d’un objet

Le comportement d’un objet regroupe toutes les compétences de ce dernier et décrit ses actions et ses réactions.

Chaque atome de comportement est appelé opération.

Les opérations d’un objet sont déclenchées suite à une stimulation externe, représentée sous la forme d’un message envoyé par un autre objet.

Manger B A Dormir C L’objet A demande à l’objet B de manger (stimulation).

L’objet B répond à cette stimulation par le déclenchement de l’opération « manger ». Cela sous-entend donc qu’il possède la faculté de manger.

L’objet B demande à l’objet C de dormir (stimulation). L’objet B répond à cette stimulation par le déclenchement de l’opération « dormir ». Cela sous-entend donc que l’objet C est capable de dormir.

Le comportement et les attributs sont liés

Un état « synthèse » d’un objet résulte d’une synthèse de ses propriétés et de son comportement Cet état est indiqué entre crochets.

un avion [En vol] Atterrir une tour de contrôle États de synthèse de l’objet « un avion » synthétisant les valeurs de ses propriétés Décoller un avion [Au sol]

L’identité

En plus de son état, un objet possède une identité qui caractérise son existence propre. L’identité permet de distinguer tout objet de façon non ambiguë, et cela indépendamment de son état.

une personne Nom : « Paul » Âge : 10 une personne Nom : « Paul » Âge : 10 Deux objets différents malgré des valeurs d’attributs identiques

Le concept de message

L’unité de communication entre objets est le message. Le message est le support d’une relation de communication qui relie, de façon dynamique, les objets qui ont été séparés par le processus de décomposition.

Message B Message A Objet1 Objet2 Message C Message E Objet3 Message D Objet4

Représentation des interactions entre les objets Le diagramme de collaboration

Le diagramme de collaboration constitue une autre représentation de l’interaction entre objets qui met plus l’accent sur les relations entre un ensemble d’objets et les messages échangés Ces diagrammes sont particulièrement indiqués pour la phase exploratoire qui correspond à la recherche d’objets.

Exemple : La direction régionale 1: création d’une agence une agence 4: agence créée 3: création d’un personnel réalisé 2: création d’un personnel de l’agence un personnel Remarque : un message peut posséder des paramètres et renvoyer un résultat.

Représentation des interactions entre les objets Le diagramme de séquence (1)

Les diagrammes de séquence montrent à peu près les mêmes informations que les diagrammes de collaborations, mais l’accent est mis sur la communication, au détriment de la structure spatiale.

A B C M1 M2 M3 M4 M5

Représentation des interactions entre les objets Le diagramme de séquence (2)

La direction régionale Une agence Un personnel 1: création d’une agence 2: création d’un personnel de l’agence 4: agence créée 3: création d’un personnel réalisé Ces messages ne sont pas obligatoires

Représentation des interactions entre les objets Le diagramme de séquence (3)

Durant la phase d’analyse, il est fréquent de commencer par représenter les principaux objets du domaine dans les diagrammes de collaboration, puis une fois les objets bien identifiés, de passer aux diagrammes de séquence pour la représentation des interactions dans toute leur complexité.

Les classes : la démarche d’abstraction

L’abstraction est la faculté des être humains qui consiste à concentrer la réflexion et l’attention sur un élément d’une représentation ou d’une notion en négligeant tous les autres.

La démarche d’abstraction procède de l’identification des caractéristiques communes à un ensemble d’éléments, puis de la description condensée de ces caractéristiques dans ce qu’il est convenu d’appeler une classe.

La démarche d’abstraction est arbitraire : elle se définit par rapport à un point de vue. Ainsi un objet du monde réel peut être vu au travers d’abstractions différentes.

Par conséquent, il est important de déterminer les critères pertinents dans le domaine d’application considéré.

La classe = un ensemble d’objets

La classe décrit le domaine de définition d’un ensemble d’objets.

Chaque objet appartient à une classe.

Les généralités sont contenues dans la classe et les particularités sont contenus dans les objets.

Classe A Instance de Objet A1  ObjetA1 : Classe A

Description d’une classe

Une classe possède des propriétés et des opérations.

Ces propriétés et ces opérations décrivent les objets appartenant à cette classe.

Motocyclette Couleur Cylindrée Vitesse maximale Démarrer() Accélérer() Freiner() Propriétés ou partie statique Opérations ou partie dynamique

Description d’une classe : remarque

Lorsqu’un objet O1 envoie un message M à l’objet O2, cela implique que l’objet O2 possède une opération permettant de répondre au message M.

En fait, le message M et l’opération Op forment un tout.

L’objet O1 demande à l’objet O2 d’exécuter l’opération Op, on parle alors de message. Dés la réception du message, l’objet O2 exécute l’opération Op .

O1 accéler O1 : Motocyclette accéler ()

Les relations entre les classes

Les liens qui relient les objets peuvent être vus de manière abstraite dans le monde des classes : à chaque famille de liens entre objets correspond une relation entre les classes de ces mêmes objets.

De même que les objets sont des instances des classes, les liens entre objets sont des instances des relations entre classes.

Classe A Une association Classe B Instance A Un lien Instance B Un diagramme de classe correspond à un ensemble de classes avec leurs associations.

L’association

L’association exprime une connexion sémantique bidirectionnelle entre classes Université Une association Etudiant Amiens:Université Pierre : Etudiant Jean : Etudiant Rouen:Université Pauline : Etudiant Les instances d’un association sont des tuples des instances liées par cette association.

Chaque valeur de tuple doit être unique; cela signifie que deux instances ne sont jamais reliées par plusieurs liens instances de la même association.

Classe association

Les associations peuvent être elle mêmes des objets, appelées classe association.

Enregistrement numéro modèle numéro série code garantie Produit Garantie Une classe association peut être associée à d’autres classes Edition parution Éditeur auteur livre

Clarification de la nature d’une association par une forme verbale /nominale

Pour améliorer la lisibilité des diagrammes, il est possible de décorer l’association d’une forme verbale.

Héberge Université Etudiant Université Etudie dans Etudiant Il est possible de préciser le rôle des classes intervenant dans une association : un nom de rôle peut être spécifié à chaque extrémité d’une association Etudiant Université Personne Employeur Enseignant

Valeurs de multiplicités

Chaque extrémité d’une association peut porter une information de multiplicité qui précise le nombre d’instances qui participent à la relation.

Les valeurs de multiplicités conventionnelles sont : 1 0..1

N..M

* 0..* 1..* Un et un seul Zéro ou un De M à N (entiers naturels) De zéro à plusieurs De zéro à plusieurs D’un à plusieurs

Valeurs de multiplicités : exemple

1 Université 0..1

Employeur Etudiant * Personne * Enseignant Une université donnée regroupe de nombreuses personnes; certaines jouent le rôle d’étudiant, d’autres le rôle d’enseignant. Un étudiant donné appartient à une seule université, un enseignant donné peut être en activité ou non.

Valeurs de multiplicités : autres exemples multiplicité

possède Personnalité 1 0..n

Etre humain est de Religion 1 0..n

Croyants né de Mère 1 0..n

Enfant Canton 1 Rattachée à 1..n

Ville

Valeurs de multiplicités : au plus un

concierge de Personne 0..1

Permis de conduire 0..1

possède 0..n

1 Immeuble Personne Homme Pays 0..1

marié à 0..1

capitale de 1 0..1

Femme Ville

Valeurs de multiplicités : plusieurs

Nationalité 1..n

possède 0..n

Personne Auteurs 0..* Pays 1 écrit par 1..* Livres situé dans 0;;n Monuments

Arité des associations (1)

La plupart des associations sont dites binaires car elles relient deux classes.

Des arités supérieures peuvent cependant exister. Salle Etudiant Enseignant Zodiaque Ville Personne

Arité des associations (2)

Généralement, les associations n-aires peuvent se représenter en promouvant l’association au rang de classe et en ajoutant une contrainte qui exprime que les multiples branches de l’association s’instancient toutes simultanément, en un même lien.

Salle Enseignant Etudiant Cours début Dans cet exemple, la contrainte est exprimée au moyen d’un stéréotype fin qui précise que la classe Cours réalise une association ternaire

Arité des associations (3)

Nous pouvons également représenter une association ternaire au moyen d’une classe stéréotypée Salle Etudiant « Association ternaire » Cours début fin Enseignant Comme pour les associations binaires, il est possible de nommer les extrémités d’une association n-aire pour décrire le rôle des classes dans l’association.

La difficulté de trouver un nom différent pour chaque extrémité d’une association n-aire est souvent le signe d’une association d’arité inférieure.

Arité des associations (4)

Zodiaque chinois Personne Ville signe ascendant Zodiaque

Valeurs de multiplicités : Expression d’une contrainte (1)

Lorsque la valeur maximale de multiplicité est supérieure à 1, les éléments associés à cette multiplicité peuvent être ordonnées ou non. Par défaut, si aucune information supplémentaire est spécifiée, ils sont non ordonnés.

File d’attente 1 * {ordonné} Personne Nous pouvons indiquer que deux associations sont exclusives. Ainsi, lors d’un vol un employé ne peut être à la fois pilote et co-pilote.

pilote

Employé {ou exclusif}

copilote

Vol

Valeurs de multiplicités : Expression d’une contrainte (2)

Nous pouvons indiquer d’une association est un sous-ensemble d’une autre association. Ainsi, les personnes présentant un article lors d’une conférence est obligatoirement un des auteurs de l’article.

Personne

auteur

{sous ensemble}

conférencier

Article

Valeurs de multiplicités : diagramme de classes et modèle d’objets

Diagramme d’objets Diagramme de classes Homme 1 Bras 2 1 1 Tête :Homme :Bras :Bras :Tête Professeur 1 * Elève :Professeur :Elève

L’agrégation (1)

L’agrégation est une forme particulière d’association qui exprime un couplage fort entre classes.

L’agrégation favorise la propagation des valeurs de propriétés et des opérations de l’agrégat.

Automobile Moteur Transmission

L’agrégation (2)

L’agrégation peut notamment (mais pas nécessairement) exprimer : - qu’une classe (un élément) fait partie d’une autre (l’agrégat) - qu’un changement d’état d’une classe, entraîne un changement d’état d’une autre - qu’une action sur une classe, entraîne une action sur une autre.

A un même moment, une instance d’élément agrégé peut être liée à plusieurs instances d’autres classes (l’élément agrégé peut être partagé).

Une instance d’élément agrégé peut exister sans agrégat (et inversement) : les cycles de vies de l’agrégat et de ses éléments agrégés peuvent être indépendants.

L’agrégation (3)

Titre 0..1

Ici, on exprime qu’un fichier peut être attaché à un mail (ou à plusieurs, ou même à aucun) et qu’un mail peut (ou non) attacher (contenir une copie) un ou plusieurs fichiers. Destinataire 1..n

* 1 E-mail 1 * attache * Fichier Texte 0..1

La composition

La composition est une forme d’agrégation avec un couplage plus important. Ce couplage de composition indique que les composants ne sont pas partageables et que le destruction de l’agrégat entraîne la destruction des composants agrégés.

Composite 1 * Composant Composite Composant *

La composition : exemple

Voiture teinte Couleur 1 1 moteur Convertisseur d’énergie 4 roues Pneumatique

La généralisation

La généralisation consiste à factoriser les éléments communs (propriétés, opérations, contraintes) d’un ensemble de classes dans une classe plus générale appelée superclasse.

Animal Carnivore Herbivore Lion Mouton Lapin La généralisation ne porte aucun nom particulier, elle signifie toujours

est un

ou

est une sorte de

.

L’héritage

Le terme héritage fait référence au mécanisme de partage des propriétés et opérations utilisant la relation de généralisation.

L’héritage est la transmission de caractéristiques à ses descendants.

Classe A Classe B B est une classe dérivée de A (B est un A) : la classe B hérite des propriétés et opérations de la classe A.

Une instance d’une classe est instance de tous les ancêtres de sa classe, elle hérite de toutes les propriétés, toutes les opérations et de toutes les contraintes de ses classes ancêtres

L’héritage :exemple

Livre auteur nombre de pages Livre pour les enfants fourchette des âges Livre pour l’enseignement discipline niveau Un livre pour enfant possède les propriétés suivantes : auteur nombre de pages fourchette des âges

Spécialisation suivant différents critères

Une classe peut être spécialisée selon plusieurs critères à la fois.

Chaque critère de la généralisation est indiqué dans le diagramme en associant un discriminant à la relation de généralisation.

Lorsque les flèches sont agrégées, le discriminant apparaît une seule fois.

Véhicule A voile Motorisation A moteur Milieu Terrestre Marin

Généralisation multiple

Les classes peuvent avoir plusieurs superclasses; dans ce cas, la généralisation est dite multiple et plusieurs flèches de la sous-classe vers les différentes superclasses.

Les superclasses n’ont pas nécessairement un ancêtre commun.

Tapis Véhicule Terrestre Aérien Tapis volant

Exemple de construction de diagramme de classes : gestion technique de documents (1)

Énoncé : Nous cherchons à représenter le diagramme de classes d’une gestion technique de documents.

Chaque document est composé d’un ou plusieurs feuillets.

Un feuillet comporte du texte et des objets géométriques qui constituent deux types d’objets graphiques supportant des opérations de type : sélectionner, copier, couper, coller, déplacer Nous considérons les quatre objets géométriques suivants : cercle, ellipse, carré, rectangle.

Il est demandé d’utiliser les propriétés de la généralisation et la spécialisation afin de représenter au mieux ces objets géométriques.

Exemple de construction de diagramme de classe : gestion technique de documents (2)

L’analyse de la première partie de l’énoncé nous permet d’en déduire un début de diagramme de classe : Document Nom Ouvrir ( ) Fermer ( ) 1..* Feuillet Nom Ouvrir ( ) Fermer ( ) 1..* Objet graphique Nom Copier ( ) Coller ( ) Couper ( ) Déplacer ( ) Objet géométrique Dessiner ( ) Objet Texte texte écrire ( )

Exemple de construction de diagramme de classe : gestion technique de documents (3)

L’analyse de la deuxième partie nécessite des regroupements.

Pour cela examinons les définitions de cercle, ellipse, carré et rectangle.

Définition du dictionnaire « Le petit Robert » Carré : quadrilatère dont tous les cotés sont égaux et tous les angles droits.

Quadrilatère : Polygone à quatre cotés : carré, losange, parallélogramme, rectangle, trapèze Polygone : Figure plane formée par une ligne polygonale fermée.

Polygonal : Qui a plusieurs angles et plusieurs cotés.

Rectangle : - Parallélogramme à un angle droit. Le carré est un rectangle - (cour.) Figure à quatre angles droits dont les cotés sont égaux deux à deux.

Exemple de construction de diagramme de classe : gestion technique de documents (4)

Parallélogramme : quadrilatère dont les cotés opposés sont deux à deux parallèles.

Cercle : Courbe plane fermée dont tous les points sont à égale distance R (rayon) d’un centre Ellipse : Courbe plane fermée dont chaque point est tel que la somme de ses distances à deux points fixes (foyers) est constante.

(courbe plane fermée) cercle Centre Rayon Dessiner ( ) Rond ellipse Foyer1 Foyer2 Dessiner ( ) Objet graphique Nom Copier ( ) Coller ( ) Couper ( ) Déplacer ( ) polygone quadrilatère parallélogramme 3..* coté 2..* angle coté 4 4 angle rectangle carré 4 Angle droit

Diagramme des cas d’utilisation (1)

Afin de construire le diagramme de classes, pour la gestion technique des documents, nous avons utilisé le dictionnaire. Lors de la construction de logiciel, nous devons discuter avec les utilisateurs afin de connaître leur besoin (phase spécification des besoins).

Les diagrammes de cas d’utilisation constituent un moyen de recueillir et de décrire ces besoins.

Tout système peut être décrit par un certain nombre de cas d’utilisation correspondant aux besoins exprimés par l’ensemble des utilisateurs.

système utilisateur 1 utilisateur 2 .

.

.

utilisateur x

Diagramme des cas d’utilisation (2)

A chaque utilisateur correspondra un certain nombre de cas d’utilisation du système. L’ensemble de ces cas d’utilisation se représente sous forme d’un diagramme.

Chaque cas d’utilisation doit être décrit sous forme textuelle afin de bien identifier les traitements à réaliser par le système en vue de la satisfaction du besoin exprimé par l’acteur.

Chaque cas d’utilisation produit un ou plusieurs résultats.

Le travail d’identification des cas d’utilisation suppose que les acteurs eux-mêmes soient déjà connus ou doivent l’être complètement à la fin de l’opération de description.

Acteur

Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif matériel ou autre système) qui interagit directement avec le système étudié.

Un acteur peut consulter et/ou modifier directement l’état du système, en émettant et/ou en recevant des messages susceptibles d’être porteurs de données.

Comment les identifier ?

Les acteurs candidats sont systématiquement : - les utilisateurs humains directs - les autres systèmes connexes qui interagissent aussi directement avec le système étudié.

Remarque : Une même personne physique peut se comporter en autant d’acteurs différents que le nombre de rôles qu’elle joue vis-à-vis du système Exemple : L’administrateur d’un système de messagerie peut être aussi utilisateur de cette même messagerie. Il sera considéré, en tant qu’acteur du système, dans le rôle d’administrateur d’une part et dans celui d’utilisateur d’autre part.

Représentation graphique d’un acteur

<> banque 1ère représentation Client 2ème représentation Banque 3ème représentation En général, les acteurs humains sont représentés avec la deuxième forme et les systèmes connectés par une forme rectangulaire.

Cas d’utilisation (1)

Un cas d’utilisation (« use case ») représente un ensemble de séquences d’actions qui sont réalisées par le système et qui produisent un résultat observable intéressant pour un acteur particulier.

Chaque cas d’utilisation spécifie un comportement attendu du système considéré comme un tout, sans imposer le mode de réalisation de ce comportement. Il permet de décrire ce que le futur système devra faire, sans spécifier comment il le fera.

Comment les identifier ?

L’objectif est le suivant : l’ensemble des cas d’utilisation doit décrire exhaustivement les exigences fonctionnelles du systèmes. Chaque cas d’utilisation correspond donc à une fonction métier du système, selon le point de vue d’un de ses acteurs.

Cas d’utilisation (2)

Pour chaque acteur, il convient de : - rechercher les différentes intentions métier avec lesquelles il utilise le système, - déterminer dans le cahier des charges les services fonctionnels attendus du système.

Comment les analyser ?

Pour détailler la dynamique du cas d’utilisation, la procédure la plus évidente consiste à recenser de façon textuelle toutes les interactions entre les acteurs et le système. Le cas d’utilisation doit avoir un début et une fin clairement identifiés. Il faut également préciser les variantes possibles, telles que les différents cas nominaux, les cas alternatifs, les cas d’erreurs, tout en essayant d’ordonner séquentiellement les descriptions, afin d’améliorer leur lisibilité.

Représentation d’un cas d’utilisation

<> Acteur non humain Cas d’utilisation 1 Acteur humain 1 Cas d’utilisation 2 Acteur humain 2

Cas d’utilisation : exemple 1

GESTION D’UNE BIBLIOTHEQUE Réaliser une inscription Etudiant Emprunter un livre Approvisionner ouvrages(s) Hôtesse Consulter le catalogue Faire inventaire Bibliothécaire

Cas d’utilisation : exemple 2

GAB Retirer de l’argent Porteur de CB Recharger le distributeur Consulter le solde Récupérer les cartes avalées Opérateur de maintenance Déposer du numéraire Client de la banque Déposer des chèques Récupérer les chèques déposés