SlideShare une entreprise Scribd logo
INTRODUCTION AUX
MÉTHODOLOGIES DE
CONCEPTION
MCOO–Chapitre
Mme Sfaxi Lilia
Mme Zoubeir Najet
L2ARS/SIL – 2011/2012

1
Introduction aux SI
 Un système d’information représente
l’ensemble des éléments participant à la
gestion, stockage, traitement, transport et
diffusion de l’information au sein d’une
organisation
 Rôle:
 Collecte d’informations
 Stockage de l’information
 Traitement de l’information
 Diffusion de l’information
27/02/2014

Méthodologie de
Conception Orientée Objet

4
Etapes de Réalisation d’un
SI (1/3)
Expression des besoins
Spécification
Analyse
Conception
Implémentation
Tests et vérification
Validation
Maintenance et Evolution
27/02/2014

Méthodologie de
Conception Orientée Objet

5
Etapes de Réalisation d’un
SI (2/3)
 Expression des besoins
 Définition d’un cahier des charges

 Spécification
 Ce que le système doit être et comment il peut être utilisé

 Analyse
 Éléments intervenant dans le SI, leurs structures et
relations
 A définir sur 3 axes
• Savoir-faire de l’objet
• Structure de l’objet
• Cycle de vie de l’objet

 axe fonctionnel
 axe statique
 axe dynamique

 Conception
 Apport de solutions techniques: architecture, performance
et optimisation
 Définition des structures et des algorithmes
27/02/2014

Méthodologie de
Conception Orientée Objet

6
Etapes de Réalisation d’un
SI (3/3)
 Implémentation
 Réalisation et programmation

 Tests et vérification
 Contrôles de qualité
 Instaurés tout au long du cycle de développement

 Validation
 Vérification de la correspondance avec le cahier des
charges + discussion avec l’utilisateur

 Maintenance et Evolution
 Maintenance corrective: traiter les erreurs (bugs)
 Maintenance évolutive: intégration de nouveaux
changements
27/02/2014

Méthodologie de
Conception Orientée Objet

7
Conception
 Processus créatif pour la mise au point d’un
logiciel
 Permet de donner une architecture au logiciel
en le découpant en briques, chacune en charge
de fonctionnalités différentes
 2 types de conception
 Conception architecturale
• Définition de la structure interne du logiciel
• Décomposition en composants de taille maîtrisable
• Définition des interfaces et interactions entre composants

 Conception détaillée
• Définition du rôle de chacun des composants
• Définition des sous-composants
27/02/2014

Méthodologie de
Conception Orientée Objet

9
Modélisation
 Support de la conception
 Formalisation de la solution, en utilisant des
notations ou des règles connues
 Permet de réduire la complexité d’un
phénomène
 Éliminer les détails non significatifs
 Refléter ce qui est important pour la compréhension
et prédiction du phénomène modélisé

 Création d’un Modèle
 Représentation abstraite et simplifiée d’une entité du
monde réel en vue de le décrire, de l’expliquer ou de
le prévoir
 Exemple : Plan
27/02/2014

Méthodologie de
Conception Orientée Objet

10
Méthode et Langage
 Méthode de conception
 Description normative des étapes de la
modélisation
 Exemple: Merise
 Problème:
• Existence de plusieurs cas particuliers  difficulté de
représenter une méthode exhaustive

 Langage de modélisation

27/02/2014

 Langage graphique pour
représenter, communiquer les divers aspects
d’un système d’information
 Possède un vocabulaire et des règles qui
permettent de combiner les mots afin de
Méthodologie de
Conception Orientée Objet
communiquer

11
Historique
 Années 80:
 Méthodes pour organiser la programmation
fonctionnelle (Merise)
 Séparation des données et des traitements

 Début des années 90:
 Apparition de la programmation objet: nécessite
d’une méthodologie adaptée
 Apparition de plus de 50 méthodes entre 1990 et
1995

 1994
 Consensus sur 3 méthodes

27/02/2014

• OMT de James Rumbaugh : représentation graphique
des aspects statiques, dynamiques et fonctionnels d’un
système
• OOD de Grady Booch: concept de package
Méthodologie description des besoins de
• OOSE de Ivar Jacobson:de
13
Conception Orientée Objet
l’utilisateur
UML
 Consensus entre les « 3 Amigos » pour créer une
méthode commune:
 UML : Unified Modeling Language (Langage de
Modélisation Unifié)

 1997: Définition de la norme UML comme standard
de modélisation des systèmes d’information objet
par l’OMG (Object Management Group)
 UML est employé dans l’ensemble des secteurs du
développement informatique





Systèmes d’information
Télécommunication, défense
Transport, aéronautique, aérospatial
Domaines scientifiques

 Mais pas seulement : on peut modéliser des
comportement mécaniques, humain, etc.
27/02/2014

Méthodologie de
Conception Orientée Objet

14
Briques de base d’UML
 Les éléments
 Ce sont les abstractions essentielles au modèle.

 Les relations
 Les relations expriment les liens existants entre les
différents éléments.

 Les diagrammes
 Un diagramme est une représentation visuelle de
l’ensemble des éléments qui constituent le système
 Ils servent à visualiser un système sous différents angles
(utilisateur, administrateur par ex.)
 Dans les systèmes complexes, un diagramme ne fournit
qu’une vue partielle du système
• L’ensemble des diagrammes réunis permet d’obtenir une vue
globale du système à concevoir
• Chaque diagramme va permettre de modéliser ou spécifier une
vue (spécificité) du système à concevoir
27/02/2014

Méthodologie de
Conception Orientée Objet

15
Les 4+1 Vues
 Vue des cas d’utilisation
 Description du modèle vu par les acteurs du système
 Besoins attendus pour chaque acteur
 Le QUOI et le QUI

 Vue logique
 Définition du système vu de l’intérieur
 COMMENT satisfaire les besoins des acteurs

 Vue d’implémentation
 Dépendances entre les modules

 Vue des processus
 Vue temporelle et technique
 Mise en œuvre des notions de tâches concurrentes, synchronisation…

 Vue de déploiement
 Position géographique et architecture physique de chaque élément
 Le OÙ
27/02/2014

Méthodologie de
Conception Orientée Objet

16
Les 4+1 Vues
Vue Logique
- Classes
- Interfaces
- Collaboration

Vue d’implémentation
- Fichiers
- Ressources externes
Vue des cas d’utilisation

- Cas d’utilisation
- Acteurs
Vue de déploiement
- Nœuds

27/02/2014

Vue des processus
- Processus
- Threads

Méthodologie de
Conception Orientée Objet

17
Diagrammes d’UML 2
 Diagrammes structurels / statiques (UML Structure)







diagramme de classes (Class diagram)
diagramme d’objets (Object diagram)
diagramme de composants (Component diagram)
diagramme de déploiement (Deployment diagram)
diagramme de paquetages (Package diagram)
diagramme de structures composites (Composite structure diagram)

 Diagrammes comportementaux / dynamiques (UML Behavior)





diagramme de cas d’utilisation (Use case diagram)
diagramme d’activités (Activity diagram)
diagramme d’états-transitions (State machine diagram)
diagrammes d’interaction (Interaction diagram)
•
•
•
•

27/02/2014

diagramme de séquence (Sequence diagram)
diagramme de communication (Communication diagram)
diagramme global d’interaction (Interaction overview diagram)
diagramme de temps (Timing diagram)

Méthodologie de
Conception Orientée Objet

18
Introduction à l’approche
Orientée Objet
 Evolution foudroyante du matériel
 Premier ordinateur :
• 50 tonnes, 25 Kwatts, quelques milliers de positions de
mémoire
• Quelques composants par circuit

 Actuellement : Processeurs avec 2, 4 et jusqu’à 6
cœurs
• Quelques grammes, 17 watts, jusqu’à 16 Go de
RAM, environs 20 000 MIPS (millions d’instructions par
seconde)
• 400 millions de transistors

Concept clef : la Réutilisation

 Evolution lente du logiciel
 Les projets informatiques repartent de zéro!
27/02/2014

Méthodologie de
Conception Orientée Objet

 Solution : Exploiter le concept de réutilisation pour

20
Objet…?
 Définitions :
 Entité cohérente rassemblant des données et du code travaillant sur
ces données
 Structure de données valuées qui répond à un ensemble de
messages

 Caractérisé par :
 son comportement : que peut-on faire avec cet objet?
• Méthodes

 son état : comment réagit l’objet quand on applique ces
méthodes?
• Attributs (Champs)

 son identité : comment distinguer les objets qui ont le
même état et le même comportement?
• Identifiant

27/02/2014

 A les mêmes réactions et la même modularité que le
monde réel
Méthodologie de
 L’objet

Conception est une Objet
informatique Orientée projection

21

de l’objet du monde
Classe
 Composant de base
 Contient la description d’un objet
 Modèle de l’objet effectif

 Correspond à l’ « idée » qu’on se fait d’un objet
 Analogie avec la philosophie platonnienne idéaliste :
• « Vous vous promenez dans la campagne, vous croyez
avoir rencontré des troupeaux de chevaux. Quelle erreur!
(…) Car le Cheval-Modèle, le Cheval-Idée, n’est ni noir ni
blanc, il n’est d’aucune race chevaline. Il est cheval pur et
vos sens ne vous le montreront jamais… » [Civilisation
Grecque – A.Bonnard ]

27/02/2014

 Voilà, la classe, c’est l’ « idée » du cheval
 Un pur sang arabe de couleur noire, dont le nom est
ASWAD et qui boîte légèrement, est un objet
instancié à partir de cettede
Méthodologie classe!
Conception Orientée Objet

22
Exemples
 Classe

 Objet

Voiture

twingo : Voiture

marque
couleur
immatriculation

marque : Renaut
couleur : grise
immatriculation : 102

démarrer
conduire
arrêter

class Voiture {
// attributs
String marque;
String couleur;
String immatriculation;
//méthodes
void démarrer( ){ }
void conduire( ){ }
void arrêter( ){ }
}
27/02/2014

102

Voiture twingo = new Voiture( );

Méthodologie de
Conception Orientée Objet

23
Concepts fondamentaux de
l’approche OO
 Caractéristiques de l’approche objet :
 Encapsulation
 Héritage
 Polymorphisme
 Agrégation

27/02/2014

Méthodologie de
Conception Orientée Objet

24
Encapsulation
 Mécanisme consistant à rassembler, au sein
d’une même structure, les données et les
traitements
 Définition des attributs et méthodes au niveau de la
classe

 L’implémentation de la classe est cachée pour
l’utilisateur
 Définition d’une interface : vue externe de l’objet

 Possibilité de modifier l’implémentation sans
modifier l’interface
 Facilité de l’évolution de l’objet

 Préservation de l’intégrité des données
27/02/2014

 L’accès direct aux attributs est interdit
 L’interaction entre les objets se fait uniquement grâce
Méthodologie de
aux méthodes
25
Conception Orientée Objet
Encapsulation : Exemple
Concepteur

Voiture
marque
couleur
immatriculation

démarrer
conduire
arrêter

Affiche :
La voiture est
démarrée

Utilisateur
J’aimerais créer une
nouvelle twingo

Voiture twingo = new Voiture( );
Que se passe-t-il si je
démarre ma twingo?

twingo.démarrer( );

27/02/2014

Méthodologie de
Conception Orientée Objet

26
Héritage
 Un objet spécialisé bénéficie ou hérite des
caractéristiques de l’objet le plus général, auquel il
rajoute ses éléments propres
 Création de nouvelles classes basées sur des classes
existantes
 Transmission des propriétés (attributs et méthodes) de la
classe mère vers la classe fille

 Traduit la relation « est un … »
 Deux orientations possibles
 Spécialisation : Ajout / adaptation des caractéristiques
 Généralisation : Regroupement des caractéristiques
communes

 Possibilité d’héritage multiple
 Avantages
27/02/2014

 Éviter la duplication du code
Méthodologie de
 Encourager la réutilisation du code
Conception Orientée Objet

27
Héritage : Exemple
Oeuvre

généralisation

titre
auteur

Livre

Opéra

ISBN
couverture

Roman
nb_chapitres

genre_musical
compositeur

Film
réalisateur
bande_originale

BD
dessinateur
spécialisation

27/02/2014

Méthodologie de
Conception Orientée Objet

28
Polymorphisme
 Définition :
 Poly : plusieurs
 Morphisme : Forme

 Faculté d’une méthode à pouvoir s’appliquer à
des objets de classes différentes
 Capacité d’une classe à redéfinir une méthode
héritée à partir d’une classe mère
 Surcharge

 Avantages
 Lisibilité du code
 Généricité du code
27/02/2014

Méthodologie de
Conception Orientée Objet

29
Polymorphisme : Exemple
Véhicule
seDéplacer( )

Train
seDéplacer( )

seDéplacer(){
Print (« Sur des rails »);
}

27/02/2014

Voiture

Bateau

seDéplacer( )

seDéplacer( )

seDéplacer(){
Print (« Sur la route »);
}

Méthodologie de
Conception Orientée Objet

seDéplacer(){
Print (« Sur l’eau»);
}

30
Agrégation
 Relation entre deux classes, de sorte que
les objets de l’une soient des composants
de l’autre
 Traduit la relation « est composé de… » ou
«a…»
 Toute agrégation est caractérisée par une
cardinalité
 Combien définit la classe contenante d’instances
de la classe contenue?
 À combien de classes peut appartenir un objet?
27/02/2014

 Avantage

Méthodologie de
Conception Orientée Objet

31
Agrégation : Exemple
Relation d’agrégation

4

Roue

1

Voiture
roues[ ]
moteur
châssis

1

Moteur

1

1

Châssis
1

Cardinalité

27/02/2014

Méthodologie de
Conception Orientée Objet

32

Contenu connexe

Tendances

Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
Fabrice HAUHOUOT
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
Addi Ait-Mlouk
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
Heithem Abbes
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
MOHAMMED MOURADI
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
Amal Abid
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Mohamed Amine Mahmoudi
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Symphorien Niyonzima
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
Lilia Sfaxi
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSiwar GUEMRI
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
rimeh moussi
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Hajer Dahech
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Ayed CHOKRI
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
Donia Hammami
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
Ghizlane ALOZADE
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 

Tendances (20)

Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Soutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logicielSoutenance PFE ingénieur génie logiciel
Soutenance PFE ingénieur génie logiciel
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 

En vedette

Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
Lilia Sfaxi
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Lilia Sfaxi
 
Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
Lilia Sfaxi
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
Lilia Sfaxi
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
Lilia Sfaxi
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
Lilia Sfaxi
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
Lilia Sfaxi
 
Chp3 - IHM
Chp3 - IHMChp3 - IHM
Chp3 - IHM
Lilia Sfaxi
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
Lilia Sfaxi
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
Lilia Sfaxi
 
Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveur
Lilia Sfaxi
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
Lilia Sfaxi
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOS
Lilia Sfaxi
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
Lilia Sfaxi
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERP
Lilia Sfaxi
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
Lilia Sfaxi
 
Chp2 - Solutions ERP
Chp2 - Solutions ERPChp2 - Solutions ERP
Chp2 - Solutions ERP
Lilia Sfaxi
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Mohammed Amine Mostefai
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
Lilia Sfaxi
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
Lilia Sfaxi
 

En vedette (20)

Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Software Engineering - chp8- deployment
Software Engineering - chp8- deploymentSoftware Engineering - chp8- deployment
Software Engineering - chp8- deployment
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
 
Chp3 - IHM
Chp3 - IHMChp3 - IHM
Chp3 - IHM
 
eServices-Chp1: Introduction
eServices-Chp1: IntroductioneServices-Chp1: Introduction
eServices-Chp1: Introduction
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Mobile-Chp4 côté serveur
Mobile-Chp4 côté serveurMobile-Chp4 côté serveur
Mobile-Chp4 côté serveur
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOS
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERP
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Chp2 - Solutions ERP
Chp2 - Solutions ERPChp2 - Solutions ERP
Chp2 - Solutions ERP
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 

Similaire à Chp1 - Introduction aux méthodologies de Conception

Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalAhmed Mekkaoui
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
Joubi Aaziz
 
COURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdfCOURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdf
ssuserbd075f
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik
 
0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf
BerrySeven
 
presentationcoursbd.pdf
presentationcoursbd.pdfpresentationcoursbd.pdf
presentationcoursbd.pdf
AabidiHafid
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
kdekde1
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
Mohamed Awadhi
 
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
Lilia Sfaxi
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Gautier Poupeau
 
01-introduction.ppt
01-introduction.ppt01-introduction.ppt
01-introduction.ppt
informatiquehageryah
 
01-introduction (2).ppt
01-introduction (2).ppt01-introduction (2).ppt
01-introduction (2).ppt
Souha Bennani
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 
Objets métier
Objets métierObjets métier
Objets métier
Jean-Paul CARMONA
 

Similaire à Chp1 - Introduction aux méthodologies de Conception (20)

Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
CM uml-intro
CM uml-introCM uml-intro
CM uml-intro
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
COURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdfCOURS UML INFORMATQIUE TELECOM2 2007.pdf
COURS UML INFORMATQIUE TELECOM2 2007.pdf
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf0306-formation-mise-a-niveau-uml.pdf
0306-formation-mise-a-niveau-uml.pdf
 
presentationcoursbd.pdf
presentationcoursbd.pdfpresentationcoursbd.pdf
presentationcoursbd.pdf
 
UML-jamil.pptx
UML-jamil.pptxUML-jamil.pptx
UML-jamil.pptx
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
 
Chp1 intro conception
Chp1 intro conceptionChp1 intro conception
Chp1 intro conception
 
Tp3 - UML
Tp3 - UMLTp3 - UML
Tp3 - UML
 
Uml 2
Uml 2Uml 2
Uml 2
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
01-introduction.ppt
01-introduction.ppt01-introduction.ppt
01-introduction.ppt
 
01-introduction (2).ppt
01-introduction (2).ppt01-introduction (2).ppt
01-introduction (2).ppt
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
Objets métier
Objets métierObjets métier
Objets métier
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
Lilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
Lilia Sfaxi
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
Lilia Sfaxi
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
Lilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
Lilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
Lilia Sfaxi
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
Lilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
Lilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
Lilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
Lilia Sfaxi
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
Lilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
Lilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
Lilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
Lilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
Lilia Sfaxi
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
Lilia Sfaxi
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
Lilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
 

Chp1 - Introduction aux méthodologies de Conception

  • 1. INTRODUCTION AUX MÉTHODOLOGIES DE CONCEPTION MCOO–Chapitre Mme Sfaxi Lilia Mme Zoubeir Najet L2ARS/SIL – 2011/2012 1
  • 2. Introduction aux SI  Un système d’information représente l’ensemble des éléments participant à la gestion, stockage, traitement, transport et diffusion de l’information au sein d’une organisation  Rôle:  Collecte d’informations  Stockage de l’information  Traitement de l’information  Diffusion de l’information 27/02/2014 Méthodologie de Conception Orientée Objet 4
  • 3. Etapes de Réalisation d’un SI (1/3) Expression des besoins Spécification Analyse Conception Implémentation Tests et vérification Validation Maintenance et Evolution 27/02/2014 Méthodologie de Conception Orientée Objet 5
  • 4. Etapes de Réalisation d’un SI (2/3)  Expression des besoins  Définition d’un cahier des charges  Spécification  Ce que le système doit être et comment il peut être utilisé  Analyse  Éléments intervenant dans le SI, leurs structures et relations  A définir sur 3 axes • Savoir-faire de l’objet • Structure de l’objet • Cycle de vie de l’objet  axe fonctionnel  axe statique  axe dynamique  Conception  Apport de solutions techniques: architecture, performance et optimisation  Définition des structures et des algorithmes 27/02/2014 Méthodologie de Conception Orientée Objet 6
  • 5. Etapes de Réalisation d’un SI (3/3)  Implémentation  Réalisation et programmation  Tests et vérification  Contrôles de qualité  Instaurés tout au long du cycle de développement  Validation  Vérification de la correspondance avec le cahier des charges + discussion avec l’utilisateur  Maintenance et Evolution  Maintenance corrective: traiter les erreurs (bugs)  Maintenance évolutive: intégration de nouveaux changements 27/02/2014 Méthodologie de Conception Orientée Objet 7
  • 6. Conception  Processus créatif pour la mise au point d’un logiciel  Permet de donner une architecture au logiciel en le découpant en briques, chacune en charge de fonctionnalités différentes  2 types de conception  Conception architecturale • Définition de la structure interne du logiciel • Décomposition en composants de taille maîtrisable • Définition des interfaces et interactions entre composants  Conception détaillée • Définition du rôle de chacun des composants • Définition des sous-composants 27/02/2014 Méthodologie de Conception Orientée Objet 9
  • 7. Modélisation  Support de la conception  Formalisation de la solution, en utilisant des notations ou des règles connues  Permet de réduire la complexité d’un phénomène  Éliminer les détails non significatifs  Refléter ce qui est important pour la compréhension et prédiction du phénomène modélisé  Création d’un Modèle  Représentation abstraite et simplifiée d’une entité du monde réel en vue de le décrire, de l’expliquer ou de le prévoir  Exemple : Plan 27/02/2014 Méthodologie de Conception Orientée Objet 10
  • 8. Méthode et Langage  Méthode de conception  Description normative des étapes de la modélisation  Exemple: Merise  Problème: • Existence de plusieurs cas particuliers  difficulté de représenter une méthode exhaustive  Langage de modélisation 27/02/2014  Langage graphique pour représenter, communiquer les divers aspects d’un système d’information  Possède un vocabulaire et des règles qui permettent de combiner les mots afin de Méthodologie de Conception Orientée Objet communiquer 11
  • 9. Historique  Années 80:  Méthodes pour organiser la programmation fonctionnelle (Merise)  Séparation des données et des traitements  Début des années 90:  Apparition de la programmation objet: nécessite d’une méthodologie adaptée  Apparition de plus de 50 méthodes entre 1990 et 1995  1994  Consensus sur 3 méthodes 27/02/2014 • OMT de James Rumbaugh : représentation graphique des aspects statiques, dynamiques et fonctionnels d’un système • OOD de Grady Booch: concept de package Méthodologie description des besoins de • OOSE de Ivar Jacobson:de 13 Conception Orientée Objet l’utilisateur
  • 10. UML  Consensus entre les « 3 Amigos » pour créer une méthode commune:  UML : Unified Modeling Language (Langage de Modélisation Unifié)  1997: Définition de la norme UML comme standard de modélisation des systèmes d’information objet par l’OMG (Object Management Group)  UML est employé dans l’ensemble des secteurs du développement informatique     Systèmes d’information Télécommunication, défense Transport, aéronautique, aérospatial Domaines scientifiques  Mais pas seulement : on peut modéliser des comportement mécaniques, humain, etc. 27/02/2014 Méthodologie de Conception Orientée Objet 14
  • 11. Briques de base d’UML  Les éléments  Ce sont les abstractions essentielles au modèle.  Les relations  Les relations expriment les liens existants entre les différents éléments.  Les diagrammes  Un diagramme est une représentation visuelle de l’ensemble des éléments qui constituent le système  Ils servent à visualiser un système sous différents angles (utilisateur, administrateur par ex.)  Dans les systèmes complexes, un diagramme ne fournit qu’une vue partielle du système • L’ensemble des diagrammes réunis permet d’obtenir une vue globale du système à concevoir • Chaque diagramme va permettre de modéliser ou spécifier une vue (spécificité) du système à concevoir 27/02/2014 Méthodologie de Conception Orientée Objet 15
  • 12. Les 4+1 Vues  Vue des cas d’utilisation  Description du modèle vu par les acteurs du système  Besoins attendus pour chaque acteur  Le QUOI et le QUI  Vue logique  Définition du système vu de l’intérieur  COMMENT satisfaire les besoins des acteurs  Vue d’implémentation  Dépendances entre les modules  Vue des processus  Vue temporelle et technique  Mise en œuvre des notions de tâches concurrentes, synchronisation…  Vue de déploiement  Position géographique et architecture physique de chaque élément  Le OÙ 27/02/2014 Méthodologie de Conception Orientée Objet 16
  • 13. Les 4+1 Vues Vue Logique - Classes - Interfaces - Collaboration Vue d’implémentation - Fichiers - Ressources externes Vue des cas d’utilisation - Cas d’utilisation - Acteurs Vue de déploiement - Nœuds 27/02/2014 Vue des processus - Processus - Threads Méthodologie de Conception Orientée Objet 17
  • 14. Diagrammes d’UML 2  Diagrammes structurels / statiques (UML Structure)       diagramme de classes (Class diagram) diagramme d’objets (Object diagram) diagramme de composants (Component diagram) diagramme de déploiement (Deployment diagram) diagramme de paquetages (Package diagram) diagramme de structures composites (Composite structure diagram)  Diagrammes comportementaux / dynamiques (UML Behavior)     diagramme de cas d’utilisation (Use case diagram) diagramme d’activités (Activity diagram) diagramme d’états-transitions (State machine diagram) diagrammes d’interaction (Interaction diagram) • • • • 27/02/2014 diagramme de séquence (Sequence diagram) diagramme de communication (Communication diagram) diagramme global d’interaction (Interaction overview diagram) diagramme de temps (Timing diagram) Méthodologie de Conception Orientée Objet 18
  • 15. Introduction à l’approche Orientée Objet  Evolution foudroyante du matériel  Premier ordinateur : • 50 tonnes, 25 Kwatts, quelques milliers de positions de mémoire • Quelques composants par circuit  Actuellement : Processeurs avec 2, 4 et jusqu’à 6 cœurs • Quelques grammes, 17 watts, jusqu’à 16 Go de RAM, environs 20 000 MIPS (millions d’instructions par seconde) • 400 millions de transistors Concept clef : la Réutilisation  Evolution lente du logiciel  Les projets informatiques repartent de zéro! 27/02/2014 Méthodologie de Conception Orientée Objet  Solution : Exploiter le concept de réutilisation pour 20
  • 16. Objet…?  Définitions :  Entité cohérente rassemblant des données et du code travaillant sur ces données  Structure de données valuées qui répond à un ensemble de messages  Caractérisé par :  son comportement : que peut-on faire avec cet objet? • Méthodes  son état : comment réagit l’objet quand on applique ces méthodes? • Attributs (Champs)  son identité : comment distinguer les objets qui ont le même état et le même comportement? • Identifiant 27/02/2014  A les mêmes réactions et la même modularité que le monde réel Méthodologie de  L’objet Conception est une Objet informatique Orientée projection 21 de l’objet du monde
  • 17. Classe  Composant de base  Contient la description d’un objet  Modèle de l’objet effectif  Correspond à l’ « idée » qu’on se fait d’un objet  Analogie avec la philosophie platonnienne idéaliste : • « Vous vous promenez dans la campagne, vous croyez avoir rencontré des troupeaux de chevaux. Quelle erreur! (…) Car le Cheval-Modèle, le Cheval-Idée, n’est ni noir ni blanc, il n’est d’aucune race chevaline. Il est cheval pur et vos sens ne vous le montreront jamais… » [Civilisation Grecque – A.Bonnard ] 27/02/2014  Voilà, la classe, c’est l’ « idée » du cheval  Un pur sang arabe de couleur noire, dont le nom est ASWAD et qui boîte légèrement, est un objet instancié à partir de cettede Méthodologie classe! Conception Orientée Objet 22
  • 18. Exemples  Classe  Objet Voiture twingo : Voiture marque couleur immatriculation marque : Renaut couleur : grise immatriculation : 102 démarrer conduire arrêter class Voiture { // attributs String marque; String couleur; String immatriculation; //méthodes void démarrer( ){ } void conduire( ){ } void arrêter( ){ } } 27/02/2014 102 Voiture twingo = new Voiture( ); Méthodologie de Conception Orientée Objet 23
  • 19. Concepts fondamentaux de l’approche OO  Caractéristiques de l’approche objet :  Encapsulation  Héritage  Polymorphisme  Agrégation 27/02/2014 Méthodologie de Conception Orientée Objet 24
  • 20. Encapsulation  Mécanisme consistant à rassembler, au sein d’une même structure, les données et les traitements  Définition des attributs et méthodes au niveau de la classe  L’implémentation de la classe est cachée pour l’utilisateur  Définition d’une interface : vue externe de l’objet  Possibilité de modifier l’implémentation sans modifier l’interface  Facilité de l’évolution de l’objet  Préservation de l’intégrité des données 27/02/2014  L’accès direct aux attributs est interdit  L’interaction entre les objets se fait uniquement grâce Méthodologie de aux méthodes 25 Conception Orientée Objet
  • 21. Encapsulation : Exemple Concepteur Voiture marque couleur immatriculation démarrer conduire arrêter Affiche : La voiture est démarrée Utilisateur J’aimerais créer une nouvelle twingo Voiture twingo = new Voiture( ); Que se passe-t-il si je démarre ma twingo? twingo.démarrer( ); 27/02/2014 Méthodologie de Conception Orientée Objet 26
  • 22. Héritage  Un objet spécialisé bénéficie ou hérite des caractéristiques de l’objet le plus général, auquel il rajoute ses éléments propres  Création de nouvelles classes basées sur des classes existantes  Transmission des propriétés (attributs et méthodes) de la classe mère vers la classe fille  Traduit la relation « est un … »  Deux orientations possibles  Spécialisation : Ajout / adaptation des caractéristiques  Généralisation : Regroupement des caractéristiques communes  Possibilité d’héritage multiple  Avantages 27/02/2014  Éviter la duplication du code Méthodologie de  Encourager la réutilisation du code Conception Orientée Objet 27
  • 24. Polymorphisme  Définition :  Poly : plusieurs  Morphisme : Forme  Faculté d’une méthode à pouvoir s’appliquer à des objets de classes différentes  Capacité d’une classe à redéfinir une méthode héritée à partir d’une classe mère  Surcharge  Avantages  Lisibilité du code  Généricité du code 27/02/2014 Méthodologie de Conception Orientée Objet 29
  • 25. Polymorphisme : Exemple Véhicule seDéplacer( ) Train seDéplacer( ) seDéplacer(){ Print (« Sur des rails »); } 27/02/2014 Voiture Bateau seDéplacer( ) seDéplacer( ) seDéplacer(){ Print (« Sur la route »); } Méthodologie de Conception Orientée Objet seDéplacer(){ Print (« Sur l’eau»); } 30
  • 26. Agrégation  Relation entre deux classes, de sorte que les objets de l’une soient des composants de l’autre  Traduit la relation « est composé de… » ou «a…»  Toute agrégation est caractérisée par une cardinalité  Combien définit la classe contenante d’instances de la classe contenue?  À combien de classes peut appartenir un objet? 27/02/2014  Avantage Méthodologie de Conception Orientée Objet 31
  • 27. Agrégation : Exemple Relation d’agrégation 4 Roue 1 Voiture roues[ ] moteur châssis 1 Moteur 1 1 Châssis 1 Cardinalité 27/02/2014 Méthodologie de Conception Orientée Objet 32