conception orientÉeobjet présentation amosse edouard...
TRANSCRIPT
![Page 1: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/1.jpg)
CONCEPTION ORIENTÉE OBJETPrésentationAmosse EdouardInspiré du cours de F. Mallet
![Page 2: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/2.jpg)
ORGANISATION DU COURS
1. Volume Horaire et EDT http://unice.fr/faculte-des-sciences/departements/informatique/contenus-riches/documents-telechargeables/documentsl3i/calendrier-des-cours-tp-et-td-de-projet-informatique-et-de-coo
2. Evaluation 1. Examen théorique : 1h30 : 50%
2. Travaux Pratiques (en TD) : 50%
![Page 3: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/3.jpg)
PLAN DU COURSvIntroduction aux méthodologies de conception
vIntroduction à UML
vObjets et Classes
vLes diagrammes§ Les cas d’utilisation§ Les classes et leurs instances§ Les machines à états (et transitions)§ Les activités§ Les interactions§ Le mécanisme de profilage
![Page 4: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/4.jpg)
OBJECTIFSvMontrer les forces de la COO
vDécrire l’histoire de la POO
vCommenter l’utilisation actuelle de la POO
![Page 5: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/5.jpg)
CYCLE DE VIE D’UN LOGICIEL
Maintenance et Evolution
Validation
Tests et vérification
Implémentation
Conception
Analyse des besoins
Spécification
Expression des besoins
![Page 6: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/6.jpg)
CYCLE DE VIE D’UN LOGICIELvExpression des besoinsØDéfinition d’un cahier des charges
vSpécificationØCe que le système doit être et comment il peut être utilisé
vAnalyseØÉléments intervenant dans le SI, leurs structures et relationsØA définir sur 3 axes
ØSavoir-faire de l’objet è axe fonctionnelØStructure de l’objet è axe statiqueØCycle de vie de l’objet è axe dynamique
vConceptionØApport de solutions techniques: architecture, performance et optimisationØDéfinition des structures et des algorithmes
![Page 7: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/7.jpg)
CYCLE DE VIE D’UN LOGICIELvImplémentation vRéalisation et programmation
vTests et VérificationvContrôles de qualité
vVérification de la correspondance avec le cahier des charges
vMaintenance et Evolution vMaintenance corrective : traiter les erreurs (bugs)vMaintenance évolutive : intégration de nouveaux changements
![Page 8: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/8.jpg)
CONCEPTIONvProcessus créatif qui consiste à représenter les diverses fonctions du systèmepermettant d’obtenir rapidement un ou plusieurs programmes réalisant ses fonctions.
vUne « bonne » conception se définit en termes de la satisfaction des besoins et des spécifications.
vUne bonne Conception participe largement à la production d'un logiciel qui répondaux facteurs de qualité.
vElle se base sur la Modularité.
![Page 9: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/9.jpg)
CONCEPTION – CRITÈRES DE QUALITÉvCohésion : Se définit comme étant le caractère de ce qui forme un tout, dont les parties sont difficilement séparables.
vCouplage : Relatif à la cohésion. Il exprime le degré d’interconnexion des differents composants d’un système.
vCompréhensibilité : La compréhensibilité d’un module dépend de : - Sa cohésion- L’appelation : Utilisation de noms significatifs- La documentation : Lien entre le monde réel et le composant- La complexité
vAdaptabilité : Dépend du couplage et de la documentation. Un logiciel adaptable doit avoir un haut degré de lisibilité.
![Page 10: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/10.jpg)
MÉTHODES DE CONCEPTIONOn distingue principalement de trois de méthodes de conception:
vMéthodes fonctionnelles
vMéthodes systémiques
vMéthodes orientées objets
![Page 11: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/11.jpg)
MÉTHODES FONCTIONNELLESLes méthodes finctionnelles ou cartésiennes consistent à décomposer hiérarchiquementune application en un ensemble de sous applications.
Ces méthodes utilisent les raffinements successifs pour produire des spécificationsdon’t l’essentiel est sous forme de notation graphique en diagramme de flots de données.
![Page 12: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/12.jpg)
MÉTHODES FONCTIONNELLESPoints forts
vSimplicité du processus de conception
vCapacité à répondre rapidement aux besoins ponctuels des utilisateurs
Points faibles:
vFixer les limites pour les décompositions hiérarchiques
vRédondance (éventuelle) des données
![Page 13: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/13.jpg)
MÉTHODES SYSTÉMIQUESLes méthodes systéliques sont influencés par les systèmes de Gestion de bases de données en proposant une double démarche de modélisation:
vLa modélisation des données
vLa modélisation des traitements
vPoints forts : ØApproche globale prenant en compte la modélisation des données et des traitementsØNiveaux d’abstraction dans le processus de conception ØBonne adaptation à la modélisation des données et à la conceptiond es BDs
vPoints faiblesØDouble démarche de conception : données et traitementsØPas de fusion possible des deux aspects (données et traitements)
![Page 14: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/14.jpg)
MÉTHODES FONCTIONNELLES ET SYSTÉMIQUESLes méthodes foncionnelles et systémiques sont de type descendant (approache Top-Down).
Inconvénients
Réutilisabilité : Modules non généraux mais adaptés aux sous problèmes pour lesquels ils ont été concus
Extensibilité: L’architecture du logiciel est fondée sur les traitements qui sont moinsstables que les données; par conséquent cette approche est inadaptée à la conception de gros logiciel.
![Page 15: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/15.jpg)
MÉTHODES ORIENTÉES OBJETSvDans une approche Orientée Objet (OO), le logiciel est considéré comme unecollection d’objets dissociés définis par des propriétés.
vUne propriété est soit un attribut de l’objet ou une opération sur l’objet.
vUn objet comprend donc à la fois une structure de données et une collection d’opérations (son comportement).
vContrairement aux méthodes fonctionnelles et systémiques, les méthodes orientées objets sont ascendantes.
![Page 16: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/16.jpg)
MÉTHODES ORIENTÉES OBJETSLa technologie Orientée Objet
vGuide la conception par vUn ensemble de concepts
vAbstraction, modularité, Encapsulation, Polymorphisme
vDes langages et outils qui supportent ces concepts vClassification vs. prototype vHéritage (Simple, Multiple)vTypage (Fort, Faible)
vAvantagesvReflète plus finement les objets du monde réel
vDu code : facile à maintenirvPlus stable: Isolation des changementsvRéutilisation des composantesvFaciliter le prototypage
![Page 17: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/17.jpg)
MÉTHODES ORIENTÉES OBJETS – EXEMPLES
ObjetsQ Personnes
§ Etudiant, enseignant,principal, secrétaire
Q Diplôme§ Année,matière, parcours
Q Notes§ Coefficients
FonctionsQ CalculerlamoyenneQ Calculerles taux
d’encadrementQ Calculerlenombrede
redoublantsQ Calculerletauxde réussiteau
baccalauréat
Système de gestion d’un lycée
![Page 18: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/18.jpg)
OBJECTIFS DES TECHNOLOGIES À OBJETSQUtiliser lelangagedu domaine
§ Modèleetvocabulairemétier
QConstruiredesmodèlesfaciles à:§ Etendre,modifier,valider,vérifier
QFaciliter l’implantation§ Générationfacilitéeversleslangagesà objets
QNécessiteuneméthodeetdes outils§ RationalUnifiedProcess,Agile,…(cf.semestre 2)§ UMLestseulementun langage
![Page 19: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/19.jpg)
LES OBJETS…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
A les mêmes réactions et la même modularité que le monde réel L’objet informatique est une projection de l’objet du monde réel
![Page 20: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/20.jpg)
UN MODÈLEQUne simplification de la réalité
![Page 21: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/21.jpg)
POURQUOI UN MODÈLE?QQuatreobjectifsàla modélisation
§ Aideràvisualiserle système§ Spécifierlastructureetle comportement§ Servirdeplanpourlaconstructioneffective§ Permettrededocumenterles choix
QQuatre avantages§ Abstraction:diviserpour régner§ Compréhension:misesaupointavecle client§ L’énergiedéployéepourmodéliserrévèleles difficultés§ Leserreurssurlesmodèlescoûtentbienmoins cher
![Page 22: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/22.jpg)
IMPORTANCE DES MODÈLES
Avion papier Avionmilitaire
moins important Plus important
Ledéveloppement logicielAUSSInécessitedesmodèlesbienpensés !
![Page 23: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/23.jpg)
OBJETS – CLASSESS (EXEMPLES)Classe
Figure
longueurlargeurorigine
périmètresurfacetransposer
Objet
rectangle: Figure
longueur: 24largeur: 20Origine : (12, 20)
Figure rectangle= new Figure( );rectangle.surface();
![Page 24: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/24.jpg)
MODEL DRIVEN ARCHITECTURE (MDA)
v Développementorientémodèles§ Spécifierunmodèleindépendantdelaplateformesurlaquelleilsera déployé
§ Spécifierlaoules plateformes§ Choisiruneplateformeadaptée§ Transformerlemodèledespécificationenunmodèlespécifiquepourla plateforme
![Page 25: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/25.jpg)
LES 4 PRINCIPES POUR CRÉER UN MODÈLEQUnmodèleinfluenceénormémentlafaçond’aborderleproblèmeetla solution§ VueduconcepteurBD#vueduprogrammeurOO
QChaquemodèlepeutêtreexprimeràdifférentsniveauxdeprécision§ Lesmeilleursmodèlespermettentdechoisirleniveaudedétailenfonctiondequiregardeetpourquoiille regarde
QLesmeilleursmodèlessontliésàla réalitéQUnseulmodèlen’estjamais suffisant
§ Tous les systèmes gagnent à être décrits avec plusieurs petits modèlesrelativement indépendant => comment assurer la cohérence entre lesmodèles
![Page 26: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/26.jpg)
UN SEUL MODÈLE NE SUFFIT PAS!QCréerunouplusieursmodèlesdifférentsmaisavecunpointcommun
Vueprocédé VueDéploiement
Vue logique Vued’implantation
Use-CaseViewUtilisateurfinalFonctionalité
ProgrammeursSoftware management
IntégrateursystèmePerformance,scalabilité, débit
IngénieursystèmeTopologie dusystème,livraison,
installation, communication
Analystes/ConcepteursStructure
![Page 27: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/27.jpg)
UNIFIED MODELING LANGUAGE (UML)QLangagevisuel unifié
§ Toutlemondedoitparlerlemême langage
QLangagepour spécifier§ Executable-UML§ Supposéprécisetnonambigu
QDes liensvers+slangagesde prog.§ Java,C++, VB§ RDMSou OODMS§ Générationdecodeetreverse engineering.
![Page 28: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/28.jpg)
UML - HISTORIQUEAnné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
OMT de James Rumbaugh : représentation graphique des aspects statiques, dynamiques et fonctionnels d’un système
OOD de Grady Booch: concept de package
OOSE de Ivar Jacobson: description des besoins de l’utilisateur
![Page 29: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/29.jpg)
UMLConsensus entre OMT, OOD, OOSE 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.
![Page 30: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/30.jpg)
UML ET RUPQUnlangagen’estpassuffisant,ilfautaussiuneméthodeQLesméthodes(process)quifonctionnentlemieuxavecUMLsont :
§ OrientéparlesUse-case ;§ Centrésurl’architecture ;§ Itératifet incrémental.
• Lesutilisateursréagissentaufuretà mesure.
QRational Unified Process
![Page 31: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/31.jpg)
MODELE ORIENTÉ “USE CASE”QLesuse-casesontla base
§ Ilsdoiventêtrepréciset concis§ Ilssontcompréhensiblesparlamajorité§ Ilspermettentdesynchroniserlesdifférentsmodèles§ Ilsdécriventl’ensembledesfonctionsdusystèmeetlesacteurs concernés
Retirer de l’argent
Client
Vérifierle solde
![Page 32: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/32.jpg)
LES BASES D’UMLLes é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
![Page 33: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/33.jpg)
UML - LES VUESVue 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Ù
![Page 34: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/34.jpg)
UML – LES DIAGRAMMES
![Page 35: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/35.jpg)
LES DIAGRAMMESvLes diagrammes sont représentés dans des cadres(frames)
• kind∈ {activity,class,component,deployment,interaction,package,statemachine,usecase }
• Forme simplifiée {act,class,cmp,dep,sd,pkg,stm,uc }
![Page 36: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/36.jpg)
UML - OBJETS
QObjectifs§ Encapsulation,abstraction,modularité,hiérarchie§ Structured’uneclasse§ Relationsentreuneclasseetun objet§ Polymorphismeet généralisation§ Les interfaces
![Page 37: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/37.jpg)
RETOUR SUR LES OBJETS ET LES MODELESQQu’est-ce qu’un objet ?
QQuatre concepts au centre de la COO
QQu’est-ce qu’une classe ?
QGénéralisation et polymorphisme
QOrganisation des éléments modèles
![Page 38: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/38.jpg)
QU’EST-CE QU’UN OBJET ?QUnobjetreprésenteuneentitéphysique,conceptuelleoulogicielledumonde réel.
§ Entitéphysique
§ Entité conceptuelle
§ Entité logicielle
Camion
Procédéchimique
Listechainée
![Page 39: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/39.jpg)
QU’EST-CE QU’UN OBJET ?QUn objet a une frontière biendéfinie, une identité : état etcomportement.§ L’étatestreprésentépardesslotsetdes références
§ Lecomportementestreprésentéparlesopérationsetlesmachinesà états
![Page 40: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/40.jpg)
ETAT D’UN OBJETQL’état est une condition ou situation pendant la vied’un objet qui satisfait une condition, effectue uneactivité ou attend pour un événement.
QL’étatd’unobjetpeutchangerdansle temps.
Nom:CMartinID: 567138Embauche:25/07/91Grade:MCFDiscipline:Biologie Service: 192hNom:C Martin
ID: 567138Embauche:25/07/1991Grade:MaitredeconférenceDiscipline:BiologieServicedû: 192h Professeur Martin
![Page 41: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/41.jpg)
COMPORTEMENT D’UN OBJETQLe comportement détermine comment l’objet agit ou réagit
QLe comportement visible d’un objet est son interface (ensembled’opérations).
Chercher()
ComportementduprofesseurMartinCorrigerles examensPréparerunnouveaucoursChercherFairel’emploidu temps
Nom:CMartinID: 567138Embauche:25/07/91Grade:MCFDiscipline:Biologie Service: 192h
![Page 42: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/42.jpg)
IDENTITÉ DES OBJETS
QL’identitéd’unobjetest uniquemême si l’état est lemême que celui d’unautre objet
Professeur“CMartin”enseignela biologie Professeur“CMartin”
enseignela biologie
![Page 43: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/43.jpg)
CONCEPTS FONDAMENTAUX DE LA COO
Abstraction
Encapsulation
Modularité
Hiérarchie (Héritage)
Polymorphisme
![Page 44: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/44.jpg)
ABSTRACTION
vCaractéristiques qui differencie une entité (objet) des autres
vDépend de la perspective et di contexte
vN’est pas une manifestation concrète, dénote l’essentiel
![Page 45: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/45.jpg)
ENCAPSULATIONMé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 L’accès direct aux attributs est interdit L’interaction entre les objets se fait uniquement grâce aux méthodes
![Page 46: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/46.jpg)
ENCAPSULATIONVoiture
marquecouleurimmatriculation
démarrerconduirearrêter
Affiche : La voiture est
démarrée
Voiture twingo = new Voiture( );
twingo.démarrer( );
J’aimerais créer une nouvelle twingo
Que se passe-t-il si je démarre ma twingo?
Concepteur
Utilisateur
![Page 47: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/47.jpg)
MODULARITÉ
QCasser unsystèmeensousmodulesInscriptionadministrative
Systèmedegestiondel’université
Inscriptionpédagogique
Gestion desparcours
![Page 48: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/48.jpg)
HIÉRARCHIE (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 Éviter la duplication du code Encourager la réutilisation du code
![Page 49: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/49.jpg)
HÉRITAGE SIMPLE
Moinsabstrait
Plusabstrait
Valeurmonétaire
BienImmobilierCompteBancaire Portefeuille
Epargne Courant Action Obligation
Lesélémentsaumêmeniveauhiérarchiquedevraientêtreaumêmeniveaud’abstraction
![Page 50: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/50.jpg)
HÉRITAGE SIMPLE
CourantEpargne
Superclasse (mère)
Sous-classes(filles)
Relationgénéralisation
Compte- solde- nom- nombre
+ retirer()+créer Relevé()
QUnCompteEpargneest-unCompteAncêtre
![Page 51: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/51.jpg)
HERITAGE MULTIPLEQUneclassepeuthériterde plusieurs
Utiliserl’héritagemultipleavecprudenceetseulementsiindispensable!NonsupportéparlaplupartdeslangagesdePOO(ex:Java,C#)
MachineVolante Animal
ChevalLoupOiseauHélicoptèreAvion
Héritagemultiple
![Page 52: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/52.jpg)
PROBLÈME AVEC L’HÉRITAGE MULTIPLEQCombiendemoteursàl’hydravion ?
![Page 53: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/53.jpg)
DE QUOI HÉRITE-T-ON?
QUnesous-classehéritelesattributs,lesopérationsetlesréférencesdeses parents.QUnesous-classe peut:§ Ajouterdesattributs,desopérations,des références.§ Redéfinirdesopérationshéritées.
QLescatégoriescommunessontmontréesdanslaclassemèrelaplushaute possible
![Page 54: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/54.jpg)
POLYMORPHISMEDé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
![Page 55: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/55.jpg)
POLYMORPHISMEVéhicule
seDéplacer()
Train
seDéplacer()
Voiture
seDéplacer()
Bateau
seDéplacer()
seDéplacer(){Print(«Surdesrails»);
}
seDéplacer(){Print(«Surlaroute»);
}
seDéplacer(){Print(«Surl’eau»);
}
![Page 56: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/56.jpg)
REPRESENTATION DES OBJETS EN UMLQUnobjet(InstanceSpecification)estreprésentéparun rectangle.
QLenomest souligné CMartin:Professeur
: Professeur
Objet nommé
Objet anonymeProfesseurCMartin
![Page 57: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/57.jpg)
MODÈLES OU CLASSESContient la description d’un objet Modèle de l’objet effectif
Correspond à l’«idée» du monde réel de l’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 ]
La classe è 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 cette classe! è ça c’est un cheval
![Page 58: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/58.jpg)
C’EST QUOI UNE CLASSE?QUneclassedécritunensembled’objetsquipartagentlesmêmesattributs,opérations,références, etsémantique.§ Unobjetestl’instanced’uneclasse.
QUneclasseestuneabstractioncar elle§ Metenévidencecertaines caractéristiques§ Supprimed’autrescaractéristiques
![Page 59: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/59.jpg)
LA CLASSE COURSClasseCours
AttributsNomSalleDuréeCréditsSemestre
ComportementAjouterun étudiantEnleverun étudiant
![Page 60: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/60.jpg)
CLASSES VS. OBJETS
QLaclasseestunedéfinition abstraite§ Elledéfinitlastructureetlecomportementdechaqueobjetissuedecetteclasse
§ Sertdemodèlepourlacréationd’instances
Professeur
Professeur M
Professeur T
Professeur A
![Page 61: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/61.jpg)
LES CLASSES EN UML
QUneclasseestreprésentéeparunrectangleavec3compartiments
§ Lenomdela classe
§ Lastructure(les attributs)
§ Lecomportement (opérations)
Professeur- nom- ID:UniqueId- embauche- grade- discipline- service
+ preparerCours()+ corrigerExamen()+ faireEDT()+ chercher()
![Page 62: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/62.jpg)
ATTRIBUTS DES CLASSES
QUnattributestunepropriétéstructurellenomméedontletypedécritledomainedesvaleursquel’instancepeutprendre.§ Uneclassepeutavoirunnombrequelconqued’attributsycompris0.
Attributs
- nom- adresse- ID- âge
![Page 63: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/63.jpg)
ATTRIBUTS ET VALEURS
Objets(InstanceSpecification)
Etudiant- nom- adresse- ID- âge
:Etudiant- nom=“B. Simpson”- adresse=“123rue Gde”- ID= 9- âge= 23
:Etudiant- nom=“R. Bidochon”- adresse=“456av Chêne”- ID= 2- âge= 43slots ValueSpecification
attributs
![Page 64: CONCEPTION ORIENTÉEOBJET Présentation Amosse Edouard …miageprojet2.unice.fr/@api/deki/files/2677/Cours... · 2016-10-13 · PLAN DU COURS vIntroduction aux méthodologies de conception](https://reader031.vdocuments.mx/reader031/viewer/2022040818/5e632fbef559921e642bc29c/html5/thumbnails/64.jpg)
CLASSES ET OPÉRATIONS
QUnservicequipeutêtreinvoquéparunobjetpoureffectueruncomportement.Uneopérationaunesignature,quidéfinitlesparamètresformelspossiblesQUneclassepeutavoirunnombrequelconqued’opérations
Opérations
Etudiant
+ getParcours()+ ajouteUE()+ getEDT()+ enleveUE()+ getCredit()