21
UML Modélisation

UML, cas d'utilisation et diagramme de classe

Embed Size (px)

Citation preview

Page 1: UML, cas d'utilisation et diagramme de classe

UML

Modélisation

Page 2: UML, cas d'utilisation et diagramme de classe

UML

USES CASE

Page 3: UML, cas d'utilisation et diagramme de classe

ActeursUn acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou une chose qui interagit avec un système.

Page 4: UML, cas d'utilisation et diagramme de classe

Cas d’utilisationUn cas d’utilisation est une unité cohérente représentant une fonctionnalité visible de l’extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur qui l’initie. Un cas d’utilisation modélise donc un service rendu par le système, sans imposer le mode de réalisation de ce service.

Page 5: UML, cas d'utilisation et diagramme de classe

Relations entre acteurs 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)

Page 6: UML, cas d'utilisation et diagramme de classe

Le diagramme

Page 7: UML, cas d'utilisation et diagramme de classe

MultiplicitéActeurs principaux et secondaires

Un acteur est qualifié de principal pour un cas d’utilisation lorsque ce cas rend service à cet acteur Les autres acteurs sont alors qualifiés de secondaires. Un acteur principal obtient un résultat observable du système tandis qu’un acteur secondaire est sollicité pour des informations complémentaires

Page 8: UML, cas d'utilisation et diagramme de classe

Relations entre cas d’utilisation

Page 9: UML, cas d'utilisation et diagramme de classe

Relations entre cas d’utilisation

Il existe principalement deux types de relations :

- les dépendances stéréotypées, qui sont explicitées par un stéréotype (les plus utilisés sont l’inclusion et l’extension),-et la généralisation/spécialisation.

Une dépendance se représente par une flèche avec un trait pointillé. Si le cas A inclut ou étend le cas B, la flèche est dirigée de A vers B.

Le symbole utilisé pour la généralisation est un flèche avec un trait pleins dont la pointe est un triangle fermé désignant le cas le plus général

Page 10: UML, cas d'utilisation et diagramme de classe

Relations entre cas d’utilisation L'inclusion « include » : Cela implique obligatoirement

l'inclusion d'un cas d'utilisation dans un autre comme ici « Retire argent » fait obligatoirement appel à « S'authentifier ».

L'extension « extended » : Cela permet éventuellement l'extension d'un cas d'utilisation par un autre comme ici « Vérifier solde » peut étendre « Effectuer virement ».

Le point d'extension : Il est possible de préciser exactement à quel moment une extension est appelée comme ci-dessous par un « Extension points » ici « verification_solde {après avoir demandé le montant}.

La condition d'extension : Il est possible d'ajouter en note sous quelle condition l'extension doit se produire comme ci-dessous si le montant est supérieur à 20€.

L'héritage : Il permet de définir la spécialisation d'un cas d'utilisation comme ici consulter un compte depuis le DAB ou consulter le compte depuis Internet.

Page 11: UML, cas d'utilisation et diagramme de classe

UML

Class Diagram

Page 12: UML, cas d'utilisation et diagramme de classe

Classes Classe (class) : description abstraite d’un

ensemble d’objets de même structure et de même comportement extraits du monde à modéliser.

Attribut (attribute) : donnée élémentaire servant à caractériser les classes et les relations.

Méthodes / Opération (methods) : opérations programmées sur les objets d’une classe.

Page 13: UML, cas d'utilisation et diagramme de classe

Association Association (relationship) : l’association permet

de relier une classe à plusieurs autres classes. Multiplicité (multiplicity) : chaque extrémité

d’une association porte une indication de multiplicité. Elle exprime le nombre minimum et maximum d’objets d’une classe qui peuvent être reliés à des objets d’une autre classe.

Page 14: UML, cas d'utilisation et diagramme de classe

Role Avec UML, l’extrémité d’une association peut être enrichie

d’un rôle, qui décrit la façon dont la classe perçoit l’autre classe (ou les autres classes pour les associations n-aires) via l’association.

Un rôle est généralement désigné par une forme nominale ou verbale. Le rôle est placé à une extrémité du lien d’association, il se distingue ainsi du nom de l’association situé au centre du lien.

Le rôle est indispensable pour les associations réflexives

Page 15: UML, cas d'utilisation et diagramme de classe

Classe association Une association plusieurs-à-plusieurs avec attributs est

représentée sous UML par une classe association. Cette classe-association contient les attributs de

l’association et est connectée au lien d’association par une ligne en pointillé.

Notons qu’il est aussi possible d’utiliser une classe-association pour modéliser une association un-à-plusieurs ou plusieurs-à-plusieurs sans attributs

Page 16: UML, cas d'utilisation et diagramme de classe

Association n_aires Association entre plusieurs classes

Page 17: UML, cas d'utilisation et diagramme de classe

Association réflexive Une association réflexive est une association

binaire ou n-aire qui fait intervenir au moins deux fois la même entité/classe.

Page 18: UML, cas d'utilisation et diagramme de classe

Agrégation La composition (composite aggregation) requiert qu’un objet

appartienne au plus à une composition d’objets à un instant donné. Cette appartenance peut changer au cours du temps.La composition implique en outre une forme de propagation entre le composite et le composant (en particulier la destruction du composite entraînera obligatoirement la destruction de ses composants). Cette agrégation est représentée par un losange noirci du côté du rôle de la classe composite appelée « agrégat ».

L’agrégation partagée autorise qu’un objet appartienne simultanément à différentes compositions d’objets. Cette agrégation est représentée par un losange clair du côté du rôle de la classe concernée par l’association appelée « agrégat ».Les agrégations partagées sont un peu plus difficiles à définir, elles renforcent le couplage d’une association binaire et interviennent lorsque la composition ne s’applique pas et que des objets sont fortement dépendants par rapport à d’autres objets dans le cadre de l’association.

Page 19: UML, cas d'utilisation et diagramme de classe

Composition

Page 20: UML, cas d'utilisation et diagramme de classe

Agrégation

NB: Notion assez subjective, l’agrégation relève plus de la conception détaillée que de la modélisation. Elle se traduira au niveau physique par programmation de déclencheurs ou de contraintes SQL (de vérification CHECK ou de répercussion de clé étrangère CASCADE).

Page 21: UML, cas d'utilisation et diagramme de classe

Héritage / généralisation Il faut définir une association d’héritage entre les

classes C1 et C2 si on répond affirmativement à la question suivante : La classe C1 est-elle une sorte de C2 ?

UML représente un lien d’héritage à l’aide d’une flèche partant de la sous-classe vers la super-classe.