Qu'est-ce que la classe?
Une classe est un plan utilisé pour créer un objet. La classe définit ce que l'objet peut faire.
Qu'est-ce que le diagramme de classes?
Le DIAGRAMME DE CLASSE UML donne une vue d'ensemble d'un système logiciel en affichant les classes, les attributs, les opérations et leurs relations. Ce diagramme comprend le nom de la classe, les attributs et l'opération dans des compartiments désignés séparés.
Le diagramme de classes définit les types d'objets dans le système et les différents types de relations qui existent entre eux. Il donne une vue d'ensemble d'une application. Cette méthode de modélisation peut fonctionner avec presque toutes les méthodes orientées objet. Une classe peut faire référence à une autre classe. Une classe peut avoir ses objets ou hériter d'autres classes.
Le diagramme de classes aide à construire le code pour le développement de l'application logicielle.
Dans ce tutoriel, vous apprendrez:
- Qu'est-ce que la classe?
- Qu'est-ce que le diagramme de classes?
- Avantages du diagramme de classes
- Éléments essentiels d'un diagramme de classes UML
- Nom du cours
- Les attributs:
- Des relations
- Agrégation vs composition
- Classes abstraites
- Exemple de diagramme de classes UML:
- Diagramme de classes dans le cycle de vie du développement logiciel:
- Meilleures pratiques de conception du diagramme de classes
Avantages du diagramme de classes
- Diagramme de classes Illustre des modèles de données pour des systèmes d'information même très complexes
- Il donne un aperçu de la structure de l'application avant d'étudier le code réel. Cela peut facilement réduire le temps de maintenance
- Cela permet de mieux comprendre les schémas généraux d'une application.
- Permet de dessiner des graphiques détaillés mettant en évidence le code à programmer
- Utile pour les développeurs et autres parties prenantes.
Éléments essentiels d'un diagramme de classes UML
Les éléments essentiels du diagramme de classes UML sont:
- Nom du cours
- Les attributs
- Opérations
Nom du cours
Le nom de la classe n'est nécessaire que dans la représentation graphique de la classe. Il apparaît dans le compartiment supérieur. Une classe est le modèle d'un objet qui peut partager les mêmes relations, attributs, opérations et sémantiques. La classe est rendue sous forme de rectangle, y compris son nom, ses attributs et ses opérations dans des compartiments séparés.
Les règles suivantes doivent être respectées lors de la représentation d'une classe:
- Un nom de classe doit toujours commencer par une majuscule.
- Un nom de classe doit toujours être au centre du premier compartiment.
- Un nom de classe doit toujours être écrit en gras .
- Un nom de classe abstrait doit être écrit au format italique.
Les attributs:
Un attribut est nommé propriété d'une classe qui décrit l'objet modélisé. Dans le diagramme de classes, ce composant est placé juste en dessous du compartiment de nom.
Un attribut dérivé est calculé à partir d'autres attributs. Par exemple, l'âge de l'élève peut être facilement calculé à partir de sa date de naissance.
Caractéristiques des attributs
- Les attributs sont généralement écrits avec le facteur de visibilité.
- Public, private, protected et package sont les quatre visibilités qui sont respectivement désignées par les signes +, -, # ou ~.
- La visibilité décrit l'accessibilité d'un attribut d'une classe.
- Les attributs doivent avoir un nom significatif qui en décrit l'utilisation dans une classe.
Des relations
Il existe principalement trois types de relations dans UML:
- Dépendances
- Généralisations
- Les associations
Dépendance
Une dépendance signifie la relation entre deux ou plusieurs classes dans laquelle un changement dans l'une peut forcer des changements dans l'autre. Cependant, cela créera toujours une relation plus faible. La dépendance indique qu'une classe dépend d'une autre.
Dans l'exemple suivant, Student a une dépendance sur College
Généralisation:
Une généralisation permet de connecter une sous-classe à sa superclasse. Une sous-classe est héritée de sa superclasse. La relation de généralisation ne peut pas être utilisée pour modéliser l'implémentation de l'interface. Le diagramme de classes permet d'hériter de plusieurs superclasses.
Dans cet exemple, la classe Student est généralisée à partir de Person Class.
Association:
Ce type de relation représente des relations statiques entre les classes A et B. Par exemple; un employé travaille pour une organisation.
Voici quelques règles pour l'association:
- L'association est principalement un verbe ou une phrase verbale ou une phrase nominale ou nominale.
- Il doit être nommé pour indiquer le rôle joué par la classe attachée à la fin du chemin d'association.
- Obligatoire pour les associations réflexives
Dans cet exemple, la relation entre l'étudiant et le collège est montrée qui est des études.
Multiplicité
Une multiplicité est un facteur associé à un attribut. Il spécifie le nombre d'instances d'attributs créées lorsqu'une classe est initialisée. Si aucune multiplicité n'est spécifiée, par défaut, une est considérée comme une multiplicité par défaut.
Disons qu'il y a 100 étudiants dans un collège. Le collège peut avoir plusieurs étudiants.
Agrégation
L'agrégation est un type particulier d'association qui modélise une relation intégrale entre l'agrégat et ses parties.
Par exemple, le collège de classe est composé d'un ou plusieurs étudiants. Dans l'agrégation, les classes contenues ne sont jamais totalement dépendantes du cycle de vie du conteneur. Ici, la classe collégiale restera même si l'étudiant n'est pas disponible.
Composition:
La composition est un type spécial d'agrégation qui dénote une forte propriété entre deux classes lorsqu'une classe fait partie d'une autre classe.
Par exemple, si le collège est composé de classes étudiant. Le collège peut contenir de nombreux étudiants, tandis que chaque étudiant n'appartient qu'à un seul collège. Donc, si le collège ne fonctionne pas, tous les étudiants sont également supprimés.
Agrégation vs composition
Agrégation |
Composition |
L'agrégation indique une relation dans laquelle l'enfant peut exister séparément de sa classe parent. Exemple: automobile (parent) et voiture (enfant). Donc, si vous supprimez l'automobile, la voiture enfant existe toujours. |
Relation d'affichage de composition où l'enfant n'existera jamais indépendamment du parent. Exemple: Maison (parent) et Chambre (enfant). Les pièces ne se sépareront jamais en une maison. |
Classes abstraites
C'est une classe avec un prototype d'opération, mais pas l'implémentation. Il est également possible d'avoir une classe abstraite sans aucune opération déclarée à l'intérieur. Un résumé est utile pour identifier les fonctionnalités à travers les classes. Prenons un exemple de classe abstraite. Supposons que nous ayons une classe abstraite appelée comme un mouvement avec une méthode ou une opération déclarée à l'intérieur. La méthode déclarée à l'intérieur de la classe abstraite est appelée un move () .
Cette méthode de classe abstraite peut être utilisée par n'importe quel objet tel qu'une voiture, un animal, un robot, etc. pour changer la position actuelle. Il est efficace d'utiliser cette méthode de classe abstraite avec un objet car aucune implémentation n'est fournie pour la fonction donnée. Nous pouvons l'utiliser de n'importe quelle manière pour plusieurs objets.
En UML, la classe abstraite a la même notation que celle de la classe. La seule différence entre une classe et une classe abstraite est que le nom de la classe est strictement écrit dans une police italique.
Une classe abstraite ne peut pas être initialisée ou instanciée.
![](https://cdn.css-code.org/images/1/042319_0640_WhatisClass10.png.webp)
Dans la notation de classe abstraite ci-dessus, il existe la seule méthode abstraite unique qui peut être utilisée par plusieurs objets de classes.
Exemple de diagramme de classes UML
La création d'un diagramme de classes est un processus simple. Cela n'implique pas beaucoup de détails techniques. Voici un exemple:
Le système des guichets automatiques est très simple car les clients doivent appuyer sur certains boutons pour recevoir de l'argent. Cependant, il existe plusieurs couches de sécurité que tout système ATM doit passer. Cela permet d'éviter la fraude et de fournir de l'argent liquide ou des détails nécessaires aux clients bancaires.
Vous trouverez ci-dessous un exemple de diagramme de classes UML:
Diagramme de classes dans le cycle de vie du développement logiciel
Les diagrammes de classes peuvent être utilisés dans différentes phases de développement logiciel. Il aide à modéliser les diagrammes de classes dans trois perspectives différentes.
1. Perspective conceptuelle: les diagrammes conceptuels décrivent des choses dans le monde réel. Vous devez dessiner un diagramme qui représente les concepts du domaine à l'étude. Ces concepts sont liés à la classe et il est toujours indépendant de la langue.
2. Perspective de spécification: la perspective de spécification décrit des abstractions ou des composants logiciels avec des spécifications et des interfaces. Cependant, il ne donne aucun engagement de mise en œuvre spécifique.
3. Perspective d'implémentation: ce type de diagrammes de classes est utilisé pour les implémentations dans un langage ou une application spécifique. Perspective d'implémentation, utilisation pour l'implémentation logicielle.
Meilleures pratiques de conception du diagramme de classes
Les diagrammes de classes sont les diagrammes UML les plus importants utilisés pour le développement d'applications logicielles. De nombreuses propriétés doivent être prises en compte lors du dessin d'un diagramme de classes. Ils représentent divers aspects d'une application logicielle.
Voici quelques points à garder à l'esprit lors de l'élaboration d'un diagramme de classe:
- Le nom donné au diagramme de classes doit être significatif. De plus, il doit décrire l'aspect réel du système.
- La relation entre chaque élément doit être identifiée à l'avance.
- La responsabilité de chaque classe doit être identifiée.
- Pour chaque classe, un nombre minimum de propriétés doit être spécifié. Par conséquent, des propriétés indésirables peuvent facilement compliquer le diagramme.
- Les notes utilisateur doivent être incluses chaque fois que vous devez définir un aspect du diagramme. À la fin du dessin, il doit être compréhensible pour l'équipe de développement logiciel.
- Enfin, avant de créer la version finale, le diagramme doit être dessiné sur du papier ordinaire. De plus, il devrait être retravaillé jusqu'à ce qu'il soit prêt pour la soumission finale.
Conclusion
- UML est le langage standard pour spécifier, concevoir et visualiser les artefacts des systèmes logiciels
- Une classe est un plan pour un objet
- Un diagramme de classes décrit les types d'objets dans le système et les différents types de relations qui existent entre eux
- Il permet l'analyse et la conception de la vue statique d'une application logicielle
- Les diagrammes de classes sont les diagrammes UML les plus importants utilisés pour le développement d'applications logicielles
- Les éléments essentiels du diagramme de classes UML sont 1) Classe 2) Attributs 3) Relations
- Le diagramme de classes fournit une vue d'ensemble de la structure de l'application avant d'étudier le code réel. Cela réduit certainement le temps de maintenance
- Le diagramme de classes est utile pour mapper des langages de programmation orientés objet comme Java, C ++, Ruby, Python, etc.