• Aucun résultat trouvé

UML : Diagramme de classes UML : Diagramme de classes

N/A
N/A
Protected

Academic year: 2022

Partager "UML : Diagramme de classes UML : Diagramme de classes"

Copied!
5
0
0

Texte intégral

(1)

UML : Diagramme de classes UML : Diagramme de classes

mercredi 4 novembre 2009 1 Ph. CHOCHOIS

UML

Le diagramme de Classe va permettre de représenter une vue statique du système d'information.

Pas de dynamisme ici puisqu'on n'évoque pas les stimuli qui font réagir le SI, il s'agit plutot des relations entre les Classes, des services rendus et utilisés par chacune d'elles et de l'articulation de l'ensemble.

Une Classe

Elle est représentée de la façon suivante (attention, en fonction du contexte, on peut omettre ce que l'on veut).

NomClasse (en italique si abstraite) (visibilité + = -) nomAttribut : typeAttribut

- nb_de_chevaux : int - client : Person

(visibilité + = -) nomMethode(args) : typeRetour + getNbCv() : int

+ setNbCv(int) : void + getClient() : Person

Cette représentation peut varier selon le moment où elle est utilisée. Si l'analyste en est à la conception, il restera plus générique. Lorsqu'il en arrivera à l'implémentation, le diagramme peut être bien plus complet, et différent (des classes supplémentaires apparaissent, des méthodes aussi...)

Détails sur les Classes

En UML, il est toujours possible de sortir du schéma grâce à des commentaires qui peuvent prendre la forme suivante.

Ce qui nous donne le schéma suivant.

Les associations.

Les associations sont des relations entre Classes.

Elles représentent un lien durable ou ponctuel entre deux objets, une appartenance, ou une collaboration.

Elles sont représentées par une ligne entre les classes.

Sur cette ligne, un verbe à l'infinitif permet d'expliquer la sémantique de l'association (non obligatoire).

De même, on peut aussi donner un nom de chaque coté de l'association, pour le nommer le rôle de chacun.

Des valeurs de multiplicité expriment le nombre d'instances en jeu dans la relation

Par exemple, on peut lire tout en haut qu'UN EMPLOYE POSSEDE UNE FICHE SECURITE

Les associations (exemples)

Employe nasE*: int nomE: varchar villeE: varchar

FicheSecurite noF* int nivS: int finS: Date

1

Possede >

1

(2)

On peut lire qu’société est employeur d’aucune ou de plusieurs personnes et qu’une personne est employé par une et une seule société.

On ne connait pas ici:

- Les attributs des classes “Société et “Personne”

- Les méthodes (Opérations possibles) pour une personne ou une société

Les associations (exemples)

On a détaillé les attributs des classes en indiquant leur type.

On n’a pas indiqué les opérations.

Les associations (exemples)

Inscription noI: int section: int trimestre : int

CoursTrim nasE: int section: int trimestre : int Etudiant nasE: int nomE: varchar villeE: varchar

* *

1 1

Les classes sont en relation entre elles si des objets issus de ces classes peuvent être en relation entre eux.

Les associations (exemples) Association n-aire

Il est possible que plusieurs Classes participent à l'association.

Ce n'est alors plus une association binaire, mais n-aire.

On l'indique par un losange.

Méfiez-vous de la complexité induite (l'association implique l'ensemble des classes participantes).

Multiplicité et Navigabilité...

La multiplicité indique les cardinalités entre les classes et l'association.

On l'exprime souvent par une valeur finie (3, 5 ou 17) ou un intervalle (2..3, 1..17, ou encore 2..*).

Dans le cas de 0..*, on note parfois * tout simplement.

Par défaut, l'association peut être utilisée dans les deux sens.

Très souvent, on s'aperçoit que l'association est uni-directionnelle.

Elle est donc navigable dans un seul sens.

On l'indique avec une flèche sur l'association (la flèche à coté du verbe indique le sens de la phrase...)

Exemple navigabilité

–Chaque instance de voiture a un lien vers le propriétaire –Chaque instance de Personne a un ensemble de liens vers les voitures –Le service de contravention est associé à une ou plusieurs voiture(s) –La voiture ne connaît pas service de contravention

(3)

Des contraintes sur l'association

Il est possible d'exprimer des contraintes sur une association, afin de limiter les objets mis en jeu.

Cela permet de mieux cadrer l'architecture de l'ensemble

(exclusion d’associations).

Des contraintes sur l'association

Il est possible d'exprimer des contraintes sur une association, afin de limiter les objets mis en jeu.

Cela permet de mieux cadrer l'architecture de l'ensemble

(ordonnancement d'une association).

Des contraintes sur l'association

Il est possible d'exprimer des contraintes sur une association, afin de limiter les objets mis en jeu.

Cela permet de mieux cadrer l'architecture de l'ensemble

(ordonnancement d'une association).

Des contraintes sur l'association

Il est possible d'exprimer des contraintes sur une association, afin de limiter les objets mis en jeu.

Cela permet de mieux cadrer l'architecture de l'ensemble

- conditions sur associations,

- inclusion d'une association dans une autre).

Agrégation et composition...

Ce sont deux types d'associations aux caractéristiques spécifiques.

Les deux indiquent une dépendance forte de l'élément par rapport à son contenant.

La relation n'est pas symétrique.

La différence entre ces deux relations d'appartenance réside dans le niveau de dépendance du 'contenu’.

Si le 'contenu' est lié exclusivement au 'contenant', et qu'il disparait avec lui, alors on dit qu'il y a COMPOSITION (élément constitutif=losange plein).

Sinon, il s'agit d'une AGREGATION (plutôt une coopération=losange creux).

Exemple Agrétats-composition

La suppression de la

présentation entraine la

disparition des transparents qui

la compose

(4)

Les classes d'association.

Si vous détectez que votre association est porteuse d'informations, il est possible d'utiliser une classe d'association. Elle comportera attributs, méthodes, etc...

Héritage

Le principe de généralisation et de spécialisation (appelé également “Héritage” permet de définir les relations entre sous-Classe et Super-Classe.

Héritage

Le principe de généralisation et de spécialisation (appelé également “Héritage” permet de définir les relations entre sous-Classe et Super-Classe.

Diagramme de classes

Exercices d’application...

Diagramme de classes

Exercice 1

Soient les phrases suivantes :

Un répertoire contient des fichiers

Une pièce contient des murs

Les modems et claviers sont des périphériques d’entrée / sortie

Une transaction boursière est un achat ou une vente

Un compte bancaire peut appartenir à une personne physique ou morale

Diagramme de classes

Exercice 2 :

Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela, on dispose des renseignements suivants :

Chaque collège possède d’un site Internet

Chaque collège est structuré en départements, qui regroupent chacun des enseignants spécifiques. Parmi ces enseignants, l’un d’eux est responsable du département.

Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et son indice.

Chaque enseignant ne dispense qu’une seule matière.

Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour chacune d’elle.

Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année d’entrée au collège.

Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la même salle de cours (chacune ayant un nombre de places déterminé).

On désire pouvoir calculer la moyenne par matière ainsi que par département

On veut également calculer la moyenne générale d’un élève et pouvoir afficher les matières dans lesquelles il n’a pas été noté

Enfin, on doit pouvoir imprimer la fiche signalétique (nom, prénom, tél, mail) d’un enseignant ou d’un élève.

Elaborez le diagramme de classes correspondant.

Pour simplifier l’exercice, on limitera le diagramme à une seule année d’étude

(5)

Diagramme de classes

Exercice 3

On souhaite gérer les réservations de vols effectués dans une agence. D’après les interviews réalisées avec les membres de l’agence, on sait que :

Les compagnies aériennes proposent différents vols

Un vol est ouvert à la réservation et refermé sur ordre de la compagnie

Un client peut réserver un ou plusieurs vols, pour des passagers différents

Une réservation concerne un seul vol et un seul passager

Une réservation peut être confirmée ou annulée

Un vol a un aéroport de départ et un aéroport d’arrivée

Un vol a un jour et une heure de départ, et un jour et une heure d’arrivée

Un vol peut comporter des escales dans un ou plusieurs aéroport(s)

Une escale a une heure de départ et une heure d’arrivée

Chaque aéroport dessert une ou plusieurs villes

A partir des éléments qui vous sont fournis ci-dessus, élaborez le diagramme de classes (en y ajoutant tout attribut que vous jugez pertinent et qui n’a pas été décrit ci-dessus).

Diagramme de classes

Exercice 4 :

Modélisez cette gestion de fichiers :

Les fichiers, les répertoires et les raccourcis sont contenus dans des répertoires et possèdent un nom

Un raccourci peut concerner un fichier ou un répertoire

Références

Documents relatifs

Le cadre doit aussi de plus en plus souvent improvi- ser dans des contextes de travail qui changent sans cesse, qui surgissent au gré des exigences et des sollicitations de

Chap.4, Sect.2, p.13 Copyrights Julie Vachon,

numéro : int devise : Devise solde : float ouvrirCompte(init : float).

• Dans ce schéma on trouve un système, des acteurs actifs et passifs, un héritage entre acteurs et 3 cas d’utilisation... Définition du point de vue de

• Il s’utilise dans l’analyse fonctionnelle pour décrire le déroulement d’un cas d’utilisation avec tous ses scénarios alternatifs en plus du scénario nominal.. • Ou

Pour ça, on définit les classes interface et contrôleur et on précise les méthodes dans toutes les classes en jeu avec l’analyse du diagramme de séquence

On peut aussi coder le constructeur (en plus du diagramme de séquence) si on préfère. Un répertoire possède un nom et des droits en lecture, exécution et écriture. Modéliser

Le magasin propose aussi une (ou plusieurs) bornes informatique qui permettent de consulter l’ensemble de la collection. On peut faire des recherches par réalisateur, acteur,