dimanche 28 octobre 2012

UML

UML - Introduction 
L’approche objet est incontournable dans le cadre du développement de systèmes logiciels
complexes, capables de suivre les évolutions incessantes des technologies et des besoins
applicatifs. Cependant, la programmation objet est moins intuitive que la programmation
fonctionnelle. En effet, il est plus naturel de décomposer les problèmes informatiques en
termes de fonctions qu’en termes d’ensembles d'objets en interaction. De ce fait, l’approche
objet requiert de modéliser avant de concevoir. La modélisation apporte une grande rigueur, offre une meilleure compréhension des logiciels, et facilite la comparaison des solutions
de conception avant leur développement. Cette démarche se fonde sur des langages de modélisation, qui permettent de s'affranchir des contraintes des langages d’implémentation.
Le besoin d'une méthode de description et de développement de systèmes, prenant en compte
à la fois les données et les traitements, a grandi en même temps que la taille des applications
objet. Au milieu des années 90, plusieurs dizaines de méthodes objet sont disponibles, mais
aucune ne prédomine. L’unification et la normalisation des trois méthodes dominantes, à
savoir Booch, du nom de son auteur, OOSE (Object Oriented Software Engineering), d’Ivan
Jacobson et OMT (Object Modeling Technique), de James Rumbaugh, sont à l'origine de la
création du langage UML (Unified Modeling Language).

UML est une notation graphique conçue pour représenter, spécifier, construire et documenter
les systèmes logiciels. Ses deux principaux objectifs sont la modélisation de systèmes utilisant les techniques orientées objet, depuis la conception jusqu’à la maintenance, et la créa-
tion d'un langage abstrait compréhensible par l'homme et interprétable par les machines.
UML s’adresse à toutes les personnes chargées de la production, du déploiement et du suivi
de logiciels (analystes, développeurs, chefs de projets, architectes…), mais peut également
servir à la communication avec les clients et les utilisateurs du logiciel. Il s’adapte à tous les
domaines d'application et à tous les supports. Il permet de construire plusieurs modèles
d’un système, chacun mettant en valeur des aspects différents : fonctionnels, statiques, dynamiques et organisationnels. UML est devenu un langage incontournable dans les projets de
développement.

Une méthode de développement définit à la fois un langage de modélisation et la marche à
suivre lors de la conception. Le langage UML propose uniquement une notation dont
l’interprétation est définie par un standard, mais pas une méthodologie complète. Plusieurs
processus de développement complets fondés sur UML existent, comme le Rational Unified
Process (RUP), de Booch, Jacobson et Rumbaugh, ou l’approche MDA (Model Driven
Architecture) proposée par l’OMG, mais ils ne font pas partie du standard UML.