Uml

Fermé
marmoura - 30 oct. 2012 à 20:04
 bigbybob - 30 oct. 2012 à 22:55
Bonjour

Est ce que quelqu'un pourrait m'expliquer la différence qu'il existe entre une relation de type "extend" et une relation de nature generalisation.
merci beaucoup de vos explications
A voir également:

1 réponse

Bonjour,

Il serait bon de préciser dans quel genre de diagramme on se situe, parce que quand on pense UML, on pense d'abord Diagramme de Classe. Or, ici, a priori, on est plus dans un Use Case. Je dis ça parce que les types de relation sont différents selon les diagrammes mais ont parfois les mêmes noms.

Bref, je vais partir du principe qu'on est dans un diagramme de Use Cases. Donc le <<extend>> permet de donner des options supplémentaires par rapport au use case.

Exemple : Une personne peut marcher. Courir et Trottiner seront des extensions de ce cas d'utilisation. En effet, une personne peut seulement marché, ou alors courir ou trottiner. On aura donc Personne en tant qu'utilisateur (le bonhomme du diagramme), "marcher" comme cas d'utilisation, et "Courir" et "Trottiner" comme extends reliés à "marcher". Cet exemple n'est pas forcement le plus adéquat mais je trouve pas mieux là.

La généralisation oblige un choix.

Exemple : Un client de supermarché doit payer. Le paiement peut se faire par CB ou liquide. Donc, client est l'utilisateur , "payer" est le cas d'utilisation, et "CB" et "liquide" lui sont reliés avec une généralisation.

En résumé, extends => options facultatives, généralisation => 1 des options obligatoires.
0