0% ont trouvé ce document utile (0 vote)
19 vues21 pages

Cours8 - Classe Diagram

Transféré par

richelle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues21 pages

Cours8 - Classe Diagram

Transféré par

richelle
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

30/05/2022

Modélisation pour la conception des


Systèmes d'information - IF02
Khuloud ABOU AMSHA
Maître de conférences en informatique
khuloud.abou_amsha@[Link]

Approche Orientée objet

Modélisation pour la conception des Systèmes d'information- 2022 2

1
30/05/2022

Principes de l'Orientée objet (OO)

Abstraction Encapsulation

Modularité Hiérarchie

Modélisation pour la conception des Systèmes d'information- 2022 3

Principes de l'OO
Abstraction
• Un modèle qui inclut les aspects les plus importants d'un système donné
tout en ignorant les détails moins importants.

• L'abstraction nous permet de gérer la complexité en nous concentrant sur les


caractéristiques essentielles qui rendent une entité différente des autres.
• une abstraction pour un concept devrait avoir un sens pour le but du
concept.
• la règle du moindre étonnement.
• l'abstraction capture les attributs et le comportement essentiels pour un concept sans surprises et
sans définitions qui dépassent sa portée.

Modélisation pour la conception des Systèmes d'information- 2022 4

2
30/05/2022

Principes de l'OO
Abstraction- Attributs
• Utilisez l'abstraction pour décider des caractéristiques essentielles d’un
concept,
• Une classe est comme un modèle pour les instances d'un concept.
• Un objet instancié à partir d'une classe a alors les détails essentiels pour
représenter une instance d'un concept.

Modélisation pour la conception des Systèmes d'information- 2022 5

Principes de l'OO
Abstraction- comportements
• une abstraction devrait décrire les comportements de base d'un concept.
• Exemple,
• pour un étudiant, ces comportements seraient étudier, faire des devoirs, et assister à
des conférences.
• Ce sont les responsabilités que l'abstraction étudiante fait pour son but.

Modélisation pour la conception des Systèmes d'information- 2022 6

3
30/05/2022

Principes de l'OO
Encapsulation
• L'encapsulation sépare la mise en œuvre des
utilisateurs ou des clients.
• Les clients dépendent de l'interface
• Il y a trois idées derrière l'encapsulation. Il s'agit de :
• La possibilité de "regrouper" les valeurs d'attributs (ou
données) et les comportements (ou fonctions) qui
manipulent ces valeurs, dans un objet autonome.
• La possibilité « d’exposer » certaines données et fonctions
de cet objet, auxquelles d'autres objets peuvent accéder,
généralement par le biais d'une interface.
• La possibilité de "restreindre" l'accès à certaines données
et fonctions uniquement à l'intérieur de l'objet.
Modélisation pour la conception des Systèmes d'information- 2022 7

Principes de l'OO
Encapsulation
• Intégrité et sécurité
• la restriction d'accès permet d'éviter la rupture des hypothèses ou des dépendances
pour les données d'un objet.
• la restriction d'accès permet d'éviter que des informations sensibles ne soient
révélées.
• Mise en œuvre modifiable
• Comme la capacité à "exposer" les données est distincte du "groupe" d'attributs lui-
même, la mise en œuvre des attributs et des méthodes peut changer, mais que
l'interface accessible d'une classe peut rester la même.
• Cela est liée à un concept connu sous le nom de "boîte noire". Les étapes de calcul
effectuées au sein d'une classe n'ont jamais besoin d'être connues par une autre
classe, tant qu'elles sont capables d'accéder à l'interface.

Modélisation pour la conception des Systèmes d'information- 2022 8

4
30/05/2022

Principes de l'OO
Modularité- Décomposition
• La modularité consiste à décomposer des systèmes complexes en petits
éléments autonomes qui peuvent être gérés facilement.

Système de traitement Entrée des commandes


des commandes exécution de la commande
facturation

l'ensemble déléguera des responsabilités spécifiques aux parties

Modélisation pour la conception des Systèmes d'information- 2022 9

Principes de l'OO
Modularité- Décomposition
• Un ensemble peut avoir un nombre fixe ou dynamique d'un certain type de
partie.
• le nombre de congélateurs dans un objet " réfrigérateur " est fixe
• les aliments contenus un objet " réfrigérateur " peuvent changer d'un jour à l'autre

Modélisation pour la conception des Systèmes d'information- 2022 10

10

5
30/05/2022

Principes de l'OO
Modularité- Décomposition
• Les objets (ensemble) et les objets (parties) ont des durées de vie.
• Parfois, ces durées de vie sont étroitement liées, et la partie partage la même durée
de vie que le tout - l'un ne peut exister sans l'autre.
• Parfois, il sont indépendants

Modélisation pour la conception des Systèmes d'information- 2022 11

11

Principes de l'OO
Modularité- Décomposition
• Les objets (ensemble) peuvent également contenir des parties qui sont
partagées avec un autre objet au même moment.
• Cependant, il arrive que le partage d'une partie ne soit pas possible ou voulu.

Modélisation pour la conception des Systèmes d'information- 2022 12

12

6
30/05/2022

Principes de l'OO
Hiérarchie- Généralisation
• Il s'agit d'un classement des abstractions dans une structure arborescente.

Abstraction croissante
Épargne
Compte bancaire
Chèque

Actif Action
Sécurité
Obligation
Biens immobiliers
13
Modélisation pour la conception des Systèmes d'information- 2022

13

Principes de l'OO
Hiérarchie- Généralisation
• La généralisation peut être obtenue par les classes par héritage.
• Dans la généralisation, nous prenons des caractéristiques répétées,
communes ou partagées entre deux classes ou plus et les classons dans une
autre classe.
• Vous pouvez avoir deux classes, une classe parente et une classe enfant.
• Lorsqu'une classe enfant hérite d’une classe parente, la classe enfant aura les
attributs et les comportements de la classe parent.
• Il peut y avoir plusieurs classes enfants qui héritent d’une classe parente.
• Les classes enfants peuvent également avoir des attributs supplémentaires et des
comportements, ce qui leur permet d'être plus spécialisés dans ce qu'ils peuvent faire.
• Dans la terminologie standard, une classe parent est connue comme une superclasse
et une classe enfant est appelée la sous-classe.
14
Modélisation pour la conception des Systèmes d'information- 2022

14

7
30/05/2022

Polymorphisme
La capacité de choisir dynamiquement la méthode d'une opération au
moment de l'exécution ou du service.
• facilitée par l'encapsulation et la généralisation :
• encapsulation : séparation de l'interface de l'implémentation
• la généralisation : organisation de l'information de telle sorte que les caractéristiques
partagées résident dans une classe et les caractéristiques uniques dans une autre.
• Par conséquent : les opérations peuvent être définies et implémentées dans
une super-classe, mais les méthodes (réimplémentées) en temps réel sont
dans une sous-classe unique.
• Exemple : le personnel de la direction et le personnel de l'agence peuvent
demander un congé, mais éventuellement de différentes manières.

Modélisation pour la conception des Systèmes d'information- 2022 15

15

Diagramme de classes

Modélisation pour la conception des Systèmes d'information- 2022 16

16

8
30/05/2022

Diagramme de classes
• Un diagramme de classes dans le langage de modélisation unifié
(UML) est un type de diagramme de structure statique qui décrit la
structure d'un système en montrant les éléments du système :
• classes,
• leurs attributs,
• les opérations (ou méthodes),
• et les relations entre les objets.

Modélisation pour la conception des Systèmes d’information — 2021 17

17

Qu'est-ce qu'une classe ?


• Une classe est le plan d'un objet.
• Dans la conception orientée objet nous utilisons les classes pour créer
des objets.
• Une classe décrit ce que sera un objet, mais elle n'est pas l'objet lui-même.

• les objets sont des instances utilisables des classes.


• La signification standard est qu'un objet est une instance d'une classe.

Modélisation pour la conception des Systèmes d’information — 2021 18

18

9
30/05/2022

Exemple

Modélisation pour la conception des Systèmes d’information — 2021 19

19

Notation des classes 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.

Modélisation pour la conception des Systèmes d’information — 2021 20

20

10
30/05/2022

Notation des classes UML


• Nom de la classe :
• Le nom de la classe apparaît dans la première partition.
• Attributs de la classe :
• Les attributs sont indiqués dans la deuxième partition.
• Le type d'attribut est indiqué après les deux points.
• Les attributs correspondent à 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. Il s'agit de services
fournis par la classe.
• Le type de retour d'une méthode est indiqué 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 indiqué après les deux points
suivant le nom du paramètre. Les opérations correspondent aux méthodes des
classes dans le code

Modélisation pour la conception des Systèmes d’information — 2021 21

21

Notation des classes UML

Modélisation pour la conception des Systèmes d’information — 2021 22

22

11
30/05/2022

Perspectives du diagramme de classe


• Un diagramme peut être interprété de différents points de
vue :
• Conceptuel : représente les concepts du domaine
• Spécification : l'accent est mis sur les interfaces des types de
données abstraites (ADT) dans le logiciel.
• Implémentation : décrit comment les classes implémenteront leurs
interfaces

Modélisation pour la conception des Systèmes d’information — 2021 23

23

Perspectives du diagramme de classe

Modélisation pour la conception des Systèmes d’information — 2021 24

24

12
30/05/2022

Relations entre les classes

Modélisation pour la conception des Systèmes d'information- 2022 25

25

Relations entre les classes


Héritage (ou généralisation) :
• Une généralisation est une relation
taxonomique entre un classificateur plus général
et un classificateur plus spécifique.
• Ainsi, le classificateur spécifique hérite des
caractéristiques du classificateur plus général.
• Représente une relation "is-a".
• SubClass1 et SubClass2 sont des spécialisations
de SuperClass.

Modélisation pour la conception des Systèmes d’information — 2021 26

26

13
30/05/2022

Relations entre les classes


Héritage (ou généralisation) :

Modélisation pour la conception des Systèmes d’information — 2021 27

27

Relations entre les classes


Inheritance Example - Cell Taxonomy

Modélisation pour la conception des Systèmes d’information — 2021 28

28

14
30/05/2022

Relations entre les classes


Association:
• Les associations sont des relations entre les
classes dans un diagramme de classes UML.
• Elles sont représentées par une ligne pleine
entre les classes.
• Les associations sont généralement nommées à
l'aide d'un verbe ou d'une expression verbale
qui reflète le domaine de problème du monde
réel.

Modélisation pour la conception des Systèmes d’information — 2021 29

29

Relations entre les classes


Association: (Cardinalité )
• La cardinalité est exprimée en termes de :

Exactement une 1 Classe

0..*
Plusieurs (0 à n) Classe
0..1
Optionnelle (0 ou1) Classe
1..*
1 à plus Classe
1..2,4
Cardinalité spécifié Classe

Modélisation pour la conception des Systèmes d’information — 2021 30

30

15
30/05/2022

Relations entre les classes


Association: (Cardinalité exemple)
Un élève peut s'associer à plusieurs enseignants :

L'instructeur a un ou plusieurs étudiants :

Nous pouvons également indiquer le comportement d'un objet


dans une association (c'est-à-dire le rôle d'un objet) en utilisant
des noms de rôle.

Modélisation pour la conception des Systèmes d’information — 2021 31

31

Relations entre les classes


Association: (Association réflexive)
• Une association est réflexive si elle met en
relation une classe avec elle-même
• Au niveau des objets, les liens relient des
instances différentes de la classe Parenté
Parent
2
enfant
HUMAIN
0..*

Modélisation pour la conception des Systèmes d’information — 2021 32

32

16
30/05/2022

Relations entre les classes


Agrégation :
• Un type particulier d'association.
• Il représente une relation de type "partie de".
• La classe 2 fait partie de la classe 1.
• De nombreuses instances (indiquées par *) de la
classe 2 peuvent être associées à la classe 1.
• Les objets de classe 1 et de classe 2 ont des durées de
vie distinctes.

Modélisation pour la conception des Systèmes d’information — 2021 33

33

Relations entre les classes


Agrégation : Exemple Ordinateur et pièces détachées

Modélisation pour la conception des Systèmes d’information — 2021 34

34

17
30/05/2022

Relations entre les classes


Composition :
• Un type particulier d'agrégation où les parties
sont détruites lorsque le tout est détruit.
• Les objets de la classe 2 vivent et meurent avec
la classe 1.
• La classe 2 ne peut pas se suffire à elle-même.
• Une ligne pleine avec un losange rempli à
l'association reliée à la classe de composite

Modélisation pour la conception des Systèmes d’information — 2021 35

35

Relations entre les classes


Composition (exemple)

Modélisation pour la conception des Systèmes d’information — 2021 36

36

18
30/05/2022

Relations entre les classes


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

Modélisation pour la conception des Systèmes d’information — 2021 37

37

Relations entre les classes


Réalisation :
• La réalisation est une relation entre la classe
blueprint et l'objet contenant ses détails de
niveau d'implémentation respectifs.
• On dit de cet objet qu'il réalise la classe
blueprint.
• En d'autres termes, vous pouvez comprendre
cela comme la relation entre l'interface et la
classe d'implémentation.

Modélisation pour la conception des Systèmes d’information — 2021 38

38

19
30/05/2022

Exemple de diagramme de classe : Système de


commande

Modélisation pour la conception des Systèmes d’information — 2021 39

39

Exemple de diagramme de classe : GUI

Modélisation pour la conception des Systèmes d’information — 2021 40

40

20
30/05/2022

Etapes pour créer le diagramme de classes


1. Lister tous les objets qui interviennent dans les diagrammes d’interaction
2. Lister tous les objets permettant de saisir les informations (interface)
3. Les regrouper en classe
4. Récupérer les attributs (cf. modèle de domaine)
5. Lister les comportements des classes (cf. diagrammes d’interaction)
6. Identifier les héritages
7. Associer les classes (associations simples, agrégations, compositions)

Modélisation pour la conception des Systèmes d’information — 2021 41

41

Des questions ?

Contactez : Khuloud.abou_amsha@[Link]

M odélisation pour la conception des Systèm es d’inform ation — 2021 42

42

21

Vous aimerez peut-être aussi