UML Approche objet - introduction page 1/51 - Bertrand LIAUDET
UML
4 - Approche et modélisation objet
Objets et Classes
Diagramme de structure
Analyse organique
Bertrand LIAUDET
Le cours contient 2 parties : une partie théorique (l’approche objet) et une partie pratique (la
modélisation objet). La partie pratique peut être abordée indépendamment de la partie
théorique.
SOMMAIRE
L’APPROCHE OBJET 4!
Les 5 paradigmes de programmation de Stroustrup (C++) : vers la P.O.O ! 4!
1 : PROCEDURE : pdg. de base, celui de la programmation procédurale 4!
2 : MODULE (Package) : pdg. de la programmation modulaire : masquer
l’information 4!
CLASSE : pdg. de l’abstraction des données : définir des types 4!
4 : HERITAGE : pdg. de la programmation objet, celui de l’héritage 5!
5 : GENERICITE : pdg. de la prog. générique (type variable, pattern, framework) 5!
Programmation objet vs. programmation procédurale 6!
Principe de la distinction 6!
Avantages de l’approche objet 6!
L’Objet 8!
Présentation 8!
Etat 8!
Comportement 8!
Identité 8!
Syntaxe UML 9!
Encapsulation 9!
Persistance des objets 9!
Transmission des objets 9!
UML Approche objet - introduction page 2/51 - Bertrand LIAUDET
Scénario de communication 9!
Communication entre objets 10!
Collaboration et communication 10!
3 catégories d’objet en fonction de leur mode communication 10!
Le Message 12!
Principes 12!
Synchronisation des messages 12!
Message synchrone 12!
Message asynchrone 14!
Message dérobant 14!
Message minuté 14!
La Classe 16!
Classe, objet, instance 16!
Les attributs d’une classe 16!
Les principales catégories de méthodes 16!
L’Héritage 18!
Héritage et représentation ensembliste 18!
Vocabulaire ensembliste 18!
Abstrait / Concret – Abstraction - Abstraire 19!
L’héritage en programmation objet 19!
Principe de substitution 20!
Attention à l’héritage des associations ! 20!
L’abstraction dans la programmation objet : un nouveau paradigme de
programmation 20!
Le Polymorphisme 21!
Principes 21!
Remarques méthodologiques 21!
MODELISATION OBJET PREMIERE APPROCHE 22!
1.!L’objet et sa classe 22!
Exemple du téléviseur 22!
Idée de la programmation objet 23!
Petite méthode de conception objet 23!
2.!Définition d’une classe 24!
Les attributs 24!
Les opérations 24!
Formalisme UML 25!
4.!La classe comme interface 27!
2 types d’interface : proposée et utilisée 27!
Formalisme UML 27!
UML Approche objet - introduction page 3/51 - Bertrand LIAUDET
Conception par les interfaces 29!
5.!Composant logiciel 31!
Présentation 31!
Deux types de modularité 31!
Abstraction 31!
Encapsulation 31!
Exemple 32!
6.!L’objet 34!
Définition 34!
Principes techniques 34!
Lieux de déclaration – construction des objets 34!
Provenance des objets d’une méthode 34!
Syntaxe UML 35!
7.!La communication entre les objets : envoi de message 35!
Principe général de l’envoi de message 35!
Envoi de message et héritage 35!
Syntaxe UML du diagramme de séquence 35!
8.!Exemple complet : la bibliothèque 37!
Cahier des charges 37!
Analyse des interfaces 37!
Analyse des écrans 39!
Analyse des scénarios 40!
Diagramme des classes 42!
9.!Diagramme de classes et base de données : les classes « métier ». 43!
Classes-métier et classes organiques 43!
Classes-métier et base de données 43!
Relations entre le modèle BD et le modèle objet 43!
10.!L’affichage et les écrans 46!
11.!La gestion des collections 47!
12.!Les 3 relations fondamentales entre les objets (et les classes) : composition,
utilisation, héritage 49!
La composition 49!
L’utilisation (ou dépenndance) 49!
L’héritage 50!
Première édition : automne 2007. Deuxième édition : novembre 2008. Troisième édition : octobre 2009 (chapitre
première approche) Mise à jour octobre 2010
Edition juillet 2015
UML Approche objet - introduction page 4/51 - Bertrand LIAUDET
L’APPROCHE OBJET
Le cours contient 2 parties : une partie théorique (l’approche objet) et une partie pratique (la
modélisation objet). La partie pratique peut être abordée indépendamment de la partie
théorique.
Les 5 paradigmes de programmation de Stroustrup (C++) : vers la P.O.O !
Pour le compilateur, la différence entre le C et le C++ se limite à quelques mots clés
supplémentaires et quelques types de données supplémentaires.
Pour le programmeur, le passage d’une approche procédurale (on dit aussi fonctionnelle) à une
approche « objet », c’est une nouvelle façon de programmer, un nouveau paradigme.
Stroustrup, créateur du C++, distingue 5 paradigmes de programmation :
PROCEDURE
MODULE
CLASSE
HERITAGE
GENERICITE
1 : PROCEDURE : pdg. de base, celui de la programmation procédurale
Choisissez les procédures.
Utiliser les meilleurs algorithmes que vous pourrez trouver.
Utilisation de fonctions : définissez les entrées et les sorties.
2 : MODULE (Package) : pdg. de la programmation modulaire : masquer l’information
Choisissez vos modules (fichiers avec des fonctions).
Découpez le programme de telle sorte
que les données soient masquées par les modules
Le paradigme de la programmation modulaire est en partie rendue obsolète par l’usage de la
programmation objet.
Utilisation de static, extern, espace des noms : outils.c, outils.h (interface), utilisation.c.
CLASSE : pdg. de l’abstraction des données : définir des types
UML Approche objet - introduction page 5/51 - Bertrand LIAUDET
Choisissez les types dont vous avez besoin.
Fournissez un ensemble complet d’opérations pour chaque type.
Il y a 3 sortes de types :
Les types définis par module (utilisation de référence, autre nom pour un objet)
Les types concrets définis par l’utilisateur : les classes (niveau interne, « organique ») « ces
types ne sont pas « abstraits » : ils sont aussi réels que int et float.
Les types abstraits définis par l’utilisateur : les interfaces (niveau externe, « fonctionnel »)
Fabriquer un type structuré consiste à regrouper des types (simples ou déjà structurés) dans un
même type structuré : c’est déjà un mécanisme d’abstraction.
La définition des types structurés et des opérations qui leurs sont associées correspond à la
notion de TAD (type abstrait de donnée) et conduit directement à la notion de classe (rappelons
qu’une classe c’est un type, en général structuré, auquel on ajoute des procédures).
4 : HERITAGE : pdg. de la programmation objet, celui de l’héritage
Choisissez vos classes.
Fournissez un ensemble complet d’opérations pour chaque classe.
Rendez toute similitude explicite à l’aide de l’héritage.
5 : GENERICITE : pdg. de la prog. générique (type variable, pattern, framework)
Choisissez vos algorithmes.
Paramétrez-les de façon qu’ils soient en mesure de fonctionner
avec une variétés de types et de structures de données appropriées.
1 / 51 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !