UML 2 Diagrammes de Classe


Diagrammes de Classe
Le diagramme de classes montre les blocs de construction de tout système orienté-objet. Les diagrammes de classes représentent une vue statique du modèle. Ou une partie du modèle, décrivant ce que les attributs et les comportements, qu'il a plutôt que de détailler les méthodes pour atteindre les opérations. Les diagrammes de classes sont les plus utiles pour illustrer les relations entre les classes et les interfaces. Généralisations, agrégations et les associations sont tous précieux reflétant l'héritage, la composition ou l'utilisation, et les connexions respectivement.

Le diagramme ci-dessous illustre les relations d'agrégation entre les classes. L'agrégation léger indique que la classe "Compte" utilise le Carnet d'Adresses, mais ne contient pas nécessairement une instance. Les forts, agrégations composites par les autres connecteurs indiquent la propriété ou le confinement des classes source par les classes de cibles. Par exemple contacter et les valeurs du Groupe de Contact seront contenues dans le Carnet d'Adresses.

Classes
Une classe est un élément qui définit les attributs et les comportements, qu'un objet est capable de générer. Le comportement est décrit par les messages possibles, la classe est en mesure de comprendre, avec les opérations qui sont appropriés pour chaque message. Les classes peuvent aussi avoir des définitions de contraintes, les valeurs et les stéréotypes marqués.

Class de Notation
Les classes sont représentées par des rectangles, qui montrent le nom de la classe et éventuellement le nom des opérations et attributs. Les Compartiments sont utilisés pour diviser le nom de la classe, les attributs et les opérations.

Dans le diagramme au-dessous la classe contient le nom de la classe dans le compartiment le plus élevé. Les détails de compartiment prochains les attributs, avec l'attribut "de centre" montrant valeurs initiales. Le compartiment final montre les opérations 'setWidth', 'setLength' et 'setPosition' et leurs paramètres. La notation qui précède l'attribut, ou nom de l'opération, indique la visibilité de l'élément: si le symbole + est utilisé, l'attribut, ou de l'exploitation, a un niveau de visibilité publique; si un - symbole est utilisé, l'attribut, ou de l'exploitation, est privé. En outre, le symbole # permet une opération, ou un attribut, être défini comme protégé, tandis que le symbole ~ indique la visibilité du paquetage.

Interfaces
Une interface est une spécification de comportement que les réalisateurs consentent à respecter. Il est un contrat! En réalisant une interface, les classes sont garantis pour supporter un comportement requis. Qui permet au système de traiter des éléments non-liés de la même façon – c'est-à-dire par l'interface commune.

Les interfaces peuvent être dessinés dans un style similaire à une classe, avec des opérations spécifiées. Comme indiqué ci-dessous. Ils peuvent également être dessinés comme un cercle sans opérations explicite et détaillée. Lorsque dessiné comme un cercle, la réalisation des liens vers le cercle, comme 'forme de notation' sont établis sans flèches cibles.

Tableaux
Bien que pas une partie de la base UML, une tableau est un exemple de ce qui peut être fait avec les stéréotypes. Il est dessiné avec une petite icône de la tableau dans le coin supérieur droit. Attributs de la table sont stéréotypés «colonne». La clé primaire dans la plupart des tableaux, est un ou plusieurs champs, qui forment une combinaison unique utilisé pour accéder à la tableau. L'opération de clé primaire est stéréotypée comme «PK». Certains tableaux auront une ou plusieurs clés étrangères, étant un ou plusieurs champs, qui correspondent ensemble sur une clé primaire dans une table associée. L'opération de clé étrangère est stéréotypée comme «FK».

Associations
Une association implique deux éléments du modèle ont une relation. D'habitude mis en ouvre comme une variable d'instance dans une classe. Ce connecteur peut inclure des rôles nommés à chaque fin, cardinalité, la direction et les contraintes. L'association est le type de relation général entre des éléments. Depuis plus de deux éléments, un élément de boîte à outils de représentation de diamant peut être utilisé aussi bien. Lorsque le code est généré pour les diagrammes de classes. Association dénommée extrémités deviennent variables d'instance dans la classe cible. Donc, pour l'exemple ci-dessous, "playsFor " va devenir une variable d'instance dans le "Player" classe.

Généralisations
Une généralisation est utilisé pour indiquer l'héritage. Tiré du classificateur spécifique à un classificateur général. L'implication de généraliser ce que la source est hérite des caractéristiques de la cible. Le diagramme suivant montre une classe parentale généralisant une classe d'enfant. Implicitement, un objet instancié de la classe de Cercle aura des attributs 'x_position','y_position' et le rayon et un affichage de méthode(). Notez que la classe "Forme" est abstrait, représenté par le nom est en italique.

Le diagramme suivant montre une vue équivalent de la même information.

Aggregations
L'Agrégations sont utilisés pour décrire les éléments, qui sont constitués d'éléments plus petits. Relations d'agrégation sont représentés par une flèche en forme de un diamant blanc pointant vers la cible ou parent classe.

Une forme plus forte de l'agrégation - un agrégat composite - est représenté par une flèche en forme de diamant noir. Et où on utilise les composants peuvent être inclus dans un maximum d'une composition à la fois. Si le parent d'une agrégation composite est supprimé, d'habitude toutes ses parties sont supprimés avec cela. Cependant une partie peut être individuellement enlevée d'une composition sans devoir supprimer la composition entière. Compositions sont, des relations asymétriques transitives et peuvent être récursives.

Le diagramme suivant illustre la différence entre les agrégation faibles et forts. Un carnet d'adresses est composé d'une multiplicité de groupes de contact et des contacts. . Un groupe de contact est un groupement virtuel de contacts. Un contact peut être inclus dans plus d'un groupe de contact. Si vous supprimez un carnet d'adresses, tous les contacts et groupes de contact seront également supprimées. Si vous supprimez un groupe de contact, aucun contacts ne sera supprimé.

Classes d'association
Une classe d'association est une construction, qui permet une connexion de l'association d'avoir opérations et les attributs. L'exemple suivant montre comment allouer un employé à un projet que de simplement faire un lien simple association entre les deux classes. Le rôle d' employé prend sur le projet est une entité complexe dans son propre droit. Et contient des détails qui ne fait pas partie de la classe de l'employé ou d'un projet. Par exemple, un employé peut travailler sur plusieurs projets en même temps et ont différents titres d'emploi et des niveaux de sécurité sur chaque.

Dépendances
Une dépendance est utilisée pour modéliser un large éventail de relations de dépendance entre les éléments du modèle. Il devrait normalement être utilisé au début du processus de conception. Pour indiquer qu'il ya une sorte de lien entre les deux éléments. Mais il est trop tôt, pour savoir exactement quelle est la relation. Plus tard dans le processus de conception, les dépendances seront stéréotypés (stéréotypes disponibles incluent «instancier», «trace», «importation», et d'autres), ou remplacées par un type plus spécifique du connecteur.

Traces
La relation de la trace est une spécialisation d'une dépendance, des éléments de liaison de modèle ou ensembles d'éléments représentant la même idée à travers les modèles. Traces sont souvent utilisés pour suivre les exigences et les changements de modèle. Comme les changements peuvent se produire dans les deux directions. L'ordre de cette dépendance est généralement ignoré. Les propriétés de la relation peuvent spécifier le cartographie de trace, mais la trace est d'habitude bi-directionnelle, informelle et rarement calculable.

Réalisations
L'objet source met en ouvre ou réalise la destination. Les réalisations sont utilisés pour exprimer la traçabilité et la perfection dans le modèle. Un processus commercial ou d'une exigence est réalisé par un ou plusieurs des cas d'utilisation. Qui sont à leur tour réalisé par certaines classes, qui à leur tour sont réalisées par un composant, etc. exigences de la cartographie, des classes, etc. à travers la conception de votre système, à travers les niveaux de modélisation abstraction, assure la vision holistique de votre système. Il se souvient et reflète tous les petits détails qui contraignent et définissent. Une réalisation est représenté par une ligne en pointillés avec une pointe solide.

Emboîtements
Une imbrication exprime un connecteur montrant que l'élément source est imbriqué dans l'élément de cible. Le diagramme suivant montre la définition d'une classe interne, bien que dans EA il est plus habituel de leur montrer par leur position dans la hiérarchie des vues du projet.