• Aucun résultat trouvé

Chapitre 2 DIAGRAMME DE CLASSE

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 2 DIAGRAMME DE CLASSE"

Copied!
25
0
0

Texte intégral

(1)

Chapitre 2

DIAGRAMME DE CLASSE

1

(2)

2

• diagramme de classe

• diagramme d’objet

• diagramme de déploiement

•…

Statique (ce que le système EST)

• diagramme de séquence

•…

Fonctionnel

(ce que le système FAIT)

Dynamique

(comment le système EVOLUE)

• diagramme de cas d’utilisation

•…

Axes de modélisation d ’un système

(3)

Définition

 Un diagramme de classes est un graphe d’éléments connectés par des relations, expriment la structure statique du système en terme de classes et de relations entre ces classes

 Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d'objets et permettant de créer des objets ayant ces propriétés

 Ne pas représenter les attributs ou les méthodes d'une classe sur un diagramme, n'indique pas que cette classe n'en contient pas.

Il s'agit juste d'un filtre visuel, destiné à donner un certain niveau d'abstraction à son modèle

 De même, ne pas spécifier les niveaux d’accès des membres d'une classe ne veut pas dire qu'on ne représente que les membres publics

3

(4)

4

Company

Company

Person

Employee members

0..1 *

Exemple

(5)

Convention graphique d’une classe

 Une classe représente la structure commune d’un ensemble d’objets.

 Une classe est représentée par un rectangle qui contient une chaîne de caractères correspondant au nom de la classe (Classe non documentée)

Ce rectangle peut être séparé en trois parties : nom, attributs, opérations (Classe documentée).

o Le nom de la classe doit commencer par un caractère alphabétique.

5

Nom_de_classe

Attributs

Méthodes Nom_de_classe

(6)

Syntaxe

Attribut :

nom : type = val_initiale

Méthode :

nom (arg : type = val_defaut, …) : type_retour

Niveaux d’accès :

Public + :

o élément visible à tous les clients de la classe

Protected # :

o l'accès aux données est réservé aux fonctions des classes héritières

Private - :

o l'accès aux données est limité aux méthodes de la classe elle-même 6

(7)

Exemples / niveaux d’abstraction

7

voiture

voiture

immatriculation couleur

marque puissance poids date

propriétaire demarrer arreter conduire vendre

attributs

méthodes Classe non documentée

Classe documentée

voiture

+ immatriculation : string + couleur : string

+ marque : string

# puissance : int

# poids : int - date : Date

- propriétaire : string + demarrer()

- contact() : bool

+ conduire(a : string = « marseille », b : string) + vendre(prix : float)

Classe détaillée

(8)

Types de relation entre classes

 Héritage:

o

permet de créer une nouvelle classe à partir d'une classe existante

 Association

o

Connexion sémantique entre deux classes

 Contenance

o

Cas particulier d’association exprimant une relation de contenance

8

(9)

Types de relation : Héritage

 permet de créer une nouvelle classe à partir d'une classe existante.

Principe : classe dérivée contient les attributs et les méthodes de la classe mère 9

Spécialisation Généralisation

étendre les propriétés d'une classe, sous forme de sous-classes

factoriser les propriétés groupe de classes sous forme de la classe mère

Chaque personne de l’université est identifiée par son nom, prénom Les étudiants ont plus un noEtudiant

Les enseignants ont un numéro de téléphone interne

(10)

Types de relation : Association

 Une association exprime une connexion sémantique entre deux classes

 L'association est instanciable dans un diagramme d'objets ou de collaboration, sous forme de liens entre objets issus de classes associées 10

véhicule constructeur

fabricant

produit

Personne Entreprise

travaille

entreprise personne

Dirige>

directeur société

Possède>

actionnaire société

<Emploie

employé employeur

Association classique

Rôle

Association avec le sens de lecture

(11)

Types de relation : Association (Navigabilité)

 Par défaut, une association est navigable dans les deux sens

o Chaque instance de voiture a un lien vers le propriétaire

o Chaque instance de Personne a un ensemble de lien vers les voitures

 La réduction de la portée de l'association peut être exprimée dans un modèle pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre

o Le « Electeur » connait le « Candidat » à choisir.

o Le « Candidat » ne sait pas les « Electeur » qui l’ont choisi.

11

Electeur Candidat

vote 0..1

*

(12)

Types de relation : Association (Relation n-aire)

 Type particulier d’association qui relie plus de deux classes

 Attention : difficile à déchiffrer

12

Professeur

Etudiant Salle

Symbole d’association

(13)

Types de relation : Association (Cardinalités )

1

: la classe est en relation avec un et un seul objet de l’autre classe

1..* : la classe est en relation avec au moins un objet de l’autre classe

* : la classe est en relation avec 0 ou n objets de l’autre classe

0..1 : la classe est en relation avec au plus un objet de l’autre classe

x..y

: de "x" à "y" (entiers naturels ou variables avec y > x)

13

Une voiture est achetée par

une et une seule personne Une personne peut acheter 0 ou plusieurs voitures

(14)

Types de relation : Association (Cardinalités )

14

mariéA

Homme Femme

0..1 0..1

Maison Personne

* 1

0..* 2

parent enfant

(15)

Types de relation : Contenance

 Cas particulier d’association exprimant une relation de contenance

 Exemples:

o

Une voiture

a

4 roues

o

Un dessin

contient

un ensemble de figures géométriques

o

Une présentation PowerPoint

est composé

de transparents

o

Une équipe de recherche

est composée

d’un ensemble de personnes

 Deux types de relations de contenance en UML

o

Agrégation

o

Composition (Agrégation forte)

15

(16)

Types de relation : Agrégation

Type de relations

o A « contient » des instances de B,

Propriétés de l’agrégation

o La suppression de A n’implique pas la suppression de B o L'élément agrégé peut être partagé

Exemples :

16 A B

Agrégat

composé composant

0 .. 1

4..4 1..1 1..1 1..1

VOITURE

Roue Chassis Moteur Carrosserie

(17)

Types de relation : Agrégation

Exemples :

o L’enseignant est un composant d’une (ou plusieurs) équipe de recherche d’un seul département

o La disparition d’une équipe de recherche n’entraine pas la disparition d’un enseignant

17

(18)

Types de relation : Composition

 La suppression de A entraine la suppression de B

 Exemple:

o

« Une présentation PowerPoint est composée de transparents »

La suppression de la présentation entraine la disparition des transparents qui la compose

18

(19)

Types de relation : Composition

 Un Email est (obligatoirement) composé de Destinataires

19

(20)

Classe d’association

 Une classe-association possède les caractéristiques des

associations et des classes : elle se connecte à deux ou plusieurs classes et possède également des attributs et des opérations.

 Exemple :

20

L'association Emploie entre une société et une personne possède comme propriétés le salaire et la date d'embauche

Société Emploie Personne

+date_embauche: Date +Salaire : float

* 1 1 *

(21)

Contraintes sur les associations

 Les contraintes sont des expressions qui précisent le rôle ou la portée d'un élément de modélisation (elles permettent d'étendre ou préciser sa sémantique)

 Sur une association, elles peuvent restreindre le nombre d'instances visées ("expressions de navigation")

 Les contraintes peuvent s'exprimer en langage naturel.

Graphiquement, il s'agit d'un texte encadré d'accolades

21

(22)

Principales contraintes

 Contrainte {ordonnée} : une relation d’ordre décrit les objets

 Contrainte {sous-ensemble} : une collection est incluse dans une autre collection

 Contrainte {ou-exclusif} : pour un objet donné, une seule association est valide

22

peint

Peintre Tableau

1 1..n

{ordonnée}

Armée Personne

{sous-ensemble}

général militaire

Ecole Personne

étudiant

enseignant {ou-exclusif}

(23)

Exemple de diagramme de classes

 Interpréter le diagramme de classes suivant afin de donner une spécification en langage naturel.

23

(24)

Exercice

Concevoir le diagramme de classe d’une application de gestion d’hôtel. Voici ce que vous devez modéliser :

 Un hôtel est constitué d'un certain nombre de chambres. Un responsable de l'hôtel gère la location des chambres. Chaque chambre se loue à un prix donné.

 L'accès aux salles de bain est compris dans le prix de la location d'une chambre. Certaines chambres comportent une salle de bain, mais pas toutes.

 Les hôtes de chambres sans salle de bain peuvent utiliser une salle de bain sur le palier. Ces dernières peuvent être utilisées par plusieurs hôtes.

 Les pièces de l'hôtel qui ne sont ni des chambres, ni des salles de bain (hall d'accueil, cuisine...) ne font pas partie de l'étude (hors sujet).

 Des personnes peuvent louer une ou plusieurs chambres de l'hôtel, afin d'y résider. En d'autre termes : l'hôtel héberge un certain nombre de personnes, ses hôtes (il s'agit des personnes qui louent au moins une chambre de l'hôtel...).

24

(25)

Correction

25

Références

Documents relatifs

(commencer votre réponse en définissant ce terme et montrer en quoi le défi relevé intègre cette notion) (2 pts)..

(commencer votre réponse en définissant ce terme et montrer en quoi le défi relevé intègre cette notion ) (2 pts).. ❸

Autre manière de voir : lorsque l'on calcule les eectifs cumulés croissants, la médiane est la plus petite valeur du caractère qui fait atteindre ou dépasser la moitié de

5- Comment faire pour représenter graphiquement le polygone des ECC et des ECD. 2- Calculer le pourcentage des élèves ayant une note supérieure ou égale à 12/20. Exercice 3 Dans

Le monsieur en question mourut à 63 ans, juste un an avant d'épouser cette personne. Quel âge avait donc la fille au moment du dialogue ?.. Soit f la fonction définie par sa

• 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

temps de décisions collectives, des temps de régulation et d’organisa- tion, des temps de présentations et d’évaluations.La façon dont le groupe classe, par exemple lors

Identifier les anomalies contenues dans le diagramme de classes ci-dessus et indiquer les solutions pour les traiter (structurer la réponse par le tableau ci-dessous) (4,5pts)..