Le langage de modélisation unifié ( UML ) est un langage de modélisation de développement à usage général dans le domaine du génie logiciel, conçu pour fournir une approche standard de visualisation de la conception de systèmes. La motivation initiale pour créer UML était le désir de standardiser différents systèmes de notation et méthodes de conception de logiciels. En UML, un diagramme de classes est l’un des six types de diagrammes de structure . Les diagrammes de classes sont la base du processus de modélisation d’objets et modélisent la structure statique du système.
Les diagrammes de structure montrent la structure statique du système et de ses parties à différents niveaux d’abstraction et de mise en œuvre et comment ils sont liés les uns aux autres. Les éléments d’un diagramme de structure représentent les concepts significatifs d’un système et peuvent inclure des concepts abstraits, du monde réel et d’implémentation. Il existe sept types de diagramme de structure comme suit :
- Diagramme de classes
- Diagramme des composants
- Diagramme de déploiement
- Diagramme d’objets
- Schéma du package
- Diagramme de structure composite
- Diagramme de profil
Qu’est-ce qu’un diagramme de classes ?
Un diagramme de classes dans le langage de modélisation unifié (UML) est un diagramme de structure statique qui décrit la structure d’un système en montrant ses classes, leurs attributs, opérations (ou méthodes) et les relations entre les objets. Un diagramme de classes est un plan pour un système ou un sous-système. Vous pouvez utiliser des diagrammes de classes pour modéliser les objets qui composent le système, montrer les relations entre les objets et décrire les rôles de ces objets et les services qu’ils fournissent.
L’origine d’UML
Le but d’UML est de fournir une notation standard utilisable par toutes les méthodes orientées objet et de sélectionner et intégrer les meilleurs éléments des notations précurseurs. UML a été conçu pour une large gamme d’applications. Par conséquent, il fournit des constructions pour un large éventail de systèmes et d’activités (par exemple, systèmes distribués, analyse, conception et déploiement de systèmes).
UML est une notation issue de l’unification de l’OMT de
- La technique de modélisation d’objet OMT [ James Rumbaugh 1991] – était la meilleure pour l’analyse et les systèmes d’information à forte intensité de données.
- Booch [ Grady Booch 1994] – était excellent pour la conception et la mise en œuvre. Grady Booch avait beaucoup travaillé avec le langage Ada et avait été un acteur majeur dans le développement de techniques orientées objet pour le langage. Bien que la méthode Booch soit forte, la notation était moins bien reçue (beaucoup de formes de nuages dominaient ses modèles – pas très ordonnés)
- OOSE (Object-Oriented Software Engineering [ Ivar Jacobson 1992]) – présentait un modèle connu sous le nom de cas d’utilisation. Les cas d’utilisation sont une technique puissante pour comprendre le comportement d’un système entier (un domaine où OO a traditionnellement été faible).
En 1994, Jim Rumbaugh, le créateur d’OMT, stupéfia le monde du logiciel lorsqu’il quitta General Electric et rejoignit Grady Booch chez Rational Corp. Le but du partenariat était de fusionner leurs idées en une seule méthode unifiée (le titre de travail du était bien la « méthode unifiée »).
Le but du diagramme de classes
Les diagrammes de classes sont utiles dans de nombreuses phases de la conception du système. Pendant la phase d’analyse, les diagrammes de classes peuvent vous aider à comprendre les exigences du domaine problématique et à identifier ses composants. Dans les projets logiciels orientés objet, le diagramme de classes créé au début du projet contient des classes qui sont souvent converties en classes et objets logiciels réels lors de l’écriture du code.
Plus tard, vous pouvez affiner l’analyse initiale et les modèles conceptuels dans des diagrammes de classes pour montrer des parties spécifiques du système, des interfaces utilisateur, des implémentations logiques, etc.
Les diagrammes de classes sont largement utilisés dans la modélisation de systèmes orientés objet car ce sont les seuls diagrammes UML qui peuvent être mappés directement sur des langages orientés objet. Au cours de la phase de mise en œuvre du cycle de développement logiciel, vous pouvez utiliser des diagrammes de classes pour transformer des modèles en code et du code en modèles.
Exemple de classe
Un chien a des états – couleur, nom, race ainsi que des comportements – remuer, aboyer, manger. Un objet est une instance d’une classe.
Notation de classe UML
Une classe représente un concept qui encapsule l’état ( attributs ) et le comportement ( opérations ). Chaque attribut a un type. Chaque opération a une signature . Le nom de la classe est la seule information obligatoire .
Nom du cours:
- Le nom de la classe apparaît dans la première partition.
Attributs de classe :
- Les attributs sont affichés dans la deuxième partition.
- Le type d’attribut est affiché après les deux-points.
- Les attributs sont mappés sur des variables membres (membres de données) dans le code.
Opérations de classe (méthodes) :
- Les opérations sont présentées dans la troisième partition. Ce sont des services que la classe fournit.
- Le type de retour d’une méthode est affiché après les deux-points à la fin de la signature de la méthode.
- Le type de retour des paramètres de méthode est affiché après les deux-points suivant le nom du paramètre. Mappage des opérations sur les méthodes de classe dans le code
Relations de classe
Une classe peut être impliquée dans une ou plusieurs relations avec d’autres classes. Une relation peut être de l’un des types suivants : (Reportez-vous à la figure de droite pour la représentation graphique des relations).
Type de relation | Représentation graphique |
---|---|
Héritage (ou généralisation) :
|
|
Association simple :
|
|
Agrégation :Un type particulier d’association. Il représente une relation « faisant partie de ».
|
|
Composition :Un type spécial d’agrégation où les parties sont détruites lorsque le tout est détruit.
|
|
Dépendance :
|
Noms des relations
- Les noms des relations sont écrits au milieu de la ligne d’association.
- Les bons noms de relations ont un sens lorsque vous les lisez à haute voix :
- « Chaque feuille de calcul contient un certain nombre de cellules »,
- « une expression est évaluée à une valeur »
- Ils ont souvent une petite pointe de flèche pour indiquer la direction dans laquelle lire la relation, par exemple, les expressions sont évaluées en valeurs, mais les valeurs ne sont pas évaluées en expressions.
Relation – Rôles
- Un rôle est un objectif directionnel d’une association.
- Les rôles sont écrits aux extrémités d’une ligne d’association et décrivent le but joué par cette classe dans la relation.
- Par exemple, une cellule est liée à une expression. La nature de la relation est que l’expression est la formule de la cellule.
Visibilité des attributs de classe et des opérations
Dans la conception orientée objet, il existe une notation de visibilité pour les attributs et les opérations. UML identifie quatre types de visibilité : public , protected , private et package .
Les symboles +, -, # et ~ devant un attribut et un nom d’opération dans une classe indiquent la visibilité de l’attribut et de l’opération.
- + désigne des attributs publics ou des opérations
- – désigne des attributs ou des opérations privées
- # indique des attributs ou des opérations protégés
- ~ désigne les attributs ou les opérations du package
Exemple de visibilité de classe
Dans l’exemple ci-dessus :
- attribut1 et op1 de MyClassName sont publics
- attribut3 et op3 sont protégés.
- attribut2 et op2 sont privés.
L’accès à chacun de ces types de visibilité est indiqué ci-dessous pour les membres de différentes classes.
Droit d’accès | publique (+) | privé (-) | protégé (#) | Forfait (~) |
---|---|---|---|---|
Membres de la même classe | Oui | Oui | Oui | Oui |
Membres des classes dérivées | Oui | non | Oui | Oui |
Membres de toute autre classe | Oui | non | non | dans le même colis |
Multiplicité
Le nombre d’objets de chaque classe qui participent aux relations et à la multiplicité peut être exprimé comme suit :
- Exactement un – 1
- Zéro ou un – 0..1
- Beaucoup – 0..* ou *
- Un ou plusieurs – 1..*
- Nombre exact – par exemple 3..4 ou 6
- Ou une relation complexe – par exemple 0..1, 3..4, 6.* signifierait n’importe quel nombre d’objets autre que 2 ou 5
Exemple de multiplicité
- Exigence : Un étudiant peut suivre plusieurs cours et plusieurs étudiants peuvent être inscrits à un cours.
- Dans l’exemple ci-dessous, le diagramme de classes (à gauche) décrit l’énoncé de l’exigence ci-dessus pour le modèle statique tandis que le diagramme d’objets (à droite) montre l’instantané (une instance du diagramme de classes) de l’inscription au cours pour les cours Génie logiciel et Gestion de base de données respectivement)
Exemple d’agrégation – Ordinateur et pièces
- Une agrégation est un cas particulier d’association désignant une hiérarchie « consiste en »
- L’agrégat est la classe parent, les composants sont les classes enfants
Exemple d’héritage – Taxonomie cellulaire
- L’héritage est un autre cas particulier d’une association dénotant une hiérarchie « en quelque sorte »
- L’héritage simplifie le modèle d’analyse en introduisant une taxonomie
- Les classes enfants héritent des attributs et des opérations de la classe parent.
Diagramme de classes – Exemple d’outil de diagramme
Un diagramme de classes peut également avoir des notes attachées aux classes ou aux relations. Les notes sont affichées en gris.
Dans l’exemple ci-dessus :
Nous pouvons interpréter la signification du diagramme de classes ci-dessus en lisant les points comme suit.
- Shape est une classe abstraite. Il est indiqué en italique.
- La forme est une super-classe. Cercle, Rectangle et Polygone sont dérivés de Forme. En d’autres termes, un cercle est une forme. Il s’agit d’une relation généralisation/héritage.
- Il existe une association entre DialogBox et DataController.
- La forme fait partie de Window. Il s’agit d’une relation d’agrégation. La forme peut exister sans fenêtre.
- Point fait partie de Circle. Il s’agit d’une relation de composition. Point ne peut pas exister sans cercle.
- La fenêtre dépend de l’événement. Cependant, Event ne dépend pas de Window.
- Les attributs du cercle sont le rayon et le centre. Il s’agit d’une classe d’entités.
- Les noms de méthode de Circle sont area(), circum(), setCenter() et setRadius().
- Le paramètre radius dans Circle est un paramètre in de type float.
- La méthode area() de la classe Circle renvoie une valeur de type double.
- Les attributs et les noms de méthodes de Rectangle sont masqués. Certaines autres classes du diagramme ont également leurs attributs et leurs noms de méthode masqués.
Exemple de diagramme de classes : système de commande
Exemple de diagramme de classes : interface graphique
Un diagramme de classes peut également avoir des notes attachées aux classes ou aux relations.
Traiter avec un système complexe – diagramme à classes multiples ou à classe unique ?
Inévitablement, si vous modélisez un grand système ou un grand domaine d’activité, vous devrez prendre en compte de nombreuses entités. Devrions-nous utiliser plusieurs ou un seul diagramme de classes pour modéliser le problème ? La réponse est:
- Au lieu de modéliser chaque entité et ses relations sur un seul diagramme de classes, il est préférable d’utiliser plusieurs diagrammes de classes.
- La division d’un système en plusieurs diagrammes de classes facilite la compréhension du système, en particulier si chaque diagramme est une représentation graphique d’une partie spécifique du système.
Perspectives du diagramme de classes dans le cycle de vie du développement logiciel
Nous pouvons utiliser des diagrammes de classes dans différentes phases de développement d’un cycle de vie de développement logiciel et généralement en modélisant des diagrammes de classes dans trois perspectives différentes (niveaux de détail) au fur et à mesure que nous avançons :
Perspective conceptuelle : Les diagrammes sont interprétés comme décrivant des choses dans le monde réel. Ainsi, si vous adoptez la perspective conceptuelle, vous dessinez un diagramme qui représente les concepts du domaine à l’étude. Ces concepts seront naturellement liés aux classes qui les implémentent. La perspective conceptuelle est considérée comme indépendante de la langue .
Perspective de spécification : Les diagrammes sont interprétés comme décrivant des abstractions logicielles ou des composants avec des spécifications et des interfaces mais sans engagement pour une implémentation particulière. Ainsi, si vous prenez le point de vue des spécifications, nous examinons les interfaces du logiciel , pas l’implémentation.
Perspective d’implémentation : Les diagrammes sont interprétés comme décrivant des implémentations logicielles dans une technologie et un langage particuliers . Ainsi, si vous prenez la perspective de la mise en œuvre, nous examinons la mise en œuvre du logiciel .
Vous cherchez un outil de création de diagrammes de classe gratuit ?
Visual Paradigm Online (VP Online) Free Edition est un logiciel de dessin en ligne gratuit qui prend en charge les diagrammes de classes, d’autres diagrammes UML, les outils ERD et les outils d’organigramme. Il dispose d’un éditeur simple mais puissant qui vous permet de créer des diagrammes de classes rapidement et facilement. Cet éditeur UML gratuit n’a aucune publicité, aucun délai d’accès, aucune restriction, par exemple sur le nombre de diagrammes, le nombre de formes, etc. Vous êtes propriétaire des diagrammes que vous créez à des fins personnelles et non commerciales.
Vous cherchez une modélisation UML plus formelle sur votre bureau ?
Visual Paradigm Community Edition a été lancé depuis 2004 pour fournir un logiciel UML gratuit à des fins uniquement non commerciales, prenant en charge les utilisateurs qui faisaient leurs premiers pas dans la modélisation UML et qui avaient besoin d’un logiciel de modélisation UML gratuit et multiplateforme pour un usage personnel, tel que comme l’application d’UML sur des projets étudiants.
Outil de modélisation UML gratuit pour toutes sortes d’objectifs non commerciaux. Prise en charge des 13 diagrammes UML 2.x
Nous sommes adoptés par plus d’un million d’installations dans le monde et ne cessons de croître. De nombreuses personnes utilisent les éditions payantes de Visual Paradigm pour dessiner des diagrammes UML et ERD professionnels pour la conception et l’analyse de systèmes et de bases de données, tous les jours.
Raison 2
Confiance des professionnels de l’informatique et des grandes organisations
De nombreuses organisations de premier ordre, sociétés informatiques, consultants, universités, ONG et unités gouvernementales à travers le monde ont adopté Visual Paradigm (les éditions payantes). La figure ci-dessous montre certains de nos clients payants.
Raison 3
Haute qualité – Primé
Nous n’avons pas seulement la confiance des entreprises les plus connues dans le monde, mais aussi de l’industrie. Visual Paradigm est lauréat de plusieurs prix internationaux.
Raison 4
La plateforme de modélisation la plus utilisée pour le milieu universitaire
L’outil UML le plus largement utilisé pour le milieu universitaire, adopté par des milliers d’universités et de collèges.
Raison 5
Vaste collection de ressources d’apprentissage GRATUITES (soutien du VP Community Circle)
Des centaines d’exemples UML et ERD prêts à être importés dans Visual Paradigm pour une expérience instantanée ou pour démarrer avec votre propre modèle UML. Le tout GRATUITEMENT.
Raison 6
Chemin de mise à niveau vers les éditions commerciales pour un large éventail d’applications et de possibilités
Mise à niveau facile pour un vaste ensemble de fonctionnalités supplémentaires (par exemple, BPMN et prise en charge de la collaboration d’équipe) et pour une utilisation commerciale, à partir de 6 $ / mois .
Raison 7
Forum d’utilisateurs actif pour obtenir de l’aide et échanger des idées et des expériences
Soutenez, partagez et échangez vos idées avec d’autres personnes dans le forum des utilisateurs actifs de Visual Paradigm .
Raison 8
Application multiplateforme, conviviale, rapide et réactive
Visual Paradigm peut fonctionner sur différentes plates-formes telles que Windows, Linux et Mac. Son interface intuitive et ses puissantes fonctionnalités de modélisation rendent la modélisation rapide et facile !
Les références
- Qu’est-ce qu’UML ?
- Pourquoi la modélisation UML ?
- Présentation des 14 types de diagrammes UML
- Qu’est-ce qu’un diagramme de classes ?
- Qu’est-ce qu’un diagramme de composants ?
- Qu’est-ce qu’un diagramme de déploiement ?
- Qu’est-ce qu’un diagramme d’objets ?
- Qu’est-ce qu’un diagramme de package ?
- Qu’est-ce qu’un diagramme de structure composite ?
- Qu’est-ce qu’un diagramme de profil ?
- Qu’est-ce qu’un diagramme de cas d’utilisation ?
- Qu’est-ce qu’un diagramme d’activité ?
- Qu’est-ce qu’un diagramme de machine d’état ?
- Qu’est-ce qu’un diagramme de séquence ?
- Qu’est-ce qu’un diagramme de communication ?
- Qu’est-ce qu’un diagramme d’aperçu d’interaction ?
- Qu’est-ce que le diagramme de temps
Excellent, what a website it is! This webpage
provides valuable information to us, keep it up.
I’m really impressed with your writing skills as well as with the layout on your
blog. Is this a paid theme or did you modify it yourself?
Either way keep up the excellent quality writing,
it is rare to see a nice blog like this one nowadays.
Thanks for finally writing about > Un guide complet du diagramme de
classes UML – Cybermédiane < Loved it!