0% ont trouvé ce document utile (0 vote)
40 vues30 pages

Cours 3 V1

Le document traite de la modélisation orientée objet dans le cadre du génie logiciel, en expliquant l'importance de la modélisation pour représenter et spécifier des systèmes. Il présente différents langages de modélisation, les approches fonctionnelle et orientée objet, ainsi que les concepts clés tels que l'encapsulation, l'héritage et le polymorphisme. Enfin, il aborde UML comme langage standard de modélisation, ses étapes et types de diagrammes.

Transféré par

Madani Mohamed
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)
40 vues30 pages

Cours 3 V1

Le document traite de la modélisation orientée objet dans le cadre du génie logiciel, en expliquant l'importance de la modélisation pour représenter et spécifier des systèmes. Il présente différents langages de modélisation, les approches fonctionnelle et orientée objet, ainsi que les concepts clés tels que l'encapsulation, l'héritage et le polymorphisme. Enfin, il aborde UML comme langage standard de modélisation, ses étapes et types de diagrammes.

Transféré par

Madani Mohamed
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

UNIVERSITE ABDELHAMID IBN BADIS MOSTAGANEM 1

FACULTE DES SCIENCES EXACTES ET DE L’INFORMATIQUE


DEPARTEMENT DE MATHEMATIQUES ET INFORMATIQUE

Licence -3-

Génie Logiciel

Modélisation Orienté Objet

2020-2021
2

1. Pourquoi et comment modéliser ?


• Modèle : représentation abstraite et simplifié
d’une entité du monde réel en vue de le décrire,
de l’expliquer ou de le prévoir cette
représentation peut être sous forme physique,
graphique, mathématique ou verbale.
3

1. Pourquoi et comment modéliser ?


• Intérêt "informatique" de la modélisation:
Les modèles aident à visualiser un système
existant ou futur (tel quel’on souhaite qu’il
devienne)
Les modèles permettent de spécifier la structure et
le comportement d’un système
Les modèles documentent les choix effectués
4

2. Langage de modélisation
• Un langage de modélisation doit définir :
La sémantique des concepts ;
Une notation pour la représentation de concepts;
Des règles de construction et d’utilisation des
concepts.
5

2. Langages de modélisation
• Des langages à différents niveaux de formalisation :
▫ Langages formels (Z,B,VDM) : le plus souvent
mathématiques, au grand pouvoir d’expression et
permettant des preuves formelles sur les spécifications ;
▫ Langages semi-formels (MERISE, UML...) : le plus
souvent graphiques, au pouvoir d’expression moindre
mais plus faciles d’emploi.
6

3. Approches de modélisation

• Approche fonctionnelle : la modélisation est


réalisée à partir de fonctions que doit réaliser le
système.
• Approche orientée objet : on identifie les
objets manipulés par le système, avec leurs états
et leurs comportements.
7

4. Approche fonctionnelle
• Les méthodes fonctionnelles (également qualifiées
de méthodes structurées) trouvent leur origine dans
les langages procéduraux.
• Elles mettent en évidence les fonctions à assurer et
proposent une approche hiérarchique descendante
et modulaire.
• L'approche fonctionnelle dissocie le problème de la
représentation des données, du problème du
traitement de ces données.
• Dans l’approche fonctionnelle: Un module est
un sous-système et la relation de base est la relation
de décomposition
8

4. Approche fonctionnelle
9

Quiz

• Proposer une modélisation fonctionnelle pour la


gestion d’une bibliothèque.
12

4. Approche fonctionnelle
Problèmes avec l'approche fonctionnelle

• En découpant le logiciel en fonctions, il devient


difficile de faire une simple mise à jour.
• On pourrait contourner ce problème en utilisant
des fonctions plus génériques, mais ensuite
l'écriture du logiciel devient beaucoup plus
difficile.
13

4. Approche fonctionnelle
Exemple: MERISE
• Exemple d’une approche fonctionnelle: MERISE.
• MERISE est l’une des méthodes les plus connues,
utilisées dans les années 1980 pour organiser la
programmation impérative (notamment)
• Merise est également fondées sur la modélisation
séparée des données et des traitements.
▫ MCD ( Modèle Conceptuel de Donnée): entité-relation
▫ MCT (Modèle Conceptuel de Traitement)
14

5. L'approche orientée objet


• L'approche objet considère le logiciel comme une
collection d'objets dissociés, identifiés et possédant des
caractéristiques
• Ces caractéristiques sont soient :
▫ Des attributs : caractérisant l'état de l'objet
▫ Des méthodes : caractérisant son comportement, c'est-à-
dire l'ensemble des actions qu’il peut réaliser
• La fonctionnalité du logiciel émerge alors de l'interaction
entre les différents objets qui le constituent.
• L'une des particularités de cette approche est qu'elle
rapproche les données et leurs traitements associés au
sein d'un unique objet.
15

Objet et Classe

• Un objet est défini à la fois par des informations


sur son état (attributs) et ses comportements
(méthodes).
• Une classe est un type de données abstrait qui
précise des caractéristiques (attributs et
méthodes) communes à toute une famille
d'objets et qui permet de créer (instancier) des
objets possédant ces caractéristiques.
• Un objet est une instance de classe
16

Objet et Classe
Classe

Abstraction
Instanciation

Objet
17

Encapsulation
• Encapsulation consiste à masquer les détails
d'implémentation d'un objet, en définissant une
interface
• l'interface est la vue externe d'un objet, elle définit les
services accessibles (offerts) aux utilisateurs de l'objet
• l'encapsulation facilite l'évolution d'une application car
elle stabilise l'utilisation des objets : on peut modifier
l'implémentation des attributs d'un objet sans modifier
son interface
• l'encapsulation garantit l'intégrité des données, car elle
permet d'interdire l'accès direct aux attributs des objets
(utilisation d'accesseurs)
18

Héritage et polymorphisme
• l'héritage est un mécanisme de transmission des propriétés
d'une classe (ses attributs et méthodes) vers une sous-classe
• une classe peut être spécialisée en d'autres classes, afin d'y
ajouter des caractéristiques spécifiques ou d'en adapter
certaines
• plusieurs classes peuvent être généralisées en une classe qui
les factorise, afin de regrouper les caractéristiques communes
d'un ensemble de classes
• la spécialisation et la généralisation permettent de construire
des hiérarchies de classes. L'héritage peut être simple ou
multiple
• l'héritage évite la duplication et encourage la réutilisation
19

Héritage et polymorphisme

Généralisation
Spécialisation

Exemple d’héritage
20

QUIZ
• Dans l’exemple précédant (Classe Article),
comment sera la modélisation si le concept
d’héritage n’existe pas ?
22

Héritage et polymorphisme
• le polymorphisme représente la faculté d'une
méthode à pouvoir s'appliquer à des objets de
classes différentes
• le polymorphisme augmente la généricité du
code
23

Héritage et polymorphisme

Exemple de polymorphisme
24

5. Obstacles de l'approche objet


• l'approche objet est moins intuitive que l'approche
fonctionnelle
▫ il est plus facile de penser en terme de fonctions que de
penser en terme d'objets et d'interactions entre objets
• l'application des concepts objets nécessite une grande
rigueur
▫ il est plutôt difficile de décrire la structure objet d'un
système de manière pertinente sans risque d'ambiguïtés
• Il nous faut donc un "langage" pour exprimer de façon
claire et précise les concepts objets du système que l'on
veut modéliser. Ce "langage" est UML (Unified
Modeling Language).
25

6. UML
• UML (Unified Modeling Language, que
l'on peut traduire par "langage de
modélisation unifié) est une notation
permettant de modéliser un problème de
façon standard. Ce langage est né de la
fusion de plusieurs méthodes existant
auparavant, et est devenu désormais la
référence en terme de modélisation objet,
à un tel point que sa connaissance est
souvent nécessaire pour obtenir un poste
de développeur objet
26
6. UML: un peu d’histoire
Historique
3 fondateurs principaux
• En 1995: Methode unifiee
•Grady BOOCH (BOOCH)
0.8 (integrant les methodes
•James Rumbaugh (OMT) Booch'93 et OMT)
•Ivar Jacobson (OOSE) • En 1995: UML 0.9 (integrant
la methode OOSE)
• En 1996: UML 1.0 (proposee
à l'OMG)
• En 1997: UML 1.1
(standardisee par l'OMG)
OMT BOOCH OOSE • En 1998: UML 1.2
• En 1999: UML 1.3
• En 2000: UML 1.4
UML 0.8
• En 2003: UML 1.5
• En 2004: UML 2.0
UML 0.9
• …
OMG UML 1.0 • En 2010: UML 2.3 beta
27

6. UML
• UML est l'Unified Modeling Language standardisé
par l'OMG (Object Management Group ). Ce n'est pas
une méthode, il ne donne pas de solution pour la mise en
œuvre d'un projet. C'est avant tout un formalisme
graphique issu de notations employées dans
différentes méthodes objets.

• UML sert à :
▫ Décomposer le processus de développement,
▫ Mettre en relation les experts métiers et les analystes,
▫ Coordonner les équipes d'analyse et de conception,
▫ Séparer l'analyse de la réalisation,
▫ Prendre en compte l'évolution de l'analyse et du développement,
▫ Migrer facilement vers une architecture objet d'un point de vue
statique et dynamique.
28

Étapes de modélisation avec UML?


Il existe plusieurs approches pour modéliser un système avec
UML. Nous allons vous proposer une méthode générale pour
construire le modèle d'un système. Voici les grandes lignes:
• Identifier les classes (objets)
• Identifier les associations entre classes / interactions entre
objets (instances)
• Identifier les attributs et les opérations des classes
• Optimiser les modèles
30

7. Diagrammes UML
• Il est impossible de donner une représentation
graphique complète d'un logiciel,
• Mais il est possible de donner sur un tel système des
vues partielles, analogues chacune à une
photographie d'une statue, et dont la conjonction
donnera une idée utilisable en pratique sans risque
d'erreur grave.
• UML 2.0 comporte ainsi treize types de diagrammes
représentant autant de vues distinctes pour
représenter des concepts particuliers du système
d'information. Ils se répartissent en deux grands
groupes :
31

7. Diagrammes UML
32

7. Diagrammes UML
33

QUIZ
• Classer les diagrammes d’UML selon les 3 axes
de modélisation
35

QUIZ
• Est-ce qu’il est nécessaire de produire tous les
diagrammes d’UML pour modéliser un
problème?

Vous aimerez peut-être aussi