1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche [email protected].

50
Modélisation UML Modélisation UML Diagrammes de Cas d’utilisation Diagrammes de Cas d’utilisation Mohamed Nemiche Mohamed Nemiche [email protected] [email protected]

Transcript of 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche [email protected].

Page 1: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

1

Modélisation UMLModélisation UMLDiagrammes de Cas d’utilisationDiagrammes de Cas d’utilisation

Mohamed NemicheMohamed Nemiche

[email protected]@uv.es

Page 2: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

2

Modélisation Objet : UMLModélisation Objet : UML

Pour programmer Pour programmer une application ( développer un une application ( développer un logiciel ),logiciel ), il ne convient pas de se lancer tête baissée il ne convient pas de se lancer tête baissée dans dans l’écriture du codel’écriture du code : il faut d’abord  : il faut d’abord organiserorganiser ses ses idées, les idées, les documenterdocumenter, puis organiser la réalisation en , puis organiser la réalisation en définissant définissant les modulesles modules et étapes de la réalisation. et étapes de la réalisation.

C’est cette démarche antérieure à l’écriture que l’on C’est cette démarche antérieure à l’écriture que l’on appelle appelle modélisationmodélisation ; son produit est un ; son produit est un modèlemodèle

Page 3: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

3

Pourquoi modéliserPourquoi modéliser

Un modèle est une simplification de la réalité qui permet Un modèle est une simplification de la réalité qui permet de mieux comprendre le système à développer.de mieux comprendre le système à développer.

Il permet :Il permet : De visualiser le système comme il est ou comme il De visualiser le système comme il est ou comme il

devrait l'être.devrait l'être. De valider le modèle vis à vis des clientsDe valider le modèle vis à vis des clients De spécifier les structures de données et le De spécifier les structures de données et le

comportement du système.comportement du système. De fournir un guide pour la construction du système. De fournir un guide pour la construction du système. De documenter le système et les décisions prises.De documenter le système et les décisions prises.

Modélisation Objet : UMLModélisation Objet : UML

Page 4: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

4

L’objectif de UML est d’assister L’objectif de UML est d’assister le design et le le design et le développement du logicieldéveloppement du logiciel

C'est un C'est un langage de modélisationlangage de modélisation, pas une , pas une méthodologieméthodologie

Modélisation Objet : UMLModélisation Objet : UML

Page 5: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

5

5

HistoriqueHistorique

Début des années 1990Début des années 1990 les premiers processus de développement les premiers processus de développement OOOO apparaissent apparaissent

Entre 1990 et 1994 : Plus de 50 méthodes objet sont Entre 1990 et 1994 : Plus de 50 méthodes objet sont apparues:apparues: méthode méthode OODOOD de Grady Booch de Grady Booch ((1991)1991) méthode OMT de James Rumbaugh (1991)méthode OMT de James Rumbaugh (1991) méthode OOSE de Ivar Jacobson (1991)méthode OOSE de Ivar Jacobson (1991) méthode OOA/OOD de Coad and Yourdon (1992)méthode OOA/OOD de Coad and Yourdon (1992) méthode de Schlaer and Mellor (1992)méthode de Schlaer and Mellor (1992) Etc.Etc.

Page 6: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

6

Grady Booch et OODGrady Booch et OOD

Description

OOD signifie « Object Oriented Design ».

Cette méthode a été créée en 1993 par Grady Booch, alors qu’il travaillait chez General Electric pour faciliter la phase de conception orientée objet des gros projets.

Cette méthode propose des vues logiques et physiques du système.

Page 7: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

7

Ivar Jacobson et OOSEIvar Jacobson et OOSE

Description

OOSE signifie « Object Oriented Software Engineering ».

Cette méthode, créée en 1995 par Ivar Jacobson dans le cadre de ses activités chez Ericsson, introduit la notion de use-cases (cas d’utilisation).

Page 8: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

8

John Rumbaugh et OMTJohn Rumbaugh et OMT

Description OMT est l’acronyme de « Object Modeling Technique ».

John Rumbaugh a créé cette méthode en 1996 et a commercialisé un logiciel appelé Rational Rose (de la société Rational Rose Software) qui est une référence dans le domaine de la modélisation.

Cette méthode propose des vues statiques, dynamiques et fonctionnelles d’un système.

Page 9: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

9

9

HistoriqueHistorique

Fin 1994Fin 1994 G. Booch rejoint J. Rumbaugh chez Rational SoftwareG. Booch rejoint J. Rumbaugh chez Rational Software OMT + OOD OMT + OOD Unified Method Unified Method (oct 1995)(oct 1995)Fin 1995Fin 1995 I. Jacobson les rejoint chez Rational SoftwareI. Jacobson les rejoint chez Rational Software Unified Method + OOSE Unified Method + OOSE UML 0.9 UML 0.9 (juin 1996)(juin 1996)Début 1997Début 1997 Partenaires divers : Microsoft, Oracle, IBM, HP et autres leaders Partenaires divers : Microsoft, Oracle, IBM, HP et autres leaders

collaborentcollaborent UML 1.0 UML 1.0 (jan 1997)(jan 1997)Fin 1997Fin 1997 l’OMG (Object Management Group) retient UML 1.1 comme norme l’OMG (Object Management Group) retient UML 1.1 comme norme

de modélisationde modélisation

Page 10: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

10

L’arrivée d’UMLL’arrivée d’UML

La normalisation

UML devient une norme de l’OMG en 1997.

L’OMG (Object Management Group) est un organisme créé en 1989 afin de promouvoir des standards (comme CORBA par exemple) qui garantissent l’interopérabilité entre des applications orientées objet développées sur des réseaux hétérogènes.

Cet organisme a été créé et est soutenu par des industriels comme HP, Sun, Unisys, American Airlines, Philips …

Page 11: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

11

L’arrivée d’UMLL’arrivée d’UML

Au final, qu’est-ce qu’UML ?

UML : Unified Modeling Language • Langage de Modélisation Unifié. • Appliqué à l’analyse et à la conception des logiciels.• Langage essentiellement graphique. • Facile à lire et à comprendre. En clair • UML: norme qui définit les diagrammes et les conventions à

utiliser lors de la construction de modèles décrivant la structure et le comportement d’un logiciel.

• Les modèles sont des diagrammes constitués d’éléments graphiques et de texte.

• UML n’est pas une méthode, mais un langage.

Page 12: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

12

Les différents diagrammes

UML propose 13 types de diagrammes.

Ces diagrammes sont présentés dans la norme sous forme d’un diagramme de classes afin de mettre en évidence les deux types de diagrammes :

les diagrammes de structure pour modéliser l’aspect statique d’un système ;

les diagrammes de comportement pour modéliser l’aspect plutôt dynamique d’un système.

Modélisation Objet : UMLModélisation Objet : UML

Page 13: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

13

L’utilisation de diagrammesL’utilisation de diagrammes

UML permet de définir et de visualiser un UML permet de définir et de visualiser un modèle, à l'aide de diagrammes :modèle, à l'aide de diagrammes :

Définition d’un diagrammeDéfinition d’un diagramme Caractéristiques des diagrammes UMLCaractéristiques des diagrammes UML Les différents types de diagrammes UMLLes différents types de diagrammes UML

Page 14: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

14

Définition d’un diagrammeDéfinition d’un diagramme

Un diagramme UML est une Un diagramme UML est une représentation graphiquereprésentation graphique, , qui s'intéresse à un aspect précis du modèle.qui s'intéresse à un aspect précis du modèle.

Chaque type de diagramme UML possède une Chaque type de diagramme UML possède une structure (les types des éléments de modélisation qui structure (les types des éléments de modélisation qui le composent sont prédéfinis).le composent sont prédéfinis).

Un type de diagramme UML offre toujours Un type de diagramme UML offre toujours la même vuela même vue d'un système (il véhicule une sémantique précise).d'un système (il véhicule une sémantique précise).

Combinés, les différents types de diagrammes UML Combinés, les différents types de diagrammes UML offrent une offrent une vue complètevue complète des aspects statiques et des aspects statiques et dynamiques d'un système.dynamiques d'un système.

Page 15: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

15

Modélisation Objet : UMLModélisation Objet : UML

Page 16: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

16

16

Composants

Déploiement

Cas d’utilisation

ActivitésÉtats transitions

Communication

Séquence

Vue Implémentation(composants logiciels)

Vue déploiement(Environnementd’implantation)

Vue logique dynamique(Comportement)

Vue logique statique(Structure des objets)

Vue externe(fonctions système)

Objets

Classes

Modélisation Objet : UMLModélisation Objet : UML

Page 17: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

17

Logiciels de modélisation UML Logiciels de modélisation UML

Il existe de nombreux outils logiciels de modélisation UML.Il existe de nombreux outils logiciels de modélisation UML.

Aucun d'entre eux ne respecte strictement aucune des Aucun d'entre eux ne respecte strictement aucune des versions de UML, particulièrement UML2 versions de UML, particulièrement UML2

Logiciels open-source: ArgoUML, Papyrus UML, StarUML, Logiciels open-source: ArgoUML, Papyrus UML, StarUML, BOUML… BOUML…

Logiciels payants: Rational Rose ,EDGE Diagrammer, Visual Logiciels payants: Rational Rose ,EDGE Diagrammer, Visual Paradigm …Paradigm …

Page 18: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

18

Diagramme de cas d’utilisation Diagramme de cas d’utilisation (Use Case Diagram)(Use Case Diagram)

Page 19: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

19

Page 20: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

20

Page 21: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

21

Page 22: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

22

Page 23: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

23

Page 24: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

24

Page 25: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

25

Page 26: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

26

Cas d’utilisation (quelques Cas d’utilisation (quelques caractéristiques)caractéristiques)

Un cas d’utilisation N’EST PAS un diagramme, NI un Un cas d’utilisation N’EST PAS un diagramme, NI un symbole dans un diagramme….symbole dans un diagramme….

… … c’est une manière de décrire un scénario c’est une manière de décrire un scénario d’interaction entre utilisateur et système ..d’interaction entre utilisateur et système ..

… … Les diagrammes viennent après (ou avant) et Les diagrammes viennent après (ou avant) et représentent une vision générale des cas d’utilisation, représentent une vision générale des cas d’utilisation, ses relations avec les acteurs et avec d’autre cas ses relations avec les acteurs et avec d’autre cas d’utilisation.d’utilisation.

Page 27: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

27

Page 28: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

28

Page 29: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

29

Page 30: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

30Description textuelle des cas Description textuelle des cas d’utilisationd’utilisation

Une description textuelle d’un cas d’utilisation Une description textuelle d’un cas d’utilisation comprend:comprend: Les acteursLes acteurs Les pré-conditions: L’ensemble des conditions qui Les pré-conditions: L’ensemble des conditions qui

doivent être satisfaites avant de déclencher le cas doivent être satisfaites avant de déclencher le cas d’utilisationd’utilisation

Les post-conditions: L’état du système après le Les post-conditions: L’état du système après le déroulement du cas d’utilisationdéroulement du cas d’utilisation

Page 31: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

31

Page 32: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

32

Scénario?Scénario?

Un Scénario et une succession d’actions et réactions Un Scénario et une succession d’actions et réactions entre les utilisateurs (acteurs) et le système.entre les utilisateurs (acteurs) et le système. Par exemplePar exemple

Le Porteur de carteLe Porteur de carte introduit sa carte dans le lecteur introduit sa carte dans le lecteur de cartes du GAB.de cartes du GAB.

Le GAB vérifie que la carte introduite est bien une Le GAB vérifie que la carte introduite est bien une carte bancaire.carte bancaire.

Le GAB demande au Porteur de carte de saisir son Le GAB demande au Porteur de carte de saisir son code d’identification.code d’identification.

Le Porteur de carte saisit son code d’identification.Le Porteur de carte saisit son code d’identification. ……......

Page 33: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

33

Page 34: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

34

Les scénariosLes scénarios

Un scénario peut être présenté dans un Un scénario peut être présenté dans un tableau de la forme suivante:tableau de la forme suivante:

Actions des acteurs Actions du système

1. L’acteur déclanche…3. l’acteur choisi…….

2. Le système répond…4. Le système répond………

Page 35: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

35

Page 36: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

36

Page 37: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

37

Page 38: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

38

Relations entre cas d’utilisationRelations entre cas d’utilisation

Relations entre cas d’utilisations : permettent la Relations entre cas d’utilisations : permettent la structuration des cas d’utilisationstructuration des cas d’utilisation

Il existe 3 types de relations entre cas d’utilisation :Il existe 3 types de relations entre cas d’utilisation :- la relation d’inclusion (la relation d’inclusion (includeinclude))- la relation d’extension (extends)la relation d’extension (extends)- la relation de généralisationla relation de généralisation

Page 39: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

39

La relation d’inclusionLa relation d’inclusion ::Le cas d’utilisation source inclue cad contient Le cas d’utilisation source inclue cad contient obligatoirementobligatoirement le comportement du cas d’utilisation destinationle comportement du cas d’utilisation destination

Relation entre cas d’utilisation

Page 40: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

40

La relation d’ extension La relation d’ extension ::Le cas d’utilisation source étend cad ajoute son Le cas d’utilisation source étend cad ajoute son comportement (comportement (optionnellementoptionnellement) au comportement du cas ) au comportement du cas d’utilisation destinationd’utilisation destination

Relation entre cas d’utilisation

Page 41: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

41

Page 42: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

42

Page 43: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

43

Page 44: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

44

Page 45: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

45

ExempleExemple

Dans un magasin, un commerçant dispose d’un Dans un magasin, un commerçant dispose d’un système de gestion de son stock d’articles, dont les système de gestion de son stock d’articles, dont les fonctionnalités sont les suivantes :fonctionnalités sont les suivantes : Edition de la fiche d’un fournisseurEdition de la fiche d’un fournisseur Possibilité d’ajouter un nouvel article (dans ce cas, la Possibilité d’ajouter un nouvel article (dans ce cas, la

fiche fournisseur est automatiquement éditée. Si le fiche fournisseur est automatiquement éditée. Si le fournisseur n’existe pas, on peut alors le créer)fournisseur n’existe pas, on peut alors le créer)

Edition de l’inventaire. Depuis cet écran, on a le choix Edition de l’inventaire. Depuis cet écran, on a le choix d’imprimer l’inventaire, d’effacer un article ou d’éditer la d’imprimer l’inventaire, d’effacer un article ou d’éditer la fiche d’un article).fiche d’un article).

Modéliser cette situation par un diagramme de cas Modéliser cette situation par un diagramme de cas d’utilisationd’utilisation

Page 46: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

46

Page 47: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

47

TD: CAS D’UTILISATIONTD: CAS D’UTILISATION

Page 48: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

48

Exercice 1Exercice 1

Dans un établissement scolaire, on désire gérer la réservation des Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants sont portable ou/et Vidéo projecteur). Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de habilités à effectuer des réservations (sous réserve de disponibilité de la salle ou du matériel). Le planning des salles disponibilité de la salle ou du matériel). Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et peut quant à lui être consulté par tout le monde (enseignants et étudiants). Par contre, le récapitulatif horaire par enseignant étudiants). Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne peut être consulté que (calculé à partir du planning des salles) ne peut être consulté que par les enseignants. Enfin, il existe pour chaque formation un par les enseignants. Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif horaire enseignant responsable qui seul peut éditer le récapitulatif horaire pour l’ensemble de la formation. pour l’ensemble de la formation.

Modéliser cette situation par un diagramme de cas d’utilisationModéliser cette situation par un diagramme de cas d’utilisation

Page 49: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

49

Exercice 2Exercice 2

Dans un magasin, le processus de vente est le suivant : le client Dans un magasin, le processus de vente est le suivant : le client entre, passe dans les rayons, demande éventuellement des entre, passe dans les rayons, demande éventuellement des renseignements ou procède à des essais, prend des articles (si le renseignements ou procède à des essais, prend des articles (si le stock est suffisant), passe à la caisse où il règle ses achats (avec stock est suffisant), passe à la caisse où il règle ses achats (avec tout moyen de paiement accepté). Il peut éventuellement tout moyen de paiement accepté). Il peut éventuellement bénéficier d’une réduction.bénéficier d’une réduction.

Modéliser cette situation par un diagramme de cas d’utilisationModéliser cette situation par un diagramme de cas d’utilisation

Page 50: 1 Modélisation UML Diagrammes de Cas dutilisation Mohamed Nemiche nemiche@uv.es.

50

Exercice 3Exercice 3

Cette étude de cas concerne un système simplifié de Guichet Automatique de Cette étude de cas concerne un système simplifié de Guichet Automatique de Banque (GAB). Le GAB offre les services suivants:Banque (GAB). Le GAB offre les services suivants:

Distribution d’argent à tout porteur de carte de crédit (carte visa ou carte de la banque), via un Distribution d’argent à tout porteur de carte de crédit (carte visa ou carte de la banque), via un lecteur de carte et un distributeur de billets.lecteur de carte et un distributeur de billets.

Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les clients de la Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les clients de la banque porteurs d’une carte de crédit de la banque.banque porteurs d’une carte de crédit de la banque.

Toutes les transactions sont sécurisées via une identification par code d’accès. Si au moment de la Toutes les transactions sont sécurisées via une identification par code d’accès. Si au moment de la saisie du code le client échoue trois fois successives, la carte sera retenue.saisie du code le client échoue trois fois successives, la carte sera retenue.

Il est parfois nécessaire de recharger le distributeur, de récupérer les cartes avalées et les chèques Il est parfois nécessaire de recharger le distributeur, de récupérer les cartes avalées et les chèques des clients.des clients.

  A partir de ces quatre phrases, répondre aux questions suivantes:A partir de ces quatre phrases, répondre aux questions suivantes: Identifier les acteurs du GAB.Identifier les acteurs du GAB. Pour chaque acteur, proposer une liste des cas d'utilisation du GAB.Pour chaque acteur, proposer une liste des cas d'utilisation du GAB. Construire un diagramme de cas d'utilisation préliminaire du GAB.Construire un diagramme de cas d'utilisation préliminaire du GAB. En tenant compte des relations possibles entre cas d'utilisation et de celles entre acteurs, donner En tenant compte des relations possibles entre cas d'utilisation et de celles entre acteurs, donner

une version structurée du diagramme de cas d'utilisation du GAB.une version structurée du diagramme de cas d'utilisation du GAB. Donner une description sommaire pour chaque cas d'utilisation.Donner une description sommaire pour chaque cas d'utilisation. Proposer un scénario textuel général (scénario normal) décrivant l'enchaînement chronologique des Proposer un scénario textuel général (scénario normal) décrivant l'enchaînement chronologique des

cas d'utilisation.cas d'utilisation. Proposer d'autres scénarios alternatifs au scénario normal. Proposer d'autres scénarios alternatifs au scénario normal.