49
Chapitre 3 : Langage de modélisation objet unifié UML Cours n°10 du 05/12/2013 Présenté par: Mme ARKAM. M

Chapitre 3 : Langage de modélisation objet unifié UML › 2014 › 01 › cours-acoo4.pdfChapitre 3 : Langage de modélisation objet unifié UML Cours n°10 du 05/12/2013 Présenté

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • Chapitre 3 : Langage de

    modélisation objet unifié UML

    Cours n°10 du 05/12/2013

    Présenté par: Mme ARKAM. M

  • 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

    2

  • Diagrammes de classe

    3

  • 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

    4

  • 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

    5

  • Convention graphique d’une classe

    Nom_de_classe

    Attributs

    Méthodes

    Nom_de_classe

    6

  • Syntaxe

    Attribut :

    nom : type = val_initiale

    Méthode : nom (arg : type = val_defaut, …) : type_retour

    Niveaux d’accès :

    Public +

    Protected #

    Private -

    7

  • Exemples / niveaux d’abstraction

    voiture

    Classe non documentée

    8

  • Exemples / niveaux d’abstraction

    voiture

    immatriculationcouleurmarquepuissancepoidsdatepropriétaire

    voiture

    demarrerarreterconduirevendre

    Classe non documentée Classe documentée

    attributs

    méthodes

    9

  • Exemples / niveaux d’abstraction

    voiture

    immatriculationcouleurmarquepuissancepoidsdatepropriétaire

    voiture

    demarrerarreterconduirevendre

    voiture

    + immatriculation : string+ couleur : string+ marque : string# puissance : int# poids : int- date : Date- propriétaire : string

    + demarrer()- contact() : bool+ conduire(a : string = « marseille », b : string)+ vendre(prix : float)

    Classe non documentée Classe documentée Classe détaillée

    attributstypes

    méthodesprototype

    Niveaux d’accès

    10

  • Chapitre 3 : Langage de

    modélisation objet unifié UML

    Cours n°11 du 12/12/2013

    Présenté par: Mme ARKAM. M

  • 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

    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

    13

  • Association classique

    Personne Entreprise

    travaille

    14

  • Association en forme verbale active

    Précise le sens de lecture

    Personne Hôtel

    < héberge

    15

  • Rôles

    Personne Entrepriseemployé employeur

    Personne Hôtel

    client

    personnel

    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..*"

    17

  • Cardinalités

    mariéA

    Homme Femme

    Maison

    0..1 0..1

    Personne

    * 1

    0..*2

    parent

    enfant

    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

    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

    vote

    0..1*

    20

  • Association n-aire

    association reliant plus de deux classes

    Entreprise

    Travaux Copropriété

    21

  • Classe d’association

    classe réalisant la navigation entre les instances d'autres

    classes

    Professeur

    Salle

    jourheureduree

    Cours

    Etudiant Professeur

    Salle

    Cours Etudiant

    jourheureduree

    22

  • Association qualifiée

    Une association qualifiée met en relation deux classes sur

    la base d’un attribut spécifique appelé « clé »

    Banque 1..n*

    numCompte Personne

    23

  • Chapitre 3 : Langage de

    modélisation objet unifié UML

    Cours n°12 du 19/12/2013

    Présenté par: Mme ARKAM. M

  • 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

    25

  • 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

    26

  • Exemples

    peint

    Peintre Tableau

    Armée

    1 1..n

    Personne

    {sous-ensemble}

    {ordonnée}

    général

    militaire

    BTSPersonne

    étudiant

    enseignant

    {ou-exclusif}

    27

  • 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

    28

  • 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

    29

  • Exemple

    Pièce Mur

    30

  • 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é

    31

  • Exemple

    Voiture

    Carrosserie Moteur Piston

    32

  • Héritage : convention graphique

    Super_classe

    Sous_classe

    33

  • Spécialisation

    OeuvreTitreAuteurReference

    LivreNbPages

    FilmDuree

    OperaOrchestre

    Roman BD

    34

  • Spécialisation

    OeuvreTitreAuteurReference

    LivreNbPages

    FilmDuree

    OperaOrchestre

    Roman BD

    35

  • Généralisation

    VehiculemarquemodeleVitesseMax

    VoiturePlaquecylindree

    BateautirantEauvoiles

    AvionaltitudeMaxportee

    36

  • Notion de paquetage

    37

  • 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

    38

  • 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

    39

  • Convention graphique

    P1 P2

    P3

    P4

    P5 P6

    40

  • Exemple

    Voitures

    MotorisationVoiture

    Piston Carbu

    Boite MoteurPorte

    Roue Phare

    41

  • Diagrammes d’Objets

    42

  • 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

    43

  • :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 = 7chSpécification des attributs

    golf:Vehicule::Voiture::Berline Spécification du chemin complet

    :VoitureCollection d’instance (tableau)

    44

  • Objets composites

    :Velo

    :Roue 2

    :Pedalier 1

    :Derailleur 1

    :Pedale 1

    45

  • Diagrammes d’objets

    :Personne

    :Voiture

    :Maison :Ville

    46

  • Diagrammes d’objets

    :Personne

    :Personne

    :Ordinateur :VideoProjecteur

    eleve

    professeur

    47

  • Diagrammes d’objets

    :Personne

    :Personne

    :Ordinateur :VideoProjecteur

    eleve

    professeur Proprietaire=« ORT »

    Objet à état précis

    48

  • Diagrammes d’objets

    :Bus

    :Destination

    :Moteur

    49