Vous êtes sur la page 1sur 32

INTRODUCTION AUX MTHODOLOGIES DE CONCEPTION

Mme Sfaxi Lilia Mme Zoubeir Najet L2ARS/SIL 2011/2012

MCOOChapitre

Plan
Introduction aux systmes dinformation Introduction la conception Le langage UML Le paradigme Objet

11/10/11

Mthodologie de Conception Oriente Objet

Chp1: Introduction aux Mthodologies de Conception

LES SYSTMES DINFORMATION


11/10/11
Mthodologie de Conception Oriente Objet

Introduction aux SI
Un systme dinformation reprsente lensemble des lments participant la gestion, stockage, traitement, transport et diffusion de linformation au sein dune organisation Rle:
Collecte dinformations Stockage de linformation Traitement de linformation Diffusion de linformation
Mthodologie de Conception Oriente Objet

11/10/11

Etapes de Ralisation dun SI (1/3)


Expression des besoins Spcica.on Analyse Concep.on Implmenta.on Tests et vrica.on Valida.on Maintenance et Evolu.on
11/10/11
Mthodologie de Conception Oriente Objet

Etapes de Ralisation dun SI (2/3)


Expression des besoins Spcification Analyse
Dfinition dun cahier des charges Ce que le systme doit tre et comment il peut tre utilis lments intervenant dans le SI, leurs structures et relations A dfinir sur 3 axes
Savoir-faire de lobjet Structure de lobjet Cycle de vie de lobjet axe fonctionnel axe statique axe dynamique

Conception

Apport de solutions techniques: architecture, performance et optimisation Dfinition des structures et des algorithmes
Mthodologie de Conception Oriente Objet

11/10/11

Etapes de Ralisation dun SI (3/3)


Implmentation
Ralisation et programmation

Tests et vrification
Contrles de qualit Instaurs tout au long du cycle de dveloppement

Validation
Vrification de la correspondance avec le cahier des charges + discussion avec lutilisateur

Maintenance et Evolution
Maintenance corrective: traiter les erreurs (bugs) Maintenance volutive: intgration de nouveaux changements
11/10/11
Mthodologie de Conception Oriente Objet

Chp1: Introduction aux Mthodologies de Conception

TAPE DE CONCEPTION
Mthodologie de Conception Oriente Objet

11/10/11

Conception
Processus cratif pour la mise au point dun logiciel Permet de donner une architecture au logiciel en le dcoupant en briques, chacune en charge de fonctionnalits diffrentes 2 types de conception
Conception architecturale
Dfinition de la structure interne du logiciel Dcomposition en composants de taille matrisable Dfinition des interfaces et interactions entre composants

Conception dtaille
Dfinition du rle de chacun des composants Dfinition des sous-composants
11/10/11
Mthodologie de Conception Oriente Objet

Modlisation
Support de la conception Formalisation de la solution, en utilisant des notations ou des rgles connues Permet de rduire la complexit dun phnomne
liminer les dtails non significatifs Reflter ce qui est important pour la comprhension et prdiction du phnomne modlis

Cration dun Modle


Reprsentation abstraite et simplifie dune entit du monde rel en vue de le dcrire, de lexpliquer ou de le prvoir Exemple : Plan
11/10/11
Mthodologie de Conception Oriente Objet

10

Mthode et Langage
Mthode de conception
Description normative des tapes de la modlisation Exemple: Merise Problme:
Existence de plusieurs cas particuliers difficult de reprsenter une mthode exhaustive

Langage de modlisation
Langage graphique pour reprsenter, communiquer les divers aspects dun systme dinformation Possde un vocabulaire et des rgles qui permettent de combiner les mots afin de communiquer
11/10/11
Mthodologie de Conception Oriente Objet

11

Chp1: Introduction aux Mthodologies de Conception

UML: UNIFIED MODELING LANGUAGE


11/10/11
Mthodologie de Conception Oriente Objet

12

Historique
Annes 80:
Mthodes pour organiser la programmation fonctionnelle (Merise) Sparation des donnes et des traitements Apparition de la programmation objet: ncessite dune mthodologie adapte Apparition de plus de 50 mthodes entre 1990 et 1995 Consensus sur 3 mthodes

Dbut des annes 90:

1994

OMT de James Rumbaugh : reprsentation graphique des aspects statiques, dynamiques et fonctionnels dun systme OOD de Grady Booch: concept de package OOSE de Ivar Jacobson: description des besoins de lutilisateur
Mthodologie de Conception Oriente Objet

11/10/11

13

UML
Consensus entre les 3 Amigos pour crer une mthode commune:
UML : Unified Modeling Language (Langage de Modlisation Unifi)

1997: Dfinition de la norme UML comme standard de modlisation des systmes dinformation objet par lOMG (Object Management Group) UML est employ dans lensemble des secteurs du dveloppement informatique
Systmes dinformation Tlcommunication, dfense Transport, aronautique, arospatial Domaines scientifiques

Mais pas seulement : on peut modliser des comportement mcaniques, humain, etc.
11/10/11
Mthodologie de Conception Oriente Objet

14

Briques de base dUML


Les lments
Ce sont les abstractions essentielles au modle. Les relations expriment les liens existants entre les diffrents lments. Un diagramme est une reprsentation visuelle de lensemble des lments qui constituent le systme Ils servent visualiser un systme sous diffrents angles (utilisateur, administrateur par ex.) Dans les systmes complexes, un diagramme ne fournit quune vue partielle du systme

Les relations

Les diagrammes

Lensemble des diagrammes runis permet dobtenir une vue globale du systme concevoir Chaque diagramme va permettre de modliser ou spcifier une vue (spcificit) du systme concevoir
Mthodologie de Conception Oriente Objet

11/10/11

15

Les 4+1 Vues


Vue des cas dutilisation
Description du modle vu par les acteurs du systme Besoins attendus pour chaque acteur Le QUOI et le QUI

Vue logique
Dfinition du systme vu de lintrieur COMMENT satisfaire les besoins des acteurs

Vue dimplmentation
Dpendances entre les modules

Vue des processus


Vue temporelle et technique Mise en uvre des notions de tches concurrentes, synchronisation

Vue de dploiement
Position gographique et architecture physique de chaque lment Le O 11/10/11
Mthodologie de Conception Oriente Objet

16

Les 4+1 Vues


Vue Logique - Classes - Interfaces - Collabora.on Vue dimplmenta3on - Fichiers - Ressources externes Vue des cas du3lisa3on - Cas du.lisa.on - Acteurs Vue des processus - Processus - Threads

Vue de dploiement - Nuds

11/10/11

Mthodologie de Conception Oriente Objet

17

Diagrammes dUML 2
Diagrammes structurels / statiques (UML Structure)
diagramme de classes (Class diagram) diagramme dobjets (Object diagram) diagramme de composants (Component diagram) diagramme de dploiement (Deployment diagram) diagramme de paquetages (Package diagram) diagramme de structures composites (Composite structure diagram) diagramme de cas dutilisation (Use case diagram) diagramme dactivits (Activity diagram) diagramme dtats-transitions (State machine diagram) diagrammes dinteraction (Interaction diagram)
diagramme de squence (Sequence diagram) diagramme de communication (Communication diagram) diagramme global dinteraction (Interaction overview diagram) diagramme de temps (Timing diagram)

Diagrammes comportementaux / dynamiques (UML Behavior)

11/10/11

Mthodologie de Conception Oriente Objet

18

Chp1: Introduction aux Mthodologies de Conception

LE PARADIGME ORIENT OBJET


11/10/11
Mthodologie de Conception Oriente Objet

19

Introduction lapproche Oriente Objet


Evolution foudroyante du matriel
Premier ordinateur :
50 tonnes, 25 Kwatts, quelques milliers de positions de mmoire Quelques composants par circuit

Actuellement : Processeurs avec 2, 4 et jusqu 6 curs


Quelques grammes, 17 watts, jusqu 16 Go de RAM, environs 20 000 MIPS (millions dinstructions par seconde) 400 millions de transistors

Concept clef : la Rutilisation

Evolution lente du logiciel


Les projets informatiques repartent de zro!

Solution : Exploiter le concept de rutilisation pour le logiciel


Approche oriente objet
11/10/11
Mthodologie de Conception Oriente Objet

20

Objet?
Dfinitions :
Entit cohrente rassemblant des donnes et du code travaillant sur ces donnes Structure de donnes values qui rpond un ensemble de messages

Caractris par :
son comportement : que peut-on faire avec cet objet?
Mthodes

son tat : comment ragit lobjet quand on applique ces mthodes?


Attributs (Champs)

son identit : comment distinguer les objets qui ont le mme tat et le mme comportement?
Identifiant

A les mmes ractions et la mme modularit que le monde rel


Lobjet informatique est une projection de lobjet du monde rel
Mthodologie de Conception Oriente Objet

11/10/11

21

Classe
Composant de base Contient la description dun objet
Modle de lobjet effectif

Correspond l ide quon se fait dun objet


Analogie avec la philosophie platonnienne idaliste :
Vous vous promenez dans la campagne, vous croyez avoir rencontr des troupeaux de chevaux. Quelle erreur! () Car le Cheval-Modle, le ChevalIde, nest ni noir ni blanc, il nest daucune race chevaline. Il est cheval pur et vos sens ne vous le montreront jamais [Civilisation Grecque A.Bonnard ]

Voil, la classe, cest l ide du cheval Un pur sang arabe de couleur noire, dont le nom est ASWAD et qui bote lgrement, est un objet instanci partir de cette classe!
11/10/11
Mthodologie de Conception Oriente Objet

22

Exemples
Classe
Voiture marque couleur
dmarrer conduire arrter

Objet
twingo : Voiture
marque : Renaut couleur : grise immatricula.on : 102 102

immatricula.on

class Voiture { // a$ributs String marque; String couleur; String immatricula.on; //mthodes void dmarrer( ){ } void conduire( ){ } void arrter( ){ } } 11/10/11

Voiture twingo = new Voiture( );

Mthodologie de Conception Oriente Objet

23

Concepts fondamentaux de lapproche OO


Caractristiques de lapproche objet :
Encapsulation Hritage Polymorphisme Agrgation

11/10/11

Mthodologie de Conception Oriente Objet

24

Encapsulation
Mcanisme consistant rassembler, au sein dune mme structure, les donnes et les traitements
Dfinition des attributs et mthodes au niveau de la classe Dfinition dune interface : vue externe de lobjet

Limplmentation de la classe est cache pour lutilisateur Possibilit de modifier limplmentation sans modifier linterface Prservation de lintgrit des donnes
Facilit de lvolution de lobjet Laccs direct aux attributs est interdit Linteraction entre les objets se fait uniquement grce aux mthodes
Mthodologie de Conception Oriente Objet

11/10/11

25

Encapsulation : Exemple
Concepteur
marque couleur immatricula.on dmarrer conduire arrter

Voiture

Ache : La voiture est dmarre

U3lisateur
Jaimerais crer une nouvelle twingo

Voiture twingo = new Voiture( );


Que se passe-t-il si je dmarre ma twingo?

twingo.dmarrer( ); Mthodologie de Conception Oriente Objet

11/10/11

26

Hritage
Un objet spcialis bnficie ou hrite des caractristiques de lobjet le plus gnral, auquel il rajoute ses lments propres
Cration de nouvelles classes bases sur des classes existantes Transmission des proprits (attributs et mthodes) de la classe mre vers la classe fille

Traduit la relation est un Deux orientations possibles


Spcialisation : Ajout / adaptation des caractristiques Gnralisation : Regroupement des caractristiques communes

Possibilit dhritage multiple Avantages


viter la duplication du code Encourager la rutilisation du code
11/10/11
Mthodologie de Conception Oriente Objet

27

Hritage : Exemple
Oeuvre
.tre auteur
gnralisa3on

Livre
ISBN couverture

Opra
genre_musical compositeur

Film
ralisateur bande_originale

Roman
nb_chapitres

BD
dessinateur
spcialisa3on

11/10/11

Mthodologie de Conception Oriente Objet

28

Polymorphisme
Dfinition :
Poly : plusieurs Morphisme : Forme

Facult dune mthode pouvoir sappliquer des objets de classes diffrentes Capacit dune classe redfinir une mthode hrite partir dune classe mre
Surcharge

Avantages
Lisibilit du code Gnricit du code
11/10/11
Mthodologie de Conception Oriente Objet

29

Polymorphisme : Exemple
Vhicule
seDplacer( )

Train
seDplacer( )
seDplacer(){ Print ( Sur des rails ); }

Voiture
seDplacer( )
seDplacer(){ Print ( Sur la route ); }

Bateau
seDplacer( )
seDplacer(){ Print ( Sur leau); }

11/10/11

Mthodologie de Conception Oriente Objet

30

Agrgation
Relation entre deux classes, de sorte que les objets de lune soient des composants de lautre Traduit la relation est compos de ou a Toute agrgation est caractrise par une cardinalit
Combien dfinit la classe contenante dinstances de la classe contenue? combien de classes peut appartenir un objet?

Avantage
Partir dobjets de base pour construire des objets complexes
11/10/11
Mthodologie de Conception Oriente Objet

31

Agrgation : Exemple
Rela1on dagrga1on
1 4

Roue

Voiture
roues[ ] moteur chssis
1

Moteur

1 1

Chssis

Cardinalit

11/10/11

Mthodologie de Conception Oriente Objet

32