III.1.1.1.1. Définition du langage UML
Selon l'ouvrage « UML en action » publié par
les deux auteurs précités ci-haut, UML c'est un langage de
modélisation graphique à base de pictogrammes, conçu pour
représenter, spécifier les artefacts de systèmes logiciel,
de plus il est destiné à comprendre et décrire des
besoins, spécifier et documentés des systèmes,
esquissé des architectures logicielles, concevoir des solutions et
communiquer des points de vue, comme il peut être appliqué
à toutes sortes de systèmes ne se limitant pas au domaine
infor1matique.
UML résulte de l'unification de techniques ayant fait
leurs preuves pour l'analyse et conception de grands logiciels et de
systèmes complexes.
? UML est une Norme
Ainsi, il est nécessaire qu'une méthode objet
soit définie de manière rigoureuse et unique afin de lever les
ambiguïtés. De nombreuses méthodes objet ont
été définies, mais aucune n'a su s'imposer en raison du
manque de standardisation. C'est pourquoi l'ensemble des acteurs du monde
informatique a fondé en 1989 l'OMG (Object Management Group), une
organisation à but non lucratif, dont le but est de mettre au point des
standards garantissant la compatibilité entre des applications
programmées à l'aide de langages objet et fonctionnant sur des
réseaux hétérogènes (de différents
types).
A partir de 1997, UML est devenue une norme de l'OMG, ce qui
lui a permis de s'imposer en tant que méthode de développement
objet et être reconnue et utilisée par de nombreuses entreprises.
L'OMG est un organisme à but non lucratif, créé en 1989
à l'initiative de grandes sociétés (HP, Sun, Unisys,
American Airlines, Philips...). Aujourd'hui, l'OMG fédère plus de
850 acteurs du monde informatique.
Son rôle est de promouvoir des standards qui
garantissent l'interopérabilité entre applications
orientées objet, développées sur des réseaux
hétérogènes. L'OMG propose notamment l'architecture CORBA
(Common Object Request Broker Architecture), un modèle standard pour la
construction d'applications à objets distribués (répartis
sur un réseau).
Pour rester simple, on peut considérer CORBA comme une
généralisation de l'architecture clients/serveurs aux objets.
[Christian SOUTOU, 2006]
Inscription En Ligne
2016
Page 41
III.1.1.1.1.1. Caractéristiques du langage UML ?
UML est basé sur un méta-modèle
UML est un moyen d'exprimer des modèles objet en
faisant abstraction de leur implémentation, c'est-à-dire que le
modèle fourni par UML est valable pour n'importe quel langage de
programmation. UML est un langage qui s'appuie sur un méta
modèle, un modèle de plus haut niveau qui définit les
éléments d'UML (les concepts utilisables) et leur
sémantique (leur signification et leur mode d'utilisation). Le
méta modèle permet de se placer à un niveau d'abstraction
supérieur car il est étudié pour être plus
générique que le modèle qu'il permet de construire. Le
méta modèle d'UML en fait un langage formel possédant les
caractéristiques suivantes:
- Un langage sans ambiguïtés ;
- Un langage universel pouvant servir de support pour tout
langage orienté objet ;
- Un moyen de définir la structure d'un programme ;
- Une représentation visuelle permettant la communication
entre acteurs d'un même projet ;
? UML: Visualisation complète d'un
système
UML offre une manière élégante de
représenter le système selon différentes vues
complémentaires grâce aux diagrammes. Lorsqu'une entreprise
désire un logiciel, elle le réalise parfois en interne, mais le
fait plus généralement réaliser par une
société de services. Dans un cas comme dans l'autre il est
nécessaire de définir l'ensemble des fonctionnalités que
le logiciel doit posséder.
? UML n'est pas une méthode ou un processus
!
- Si l'on parle de méthode objet pour UML, c'est par
abus de langage!
- Ce constat vaut aussi pour OMT ou d'autres techniques /
langages de
modélisation.
- Une méthode propose aussi un processus, qui
régit notamment
l'enchaînement des activités de production d'une
entreprise.
- UML a été pensé pour permettre de
modéliser les activités de
l'entreprise, pas pour les régir (ce n'est pas CMM ou
SPICE).
- Un processus de développement logiciel universel est
une utopie :
- Impossible de prendre en compte toutes les organisations et
cultures d'entreprises.
- Un processus est adapté (donc très lié)
au domaine d'activité de
l'entreprise.
- Même si un processus constitue un cadre
général, il faut l'adapter
de manière précise au contexte de l'entreprise.
? UML est un langage pseudo-formel
- UML est fondé sur un méta modèle, qui
définit :
- les éléments de modélisation (les
concepts manipulés par le langage),
Inscription En Ligne
2016
Page 42
- la sémantique de ces éléments (leur
définition et le sens de leur utilisation).
- Un méta modèle est une description très
formelle de tous les concepts d'un langage. Il limite les
ambiguïtés et encourage la construction d'outils.
- Le méta modèle d'UML permet de classer les
concepts du langage (selon
leur niveau d'abstraction ou domaine d'application) et expose
sa structure. - Le méta modèle UML est lui-même
décrit par un méta-méta modèle
(OMG-MOF).
- UML propose aussi une notation, qui permet de
représenter graphiquement les éléments de
modélisation du méta modèle.
- Cette notation graphique est le support du langage UML.
? UML cadre l'analyse objet, en offrant :
- Différentes vues (perspectives) complémentaires
d'un système, qui guide
l'utilisation des concepts objets,
- Plusieurs niveaux d'abstraction, qui permettent de mieux
contrôler la
complexité dans l'expression des solutions objets.
- UML est un support de communication
- Sa notation graphique permet d'exprimer visuellement une
solution objet.
- L'aspect formel de sa notation limite les
ambiguïtés et les incompréhensions.
- Son aspect visuel facilite la comparaison et
l'évaluation de solutions.
- Son indépendance (par rapport aux langages
d'implémentation, domaine
d'application, processus...) en font un langage universel.
Selon ces deux auteurs, l'UML présente des points forts et
faibles ;
a. Les points forts d'UML
UML est un langage formel et normalisé
a. Gain de précision
b. Gage de stabilité
c. Encourage l'utilisation d'outils
UML est un support de communication performant
- Il cadre l'analyse ;
- Il facilite la compréhension de représentations
abstraites complexes ; - Son caractère polyvalent et sa souplesse en
font un langage universel
b. Les points faibles d'UML
? La mise en pratique d'UML nécessite un apprentissage
et passe par une période d'adaptation. Même si l'Espéranto
est une utopie, la nécessité de s'accorder sur des modes
d'expression communs est vitale en informatique.
Inscription En Ligne
2016
Page 43
Le processus (non couvert par UML) est une autre clé de
la réussite d'un projet. Or, l'intégration d'UML dans un
processus n'est pas triviale et améliorer un processus est une
tâche complexe et longue. [Christian SOUTOU, 2006]
? Comment modéliser avec UML ?
UML est un langage qui permet de représenter des
modèles, mais il ne définit pas le processus d'élaboration
des modèles! Cependant, dans le cadre de la modélisation d'une
application informatique, les auteurs d'UML préconisent d'utiliser une
démarche :
- Itérative et incrémentale ;
- Guidée par les besoins des utilisateurs du
système ; - Centrée sur l'architecture logicielle.
D'après les auteurs d'UML, un processus de
développement qui possède ces qualités devrait favoriser
la réussite d'un projet.
? Une démarche itérative et
incrémentale ?
L'idée est simple : pour modéliser (comprendre
et représenter) un système complexe, il vaut mieux s'y prendre en
plusieurs fois, en affinant son analyse par étapes. Cette
démarche devrait aussi s'appliquer au cycle de développement dans
son ensemble, en favorisant le prototypage. Le but est de mieux maîtriser
la part d'inconnu et d'incertitudes qui caractérisent les
systèmes complexes.
? Une démarche pilotée par les besoins des
utilisateurs ?
Avec UML, ce sont les utilisateurs qui guident la
définition des modèles : Le périmètre du
système à modéliser est défini par les besoins des
utilisateurs (les utilisateurs définissent ce que doit être le
système). Le but du système à modéliser est de
répondre aux besoins de ses utilisateurs (les utilisateurs sont les
clients du système). Les besoins des utilisateurs servent aussi de fil
rouge, tout au long du cycle de développement (itératif et
incrémental) : à chaque itération de la phase d'analyse,
on clarifie, affine et valide les besoins des utilisateurs. A chaque
itération de la phase de conception et de réalisation, on veille
à la prise en compte des besoins des utilisateurs. A chaque
itération de la phase de test, on vérifie que les besoins des
utilisateurs sont satisfaits.
? Une démarche centrée sur l'architecture
?
Une architecture adaptée est la clé de
voûte du succès d'un développement. Elle décrit des
choix stratégiques qui déterminent en grande partie les
qualités du logiciel (adaptabilité, performances,
fiabilité...). Ph. Kruchten propose différentes perspectives,
indépendantes et complémentaires, qui permettent de
définir un modèle d'architecture (publication IEEE, 1995). Cette
vue ("4+1") a fortement inspiré UML :
Page 44
Inscription En Ligne
|
2016
|
Figure 10: Démarche centrée sur l'Architecture
|