[PDF] [PDF] CONCEPTION ORIENTÉE OBJET - miageprojet2

❖Une bonne Conception participe largement à la production d'un logiciel qui Apparition de la programmation objet: nécessite d'une méthodologie adaptée



Previous PDF Next PDF





[PDF] Concepts de la Programmation Orientée Objets (POO) - COURSES

Concepts de la POO ▫ Analyse et conception orientée objet avec UML programmation orientée objet : P O O (C++, Java, python, etc) 3 Pr Imane DAOUDI 



[PDF] CONCEPTION ORIENTÉE OBJET - miageprojet2

❖Une bonne Conception participe largement à la production d'un logiciel qui Apparition de la programmation objet: nécessite d'une méthodologie adaptée



[PDF] Conception des Programmes et Orienté-Objet - Samia CHEHBI

Avenir : OO, c'est quoi dans l'avenir ? Page 11 2 Orienté objet : c'est quoi ? Programmation orientée- 



[PDF] Langage et Concepts de Programmation Orientée-Objet

20 mar 2014 · Langage et Concepts de Programmation Orientée-Objet 1 / 40 conception construite par l'Object conception (comme en CSI) Le trône de 



[PDF] La programmation orientée objet - maurise-softaware (informatique)

La P O O Les objets IRIS La Programmation orientée objet Les classes Exemple de conception Constructeurs ▫ Devant la complexité des applications, cette 



[PDF] Initiation à la programmation orientée objet

Traduction de la conception dans un langage de programmation, en une base de données, etc 6 Les tests (expert en informatique) Vérifier que l'implémentation 



[PDF] Programmation Orientée Objet - Manuel Munier

soit au travers de nouveaux systèmes généralement construits à partir de langages à objets (O2, ObjectStore) 2De nouvelles méthodes de conception basées sur 



[PDF] Les étapes du processus de la conception orientée objet sont :

orientée objet, a pour objectif de maîtriser la conception et le développement Une solution serait d'introduire, après la programmation numérique et après la

[PDF] Conception et réalisation d 'un guide pédagogique - Organisation

[PDF] Memoire Online - Conception et réalisation d 'une application d 'une

[PDF] realisation d 'un site web dynamique - UVT e-doc - Université

[PDF] Conception et réalisation d 'une application de gestion des comptes

[PDF] Conception et réalisation d 'une application de gestion des comptes

[PDF] Travail d 'étude et de Recherche Conception et réalisation d 'une

[PDF] Travail d 'étude et de Recherche Conception et réalisation d 'une

[PDF] Réalisation d 'une application permettant la gestion des ressources

[PDF] Conception des laboratoires d 'analyses biologiques - INRS

[PDF] cours de mecanique - modelisation - Lyon

[PDF] Partie construction mécanique - Eduscol

[PDF] Contexte général Conception pédagogique - Pôle Numérique pour

[PDF] ARCHITECTURE SCOLAIRE

[PDF] Conception et développement d 'un site web de e-commerce pour le

[PDF] II LA FOTOGRAFÍA

CONCEPTION ORIENTÉEOBJETPrésentationAmosseEdouardInspirédu coursde F. Mallet

ORGANISATIONDU COURS1.Volume HoraireetEDThttp://unice.fr/faculte-des-sciences/departements/informatique/contenus-riches/documents-telechargeables/documentsl3i/calendrier-des-cours-tp-et-td-de-projet-informatique-et-de-coo2.Evaluation 1.Examenthéorique: 1h30 : 50% 2.TravauxPratiques(en TD) : 50%

PLAN DU COURSvIntroduction aux méthodologiesde conception vIntroduction àUML vObjetset ClassesvLes diagrammes§Les casd'utilisation§Les classes et leursinstances§Les machines àétats(ettransitions)§Lesactivités§Lesinteractions§Le mécanismedeprofilage

OBJECTIFSvMontrerles forces de la COO vDécrirel'histoirede la POO vCommenter l'utilisationactuellede la POO

CYCLE DE VIE D'UN LOGICIELMaintenance et EvolutionValidationTests et vérificationImplémentationConceptionAnalyse des besoinsSpécificationExpression des besoins

CYCLE DE VIE D'UN LOGICIELvExpression des besoinsØDéfinition d'un cahier des chargesvSpé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 dynamiquevConceptionØApport de solutions techniques: architecture, performance et optimisationØDéfinition des structures et des algorithmes

CYCLE DE VIE D'UN LOGICIELvImplémentation vRéalisation et programmation vTests et VérificationvContrôles de qualité vVérificationde la correspondanceavec le cahier des charges vMaintenance et Evolution vMaintenance corrective : traiterles erreurs(bugs)vMaintenance évolutive: intégrationde nouveaux changements

CONCEPTIONvProcessuscréatifqui consisteàreprésenterles diversesfonctionsdu systèmepermettantd'obtenirrapidementun ouplusieursprogrammesréalisantsesfonctions. vUne"bonne» conception se définiten termesde la satisfaction des besoinset des spécifications.vUnebonne Conceptionparticipelargementàla production d'un logicielqui répondauxfacteursde qualité. vElle se base surlaModularité.

CONCEPTION -CRITÈRESDE QUALITÉvCohésion: Se définitcommeétantle caractèrede cequi formeun tout, dontles parties sont difficilement séparables. vCouplage: Relatifàla cohésion. Il exprimele degréd'interconnexiondes differentscomposantsd'un système. vCompréhensibilité: La compréhensibilitéd'un module dépendde : -Sa cohésion-L'appelation: Utilisationde nomssignificatifs-La documentation : Lien entre le monde réelet le composant-La complexitévAdaptabilité: Dépenddu couplageet de la documentation. Un logicieladaptable doitavoirun haut degréde lisibilité.

MÉTHODESDE CONCEPTIONOn distingue principalementde troisde méthodesde conception: vMéthodesfonctionnellesvMéthodessystémiquesvMéthodesorientéesobjets

MÉTHODESFONCTIONNELLESLes méthodesfinctionnellesoucartésiennesconsistent àdécomposerhiérarchiquementuneapplication en un ensemble de sous applications. Cesméthodesutilisentles raffinementssuccessifspour produiredes spécificationsdon't l'essentielestsous formede notation graphiqueen diagrammede flotsde données.

MÉTHODESFONCTIONNELLESPoints forts vSimplicitédu processusde conception vCapacitéàrépondrerapidementaux besoinsponctuelsdes utilisateursPoints faibles: vFixer les limitespour les décompositionshiérarchiquesvRédondance(éventuelle) des données

MÉTHODESSYSTÉMIQUESLes méthodessystéliquessontinfluencéspar les systèmesde Gestionde bases de donnéesen proposantunedouble démarchede modélisation: vLa modélisationdes donnéesvLa modélisationdes traitementsvPoints forts : ØApprocheglobaleprenanten comptela modélisationdes donnéeset des traitementsØNiveauxd'abstractiondansle processusde conception ØBonne adaptation àla modélisationdes donnéeset àla conceptiondesBDs vPoints faiblesØDouble démarchede conception : donnéeset traitementsØPas de fusion possible des deuxaspects (donnéeset traitements)

MÉTHODESFONCTIONNELLESET SYSTÉMIQUESLes méthodesfoncionnelleset systémiquessontde type descendant (approacheTop-Down). InconvénientsRéutilisabilité: Modules non générauxmaisadaptésaux sous problèmespour lesquelsilsontétéconcusExtensibilité: L'architecturedu logicielestfondéesurles traitementsqui sontmoinsstables queles données; par conséquentcetteapprocheestinadaptéeàla conception de groslogiciel.

MÉTHODESORIENTÉESOBJETSvDansuneapprocheOrientéeObjet (OO), le logicielestconsidérécommeunecollection d'objetsdissociésdéfinispar des propriétés. vUnepropriétéestsoitun attributde l'objetouuneopérationsurl'objet. vUn objet comprenddonc à 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.

MÉTHODESORIENTÉESOBJETSLa technologieOrientéeObjet vGuide la conception par vUn ensemble de concepts vAbstraction, modularité, Encapsulation, PolymorphismevDes langageset outilsqui supportentcesconcepts vClassification vs. prototype vHéritage(Simple, Multiple)vTypage(Fort, Faible) vAvantagesvReflèteplus finementles objetsdu monde réelvDu code : facile àmaintenirvPlus stable: Isolation des changementsvRéutilisationdes composantesvFaciliterle prototypage

MÉTHODESORIENTÉESOBJETS-EXEMPLESObjetsQPersonnes§Etudiant,enseignant,principal,secrétaireQDiplôme§Année,matière,parcoursQNotes§CoefficientsFonctionsQCalculerlamoyenneQCalculerlestauxd'encadrementQCalculerlenombrederedoublantsQCalculerletauxderéussiteaubaccalauréatSystèmede gestiond'unlycée

OBJECTIFSDES TECHNOLOGIES ÀOBJETSQUtiliserlelangagedudomaine§ModèleetvocabulairemétierQConstruiredesmodèlesfacilesà:§Etendre,modifier,valider,vérifierQFaciliterl'implantation§GénérationfacilitéeversleslangagesàobjetsQNécessiteuneméthodeetdesoutils§RationalUnifiedProcess,Agile,...(cf.semestre2)§UMLestseulementunlangage

LES OBJETS...Définitions : Entité cohérente rassemblant des données et du code travaillant sur ces donnéesStructure de données valuées qui répond à un ensemble de messagesCaractérisé par : son comportement : que peut-on faire avec cet objet?Méthodesson é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?IdentifiantA les mêmes réactions et la même modularité que le monde réelL'objet informatique est une projection de l'objet du monde réel

UN MODÈLEQUnesimplification de laréalité

POURQUOIUN MODÈLE?QQuatreobjectifsàlamodélisation§Aideràvisualiserlesystème§Spécifierlastructureetlecomportement§Servirdeplanpourlaconstructioneffective§PermettrededocumenterleschoixQQuatreavantages§Abstraction:diviserpourrégner§Compréhension:misesaupointavecleclient§L'énergiedéployéepourmodéliserrévèlelesdifficultés§Leserreurssurlesmodèlescoûtentbienmoinscher

IMPORTANCE DES MODÈLESAvionpapierAvionmilitairemoinsimportantPlusimportantLedéveloppementlogicielAUSSInécessitedesmodèlesbienpensés!

OBJETS-CLASSESS(EXEMPLES)ClasseFigurelongueurlargeuroriginepérimètresurfacetransposerObjetrectangle: Figurelongueur: 24largeur: 20Origine : (12, 20)Figure rectangle= newFigure( );rectangle.surface();

MODEL DRIVEN ARCHITECTURE (MDA)vDéveloppementorientémodèles§Spécifierunmodèleindépendantdelaplateformesurlaquelleilseradéployé§Spécifierlaoulesplateformes§Choisiruneplateformeadaptée§Transformerlemodèledespécificationenunmodèlespécifiquepourlaplateforme

LES 4 PRINCIPESPOUR CRÉERUN MODÈLEQUnmodèleinfluenceénormémentlafaçond'aborderleproblèmeetlasolution§VueduconcepteurBD#vueduprogrammeurOOQChaquemodèlepeutêtreexprimeràdifférentsniveauxdeprécision§LesmeilleursmodèlespermettentdechoisirleniveaudedétailenfonctiondequiregardeetpourquoiilleregardeQLesmeilleursmodèlessontliésàlaréalitéQUnseulmodèlen'estjamaissuffisant§Touslessystèmesgagnentàêtredécritsavecplusieurspetitsmodèlesrelativementindépendant=>commentassurerlacohérenceentrelesmodèles

UN SEULMODÈLENE SUFFITPAS!QCréerunouplusieursmodèlesdifférentsmaisavecunpointcommunVueprocédéVueDéploiementVuelogiqueVued'implantationUse-CaseViewUtilisateurfinalFonctionalitéProgrammeursSoftwaremanagementIntégrateursystèmePerformance,scalabilité,débitIngénieursystèmeTopologiedusystème,livraison,installation,communicationAnalystes/ConcepteursStructure

UNIFIED MODELING LANGUAGE (UML)QLangagevisuelunifié§ToutlemondedoitparlerlemêmelangageQLangagepourspécifier§Executable-UML§SupposéprécisetnonambiguQDesliensvers+slangagesdeprog.§Java,C++,VB§RDMSouOODMS§Générationdecodeetreverseengineering.

UML -HISTORIQUEAnnées 80:Méthodes pour organiser la programmation fonctionnelle (Merise)Séparation des données et des traitementsDébut des années 90:Apparition de la programmation objet: nécessite d'une méthodologie adaptéeApparition de plus de 50 méthodes entre 1990 et 19951994Consensus sur 3 méthodesOMTde James Rumbaugh: représentation graphique des aspects statiques, dynamiques et fonctionnels d'un systèmeOODde GradyBooch: concept de packageOOSE de IvarJacobson: description des besoins de l'utilisateur

UMLConsensus entre OMT, OOD, OOSE pour créer une méthode commune:UML: UnifiedModelingLanguage(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 informatiqueSystèmes d'informationTélécommunication, défenseTransport, aéronautique, aérospatialDomaines scientifiquesMais pas seulement : on peut modéliser des comportement mécaniques, humain, etc.

UML ET RUPQUnlangagen'estpassuffisant,ilfautaussiuneméthodeQLesméthodes(process)quifonctionnentlemieuxavecUMLsont:§OrientéparlesUse-case;§Centrésurl'architecture;§Itératifetincrémental.•Lesutilisateursréagissentaufuretàmesure.QRationalUnifiedProcess

MODELEORIENTÉ"USE CASE"QLesuse-casesontlabase§Ilsdoiventêtreprécisetconcis§Ilssontcompréhensiblesparlamajorité§Ilspermettentdesynchroniserlesdifférentsmodèles§Ilsdécriventl'ensembledesfonctionsdusystèmeetlesacteursconcernésRetirerdel'argentClientVérifierlesolde

LES BASES D'UMLLes élémentsCe sont les abstractions essentielles au modèle.Les relationsLes relations expriment les liens existants entre les différents éléments.Les diagrammesUn diagramme est une représentation visuelle de l'ensemble des éléments qui constituent le systèmeIls 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èmeL'ensemble des diagrammes réunis permet d'obtenir une vue globale du système à concevoirChaque diagramme va permettre de modéliser ou spécifier une vue (spécificité) du système à concevoir

UML -LES VUESVue des cas d'utilisationDescription du modèle vu par les acteurs du systèmeBesoins attendus pour chaque acteurLe QUOIet le QUIVue logiqueDéfinition du système vu de l'intérieurCOMMENTsatisfaire les besoins des acteursVue d'implémentationDépendances entre les modulesVue des processusVue temporelle et techniqueMise en oeuvre des notions de tâches concurrentes, synchronisation...Vue de déploiementPosition géographique et architecture physique de chaque élémentLe OÙ

UML -LES DIAGRAMMES

LES DIAGRAMMESvLes diagrammessontreprésentésdansdes cadres(frames)•kind∈{activity,class,component,deployment,interaction,package,statemachine,usecase}•Formesimplifiée{act,class,cmp,dep,sd,pkg,stm,uc}

UML -OBJETSQObjectifs§Encapsulation,abstraction,modularité,hiérarchie§Structured'uneclasse§Relationsentreuneclasseetunobjet§Polymorphismeetgénéralisation§Lesinterfaces

RETOUR SURLES OBJETSET LES MODELESQQu'est-cequ'unobjet?QQuatreconcepts au centrede laCOOQQu'est-cequ'uneclasse?QGénéralisationetpolymorphismeQOrganisationdes élémentsmodèles

ETATD'UN OBJETQL'étatestuneconditionousituationpendantlavied'unobjetquisatisfaitunecondition,effectueuneactivitéouattendpourunévénement.QL'étatd'unobjetpeutchangerdansletemps.Nom:CMartinID:567138Embauche:25/07/91Grade:MCFDiscipline:BiologieService:192hNom:CMartinID:567138Embauche:25/07/1991Grade:MaitredeconférenceDiscipline:BiologieServicedû:192hProfesseurMartin

COMPORTEMENTD'UN OBJETQLe comportement détermine comment l'objet agit ou réagitQLe comportement visible d'un objet est son interface (ensembled'opérations).Chercher()ComportementduprofesseurMartinCorrigerlesexamensPréparerunnouveaucoursChercherFairel'emploidutempsNom:CMartinID:567138Embauche:25/07/91Grade:MCFDiscipline:BiologieService:192h

IDENTITÉDES OBJETSQL'identitéd'unobjetestuniquemêmesil'étatestlemêmequeceluid'unautreobjetProfesseur"CMartin"enseignelabiologieProfesseur"CMartin"enseignelabiologie

CONCEPTS FONDAMENTAUXDE LA COOAbstractionEncapsulationModularitéHiérarchie (Héritage)Polymorphisme

ABSTRACTIONvCaractéristiquesqui differencieuneentité(objet) des autresvDépendde la perspective et di contextevN'estpas unemanifestation concrète, dénotel'essentiel

ENCAPSULATIONMécanisme consistant à rassembler, au sein d'une même structure, les données et les traitementsDéfinition des attributs et méthodes au niveau de la classeL'implémentation de la classe est cachée pour l'utilisateurDéfinition d'une interface : vue externe de l'objetPossibilité de modifier l'implémentation sans modifier l'interfaceFacilité de l'évolution de l'objetPréservation de l'intégrité des données L'accès direct aux attributs est interditL'interaction entre les objets se fait uniquement grâce aux méthodes

ENCAPSULATIONVoituremarquecouleurimmatriculationdémarrerconduirearrêterAffiche : La voiture est démarréeVoiture twingo = new Voiture( );twingo.démarrer( );J'aimerais créer une nouvelle twingoQue se passe-t-il si je démarre ma twingo?ConcepteurUtilisateur

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 propresCréation de nouvelles classes basées sur des classes existantesTransmission des propriétés (attribu ts et méthodes) de la classe mère vers la classe filleTraduit la relation " est un ... »Deux orientations possiblesSpécialisation : Ajout / adaptation des caractéristiquesGénéralisation : Regroupement des caractéristiques communesPossibilité d'héritage multipleAvantagesÉviter la duplication du codeEncourager la réutilisation du code

HERITAGE MULTIPLEQUneclassepeuthériterdeplusieursUtiliserl'héritagemultipleavecprudenceetseulementsiindispensable!NonsupportéparlaplupartdeslangagesdePOO(ex:Java,C#)MachineVolanteAnimalChevalLoupOiseauHélicoptèreAvionHéritagemultiple

PROBLÈMEAVEC L'HÉRITAGEMULTIPLEQCombiendemoteursàl'hydravion?

DE QUOI HÉRITE-T-ON?QUnesous-classehéritelesattributs,lesopérationsetlesréférencesdesesparents.QUnesous-classepeut:§Ajouterdesattributs,desopérations,desréférences.§Redéfinirdesopérationshéritées.QLescatégoriescommunessontmontréesdanslaclassemèrelaplushautepossible

POLYMORPHISMEDéfinition : Poly: plusieursMorphisme: FormeFaculté d'une méthode à pouvoir s'appliquer à des objets de classes différentesCapacité d'une classe à redéfinir une méthode héritée à partir d'une classe mèreSurcharge AvantagesLisibilité du codeGénéricité du code

REPRESENTATION DES OBJETSEN UMLQUnobjet(InstanceSpecification)estreprésentéparunrectangle.QLenomestsoulignéCMartin:Professeur:ProfesseurObjetnomméObjetanonymeProfesseurCMartin

MODÈLESOUCLASSESContient la description d'un objetModèle de l'objet effectifCorrespond à l'"idée» du monde réel de l'objetAnalogie avec la philosophie platonnienneidé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 chevalUn pur sang arabe de couleur noire, dont le nom est ASWAD et qui boîte légèrement, est un objetinstancié à partir de cette classe! èça c'est un cheval

C'ESTQUOI UNECLASSE?QUneclassedécritunensembled'objetsquipartagentlesmêmesattributs,opérations,références,etsémantique.§Unobjetestl'instanced'uneclasse.QUneclasseestuneabstractioncarelle§Metenévidencecertainescaractéristiques§Supprimed'autrescaractéristiques

LA CLASSECOURSClasseCoursAttributsNomSalleDuréeCréditsSemestreComportementAjouterunétudiantEnleverunétudiant

CLASSES VS. OBJETSQLaclasseestunedéfinitionabstraite§Elledéfinitlastructureetlecomportementdechaqueobjetissuedecetteclasse§Sertdemodèlepourlacréationd'instancesProfesseurProfesseurMProfesseurTProfesseurA

LES CLASSES ENUMLQUneclasseestreprésentéeparunrectangleavec3compartiments§Lenomdelaclasse§Lastructure(lesattributs)§Lecomportement(opérations)Professeur-nom-ID:UniqueId-embauche-grade-discipline-service+preparerCours()+corrigerExamen()+faireEDT()+chercher()

ATTRIBUTSDES CLASSESQUnattributestunepropriétéstructurellenomméedontletypedécritledomainedesvaleursquel'instancepeutprendre.§Uneclassepeutavoirunnombrequelconqued'attributsycompris0.Attributs-nom-adresse-ID-âge

ATTRIBUTSET VALEURSObjets(InstanceSpecification)Etudiant-nom-adresse-ID-âge:Etudiant-nom="B.Simpson"-adresse="123rueGde"-ID=9-âge=23:Etudiant-nom="R.Bidochon"-adresse="456avChêne"-ID=2-âge=43slotsValueSpecificationattributs

CLASSES ET OPÉRATIONSQUnservicequipeutêtreinvoquéparunobjetpoureffectueruncomportement.Uneopérationaunesignature,quidéfinitlesparamètresformelspossiblesQUneclassepeutavoirunnombrequelconqued'opérationsOpérationsEtudiant+getParcours()+ajouteUE()+getEDT()+enleveUE()+getCredit()

quotesdbs_dbs4.pdfusesText_8