Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parDidier Charpentier Modifié depuis plus de 6 années
1
Méthodologies de conception des systèmes (Chapitre4: Modélisation statique)
2
Plan du chapitre Diagramme de classes Les extensions syntaxiques
Diagramme objet Diagramme de package
3
Diagrammes de classes Un diagramme de classe présente un ensemble de classes et d'interfaces avec leurs relations Il peut être utilisé en phase d’analyse et de conception Analyse: offrir une description préliminaire du structure des entités Le nom de quelques attributs et méthodes quand ceux-ci découlent naturellement du domaine modélisé Conception: offrir une description détaillée L’ensemble des classes utilitaires destinées à assurer le fonctionnement du logiciel Tous les attributs et méthodes doivent apparaître de façon détaillée, avec tous les types de paramètres et les types de retour
4
Classe Une classe est la description d'une collection d'objets qui partagent les mêmes attributs, les mêmes opérations, les mêmes relations et la même sémantique
5
Représentation graphique d'une classe
Compartiment Classe Nom Stéréotype Compartiment Attribut Compartiment Opération Compartiment extra
6
Nommer une classe Chaque classe doit avoir un nom qui la distingue des autres classes (unicité du nom complet) Nom du package englobant + le nom de la classe En pratique les noms de classes sont des noms pris dans le vocabulaire du domaine Il est d'usage de capitaliser la première lettre de chaque mot Type ClientBanque java::awt::Rectangle
7
Packages Un package (paquetage) est un regroupement d'éléments (classes) Le regroupement peut être pour des raisons sémantiques, d'usage, de lieux, etc.
8
Visibilité d'une classe
Classe publique (+) La classe est visible pour tous les éléments qui importent le package englobant la classe Classe privée (-) La classe n'est visible que pour les classes qui appartiennent au même package Classe protégée (#) La classe est visible pour les classes qui appartiennent au même package ET pour les classes contenues dans les packages enfant du package englobant
9
Multiplicité UML permet de préciser le nombre d'instances d'une classe
Zéro instance : classe utilitaire (attribut et opération de classe) Une seule instance : classe singleton (ex: classe PDG) Un nombre spécifique Un nombre quelconque (défaut) Connexion internet 0..100 Base de données 1 Outils
10
Attribut Les attributs forment la description de la partie structurelle ou statique UML permet de représenter les attributs multivalués en précisant le nombre possible de valeurs pour un attribut
11
Visibilité d'un attribut
Attribut public (+) L'attribut est visible pour toutes les classes du package englobant Attribut privé (-) L'attribut n'est visible que pour la classe elle-même Attribut protégé (#) L'attribut est visible pour toutes les sous-classes
12
Propriétés d'un attribut
UML définit trois propriétés qui peuvent être utilisées avec les attributs Changeable Aucune restriction sur les modifications de la valeur de l'attribut Ajout Pour les attributs dont la multiplicité est supérieur à 1, des valeurs additionnels peuvent être ajoutées,mais ne peuvent ensuite être supprimées ou modifiées Gelé La valeur de l'attribut ne peut pas être changée après l'initialisation de l'objet
13
Syntaxe d'un attribut [visibilité] nom [multiplicité] [: type] [=valeur-défaut] [{propriété}] Exemples - origine + origine origine : Point prénom [1..3] : String origine : Point = {0,0} id : Entier {gelé}
14
Portée d'un attribut Attribut d'instance Attribut de classe
Attribut dont la valeur peut varier pour chaque instance de la classe Attribut de classe Attribut propre à la classe dont la valeur est fixe pour toutes les instances de la classe
15
Associations (1/2) Par défaut une association est bidirectionnelle
Navigation dans les deux sens UML permet de spécifier une limitation de la navigation La flèche indique que les instances d'une classe ne "connaissent" pas les instances d'une autre 0..n GroupeUsager Usager 0..n Usager MotDePasse propriétaire 1..1 0..n clé
16
Association (2/2) Association peut être aussi réflexive Personne
Superviseur 1..1 1..n Supervise
17
Qualification UML permet de spécifier comment limiter le nombre d'objets en cas de navigation d'associations La connaissance de l'objet source et du qualificateur permet de limiter le nombre d'objets liés Compagnie Personne employeur 1..1 0..n employé 0..1 noEmployé
18
Agrégation vs. Composition
19
Classe d'association UML permet de modéliser les propriétés d'une association entre deux classes par une classe d'association 1..n employé Compagnie Personne employeur 0..n Emploi descriptif dateEmbauche salaire
20
Héritage L'héritage est le mécanisme qui basé sur la généralisation permet aux sous-classes d'hériter, c'est à dire d'avoir les mêmes attributs, opérations et associations que la superclasse
21
Classes particulières
Une classe concrète est une classe qui peut avoir des instances Une classe abstraite est une classe qui n'a pas d'instances Une classe racine est une classe qui ne peut avoir de superclasse Une classe feuille est une classe qui ne peut avoir de sous-classes
22
Héritage multiple L’héritage multiple permet à une classe d'hériter de plusieurs classes
23
Opération Les opérations décrivent la partie comportementale ou dynamique
24
Visibilité d'une opération
Opération publique (+) L'opération est visible pour toutes les classes du package englobant Opération privée (-) L'opération n'est visible que pour la classe elle-même Opération protégée (#) L'opération est visible pour toutes les sous-classes
25
Exemple de visibilité d’opérations
Package ClasseA +créer #modifier -détruire -créer +lire -détruire ClasseB Package1 Package2 ClasseC -créer -détruire -créer +écrire -détruire ClasseD
26
Valeur de retour & paramètres
Une opération peut retourner une valeur simple spécifiée par son type Une opération peut avoir des paramètres d'entrée et de sortie Tâche +lireDateDébut() : Date +lireNbHeures() : Entier Tâche +écrireDateDébut(dateDébut : Date) +écrireNbHeures(nbHeures : Entier)
27
Déclaration d'une opération
[visibilité] nom [(liste-paramètres)][: type-retour] Liste-paramètres [direction] nom : type [=valeur-défaut],... Direction Entrée (paramètre d'entrée qui ne peut pas être modifié) Sortie (paramètre de sortie qui peut être modifié) Entrée-Sortie (paramètre d'entrée et de sortie qui peut être modifié)
28
Contraintes sur les associations (1/2)
Une contrainte est une règle de gestion exprimée entre { } ou avec OCL Contrainte sur un attribut qui doit être positif Contrainte {frozen} précise que le nombre de roues d’un véhicule ne peut pas varier
29
Contraintes sur les associations (2/2)
Contrainte {subset} précise que le président est également un membre du comité Contrainte {xor} (ou exclusif) précise que les employés de l’hôtel n’ont pas le droit de prendre une chambre dans ce même hôtel
30
Contraintes de spécialisation
Quatre types de contraintes de spécialisation : disjointe ,non disjointe, complète ou non complète {Disjointe} : un objet ne peut appartenir qu’à une seule classe spécialisée Exemple : un salarié ne peut être que stagiaire ou titulaire et non pas les deux ensemble {Complète} : une contrainte complète précise qu’on ne peut pas rajouter une classe spécialisée à une classe générique ayant déjà une ou plusieurs classes spécialisée Salarié {Disjointe, non complète} Titulaire Stagiaire
31
Diagramme de classe
32
Construire un diagramme de classes
Pour identifier les classes on peut s'appuyer sur les mots du domaine applicatif Réduire l'ensemble en fonction des critères suivants : Supprimer des synonymes Supprimer des classes non pertinentes Découvrir les associations exprimant l'interdépendance des classes Trouver les attributs des classes Trouver les opérations sur les classes, association ou attribut
33
Exemple (1/18) Cette étude de cas concerne un système simplifié de réservation de vols pour une agence de voyage Des compagnies aériennes proposent différents vols Un vol est ouvert à la réservation et refermé sur ordre de la compagnie Un client peut réserver un ou plusieurs vols, pour des passages différents Une réservation concerne un seul vol et un seul passager Une réservation peut être annulée ou confirmée Un vol a un aéroport de départ et un aéroport d’arrivée Un vol a un jour et une heure de départ et un jour et une heure d’arrivée Un vol peut comporter des escales dans des aéroports Une escale a une heure d’arrivée et une heure de départ Chaque aéroport dessert une ou plusieurs villes
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.