uml, cas d'utilisation et diagramme de classe
TRANSCRIPT
![Page 1: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/1.jpg)
UML
Modélisation
![Page 2: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/2.jpg)
UML
USES CASE
![Page 3: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/6.jpg)
Le diagramme
![Page 7: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/8.jpg)
Relations entre cas d’utilisation
![Page 9: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/11.jpg)
UML
Class Diagram
![Page 12: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/16.jpg)
Association n_aires Association entre plusieurs classes
![Page 17: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/19.jpg)
Composition
![Page 20: UML, cas d'utilisation et diagramme de classe](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061508/5586b53dd8b42a8c178b4637/html5/thumbnails/21.jpg)
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.