« UML (informatique) » : différence entre les versions

Contenu supprimé Contenu ajouté
SGlad (discuter | contributions)
m Histoire : James pas Jim
Parisii1976 (discuter | contributions)
 
(11 versions intermédiaires par 10 utilisateurs non affichées)
Ligne 17 :
 
<!--[[Image:UML logo.svg|vignette|Logo d'UML.|alt=|220x220px]]-->
Le '''Langage de Modélisation Unifié''', de l'anglais {{lang|en|''Unified'''U'''nified Modeling'''M'''odeling Language'''L'''anguage''}} ('''UML'''), est un [[langage]] de modélisation graphique à base de [[pictogramme]]s conçu comme une méthode normalisée de visualisation dans les domaines du [[développement logiciel]] et en [[Programmation orientée objet|conception orientée objet]].
 
L'UML est une synthèse de langages de modélisation objet antérieurs : [[Méthode Booch|Booch]], [[Object Modeling Technique|OMT]], [[OOSE]]. Principalement issu des travaux de [[Grady Booch]], [[James Rumbaugh]] et [[Ivar Jacobson]], UML est à présent un standard adopté par l'[[Object Management Group]] (OMG). UML 1.0 a été normalisé en {{date-|janvier 1997}} ; UML 2.0 a été adopté par l'OMG en {{date-|juillet 2005}}<ref>Voir la section Historique</ref>. La dernière version de la spécification validée par l'OMG est UML 2.5.1 (2017)<ref>[https://www.omg.org/spec/UML/ UML sur le site de l'OMG]</ref>.
 
== Utilisation ==
UML est destiné à faciliter la conception des documents nécessaires au développement d'un logiciel orienté objet, comme standard de modélisation de l'architecture logicielle. Les différents éléments représentables sont :
* Activité d'un objet/logiciel
* [[Acteur (UML)|Acteurs]]
* Processus
* Schéma de base de données
Ligne 40 :
|-
| Au début des années 1980
| Les objets commencent à quitter les laboratoires de recherche et à faire leurs premiers pas dans le monde réel ; entre autres, le langage de programmation [[Smalltalk]], stabilisé, devient une plate-forme utilisable et le [[C++]] voit le jour.
Les méthodes objets commencent à émerger pour remplacer les méthodes structurée et fonctionnellesfonctionnelle, trop liésliées à la machine.
|-
| 1989 à 1994
| Le nombre de méthodes orientées objet passe de dix à plus de cinquante ; toutes ces méthodes ont de nombreux points communs (objets, méthodes, paramètres, etc.).
Ces méthodes, s'orientant sur l'abstraction des composants matériels, se basent sur des notions de classe, d'association, de partition en sous-systèmes et autour desur l'étude de l'interaction entre l'utilisateur et le système. Les principaux auteurs de ces méthodes sont [[James Rumbaugh]], [[Grady Booch]] et [[Ivar Jacobson]]. Parmi ces méthodes, deux s'imposent : la méthode de Booch et la méthode OMT (Object Modeling Technique). Les deuxièmes versions des méthodes de Booch et OMT font leur apparition : Booch'93 et OMT-2. Ces méthodes sont assez semblables, mais Booch'93 insiste plus sur la construction tandis qu'OMT-2 insiste plus sur l'analyse et l'abstraction.
|-
| 1989 et 1991
Ligne 66 :
|-
| 1994
| Le nombre important de méthodes et le fait que les différences entre- elles se réduisent, font reculer la technologie objet au point que [[James Rumbaugh]] et [[Grady Booch]] s'unissent afin d'unifier leurleurs travaux. Ils proposent une « méthode unifiée ».
|-
| 1994
Ligne 76 :
|-
| 1995
| [[Ivar Jacobson]], créateur des ''use cases'', rejoint [[James Rumbaugh]] et [[Grady Booch]].
|-
| 1995
Ligne 278 :
* Les [[stéréotype (UML)|stéréotypes]] peuvent dépendre du langage utilisé.
* Les [[archétype (UML)|archétypes]].
* Les [[ProfileProfil (UML)|profils]].
 
== Normalisation et certification ==
Ligne 312 :
 
== Logiciels de modélisation UML ==
 
{{article détaillé|Comparaison des logiciels d'UML}}
[[Image:Umbrello KDE 4.1.png|vignette|320px|[[Umbrello]], atelier UML de KDE.]]
S'il existe de nombreux logiciels de modélisation UML, aucun ne respecte entièrement chacune des versions de UML, particulièrement UML 2, et beaucoup introduisent des notations non conformes. En revanche, de nombreux logiciels comportent des modules de génération de code, particulièrement à partir du [[diagramme de classes]], qui est celui qui se prête le mieux à une telle automatisation.