La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Conception Objet Chapitre 3 Les diagrammes de classes.

Présentations similaires


Présentation au sujet: "Conception Objet Chapitre 3 Les diagrammes de classes."— Transcription de la présentation:

1 Conception Objet Chapitre 3 Les diagrammes de classes

2 Présentation générale Point central du développement objet D é crit la structure d un syst è me Lors de l analyse et conception Comprendre les objets manipul é s Exprimer la mani è re de satisfaire leur rôle Commence quand les exigences sont arriv é es à maturit é On continue en // la mod é lisation des interactions

3 Définitions Classe Description abstraite dun ensemble dobjets aux mêmes caractéristiques (Voiture, Personne) Rectangle compartimenté Objet Entité possédant une identité et encapsulant un état et un comportement (MaTwingo, Dupont) Un objet est une instance dune classe

4 Définitions Attribut Type dinformation contenue dans une classe (couleur, cylindrée, etc) Opération Ce quune classe peut faire Spécification dun service offert par la classe Association Relation sémantique durable entre 2 classes (Personne possède Voiture)

5 Modèle graphique Graphisme général PersonneVoiture 10..* Possède PersonneVoiture 10..* Possède IdPersonne Nom Prénom Date de Naissance Immatriculation Marque Modèle Date dimmatriculation

6 Modèle graphique Graphisme classe

7 Modèle graphique

8 Attribut et opération attribut Syntaxe : Visi nom [mult ordre] : type = valinit opération Syntaxe : Visi nom (listePar) : typeRetour Constructeur : opération qui crée un objet Destructeur : opération qui détruit un objet

9 Visibilité + Attribut public # Attribut protégé - Attribut privé + Opération publique() # Opération protégée - Opération privée

10 Relations Relations entre classes Relation de dépendance Bidirectionnelle ou Unidirectionnelle Relation dutilisation Correspond à lenvoi dun message paramétré dun objet à un autre

11 Relations Une relation porte un nom Peut être accompagnée dun sens de lecture Peut être amenée à spécifier le rôle que joue chaque classe (à côté de la classe qui joue le rôle) Peut porter des cardinalités (1, 1..*, 2..5); Lecture inverse des MCD Peut être n-aire (relier plus de 2 classes)

12 Exemples de relations

13 Multiplicité dassociations Multiplicité des associations (cardinalités) 1Un et un seul 0..1Zéro ou un M..NDe M à N (entiers) *De zéro à plusieurs 0..*De zéro à plusieurs 1..*De un à plusieurs

14 Classes associatives Pour associer des attributs et/ou des méthodes aux associations => classes associatives Les classes associatives sont des associations mais aussi des classes. Elles ont donc les mêmes propriétés et peuvent par exemple être liées par des associations.

15 Exemple de classe associative

16 Personne Société employé employeur Emploi salaire augmenter ()

17 Exemple de classe associative Personne Société employé employeur Emploi salaire augmenter () Fichedepaie 11..*

18 Agrégation Cas dassociation particulière non symétrique. Exprime une relation de contenance (contient). Pas de concensus sur la signification exacte de l'aggrégation Utiliser avec précautions (ou ne pas utiliser...) AgrégatElément 1..*0..*

19

20 Composition Agrégation plus forte. Composition tout ou partie Contraintes liées à la composition : 1. Un objet composant ne peut être que dans 1 seul objet composite 2. Un objet composant nexiste pas sans son objet composite 3. Si un objet composite est détruit, ses composants aussi On peut emboîter les classes pour une composition (classes et associations incluses dans la classe) CompositeElément 0..*1

21 Exemple de composition

22 Plusieurs modélisation de la composition

23 Exemple de composition

24 Qualifieur Un qualifieur est un attribut ou un ensemble d'attributs dont la valeur sert à déterminer l'ensemble des instances associées à une instance via une association. Les attributs du qualifieur sont des attributs de l'association.

25 Exemple de qualifieur

26 Exemples de qualifieur

27 Exemple

28 Résumé du diagramme de classes

29 Premiers exercices Photocopie TD1

30 Interfaces Peut contenir des opérations, pas dattributs, pas dassociations ni de méthodes Définit un service ou un contrat Collection dopérations publiques Lors analyse et conception : identifier les services quoffrent les classes et leurs objets IGestionnaireProjet

31 Généralisation et spécialisation Classe plus générale reliée à 1 ou plusieurs autres classes spécialisées (sous-classes) par généralisation. Les sous-classes héritent des propriétés des super-classes et peuvent comporter des propriétés spécifiques. Exemples : Voiture, Bateau, Avions sont des Moyens de transport (Marque, Modèle, Vitesse) Bateau est le seul à avoir un tirant deau

32 Exemple de généralisation

33

34 Classe abstraite Classe qui ne sinstancie pas directement Représente une pure abstraction afin de factoriser des propriétés communes Exemple : Moyen de transport (noté en italique)

35 Réalisation La source prend en charge les opérations de lélément cible

36 Exemple de réalisation

37 Dépendance La source utilise la cible Si la cible change, la source risque dêtre affectée

38 Exemple de dépendance

39 Exercices Photocopie TD2

40 Réaliser un diagramme de classes Comment identifier les classes ? Entités autonomes reliées entre elles par des relations Autonomie essentielle pour réutilisabilité Technique ascendante permet dutiliser les composants existants

41 Réaliser un diagramme de classes Les principes de la conception reposent sur quatre principes essentiels : réification ou comment faire un objet de quelque chose. L'autonomie et la localité, ou comment penser dans les propres termes de l'objet. La composition et l'affinage, ou comment structurer les objets. La généricité, ou comment développer des applications de manière abstraites.

42 Réaliser un diagramme de classes Un cycle de conception s'effectue en cinq étapes : 1. Identifier les entités du domaine. 2. Structurer le domaine en analysant les propriétés des entités et des relations 3. Identifier les opérations que savent effectuer ces entités. 4. Décrire précisément ces opérations en les reliant à des messages. 5. Décrire le lancement du programme.

43 Réaliser un diagramme de classes A partir dun cahier des charges (ou document de spécification) Mot clé Ne pas choisir comme nom le rôle Les classes peuvent évoluer (incrémental) Attention à la surabondance de classes Classes dobjets du monde modélisé Plus difficile pour une appli abstraite (SE) quune appli qui gère des objets physiques (livres, CD, etc).

44 Réaliser un diagramme de classes Comment identifier les attributs ? A partir dun cahier des charges Propriétés des objets Pour lanalyse ne retenir que les importants

45 Réaliser un diagramme de classes Comment identifier les relations ? A partir dun cahier des charges Verbes Dépendances entre classes modélisées par des relations et non des attributs

46 Réaliser un diagramme de classes Identifier les entités Classes principales (principaux concept du domaine) Difficulté : les bonnes classes Noyau minimal quon enrichira Liste exhaustive sur la fin de la conception

47 Réaliser un diagramme de classes Structurer le domaine Organiser et relier les classes Relations taxonomiques Relation méronomiques (même hiérarchie ou hiérarchie différente)

48 Réaliser un diagramme de classes identifier les opérations Aspects dynamiques Identifier ce quon peut effectuer avec les objets Sintéresser aux messages

49 Exercice de conception Selon le modèle que lon vient de voir Gestion des examens à lIUT : réservation des salles, établissement du planning, mise en place de la surveillance, saisie et diffusion des notes

50 Paquetage et sous-système Organisation du système qui possède beaucoup dobjets Prendre en compte Les compromis techniques Les éléments à développer en // Les éléments à acheter Les éléments à réutiliser

51 Package Élément de groupement et dorganisation dans lequel se trouvent des éléments qui doivent être nommés de façon unique Représenté par un dossier (proche répertoire SE) Un paquetage peut en inclure dautres

52 Package Viser la cohérence et lindépendance Sefforcer de minimiser les relations entre packages Principalement utilisé lors des phases danalyse et conception

53 Package

54 Une modification du package Interface entraîne des modifications du package Utilitaire

55 Package Relation de dépendance entre paquetages Au moins 1 classe du paquetage client utilise les services offert par une classe du paquetage fournisseur Toutes les classe ne sont pas forcément visibles

56 Exemple

57 Sous-système Collection organisée déléments que lon peut composer en systèmes plus petits et finalement en éléments primitifs non décomposables : classes Éléments qui ensemble offrent des services Le package nest quun groupement logique Le système offre des services Les dépendances entre systèmes se basent sur ces services


Télécharger ppt "Conception Objet Chapitre 3 Les diagrammes de classes."

Présentations similaires


Annonces Google