Voici les différents concepts et principes de
l'approche objet qui sont à la base d'UML. Leur connaissance est
indispensable pour comprendre les éléments utilisés dans
la panoplie des diagrammes d'UML.
· Activité : Une activité
est une série d'actions. Une action consiste à affecter une
valeur à un attribut, créer ou détruire un objet,
effectuer une opération, envoyer un signal à un autre objet ou
à soi même, etc.
· Activité composée : Le
contenu d'une activité composée est formé d'autres
activités.
· Agrégation ou composition faible :
L'agrégation est l'association qui relie un objet
composé à ses composants. Elle est faible pour deux raisons : les
composants peuvent appartenir à d'autres objets composés et la
destruction de l'objet composé n'entraîne pas la destruction de
ses composants.
· Alternative : Dans un diagramme de
séquence, l'alternative est l'un des opérateurs d'un cadre
d'interaction. Elle est associée à une condition. Si la condition
est vérifiée, le contenu du cadre est exécuté.
Dans un diagramme d'activités, l'alternative sert
à sélectionner l'activité suivante. Chaque branche de
l'alternative est dotée d'une condition de garde exclusive des autres
conditions.
· Artefact : Un artefact est
constitué par la forme physique d'un logiciel. Un fichier
exécutable, une bibliothèque partagée ou un script sont
des exemples de forme physique de logiciel.
· Association entre objets : Une
association entre objets est un ensemble de liens entre les instances de deux
ou plusieurs classes. Elle est décrite dans le diagramme des classes.
· Associations entre paquetages : Il
existe deux associations entre paquetages :
Ø L'association d'importation consiste à amener
dans le paquetage de destination un élément du paquetage
d'origine. L'élément fait alors partie des éléments
visibles du paquetage de destination.
Ø L'association d'accès consiste à
accéder depuis le paquetage de destination à un
élément du paquetage d'origine. L'élément ne fait
alors pas partie des éléments visibles du paquetage de
destination.
· Association réflexive : Une
association réflexive relie les instances d'une classe entre elles.
· Attribut calculé : La valeur
d'un attribut calculé est donnée par une fonction basée
sur la valeur d'autres attributs.
17
· Attribut de classe : Un attribut de
classe est lié à la classe elle-même et non à chaque
instance. Un tel attribut est partagé par l'ensemble des instances de la
classe.
· Boucle : Dans un diagramme de
séquence, la boucle est l'un des opérateurs d'un cadre
d'interaction. Elle consiste en une exécution
répétée du contenu du cadre tant que la condition de fin
n'est pas remplie ou que le nombre maximal de répétitions n'est
pas atteint.
· Cas d'utilisation : Un cas
d'utilisation décrit les interactions, entre un utilisateur et le
système. Dans un cas d'utilisation avec objectif de l'utilisateur, cette
suite d'interactions est liée à un objectif fonctionnel de
l'utilisateur.
Dans un cas d'utilisation de sous-fonction, cette suite
d'interactions est destinée à être incluse dans un autre
cas d'utilisation.
· Cadre d'interaction : Un cadre
d'interaction est une partie du diagramme de séquence associée
à une étiquette contenant un opérateur qui en
détermine la modalité d'exécution. Les principales
modalités sont le branchement conditionnel et la boucle.
· Cardinalité minimale ou
cardinalité maximale : Une cardinalité est fixée
à une extrémité d'une association. Une cardinalité
minimale, respectivement maximale, permet de fixer le nombre minimal,
respectivement maximal, d'instances auxquelles une instance de la classe
située à l'autre extrémité de l'association est
reliée.
· Classe : Une classe est
constituée par un ensemble d'objets similaires possédant les
mêmes attributs et méthodes. Cette représentation commune
est définie en commun au niveau de la classe. Une classe concrète
définit un modèle complet. Elle possède des instances
directes.
Une classe abstraite définit un modèle
abstrait. Elle ne possède pas d'instances directes. Une telle classe
sert à factoriser, en tant que surclasse, des attributs et des
méthodes communes de plusieurs classes concrètes.
Une classe - association est à la fois une association
et une classe dont les instances sont les occurrences de l'association. Ainsi,
ces occurrences peuvent être dotées d'attributs ou
d'opérations.
· Composant : Un composant est une
unité logicielle offrant des services au travers d'une ou de plusieurs
interfaces. C'est une boîte noire dont le contenu n'intéresse pas
ses clients.
· Composition : La composition (ou
composition forte) est l'association qui relie un objet à ses
composants. Elle est forte pour deux raisons : les composants ne peuvent pas
appartenir
18
à d'autres objets composés et la destruction de
l'objet composé entraîne la destruction de ses composants.
· Condition de garde : Une condition de
garde est utilisée dans les diagrammes de communication,
d'états-transitions et d'activités. Elle constitue une condition
pour respectivement envoyer le message, franchir la transition ou
enchaîner les activités.
· Contraintes sur la relation d'héritage
: Il existe quatre contraintes sur la relation d'héritage entre
une surclasse et ses sous-classes:
Ø {incomplète} : l'ensemble des sous-classes
est incomplet et ne couvre pas la surclasse, c'est-à-dire que l'ensemble
des instances des sous-classes est un sous-ensemble de l'ensemble des instances
de la surclasse.
Ø {complète} : l'ensemble des
sous-classes est complet et couvre la surclasse.
Ø {disjoint} : les sous-classes n'ont
aucune instance en commun.
Ø {overlapping} : les sous-classes
peuvent avoir une ou plusieurs instances en commun.
· Couloir : Un couloir regroupe toutes
les activités dont un même objet est le responsable.
· Cycle de vie : Le cycle de vie d'un
objet est l'ensemble de ses états et des transitions les reliant.
· Encapsulation : L'encapsulation
consiste à masquer la structure et le comportement internes et propres
au fonctionnement de l'objet. Ce masquage peut être complet
(encapsulation privée), ne pas s'appliquer aux sous-classes
(encapsulation protégée) ou ne pas s'appliquer aux classes du
même paquetage (encapsulation de paquetage).
· Enchaînement d'activités :
Un enchaînement d'activités est un lien depuis une
activité d'origine vers une activité de destination. IL est
franchi lorsque l'activité d'origine est terminée.
· État : L'état d'un
objet correspond à un moment de son cycle de vie. Pendant qu'il se
trouve dans un état, un objet peut réaliser une activité
ou attendre un signal provenant d'autres objets.
· Généralisation : La
généralisation est la relation qui lie une sous-classe à
sa surclasse (ou l'une des surclasses en cas d'héritage multiple). La
généralisation s'applique également aux cas
d'utilisation.
19
· Granularité : La
granularité d'un objet représente sa taille. Un objet de petite
taille est dit de granularité fine ou de petit grain. Un objet
volumineux est dit de granularité importante ou de gros grain.
· Héritage : L'héritage
est la propriété qui fait bénéficier une
sous-classe de la structure et du comportement de sa surclasse.
L'héritage est multiple quand une sous-classe possède plusieurs
surclasses.
· Interface : Une interface est une
classe abstraite ne contenant que des signatures de méthodes. La
signature d'une méthode est composée de son nom et de ses
paramètres. Une interface fournie décrit les services offerts par
un composant. Une interface requise décrit les services qu'un composant
attend d'un autre composant dont il est le client.
· Instance : Une instance d'une classe
est un élément de l'ensemble des objets de cette classe.
· Ligne de vie : Au sein d'un diagramme
de séquence, une ligne de vie montre les actions et réactions
d'une instance, ainsi que les périodes pendant lesquelles elle est
activent.
· MDA : MDA (Model Driven Architecture
ou architecture guidée par les modèles) est une proposition de
l'OMG dont l'objectif est la conception de systèmes basée sur la
seule modélisation du domaine, indépendamment de la
plateforme.
· Message : Un message est
envoyé à un objet pour l'activer et provoquer l'exécution
de la méthode de même nom. Un envoi de message est un appel de
méthode. Un message peut être envoyé de façon
asynchrone. Dans ce cas, l'appelant atteint la fin de l'exécution de la
méthode de l'objet récepteur avant de continuer son
exécution. Un message peut être aussi envoyé de
façon synchrone. Dans ce cas, l'appelant continue son exécution
immédiatement après l'envoi du message.
· Méthode : Une méthode
est un ensemble d'instructions prenant des valeurs en entrée et
modifiant les valeurs des attributs ou produisant un résultat.
L'ensemble des méthodes d'une classe décrit le comportement des
instances de cette classe.
· Méthode de classe : Une
méthode de classe est liée à la classe elle-même et
non à une instance. Son invocation se fait au travers de la classe et
non de l'une de ses instances.
· Navigation : La navigation d'une
association en détermine le sens de parcours.
· Noeud : Un noeud est une unité
matérielle capable de recevoir et d'exécuter du logiciel.
20
· Objet : Un objet est une
entité identifiable du monde réel. Dans le modèle UML, un
objet est une instance d'une classe.
· Occurrence d'une association : Une
occurrence d'une association est un lien entre des instances des classes
situées aux extrémités de cette association.
· OCL : OCL (Object Contraint Language
ou langage de contraintes objet) est un
langage destiné à
exprimer les contraintes au sein d'un diagramme de classes sous forme de
conditions logiques.
· Paquetage : Un paquetage est un
regroupement d'éléments de modélisation : classes,
composants, cas d'utilisation, autres paquetages.
· Polymorphisme : Le polymorphisme est
la différence de comportement qui existe entre des sous-classes d'une
même surclasse pour les méthodes de même nom.
· Qualification : Une association peut
être qualifiée à une extrémité afin de
réduire à l'autre extrémité la cardinalité
maximale. En effet, la valeur du qualificateur est alors prise en compte pour
déterminer le nombre de liens.
· Relation de communication : La
relation de communication lie un acteur à un cas d'utilisation.
· Relation d'extension « extend » :
La relation d'extension permet d'enrichir un cas d'utilisation par un
cas d'utilisation de sous-fonction. Cet enrichissement est optionnel.
· Relation d'inclusion « include » :
La relation d'inclusion permet d'enrichir un cas d'utilisation par un
cas d'utilisation de sous-fonction. Cet enrichissement est obligatoire.
· Relation de réalisation : La
réalisation d'une interface, c'est-à-dire l'implantation
de
ses méthodes est confiée à une ou plusieurs classes
concrètes, sous-classes de l'interface. La relation d'héritage
qui existe entre une interface et une sous-classe d'implantation est
appelée relation de réalisation. Cette relation existe
également entre une interface et un composant qui implante ses
méthodes.
· Scénario : Un scénario
est une instance d'un cas d'utilisation dont toutes les alternatives ont
été fixées.
· Spécialisation : La
spécialisation est la relation qui lie une surclasse à l'une de
ses sous-classe. La spécialisation s'applique également aux cas
d'utilisation.
· Stéréotype : Un
stéréotype est un mot clé utilisé pour expliciter
la spécialisation d'un élément. Un
stéréotype est noté entre guillemets.
21
· Transition : Une transition est un
lien orienté entre deux états qui exprime le fait que l'objet a
la possibilité de passer de l'état d'origine de la transition
à son état de destination.
· Type : Le type peut être une
classe ou un type standard. Les types standards sont respectivement
désignés ainsi :
Ø Integer pour le type des entiers ;
Ø String pour le type des chaînes de
caractères ;
Ø Boolean pour le type des booléens ;
Ø Real pour le type des réels.16