UML - Présentation
UML est un langage standard pour spécifier, visualiser, construire et documenter les artefacts des systèmes logiciels.
UML a été créé par l'Object Management Group (OMG) et un projet de spécification UML 1.0 a été proposé à l'OMG en janvier 1997.
OMG s'efforce continuellement de créer une véritable norme industrielle.
UML signifie Unified Modeling Language.
UML est différent des autres langages de programmation courants tels que C ++, Java, COBOL, etc.
UML est un langage pictural utilisé pour créer des plans logiciels.
UML peut être décrit comme un langage de modélisation visuelle à usage général pour visualiser, spécifier, construire et documenter un système logiciel.
Bien que UML soit généralement utilisé pour modéliser des systèmes logiciels, il n'est pas limité dans cette limite. Il est également utilisé pour modéliser des systèmes non logiciels. Par exemple, le flux de processus dans une unité de fabrication, etc.
UML n'est pas un langage de programmation mais des outils peuvent être utilisés pour générer du code dans divers langages à l'aide de diagrammes UML. UML a une relation directe avec l'analyse et la conception orientées objet. Après une certaine normalisation, UML est devenu un standard OMG.
Objectifs d'UML
Une image vaut mille mots , cet idiome correspond parfaitement à la description d'UML. Les concepts orientés objet ont été introduits bien avant UML. À ce moment-là, il n'y avait pas de méthodologies standard pour organiser et consolider le développement orienté objet. C'est alors que UML est entré en scène.
Il existe un certain nombre d'objectifs pour développer UML, mais le plus important est de définir un langage de modélisation à usage général, que tous les modélisateurs peuvent utiliser et il doit également être simple à comprendre et à utiliser.
Les diagrammes UML ne sont pas seulement conçus pour les développeurs, mais également pour les utilisateurs professionnels, les gens ordinaires et toute personne intéressée à comprendre le système. Le système peut être un système logiciel ou non logiciel. Ainsi, il doit être clair que UML n'est pas une méthode de développement mais qu'il accompagne des processus pour en faire un système performant.
En conclusion, l'objectif d'UML peut être défini comme un simple mécanisme de modélisation pour modéliser tous les systèmes pratiques possibles dans l'environnement complexe d'aujourd'hui.
Un modèle conceptuel d'UML
Pour comprendre le modèle conceptuel d'UML, nous devons d'abord clarifier ce qu'est un modèle conceptuel? et pourquoi un modèle conceptuel est-il nécessaire?
Un modèle conceptuel peut être défini comme un modèle composé de concepts et de leurs relations.
Un modèle conceptuel est la première étape avant de dessiner un diagramme UML. Cela aide à comprendre les entités du monde réel et comment elles interagissent les unes avec les autres.
Comme UML décrit les systèmes en temps réel, il est très important de créer un modèle conceptuel puis de procéder progressivement. Le modèle conceptuel d'UML peut être maîtrisé en apprenant les trois éléments majeurs suivants -
- Blocs de construction UML
- Règles pour connecter les blocs de construction
- Mécanismes communs d'UML
Concepts orientés objet
UML peut être décrit comme le successeur de l'analyse et de la conception orientées objet (OO).
Un objet contient à la fois des données et des méthodes qui contrôlent les données. Les données représentent l'état de l'objet. Une classe décrit un objet et forme également une hiérarchie pour modéliser le système réel. La hiérarchie est représentée comme un héritage et les classes peuvent également être associées de différentes manières selon l'exigence.
Les objets sont les entités du monde réel qui existent autour de nous et les concepts de base tels que l'abstraction, l'encapsulation, l'héritage et le polymorphisme peuvent tous être représentés en utilisant UML.
UML est suffisamment puissant pour représenter tous les concepts qui existent dans l'analyse et la conception orientées objet. Les diagrammes UML sont une représentation de concepts orientés objet uniquement. Ainsi, avant d'apprendre UML, il devient important de comprendre le concept OO en détail.
Voici quelques concepts fondamentaux du monde orienté objet -
Objects - Les objets représentent une entité et le bloc de construction de base.
Class - La classe est le schéma d'un objet.
Abstraction - L'abstraction représente le comportement d'une entité du monde réel.
Encapsulation - L'encapsulation est le mécanisme de liaison des données entre elles et de les cacher au monde extérieur.
Inheritance - L'héritage est le mécanisme de création de nouvelles classes à partir de classes existantes.
Polymorphism - Il définit le mécanisme d'exister sous différentes formes.
Analyse et conception OO
OO peut être défini comme une enquête et pour être plus précis, c'est l'investigation d'objets. Le design signifie la collaboration d'objets identifiés.
Ainsi, il est important de comprendre l'analyse OO et les concepts de conception. Le but le plus important de l'analyse OO est d'identifier les objets d'un système à concevoir. Cette analyse est également effectuée pour un système existant. Désormais, une analyse efficace n'est possible que lorsque nous sommes en mesure de commencer à penser de manière à identifier les objets. Après avoir identifié les objets, leurs relations sont identifiées et finalement le design est produit.
Le but de l'analyse et de la conception OO peut être décrit comme:
Identifier les objets d'un système.
Identifier leurs relations.
Faire un design, qui peut être converti en exécutables en utilisant les langages OO.
Il y a trois étapes de base où les concepts OO sont appliqués et mis en œuvre. Les étapes peuvent être définies comme
OO Analysis → OO Design → OO implementation using OO languages
Les trois points ci-dessus peuvent être décrits en détail comme -
Lors de l'analyse OO, l'objectif le plus important est d'identifier les objets et de les décrire de manière appropriée. Si ces objets sont identifiés efficacement, le prochain travail de conception est facile. Les objets doivent être identifiés avec des responsabilités. Les responsabilités sont les fonctions exécutées par l'objet. Chaque objet a un certain type de responsabilités à accomplir. Lorsque ces responsabilités sont associées, le but du système est rempli.
La deuxième phase est la conception OO. Au cours de cette phase, l'accent est mis sur les exigences et leur satisfaction. Dans cette étape, les objets sont collaborés selon leur association prévue. Une fois l'association terminée, la conception est également terminée.
La troisième phase est la mise en œuvre OO. Dans cette phase, la conception est implémentée à l'aide de langages OO tels que Java, C ++, etc.
Rôle d'UML dans la conception OO
UML est un langage de modélisation utilisé pour modéliser des systèmes logiciels et non logiciels. Bien que UML soit utilisé pour les systèmes non logiciels, l'accent est mis sur la modélisation des applications logicielles OO. La plupart des diagrammes UML discutés jusqu'à présent sont utilisés pour modéliser différents aspects tels que statique, dynamique, etc. Quel que soit leur aspect, les artefacts ne sont que des objets.
Si nous examinons le diagramme de classes, le diagramme d'objets, le diagramme de collaboration, les diagrammes d'interaction, tous seraient essentiellement conçus en fonction des objets.
Par conséquent, la relation entre la conception OO et UML est très importante à comprendre. La conception OO est transformée en diagrammes UML selon l'exigence. Avant de comprendre l'UML en détail, le concept OO doit être appris correctement. Une fois l'analyse et la conception OO terminées, l'étape suivante est très simple. L'entrée de l'analyse et de la conception OO est l'entrée des diagrammes UML.