Un guide complet du diagramme de classes UML

Table of Contents hide

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 :

 

Présentation des 14 types de diagrammes UML

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

  1. 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.
  2. 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)
  3. 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 »).

Historique UML

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) :
  • Représente une relation « est-un ».
  • Un nom de classe abstrait est affiché en italique.
  • SubClass1 et SubClass2 sont des spécialisations de Super Class.
  • Une ligne continue avec une pointe de flèche creuse qui pointe de l’enfant à la classe parent
Héritage (ou généralisation)
Association simple :
  • Un lien structurel entre deux classes de pairs.
  • Il existe une association entre Class1 et Class2
  • Une ligne continue reliant deux classes
Association simple
Agrégation :Un type particulier d’association. Il représente une relation « faisant partie de ».
  • Class2 fait partie de Class1.
  • De nombreuses instances (indiquées par *) de Class2 peuvent être associées à Class1.
  • Les objets de Class1 et Class2 ont des durées de vie distinctes.
  • Une ligne continue avec un losange vide à l’extrémité de l’association liée à la classe du composite
Agrégation
Composition :Un type spécial d’agrégation où les parties sont détruites lorsque le tout est détruit.
  • Les objets de Class2 vivent et meurent avec Class1.
  • Class2 ne peut pas se suffire à lui-même.
  • Un trait plein avec un losange plein à l’association liée à la classe de composite
Dépendance :
  • Existe entre deux classes si les modifications de la définition de l’une peuvent entraîner des modifications de l’autre (mais pas l’inverse).
  • La classe 1 dépend de la classe 2
  • Une ligne pointillée avec une flèche ouverte
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)

Diagramme d'objets

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'agrégation

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.
Exemple d'héritage

 

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.

Exemple de diagramme de classes

 

Dans l’exemple ci-dessus :

Nous pouvons interpréter la signification du diagramme de classes ci-dessus en lisant les points comme suit.

  1. Shape est une classe abstraite. Il est indiqué en italique.
  2. 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.
  3. Il existe une association entre DialogBox et DataController.
  4. La forme fait partie de Window. Il s’agit d’une relation d’agrégation. La forme peut exister sans fenêtre.
  5. Point fait partie de Circle. Il s’agit d’une relation de composition. Point ne peut pas exister sans cercle.
  6. La fenêtre dépend de l’événement. Cependant, Event ne dépend pas de Window.
  7. Les attributs du cercle sont le rayon et le centre. Il s’agit d’une classe d’entités.
  8. Les noms de méthode de Circle sont area(), circum(), setCenter() et setRadius().
  9. Le paramètre radius dans Circle est un paramètre in de type float.
  10. La méthode area() de la classe Circle renvoie une valeur de type double.
  11. 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 : 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.

Exemple de diagramme de classes : interface graphique

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.

Outil de diagramme de classes en ligne

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.

Écran Visual Paradigm

Outil de modélisation UML gratuit pour toutes sortes d’objectifs non commerciaux. Prise en charge des 13 diagrammes UML 2.x

Outil UML gratuit avec 13 diagrammes UML 2.x pris en charge

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.

Clients Visual Paradigm

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.

Prix ​​​​du paradigme visuel

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.

Écoles utilisant le paradigme visuel

Raison 5

Vaste collection de ressources d’apprentissage GRATUITES (soutien du VP Community Circle)

Des centaines d'exemples et de modèles de diagrammes UML et ERD

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 .

Fonctionnalités intégrées dans Visual Paradigm

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 .

Forum Paradigme visuel

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 !

Leave a Reply

Votre adresse e-mail ne sera pas publiée.