A . Abdellatif
MCOO - LFI2
Méthodes de conception orientées objet
Introduction aux méthodes de conception orientées objet
A. ABDELLATIF [email protected]
A. Abdellatif
MCOO
Sommaire
(cid:1) La technologie objet : (cid:2) Programmation OO (cid:2) Bases de données OO (cid:2) MCOO
(cid:1) Concepts de base de l’objet:
(cid:2) Objet (cid:2) Classe (cid:2) Encapsulation (cid:2) Spécialisation/généralisation (cid:2) Héritage (cid:2) Polyphormisme
(cid:1) Les trois dimensions du SI :
(cid:2) Dimension statique (cid:2) Dimension dynamique (cid:2) Dimension fonctionnelle
Introduction aux MCOO
2
MCOO - Introduction aux MCOO
1
A . Abdellatif
MCOO - LFI2
La technologie objet : vue d’ensemble
A. Abdellatif
Conception Orientée objet
Objet
Programmation Orientée objet
BD
Orientées objet
Introduction aux MCOO
3
A. Abdellatif
MCOO
La technologie objet : Programmation OO
1967 : Simula : 1ère introduction des
concepts d’objet et de classe 1976 : Smalltalk : 1ère station graphique Xerox Parc (pré-Macintosh) 1980 : C++ : introduction des concepts de
l’objet dans C
1980 : Object Pascal (Turbo Pascal) :
extension de Pascal
1995 : Java : introduit par Sun Microsystems 2004 : C# : introduit par Microsoft
Introduction aux MCOO
4
MCOO - Introduction aux MCOO
2
A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
La technologie objet : Bases de données OO
Deux courants d’idées : (cid:2) Le tout objet (cid:2) Le relationnel-objet
1980 : Extension du modèle relationnel avec quelques concepts
de l’objet (nouveaux types, héritage, …)
1985 : Postgres : Extension objet du SGBD relationnel Ingress 1986 : O2 : SGBDOO par le GIP Altair puis repris par la société
O2.
1985 - 1995 :
(cid:2) Parution d’autres SGBDOO : Orion, GemStone,
ObjectStore, …
(cid:2) Adoption du courant relationnel-objet par la majorité des éditeurs des SGBD relationnels : Oracle, Informix, Sybase, …
Introduction aux MCOO
5
A. Abdellatif
MCOO
La technologie objet : MCOO
Constituent une évolution des méthodes systémiques vers une plus grande cohérence entre les objets et leur dynamique.
Sont basées sur le concept d’objet.
Permettent de décrire la dynamique du SI comme un ensemble d’opérations rattachées aux objets.
Permettent réutilisation des composants du SI.
une meilleure modularité
Publicité
et
une
Utilisent une approche ascendante.
Introduction aux MCOO
6
MCOO - Introduction aux MCOO
3
¤ ¤ ¤ ¤ ¤ A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Principales méthodes OO
OOD HOOD OOA OOA / OOD OMT
OOM UML
G. Booch Hood Technical Group S. Shlear et S. Mellor
T. Coal et E. Yourdon
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen M. Bouzeghoub et A. Rochfeld OMG
Introduction aux MCOO
7
A. Abdellatif
MCOO
Concepts de base de l’objet
(cid:1) Objet (cid:1) Classe (cid:1) Encapsulation (cid:1) Spécialisation/Généralisation (cid:1) Héritage (cid:1) Polymorphisme
Introduction aux MCOO
8
MCOO - Introduction aux MCOO
4
A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Notion d’objet
(cid:1) Un objet est la représentation d'un concept abstrait ou une abstraction d'un objet physique du monde réel.
(cid:1) Un objet est défini par :
◊ Des attributs. ◊ Des méthodes ◊ Une identité
Introduction aux MCOO
9
A. Abdellatif
MCOO
Notion d’objet : Exemple
Attributs :
N° immatriculation : 125 TU 9999 Marque : Renault Type : Laguna
Méthodes : Démarrer Accélérer Freiner
Identité :
"La voiture de M. Untel"
Introduction aux MCOO
10
MCOO - Introduction aux MCOO
5
A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Notion de classe
(cid:1) Une classe décrit des objets ayant les mêmes
attributs et les mêmes méthodes. (cid:3) moule servant à fabriquer des objets.
(cid:1) Les objets rattachés à une classe sont les
instances de cette classe.
Exemples : Employé, Voiture, Commande, etc
Introduction aux MCOO
11
A. Abdellatif
MCOO
Notion d ’encapsulation
(cid:1) Permet de masquer les détails relevant de l’implémentation d’un objet (partie privée) et de ne laisser accessible que la vue externe (interface). (cid:1) L'encapsulation:
Publicité
◊ garantie la sécurité et l'intégrité des données ◊ augmente la maintenabilité en limitant la portée des
modifications
(cid:1) Exemple : Circuit intégré
Introduction aux MCOO
12
MCOO - Introduction aux MCOO
6
A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Notion de spécialisation/généralisation
(cid:1) Généralisation : Regroupement au sein d'une super-classe des caractéristiques communes à un ensemble de classes (attributs et méthodes). (cid:1) Spécialisation : Adaptation des caractéristiques transmises par une ou plusieurs super-classes en leur caractéristiques des nouvelles (attributs et méthodes).
ajoutant
(cid:1) La généralisation et la spécialisation génèrent une
hiérarchie des classes.
Introduction aux MCOO
13
A. Abdellatif
MCOO
Spécialisation/Généralisation Exemple
Spécialisation
Généralisation
Plat
Viande
Dessert
Poulet
Steak
Gâteau
Fruit
Introduction aux MCOO
14
MCOO - Introduction aux MCOO
7
A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Notion d’héritage
(cid:1) L'héritage
permet
des caractéristiques d'une super-classe vers ses sous-classes.
transfert
le
(cid:1) Une classe hérite des attributs et des
méthodes de tous ses ancêtres.
(cid:1) L'héritage constitue un premier moyen de
réutilisation.
Introduction aux MCOO
15
A. Abdellatif
MCOO
Notion de polymorphisme
C'est la capacité objets des même d'une de hiérarchie classes de répondre différemment à la même opération.
Introduction aux MCOO
Moyen de transport
• Vitesse moyenne • Nbre passagers
• Calculer distance • Démarrer
• Vitesse moyenne • Nbre passagers • Puissance • Calculer distance • Démarrer (démarrer moteur)
• Vitesse moyenne • Nbre passager • Altitude max • Calculer distance • Démarrer (démarrer réacteur)
• Vitesse moyenne • Nbre passagers • Tonnage • Calculer distance • Démarrer (démarrer turbine)
16
MCOO - Introduction aux MCOO
8
A . Abdellatif
Publicité
MCOO - LFI2
A. Abdellatif
MCOO
Les trois dimensions du SI
La plupart des méthodes objet ont une approche commune basée triple sur perception du SI.
une
Dimension fonctionnelle (flux/processus)
Dimension
statique (Objets)
Dimension dynamique (événement/état)
Introduction aux MCOO
17
A. Abdellatif
MCOO
Les trois dimensions du SI
dimension statique : décrit les objets du système, les associations entre ces objets, opérations et les correspondantes.
contraintes
les
dimension dynamique : représente les types d'événements qui peuvent survenir dans le SI et les changements d'états résultant du traitement de ces événements.
Introduction aux MCOO
18
MCOO - Introduction aux MCOO
9
¤ ¤ A . Abdellatif
MCOO - LFI2
A. Abdellatif
MCOO
Les trois dimensions du SI
¤ dimension fonctionnelle : représente les circulent entre les différents acteurs du SI, ainsi que les processus qui les transforment.
flux d'informations qui
Introduction aux MCOO
19
A. Abdellatif
MCOO
Couverture des 3 dimensions par les MCOO
DIMENSION
OOD
HOOD OOA/OOD
OMT
OOSE
OOM
UML
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
STATIQUE
DYNAMIQUE
FONCTIONNELLE
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
(cid:4)(cid:4)(cid:4)(cid:4)
Introduction aux MCOO
20
MCOO - Introduction aux MCOO
10