Conception Orientée Objet [email protected] 10:46 S. Bennani 1 Introduction L’entreprise : s’adapter à son environnement Services informatiques : accompagner cette dynamique. revoir leurs démarches informatiques afin d’avoir une meilleure réactivité 10:46 S. Bennani 2 Expression du besoin plus exigeante par les utilisateurs temps de développements réduits, attente d’une interface graphique élaborée, Les techniques et méthodes informatiques actuelles de moins en moins bien adaptées. Une solution : la refonte totale de l’organisation informatique de l’entreprise vers un monde objet. 10:46 S. Bennani 3 technologie pas encore répandue dans l’univers des entreprise. Pourquoi? la reconversion du personnel informatique une nouvelle façon de penser pour aborder les concepts objets: révolution culturelle. investissement financier considérable, 10:46 S. Bennani 4 contre ces réticences, plusieurs arguments : La COO repose sur une assise théorique. La rapidité de développement et surtout de maintenance. La COO permet la maîtrise du processus – au niveaux modélisation et conduite de projet, – définition des activités, – règles de production, – démarche qualité, réutilisabilité des modèles. 10:46 S. Bennani 5 Introduction Modélisation Produire une représentation simplifiée du monde réel pour : • accumuler et organiser des connaissances, • décrire un problème, • trouver et exprimer une solution, • raisonner, calculer. 10:46 S. Bennani 6 Introduction En informatique, Résoudre la transition entre : le réel le monde informatique • Évolutif • Langages codifiés • Ambiguïté • Sémantique unique 10:46 S. Bennani 7 Difficultés de la modélisation Problèmes des spécifications – parfois imprécises, incomplètes, ou incohérentes Taille et complexité des systèmes importantes et croissantes – les besoins et les fonctionnalités augmentent – la technologie évolue rapidement – les architectures se diversifient – assurer l’interface avec le métier (domaine d’application) 10:46 8 S. Bennani Difficultés de la modélisation Évolution des applications – évolution des besoins des utilisateurs – réorientation de l'application – évolution de l'environnement technique (matériel et logiciel) Problèmes liés à la gestion des équipes – taille croissante des équipes – spécialisation technique – spécialisation métier 10:46 S. Bennani 9 Introduction Les méthodes = des guides structurants • Décomposition du travail • Organisation des phases • Concepts fondateurs • Représentations semi-formelles Assurent une démarche reproductible pour obtenir des résultats fiables 10:46 S. Bennani 10 Introduction** Décomposition du travail • Phases analyse, conception, codage, validation, etc. • Niveaux d’abstraction conceptuel (besoins) logique (solution informatique abstraite) physique (solution informatique concrète) 10:46 S. Bennani 11 Introduction Organisation du travail • Processus de développement Phases séquentielles Itération sur les phases Concepts fondateurs • Fondent l’approche du problème et l’expression de la solution Classe, signal, état, fonction, etc. 10:46 S. Bennani 12 Introduction Représentations semi-formelles • Représentations partiellement codifiées basées sur les concepts fondateurs diagrammes, formulaires, etc. • Support de différentes activités réflexion, spécification, communication, documentation, mémorisation (trace) 10:46 S. Bennani 13 Pour résumer … Une méthode d’analyse et de conception – propose démarche avec les étapes du développement (modularité, réduction de la complexité, réutilisabilité éventuelle, abstraction) – s’appuie sur formalisme de représentation qui facilite la communication, l’organisation et la vérification Le langage de modélisation – produit des documents (modèles) qui facilitent les retours sur conception et l’évolution des applications 10:46 S. Bennani 14 LES CONCEPTS OBJETS [email protected] **** S. Bennani 15 INTRODUCTION Historique : projet missile MINUTEMAN -1957. fonctionnement: Échange de messages d'information entre les composants. Chaque composant logiciel conçu par un spécialiste et possédait données privées. Le composant virtuellement isolé du reste du programme par ses méthodes servant d'interface. 10:46 S. Bennani 16 LES CONCEPTS DE MODELISATION L' OBJET : Entité du Monde Réel (ou virtuel) défini à la fois par – – informations : données ou attributs ou variables d’instances ; et comportements : traitements ou méthodes ou opérations donc : 1. Identité 2. États significatifs 3. Comportement 10:46 S. Bennani 17 10:46 S. Bennani 18 LES CLASSES Classe : modèle de construction d'un objet. description abstraite en terme de données et de comportements d'une famille d'objets. constituée 1 partie statique + partie dynamique Partie statique : LES ATTRIBUTS la description des données propres à chaque classe. Les attributs d'une classe : propriétés Partie dynamique : LES METHODES Actions, procédures, fonctions ou opérations associés à une classe. Les méthodes de la classe :COMPORTEMENT 10:46 S. Bennani 19 Exemples CLASSE VOITURE ATTRIBUTS METHODES Marque Modèle Immatriculation Vitesse Niveau de carburant Puissance fiscale Puissance DIN Etc ... Démarrer Accélérer Freiner Stopper Vidanger Etc .... CLASSE Etudiant nom capital UV diplôme VérifierNom MajUV 10:46 S. Bennani ChangerDiplôme 20 INSTANCES DE CLASSES un élément construit selon le modèle de sa classe : "OBJET". Une classe produit plusieurs instances : l'instanciation CLASSE VOITURE ATTRIBUTS Marque Modèle Immatriculation Vitesse Niveau de carburant Puissance fiscale Puissance DIN Etc ... 10:46 EXEMPLES D'INSTANCES DE LA CLASSE VOITURE METHODES Démarrer Accélérer Freiner Stopper Vidanger Etc .... FORD 54S 3412 SM 59 130 Km /h 54 l 15 CV 120 DIN, ... SEAT TOLEDO V6 4954 VD 59 190 Km /h 62 l 23 CV 160 DIN, ... S. Bennani 21 Exemple Etudiant Nom : Hamid • Nom : Aabir Capital UV : capital1 • Capital UV : • • • 10:46 Diplôme : maîtise capital2 • Informatique Diplôme : Ingénieur Mcanique. VérifierNom VérifierNom MajUV MajUV ChangerDiplôme ChangerDiplôme S. Bennani 22 CONCEPTS D'ACTIVATION Seul mode de communication entre objets: envoi de messages messages : requêtes. – Son arrivée provoque l'exécution d'une méthode d'un objet. – Chaque message précise la méthode à appliquer (paramètres). – Destinataire : spécifié ou implicite si (appelle une de ses méthodes) 10:46 S. Bennani 23 Exemple Message AFFICHE(vide) OBJET CERCLE Ou Message AFFICHE(plein) OBJET CERCLE Continuation : un objet réémet un message qui ne lui est pas destiné Message pour B OBJET A OBJET B 10:46 S. Bennani 24 Multi-receveurs : même message - plusieurs objets OBJET BULLETIN DE PAIE Yassine Message PRIME(1000,00) OBJET BULLETIN DE PAIE Aabir 10:46 S. Bennani 25 L'encapsulation ** ".. processus qui consiste à empêcher d'accéder aux détails d'un objet qui ne contribuent pas à ses caractéristiques essentielles" (BOOCH 1991-). Intégrer le code et les données d'une entité au sein d'un objet. Empêcher les clients de connaître les détails de son implémentation Seule l'interface d'un objet doit être visible aux yeux d'un client. 10:46 S. Bennani 26 Premier Cas : Encapsulation de données Exemple : Méthode : Calcul de la clé d'un numéro de CNSS Objet : Individu (Assuré Social par exemple) Donnée protégée : Valeur du modulo pour le calcul de clé 10:46 S. Bennani 27 Deuxième Cas : Encapsulation de méthodes Message = Débiter(somme, compte, code_confident). Objet = compte bancaire. Méthode A (Visible depuis l'interface) = Débiter_carte_de_crédit. Méthode B (non visible par l'utilisateur mais appelée par la méthode A) = Algorithme de validation du code confidentiel. 10:46 S. Bennani 28 LE POLYMORPHISME Définir plusieurs formes pour une méthode commune à une hiérarchie d'objets. A l'exécution on détermine quelle forme appeler suivant la classe. Exemple : Un code sans polymorphisme va utiliser une instruction à choix multiple suivant la classe des objets rencontrés. Un tel code serait donc à modifier à chaque ajout ou suppression de classe 10:46 S. Bennani 29 Exemple Triangle Afficher (Objet) Cercle 10:46 S. Bennani 30 Les associations Des relations structurelles entre classes d’objets. La plupart des associations sont binaires. Les parités supérieures sont représentées par un losange. Il est possible de représenter une association n-aires par une classe. 10:46 S. Bennani 31 Les classes associations Une association peut être représentée par une classe pour ajouter des attributs et des opérations dans l’association existante Ex ; L’auditeur suit des cours pour une année universitaire 10:46 S. Bennani 32 Qu'est-ce que l'héritage mécanisme destiné à exprimer les similitudes entre classes. Principes de généralisation et de spécialisation en partageant explicitement les attributs et méthodes communs au moyen d'une hiérarchie de classes 10:46 S. Bennani 33 La classe fille hérite des caractéristiques de sa classe mère (attributs et méthodes) mais elle se distingue par ses caractéristiques propres *** 10:46 S. Bennani 34 DIFFERENTS TYPES D'HERITAGE héritage simple, héritage multiple et héritage à répétition. Héritage simple : une classe fille n'a qu'une seule classe mère et hérite d'une partie de ses attributs et méthodes. Héritage multiple : une classe fille hérite de plusieurs classes mères. 10:46 S. Bennani 35 AVION BATEAU HYDRAVION 10:46 S. Bennani 36 la classe Etudiant : la classe Etudiant-Elu : nom nom capital UV capital UV diplôme diplôme Mandat Syndicat VérifierNom VérifierNom MajUV MajUV ChangerDiplôme ChangerDiplôme DémissionnerMandat ChangerSyndicat 10:46 S. Bennani 37 – L’objet etudiant-elu a les propriétés de l’objet étudiant mais en plus possède d’autres propriétés. – La classe etudiant-elu est une specialisation de la classe etudiant. Sous classe – Les objets de la sous classe etudiant-elu héritent des attributs et des méthodes de la classe étudiant. La sous classe peut redéfinir une méthode héritée 10:46 S. Bennani 38 COMPOSITION OU AGREGATION Composition : réunir des objets pour en former un autre VOITURE 1 CARROSSERIE 4 1 ROUES 1 DIRECTION MOTEUR Dans le cas d'une composition (ou agrégation), on s'attachera à préciser le cardinal de cette relation. 10:46 S. Bennani 39 On peut dire qu’une agrégation est une association de type “ Composé–Composant ”. Où, l’instance composé est l’agrégat et les composants sont les instances agrégées 10:46 S. Bennani 40 Une agrégation une association. Mais association ne peut être une agrégation. Une association avec les caractéristiques : – L’association du style “ est composée de ... ” – Forte différence de granularité entre classe (l’agrégat) et d’autres classes (les agrégés). – La suppression d’un objet agrégat ferait disparaître les objets agrégés. – Modification d’un attribut d’un objet agrégat porte aussi sur attributs des objets agrégés. – La définition d’une méthode de l’objet agrégat repose sur celles des objets agrégés. 10:46 S. Bennani 41 Héritage et composition confusion fréquente entre héritage et composition. Héritage : la classe fille hérite des caractéristiques de la classe mère, en affinant ses propriétés. Composition : la classe est composée d'autres classes, pour constituer une nouvelle entité 10:46 S. Bennani 42 Exercice : Formes géométriques ** 10:46 S. Bennani 43 10:46 S. Bennani 44
© Copyright 2024 ExpyDoc