Télécharger la présentation
1
Langage de modélisation objet unifié
Cours n°2 UML
2
Plan Introduction Modéliser avec UML Diagrammes de cas d’utilisation
Diagrammes de classes Notion de paquetage Diagrammes d’objets Diagrammes de séquence Diagrammes de collaboration Diagrammes d’états/transition Autres diagrammes UML
3
Diagrammes de classe UML
4
Vue statique Vues statiques du système : Vues dynamiques du système :
diagrammes de cas d'utilisation (Fonctionnel) diagrammes de classes diagrammes d'objets diagrammes de composants diagrammes de déploiement Vues dynamiques du système : diagrammes de séquence diagrammes de collaboration diagrammes d'états-transitions diagrammes d'activités UML
5
Class diagrams Expriment la structure statique du système en terme de classes et de relations entre ces classes Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d'objets et permettant de créer des objets ayant ces propriétés Ne pas représenter les attributs ou les méthodes d'une classe sur un diagramme, n'indique pas que cette classe n'en contient pas. Il s'agit juste d'un filtre visuel, destiné à donner un certain niveau d'abstraction à son modèle De même, ne pas spécifier les niveaux d’accès des membres d'une classe ne veut pas dire qu'on ne représente que les membres publics UML
6
Convention graphique d’une classe
Nom_de_classe Attributs Nom_de_classe Méthodes UML
7
Syntaxe Attribut : Méthode : Niveaux d’accès :
nom : type = val_initiale Méthode : nom (arg : type = val_defaut, …) : type_retour Niveaux d’accès : Public + Protected # Private - UML
8
Exemples / niveaux d’abstraction
voiture Classe non documentée UML
9
Exemples / niveaux d’abstraction
voiture immatriculation couleur marque puissance poids date propriétaire attributs demarrer arreter conduire vendre voiture méthodes Classe non documentée Classe documentée UML
10
Exemples / niveaux d’abstraction
voiture voiture immatriculation couleur marque puissance poids date propriétaire + immatriculation : string + couleur : string + marque : string # puissance : int # poids : int - date : Date - propriétaire : string attributs types demarrer arreter conduire vendre + demarrer() - contact() : bool + conduire(a : string = « marseille », b : string) + vendre(prix : float) voiture méthodes prototype Niveaux d’accès Classe non documentée Classe documentée Classe détaillée UML
11
Sémantique Un diagramme de classes est une collection d'éléments de modélisation statiques (classes, paquetages...), qui montre la structure d'un modèle Un diagramme de classes fait abstraction des aspects dynamiques et temporels Pour un modèle complexe, plusieurs diagrammes de classes complémentaires doivent être construits On peut par exemple se focaliser sur : les classes qui participent à un cas d'utilisation (cf. collaboration) les classes associées dans la réalisation d'un scénario précis les classes qui composent un paquetage la structure hiérarchique d'un ensemble de classes UML
12
Association Une association exprime une connexion sémantique entre deux classes L'association est instanciable dans un diagramme d'objets ou de collaboration, sous forme de liens entre objets issus de classes associées UML
13
Association classique
Personne Entreprise travaille UML
14
Association en forme verbale active
Précise le sens de lecture Personne Hôtel < héberge UML
15
Rôles Personne Entreprise Personne Hôtel employé employeur client
personnel UML
16
Cardinalités Nombre d’éléments participant à la relation
x : exactement "x" (entier naturel > 0) exemples : "1", "7" x..y : de "x" à "y" (entiers naturels ou variables avec y > x) exemples : "0..1", "3..n", "1..31" * : plusieurs (équivalent à "0..n" et "0..*") x..* : "x" ou plus exemples : "0..*", "5..*" UML
17
Cardinalités Homme Femme 0..1 0..1 Personne Maison * 1 2 0..* mariéA
parent 2 0..* enfant UML
18
Relation de dépendance
relation d'utilisation unidirectionnelle une modification de l'élément dont on dépend, peut nécessiter une mise à jour de l'élément dépendant Fenetre EvenementSouris UML
19
Association à navigabilité restreinte
Par défaut, une association est navigable dans les deux sens La réduction de la portée de l'association peut être exprimée dans un modèle pour indiquer que les instances d'une classe ne "connaissent" pas les instances d'une autre Electeur Candidat 0..1 * vote UML
20
Association n-aire association reliant plus de deux classes Travaux
Copropriété Entreprise UML
21
<<association ternaire>>
Classe d’association classe réalisant la navigation entre les instances d'autres classes Salle Salle Professeur Etudiant Professeur <<association ternaire>> Cours Etudiant jour heure duree Cours jour heure duree UML
22
Association qualifiée
Une association qualifiée met en relation deux classes sur la base d’un attribut spécifique appelé « clé » Banque Personne 1..n * numCompte UML
23
Contraintes sur les associations
Les contraintes sont des expressions qui précisent le rôle ou la portée d'un élément de modélisation (elles permettent d'étendre ou préciser sa sémantique) Sur une association, elles peuvent restreindre le nombre d'instances visées ("expressions de navigation") Les contraintes peuvent s'exprimer en langage naturel. Graphiquement, il s'agit d'un texte encadré d'accolades UML
24
Principales contraintes
Contrainte {ordonnée} : une relation d’ordre décrit les objets Contrainte {sous-ensemble} : une collection est incluse dans une autre collection Contrainte {ou-exclusif} : pour un objet donné, une seule association est valide UML
25
Exemples Peintre Tableau 1 1..n Personne Armée Personne BTS peint
{ordonnée} Personne Armée militaire {sous-ensemble} général Personne BTS enseignant {ou-exclusif} étudiant
26
Agrégation L'agrégation est une association non symétrique, qui exprime un couplage fort et une relation de subordination Représente une relation de type "ensemble / élément" A un même moment, une instance d'élément agrégé peut être liée à plusieurs instances d'autres classes : l'élément agrégé peut être partagé Une instance « ensemble » peut exister sans élément (et inversement) : Cycles de vies indépendants UML
27
Agrégation Une agrégation peut notamment (mais pas nécessairement) exprimer : qu'une classe (un "élément") fait partie d'une autre ("l‘ensemble"), qu'un changement d'état d'une classe, entraîne un changement d'état d'une autre, qu'une action sur une classe, entraîne une action sur une autre UML
28
Exemple Pièce Mur UML
29
Composition Cas particulier d’agrégation : contenance physique
Représente une relation de type "composé / composant" Les cycles de vies des composants et du composé sont liés : si le composé est détruit (ou copié), ses composants le sont aussi A un même moment, une instance de composant ne peut être liée qu'à un seul composé UML
30
Exemple Voiture Carrosserie Moteur Piston UML
31
Héritage : convention graphique
Super_classe Sous_classe UML
32
Spécialisation Oeuvre Livre Film Opera Roman BD Titre Auteur Reference
NbPages Duree Orchestre Roman BD UML
33
Spécialisation Oeuvre Livre Film Opera Roman BD Titre Auteur Reference
NbPages Duree Orchestre Roman BD UML
34
Généralisation Vehicule Voiture Bateau Avion marque modele VitesseMax
Plaque cylindree tirantEau voiles altitudeMax portee UML
35
Notion de paquetage UML
36
Packages Les paquetages sont des éléments d'organisation des modèles
Ils regroupent des éléments de modélisation, selon des critères purement logiques Ils permettent d'encapsuler des éléments de modélisation Ils permettent de structurer un système en catégories (vue logique) et sous-systèmes (vue des composants) Ils servent de "briques" de base dans la construction d'une architecture Ils représentent le bon niveau de granularité pour la réutilisation Les paquetages sont aussi des espaces de noms UML
37
Relation entre paquetage
Dépendance : Au moins un élément du paquetage source utilise les services d’au moins un des éléments du paquetage destination Héritage : Au moins un élément du paquetage source spécialise (est dérivée d’) au moins un des éléments du paquetage destination UML
38
Convention graphique P1 P2 P4 P3 P5 P6 UML
39
Exemple Voitures Voiture Motorisation Piston Carbu Porte Boite Moteur
Roue Phare UML
40
Diagrammes d’objets UML
41
Object diagram Représentent un ensemble d’objets et leurs liens
Sont des vues statiques des instances des éléments qui apparaissent dans les diagrammes de classes Présentent la vue de conception d’un système, exactement comme les diagrammes de classes, mais à partir de cas réel ou de prototypes Est une instance d’un diagramme de classes Les diagrammes de classes peuvent aussi contenir des objets UML
42
golf:Vehicule::Voiture::Berline
Instance anonyme de la classe voiture golf:Voiture Instance nommée de la classe voiture golf Instance nommée d’une classe anonyme golf:Voiture Couleur = "bleu M " Puissance = 7ch Spécification des attributs golf:Vehicule::Voiture::Berline Spécification du chemin complet :Voiture Collection d’instance (tableau) UML
43
Objets composites :Velo :Roue :Derailleur :Pedalier :Pedale 2 1 1 1
UML
44
Diagrammes d’objets :Personne :Maison :Ville :Voiture UML
45
Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur :Personne
professeur eleve :Personne UML
46
Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur :Personne
professeur Proprietaire=« ORT » eleve Objet à état précis :Personne UML
47
Diagrammes d’objets :Bus :Moteur :Destination UML
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.