1.6. Le processus unifié utilise le langage UML
UML (Unified Modeling Langage) est une méthode de
modélisation orientée objeten réponse à l'appel
à propositions lancé par l'OMG (Object Management Group)dans le
but de définir la notation standard pour la modélisation des
applications construites àl'aide d'objets. Elle est
héritée de plusieurs autres méthodes telles que OMT
(Object ModelingTechnique) et OOSE (Object Oriented Software Engineering) et
Booch. Les principaux auteursde la notation UML sont Grady Booch, Ivar Jacobson
et Jim Rumbaugh.[5]
Elle est utilisée pour spécifier un logiciel
et/ou pour concevoir un logiciel. Dans laspécification, le modèle
décrit les classes et les cas d'utilisation vus de l'utilisateur final
dulogiciel.
Le modèle produit par une conception orientée
objet est en général une extension dumodèle issu de la
spécification. Il enrichit ce dernier de classes, dites techniques,
quin'intéressent pas l'utilisateur final du logiciel mais seulement ses
concepteurs. Il comprend lesmodèles des classes, des états et
d'interaction. UML est également utilisée dans les
phasesterminales du développement avec les modèles de
réalisation et de déploiement.
UML est une méthode utilisant une représentation
graphique. L'usage d'une représentationgraphique est un
complément excellent à celui de représentions textuelles.
En effet, l'unecomme l'autre sont ambiguës mais leur utilisation
simultanée permet de diminuer lesambiguïtés de chacune
d'elle. Un dessin permet bien souvent d'exprimer clairement ce qu'untexte
exprime difficilement et un bon commentaire permet d'enrichir une figure.
Il est nécessaire de préciser qu'une
méthode telle que UML ne suffit pas à produire
undéveloppement de logiciel de qualité à elle seule. En
effet, UML n'est qu'un formalismeouplutôt un ensemble de formalismes
permettant d'appréhender un problème ou un domaine et dele
modéliser, ni plus ni moins. Un formalisme n'est qu'un outil. Le
succès du développementdu logiciel dépend
évidemment de la bonne utilisation d'une méthode comme UML mais
ildépend surtout de la façon dont on utilise cette méthode
à l'intérieur du cycle dedéveloppement du logiciel.
Dans UML, il existe plusieurs formalismes ou «
modèles » :
· Le modèle des classes
· Le modèle des états
· Le modèle des cas d'utilisation
· Le modèle d'interaction
· Le modèle de réalisation
· Le modèle de déploiement
· Etc.
Le modèle des classes est le plus utile. C'est un
formalisme pour représenter les conceptsusuels de l'orientée
objet. Le modèle des états et le modèle d'interaction
permettent dereprésenter la dynamique des objets. Le modèle des
cas d'utilisation permet de décrire lesbesoins de l'utilisateur final du
logiciel. Le modèle de réalisation et le modèle de
déploiement,moins importants que les autres modèles de UML.
1.6.1. Diagramme des classes
Le diagramme de classes exprime la structure statique du
système en termes de classes et derelations entre ces
classes.L'intérêt du diagramme de classe est de modéliser
les entités du système d'information.
Le diagramme de classe permet de représenter l'ensemble
des informations finalisées qui sontgérées par le domaine.
Ces informations sont structurées, c'est-à-dire qu'elles sont
regroupées dansdes classes. Le diagramme met en évidence
d'éventuelles relations entre ces classes.
Le diagramme de classes comporte 6 concepts :
Nom_Classe
|
-Attribut1 : type ;
-Attribut2 : type ;
-Attribut3 : type ;
|
+Opération () : void
|
1. Classe
Une classe est une description abstraite (condensée)
d'un ensemble d'objets du domaine de l'application : elle définit leur
structure, leur comportement et leurs relations.
Représentation : les classes sont
représentées par des rectangles compartimentés :
·le 1er compartiment représente le nom de la
classe
·le 2ème compartiment représente les
attributs de la classe
·le 3ème compartiment représente les
opérations de la classe
2. Attribut
Un attribut représente la modélisation d'une
information élémentaire représentée par son nom et
son format. Par commodité de gestion, on choisit parfois de conserver
dans un attribut le résultat d'un calcul effectué à partir
d'autres classes : on parle alors d'attribut dérivé. Pour
repérer un attribut dérivé : on place un / devant son
nom.
UML définit 3 niveaux de visibilité pour les
attributs :
- Public (+) : l'élément est visible pour tous
les clients de la classe
- Protégé (#) : l'élément est
visible pour les sous-classes de la classe
- Privé (-) : l'élément n'est visible que
par les objets de la classe dans laquelle il est déclaré.
3. Identifiant
L'identifiant est un attribut particulier, qui permet de
repérer de façon unique chaque objet, instance de la classe.
4. Relation
S'il existe des liens entre objets, cela se traduit
nécessairement par des relations qui existent entre leurs classes
respectives. Les liens entre les objets doivent être
considérés comme des instances de relations entre classes.
Il existe plusieurs types de relations entre classes :
- L'association : est la relation la plus courante
et la plus riche du point de vue sémantique. Uneassociation est une
relation statique n-aire (le plus souvent : elle est binaire) :
c'est-à-dire qu'elle relie plusieurs classes entre elles.
- La
généralisation/spécialisation : permet
d'identifier parmi les objets d'une classe(générique) des
sous-ensembles d'objets (des classes spécialisées) ayant des
définitions spécifiques.La classe plus spécifique
(appelée aussi classe fille, classe dérivée, classe
spécialisée, classedescendante ...) est cohérente avec la
classe plus générale (appelée aussi classe mère,
classe générale ...), c'est-à-dire qu'elle contient par
héritage tous les attributs, les membres, les relations
de la classe générale, et peut contenir d'autres.
- La dépendance : est une relation entre
deux éléments de modélisation dans laquelle toute
modification effectuée sur un élément de
modélisation (l'élément influent) affecte l'autre
élément (élément dépendant).
- 5. Opération
L'opération représente un élément
de comportement des objets, défini de manière globale dans la
classe. Une opération est une fonctionnalité assurée par
une classe. La description des opérations peut préciser les
paramètres d'entrée et de sortie ainsi que les actions
élémentaires à exécuter.
Comme pour les attributs, on retrouve 3 niveaux de
visibilité pour les opérations :
- Public (+) : l'opération est visible pour tous les
clients de la classe
- Protégé (#) : l'opération est visible
pour les sous-classes de la classe
- Privé (-) : l'opération n'est visible que par
les objets de la classe dans laquelle elle est déclarée.
|