1 / 47

Langage de modélisation objet unifié

Langage de modélisation objet unifié. Cours n°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.

dugan
Download Presentation

Langage de modélisation objet unifié

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 : • 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 : • 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 méthodes voiture 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) méthodes voiture 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 construitsOn 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 employé employeur Personne Hôtel 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 mariéA Personne Maison 1 * 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. Classe d’association • classe réalisant la navigation entre les instances d'autres classes Salle Salle <<association ternaire>> Cours Professeur Etudiant Professeur 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é » Personne Banque 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 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 Titre Auteur Reference Film Livre Opera Duree NbPages Orchestre BD Roman UML

  33. Spécialisation Oeuvre Titre Auteur Reference Film Livre Opera Duree NbPages Orchestre BD Roman UML

  34. Généralisation Vehicule marque modele VitesseMax Bateau Voiture Avion tirantEau voiles Plaque cylindree 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éelou de prototypes • Est une instance d’un diagramme de classes • Les diagrammes de classes peuvent aussi contenir des objets UML

  42. :Voiture 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 2 :Derailleur 1 :Pedale 1 :Pedalier 1 UML

  44. Diagrammes d’objets :Personne :Maison :Ville :Voiture UML

  45. Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur professeur eleve :Personne UML

  46. Diagrammes d’objets :Personne :Ordinateur :VideoProjecteur Proprietaire=« ORT » professeur eleve Objet à état précis :Personne UML

  47. Diagrammes d’objets :Bus :Moteur :Destination UML

More Related