La programmation orientée Objet / UML Laurent Pérochon
Outils à utiliser Langage de modélisation Méthode d analyse et de conception Langage de programmation
Pourquoi? Système réelr Objectifs Méthode d analyse et de conception UP Langage de modélisation UML Système modélis lisé Logiciel Langage de programmation Orienté objet
L orientation Objet C est une technique de modélisation de système, associée à un langage de programmation.
Le système Un système est composé d objets en relation Exemples : Une compagnie aérienne a (avions, pilotes ) Un amphithéâtre (élèves,( professeur, tables )
Les objets Les objets du système amphithéâtre Paul Lucie Table n 1n Chaise n 2n Pascal Table 2 Chaise n 1n
Les objets Objet = attributs + Méthodes M (Opérations) Pascal Table 2 23 ans célibataire mange dors étudie Attributs Opérations Méthodes 4 pieds marron ouverture tiroir tirer rallonge
Les classes Elles regroupent les objets ayant des caractéristiques ristiques communes (informations/comportements). Même «moule»
Les classes Paul Objets Table n 1n Chaise n 1n Pascal Table 2 Chaise n 2n Lucie Personne Classes Table Chaise
Les classes et les instances Pascal Paul Lucie 23 ans célibataire mange dors étudie 25 ans marié mange dors étudie 20 ans célibataire mange dors étudie Objet Instance âge Personne statut marital Classe mange dors étudie
Les classes et les instances Chaque instance est forcément associée à une classe.
Résumé : Entités s de l approche orientée e objet Objets Valeurs particulières res Classes «Cases» vides Attributs Méthodes
Les associations (liens entre classes) Héritage Agrégation gation Association...
L héritage Généralisation/Spécialisation Lorsque des classes ont des caractéristiques ristiques communes, ont peut mettre en commun ces informations/comportements dans une classe spécifique. Les classes d origine hériteront h des caractéristiques ristiques de celle-ci. ci.
L héritage âge Personne âge statut marital mange dors étudie Personne dors Homme Bébé statut marital mange étudie mange
L héritage âge dors mange Personne âge statut marital mange dors étudie Personne Modification de Mange Homme Bébé statut marital étudie mange
L héritage âge Personne dors mange Parent Homme Bébé statut marital étudie mange Descendants
Agrégation gation Composition l objet contient, regroupe, possède Pied n 1n Plateau Pied n 3n Table 2 rallonge Pied n 2n tiroir Pied n 4n Exemple de relation «regroupe «
Association Communication entre objets. Un objet envoi un message/stimulus à un autre Professeur Martin Demande rapport Demande rapport Binôme n 1n Lucie Envoi partie n 1n Envoi partie n 2n Remise rapport Demande rapport Pascal
Résumé Un objet/instance contient les données (attributs) et les traitements (méthodes) Chacun d eux est associé à une classe (moule) Les classes sont associées entre elles par des relations
Exemple Professeur Martin Demande rapport Demande rapport Binôme n 1n Lucie Envoi partie n 1n Envoi partie n 2n Remise rapport Demande rapport Pascal Schéma logique
Les classes? Qu est ce qui agit, pense, fourni un service? Professeur Martin Lucie Pascal Personnes physiques qui ne font pas la même chose Et binôme n 1 n 1?.
Les classes? Sans objectifs plus précis, sans spécifications supplémentaires, il y a plusieurs représentations possibles simple complexe
Les classes? classe Personne Simple instance -Élève -Lucie -Statut -Nom Envoie partie() -Élève -Pascal -Professeur -Martin
Les classes? classe Personne -Statut -Nom Envoie partie() Trop Simple instance -Élève -Lucie -Élève -Pascal -Professeur -Martin L instance Lucie ne connaît t quelle même L instance de professeur ne connaît t pas de binôme ni d éd élève Et le binôme? C est C le seul qui fait une remise de rapport Seul Professeur et binôme peuvent demander un rapport Seul les élèves remettent des parties de rapport
Les classes? L instance Lucie ne connaît t quelle même L instance de professeur ne connaît t pas de binôme ni d éd élève Deux types de problèmes Et le binôme? C est C le seul qui fait une remise de rapport Seul Professeur et binôme peuvent demander un rapport Seul les élèves remettent des parties de rapport
Les classes? Et le binôme? C est C le seul qui fait une remise de rapport Seul Professeur et binôme peuvent demander un rapport Seul les élèves remettent des parties de rapport Il manque des notions/informations + Mélange de fonctions
Les classes? Personne -nom Et le binôme? C est C le seul qui fait une remise de rapport Seul Professeur et binôme peuvent demander un rapport Seul les élèves remettent des parties de rapport Correspondance Professeur Élève Envoie partie() Appartient à Binôme -numéro Remise rapport()
Les classes? L instance Lucie ne connaît t quelle même L instance de professeur ne connaît t pas de binôme ni d éd élève Personne divergence -nom Professeur Élève Binôme Envoie partie() Appartient à -numéro Remise rapport()
Les classes? Soit on fait une représentation spécifique avec un seul binôme, soit on veut représenter un système plus large Un professeur, une classe, des binômes et Des élèves. Les spécifications du système étaient insuffisantes
Les classes et les associations? Une solution possible : Classe Dirige une Personne -nom Binôme -numéro Remise rapport() Est composée e de Est composé de Professeur Élève Envoie partie()
Les classes et les associations? Classe Dirige une Personne Binôme Est composée e de -nom Professeur -numéro Remise rapport() Élève Est composé de Envoie partie() Le professeur connaît t la classe qui connaît t des binômes qui savent qui les compose. Avec cette représentation le professeur peut demander à tous les binômes, ou à un binôme particulier, via la classe, un rapport.
Les classes et les associations? Et si le professeur veut contacter un élève en Particulier? Classe Dirige une Personne Binôme Est composée e de -nom Professeur -numéro Remise rapport() Élève Est composé de Envoie partie() Avec cette représentation il devra fournir le nom recherché à la classe, qui demandera à chacun des binômes s il s le connaît avec bien sûr s r des méthodes supplémentaires dans professeur, classe, binôme.
Les classes et les associations? Une solution possible Classe Est composée e de Dirige une Personne -nom Est composée e de Binôme -numéro Remise rapport() Professeur Élève Envoie partie() Est composé de
Les classes et les associations Personne -nom? Une autre plus simple, donc MEILLEURE. Connaît Professeur Connaît Élève Envoie partie() Binôme -numéro Remise rapport() Est composé de
Les classes et les associations? Personne -nom Une classe pour juste mettre en commun un nom c estc faire compliqué pour rien. Connaît Professeur -Nom Connaît Élève -Nom Envoie partie() Binôme -numéro Remise rapport() Est composé de
Les classes et les associations? Connaît Professeur -Nom Connaît Élève -Nom Envoie partie() Binôme -numéro Remise rapport() Est composé de Difficile d arriver d à cette solution! Raisons : problèmes de spécifications et surtout de méthode m et de représentation non normée.