You are on page 1of 29

La Conception Oriente Objet

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

l'AOO Analyse Oriente Objet La COO La Conception Oriente Objet La POO La Programmation Oriente Objet

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Analyse OO (P Coad et E Yourdon)


L'identification des objets l'identification des structures la dfinition des sujets la dfinition des attributs la dfinition des services

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

La COO
" La conception par objets est la mthode qui conduit
des architectures logicielles fondes sur les objets que tout systme ou sous-systme manipule (plutt que sur la fonction qu'il est cens raliser)...Pour beaucoup de programmeurs, ce changement de point de vue est un choc comparable l'ide de la terre tournant autour du soleil il y a 400 ans."

Bertrand Meyer

"baby duck syndrom"

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Objectif numro 1 : rutiliser ce que l'on produit


"Pourquoi le logiciel n'est-il pas comme le matriel ?
Pourquoi tout nouveau dveloppement doit-il repartir de zro ? Il devrait y avoir des catalogues de modules logiciels, comme il y a des catalogues de puces de circuits intgrs : pour construire un nouveau systme, on devrait commander des composants dans les catalogues et les combiner, plutt que de rinventer la roue chaque fois....."

Extrait de "Conception et programmation par objets". Bertrand Meyer.

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Mthode d'analyse : partir du rel


" Plutt que de btir un systme form de modules
J. L Thron
" Perhaps the greatest strenght of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world " associs des oprations , on structure le systme autour des objets existants dans le modle du monde rel "

Grady Booch, member IEEE

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Reflexion
En analyse structure il s'agit de constituer des actions labores ou procdure partir d'actions primitives alors qu'ici il s'agit de constituer des objets complexes partir d'objets primitifs.

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

L'approche objet
Il s'avre que l'orient objet offre une manire claire de concevoir une architecture faite de modules autonomes, facilitant l'implmentation multi-plateforme. Elle permet une flexibilit technique accrue et une meilleure ouverture aux nouvelles technologies (telles que le multimdia)

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Etapes classiques identifies


ANALYSE
consiste tudier les attentes des utilisateurs, afin d'identifier les objets de gestion ou "objets Mtier" qu'ils invoquent dans leur activit

DESIGN (Conception)
consiste concevoir l'organisation des modules (le classes) du logiciel et du stockage des donnes persistantes

IMPLEMENTATION (Ralisation)
C Raynal 70682814@fr.ibm.com 9 24-10-02 S4-N1-SP-01-V1-C00.prz V1

GRANULARITE
Essentiel
Vision globale des objets de gestion des utilisateurs

Conceptuel
Construction par le concepteur

Oprationnel
Implmentation par les dveloppeurs
C Raynal 70682814@fr.ibm.com 10 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Les objets que peroit l'utilisateur


Actes de gestion
portion de l'activit de l'utilisateur, borne par une sollicitation "externe" (client demande une rservation sur un vol pour NYK) et par la rponse celle-ci (billet)

objets essentiels
ceux que l'utilisateur voit, consulte, cre, etc (le client, le billet, le vol,...)objets essentiels

Ces objets essentiels encapsulent des services


le client doit pouvoir donner son nom C Raynal 70682814@fr.ibm.com 11 Le vol doit pouvoir founir une place
24-10-02 S4-N1-SP-01-V1-C00.prz V1

Les objets que le concepteur dfinit


le concepteur doit construire une architecture de composants logiciel qui permette :
au systme de prsenter des informations sur une interface utilisateur d'interprter les actions demandes par les utilisateurs sur cette interface de mettre en oeuvre les rgles de gestion attendues de consulter ou mettre jour une ou plusieurs bases de donnes.
C Raynal 70682814@fr.ibm.com 12 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Exemple d'objets de l'architecture


Objet d'interface
Objet processeur de dialogue

Objet d'usage

Objet modle

Objet d'Accs aux donnes persistantes

Objet d'interaction

C Raynal 70682814@fr.ibm.com

13

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Les objets que manipule le dveloppeur


Le dveloppeur fabrique et manipule des composants logiciels, des modules, des classes, langage ou CASE Chacun de ces modules implmente un ou plusieurs type d'objets Conceptuels Les classes gnriques sont implmentes une fois pour toute dans l'environnement de dveloppement Pour chaque application, les classes applicatives implmentent le fonctionnel et hritent de ces classes gnriques
14

C Raynal 70682814@fr.ibm.com

24-10-02 S4-N1-SP-01-V1-C00.prz V1

La Difficult
En approche objet :
De quoi parle-t-on ?

En approche structure :
Que veut-on faire ?

C Raynal 70682814@fr.ibm.com

15

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Synthse
Approche structure
Top down

Approche objet
itration

Modlisation objet :
structuration : mcanisme d'hritage et d'instantation Lisibilit, cohrence

C Raynal 70682814@fr.ibm.com

16

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Le passage du structur vers l'objet


La comparaison des concepts. Cette partie met en exergue les principales caractristiques qui diffrencient le monde structur du monde objet. L'approche mthodologique. Aprs avoir compar quelques mthodes, cette partie diffrencie les principes de base de la mthode Merise avec ceux d'UML (dcrit dans la prcdente partie de ce document). La mise en uvre organisationnelle de la transition. Cette partie dcrit diffrents scnarios d'intgration des technologies objet dans l'entreprise afin d'amliorer la conduite du changement. La transition dans les mtiers de l'informatique. Cette partie prsente l'volution des mtiers avec l'arrive des technologies objet dans l'entreprise en ralisant un zoom sur trois mtiers.
C Raynal 70682814@fr.ibm.com 17 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Le Chef de Projet
Le chef de projet objet assure le pilotage des projets. Il doit tre expriment dans le mtier car il y a beaucoup de diffrences entre la dmarche structure et la dmarche objet. Par exemple, la phase de conception fonctionnelle et technique est plus longue. Tout travail de planification doit en tenir compte. Le chef de projet est souvent amen arbitrer entre les demandes des diffrents sous-projets, en fonction des objectifs assigns au logiciel. Il doit toujours se recentrer sur ces objectifs ; aussi, il ne peut pas tre un distributeur de programmes dvelopper. Il est dcideur, animateur et coordinateur sans remplacer l'architecte. Il doit savoir dlguer une partie des tches de contrle l'architecte. D'autre part, il est amen travailler plus souvent avec les utilisateurs ce qui ncessite une composante relationnelle importante et plus d'implication dans son activit.
C Raynal 70682814@fr.ibm.com 18 24-10-02 S4-N1-SP-01-V1-C00.prz V1

L'Architecte
Il intervient dans les premires phases du projet pour y concevoir l'architecture. C'est un rle primordial dans le processus de mise en uvre du projet. Il doit possder une grande exprience technique dans les nouveaux domaines informatiques : objet et client/serveur. C'est un point cl pour la russite du projet dont il s'occupe. Il doit construire une architecture vivante et un systme d'information performant. Il doit permettre de dvelopper une communication rapide et performante au sein du projet dans lequel il travaille, une ractivit maximale des quipes qui ncessite un gros effort de coordination. Il travaille de faon transversale. Il n'est pas ncessairement un bibliothcaire centralisant les objets outils ou mtiers.

C Raynal 70682814@fr.ibm.com

19

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Le Spcialiste du dveloppement par composants


Le spcialiste du dveloppement par composant est charg selon le cas de fabriquer ou d'assembler des composants techniques et/ou mtiers au sein d'une quipe de dveloppement. Il administre les composants et gre leur cycle de vie (volution, maintenance) dans l'entreprise. Se prsentant comme une alternative au dveloppement spcifique et l'approche tout logiciel, le dveloppement base de composants rutilisables apporte aux entreprises la possibilit de dvelopper plus rapidement et moindre cot. C'est une approche assez jeune des entreprises qui y voient un moyen de s'affranchir des solutions toutes faites qui empchent la diversification et aussi de la mainmise des diteurs sur leur systme d'information. Elle gnre dj de nouvelles mthodes de travail au sein des quipes de dveloppement. Les fonctions de dveloppement base de composants sont ouvertes des jeunes diplms disposant d'une solide formation de base sur les technologies orientes objet. Le mtier peut s'exercer en SSII ou chez un diteur, et commence gagner les services informatiques des entreprises utilisatrices. La matrise de langages tels que C++ et de l'environnement Java ou des Middleware DCOM (Microsoft) et CORBA (OMG) sont des atouts essentiels.
C Raynal 70682814@fr.ibm.com 20 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Les mthodes
OMT de RUMBAUGH, M Blaha, W Premerlani, F Eddy 1991 OOSE de IVAR JACOBSON, M Christerson, P Jonson, G Overgaard 1992 OOD de GRADY BOOCH CRCde REBECCA WIRFS-BROCK 1991 OOM A ROCHFELD, M Bouzeghoud 1993 OAD S SCHAER , S MELLOR 1988, 1992 OOA/OOD E YOURDON et T COAD
1991
C Raynal 70682814@fr.ibm.com 21 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Approche fonde
Objets, vnements, oprations (mthode Remora, Colette Roland) Information, tat, processus (Schaer et Mellor

C Raynal 70682814@fr.ibm.com

22

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Un peu d'histoire et quelques mthodes


Bailin Booch Coad et Yourdon Colbert Edwards Food Gibson Jacobson Kurtz, Woodfield et Embley Odell Pages-Jones et Weiss Rumbaugh Shlaert et Mellor Wirfs-brock, Wilkerson et Wiener
C Raynal 70682814@fr.ibm.com 23 24-10-02 S4-N1-SP-01-V1-C00.prz V1

FERBER
Identifier les entits du domaine (statique)
partir des classes videntes partir d'une liste exhaustive regroupement de proprits

C Raynal 70682814@fr.ibm.com

Structurer le domaine en analysant les proprits de ces entits et leurs relations (statique) Identifier les oprations que savent effectuer ces entits (dynamique) Dcrire prcisment ces oprations en les reliant des messages
24

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Introduction
BOOCH
Analyse et Design Relation d'hritage Diagramme d'objets, de classes, de modules de processus de transition outil Rose interface avec C++ ADA Smalltalk, Eiffel, ...

COAD et YOUDON
hritage Envoi de messages temps rel, tables tat vnements diagramme de transition

JACOBSON RUMBAUGH
Analyse, Design diagramme flux de donnes Modlisation fonctionelle et dynamique diagramme d'tats et de transition agrgat d'objet
C Raynal 70682814@fr.ibm.com 25 24-10-02 S4-N1-SP-01-V1-C00.prz V1

Comparatif des mthodes


OOD : Object Oriented Design de Booch (Diffusion : 1985). Elle propose deux tapes de formalisation : la vue logique et la vue physique. Cette mthode suit un cycle en cascade sans intgrer l'analyse OMT : Object Modeling Technique de Rumbaugh (Diffusion : 1991). Elle couvre l'analyse, la conception et l'implmentation en quatre phases : l'analyse, la conception du systme, la conception des objets et l'implmentation. La dmarche suit un cycle en cascade en dcomposant la notion de conception systme et conception logiciel.. La mthode utilise les modles objet, dynamique et fonctionnel. OOSE : Object Oriented Software Engineering (appele aussi Objectory) de Ivar Jacobson (Diffusion : 1992). La mthode suit d'une part une approche systmique (dcomposition du systme d'information en sous-systmes pour aboutir au niveau de l'objet) et d'autre part, une approche structure : analyse, construction et test. La phase de test suit un cycle ascendant du cycle en V. OOM : Orient Objet dans Merise de Rochfeld & Bouzeghoub (Diffusion :1993). C'est une mthode base sur les trois cycles de vie de Merise et une adaptation l'objet.

C Raynal 70682814@fr.ibm.com

26

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Comparatif des mthodes


Etapes du cycle traditionnel Planification Analyse du besoin Conception systme Conception logiciel Spcification logiciel Spcification technique Implmentation Tests et intgration Maintenance X X X X X X X X X X X X X X X X X X X X X X X X X X X OOD OMT OOSE UML OOM X X X X X X X

ATTENTION UML : Unified Modeling Language (Diffusion : 1997). UML n'est pas priori une
dmarche, ni une mthode mais bien un langage de modlisation.

C Raynal 70682814@fr.ibm.com

27

24-10-02 S4-N1-SP-01-V1-C00.prz V1

Historique des mthodes


1975
WARNIER DIEKSKRA CORIG Rseau de PETRI Systmique

1980

1985

1990
MERISE/2 1992

1995

2000

MERISE 1978 REMORA 1982 OOA 1979 OMT 1987 OOSE 1990

OOM 1993

BACHMANN OOD 1981 HOOD 1987

OOA/OOD 1991

UML 1997

C Raynal 70682814@fr.ibm.com

28

24-10-02 S4-N1-SP-01-V1-C00.prz V1

UML Norme OMG 11/97 RFP OMG 01/97 UML UML UM OOPSLA 1995

1.2 1.1 1.0 0.91

Unified Method 0.8

BOOCH 93 BOOCH
C Raynal 70682814@fr.ibm.com

OMT 2 RUMBAUGH
29

OOSE JACOBSON
24-10-02 S4-N1-SP-01-V1-C00.prz V1