outils méthodologiques pour le ter

24
16/12/2002 Outils méthodologiques pour le TER - Cours 5 1 © Jean-Daniel Kant Outils Méthodologiques pour le TER Jean-Daniel Kant Cours 5. UML – diagrammes dynamiques Maîtrise d’informatique Filières Polyvalente et IABDRO 16/12/2002 Outils méthodologiques pour le TER - Cours 5 2 © Jean-Daniel Kant 2002 Plan du 4ème cours v UML : complément sur les diagrammes de classes v UML : diagrammes dynamiques _Activités _Interaction : Séquences et Collaboration _Etats-transition v Démarche MP6

Upload: others

Post on 28-Nov-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 1

16/12/2002 Outils méthodologiques pour le TER - Cours 5

1©Je

an-D

anie

l Kan

t

Outils Méthodologiques pour le TER

Jean-Daniel Kant

Cours 5. UML – diagrammes dynamiques

Maîtrise d’informatiqueFilières Polyvalente et IABDRO

16/12/2002 Outils méthodologiques pour le TER - Cours 5 2©Je

an-D

anie

l Kan

t 200

2

Plan du 4ème cours

v UML : complément sur les diagrammes de classes

v UML : diagrammes dynamiques_Activités_Interaction : Séquences et Collaboration_Etats-transition

v Démarche MP6

Page 2: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 2

16/12/2002 Outils méthodologiques pour le TER - Cours 5 3©Je

an-D

anie

l Kan

t 200

2

Diagrammes de classes : compléments

v Héritage multiplev Classification multiple, dynamiquev Classes abstraitesv Classes paramétrablesv Classes-association

16/12/2002 Outils méthodologiques pour le TER - Cours 5 4©Je

an-D

anie

l Kan

t 200

2

Héritage multiplev Une sous classe peut avoir plusieurs parents

A moteu r Terrestre

Voiture

v Mais classification unique : une instance de « voiture » n’appartient qu’à un seul type : la classe « voiture »

Page 3: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 3

16/12/2002 Outils méthodologiques pour le TER - Cours 5 5©Je

an-D

anie

l Kan

t 200

2

Classification multiplev Un objet peut appartenir à plusieurs classes,

qui ne sont pas nécessairement associés par une relation d’héritage

T e r r e s t r e

Vo i tu re

A v o i l e A q u a t i q u eA m o t e u r

Véh i cu le

16/12/2002 Outils méthodologiques pour le TER - Cours 5 6©Je

an-D

anie

l Kan

t 200

2

Approche ensemblisteA

B C D

E

A = classe; B, C, D sous classes de A; E sous classe de C et DRecouvrements : B&C, C&D ; B&D disjointes

Exemple:A=homme politiqueB=gaucheC=centreD=droiteE=centre-droit

Page 4: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 4

16/12/2002 Outils méthodologiques pour le TER - Cours 5 7©Je

an-D

anie

l Kan

t 200

2

Passage au graphe (arbres)v UML : graphe orienté

acyclique (DAG : Directed Acyclic Graph)

B C D

E

A

{overlapping} {overlapping}

{disjoint}

Discriminateurs

16/12/2002 Outils méthodologiques pour le TER - Cours 5 8©Je

an-D

anie

l Kan

t 200

2

Discriminateurs

v Nomme la classificationv Permet de définir des contraintes :_Overlapping : recouvrement entre classes_Disjoint : pas de recouvrement_Complete : toutes les sous-classes sont présentes_Incomplete : possibilité de rajouter des sous-

classes ultérieurement

Page 5: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 5

16/12/2002 Outils méthodologiques pour le TER - Cours 5 9©Je

an-D

anie

l Kan

t 200

2

Personnne

Femme

Homme

Commercial

Ingénieur

Manager

Emploi <<dynamic>>

Sexe{Complete}

Classification dynamiquev Permet aux objets de changer de classe à

l’intérieur d’un sous-classement

Rôles Stéréotype

16/12/2002 Outils méthodologiques pour le TER - Cours 5 10©Je

an-D

anie

l Kan

t 200

2

Un autre exemple

Polys 2ème cycle

Maîtrise

Licence

POM

IL

TERCours

{incomplete}

Diplôme{Complete,disjoint}

Page 6: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 6

16/12/2002 Outils méthodologiques pour le TER - Cours 5 11©Je

an-D

anie

l Kan

t 200

2

Classes abstraitesv Classe sans implémentation, qui n’est jamais

instanciée_Pas d’objets de ce type_Interface pure (e.g. Java)

v Constitue une étape dans la classificationv Syntaxe UML_nom de classe en italique _{abstract} sous le nom de classe

16/12/2002 Outils méthodologiques pour le TER - Cours 5 12©Je

an-D

anie

l Kan

t 200

2

Fenêtre

activer()désactiver()ouvrir()réduire()déplacer()

Fenêtre Windows Fenêtre MacFenêtre Linux

Editeur de textes

Exemple de classe abstraite

Dépendance

Interface pour l’éditeur

Page 7: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 7

16/12/2002 Outils méthodologiques pour le TER - Cours 5 13©Je

an-D

anie

l Kan

t 200

2

Classes paramétrablesv Langage fortement typés (e.g. C++)_Classe ouverte, patron (template)_Unité générique dépendant d’un paramètre

v 2 notations possibles_« intégrée » : Classe <paramètre>_Lien de réalisation avec <<bind>> (arguments)

v Attention !! La réalisation (classe liée) n’est pas une sous –classe_Impossible d’ajouter des attributs / opérations

16/12/2002 Outils méthodologiques pour le TER - Cours 5 14©Je

an-D

anie

l Kan

t 200

2

Exemple

T

Liste

insérer()retirer()taille()

ListeFiches Liste <noeud>

<<bind >> (fiche)

fiche noeud

Classe paramétrée Paramètres

Notation 1

RéalisationNotation 2

Page 8: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 8

16/12/2002 Outils méthodologiques pour le TER - Cours 5 15©Je

an-D

anie

l Kan

t 200

2

Classe-association (1)v Permet d’ajouter des attributs, des

opérations, et d’autres fonctionnalités aux associations

Employé Entreprise

Fonction

TitreSalairepériode

1*

+employeur

1*

Classe-associationAttention : une seule instance possible de la classe association pour un lien donné

16/12/2002 Outils méthodologiques pour le TER - Cours 5 16©Je

an-D

anie

l Kan

t 200

2

Classe-association (2)v Si on souhaite plusieurs instances par liens (e.g.

plusieurs fonctions pour un employé et une entreprise donnés), il faut créer une classe a part entière

Employé

Fonction

TitreSalairepériode1..n

1

Entreprise

1*

+employeur

1*

1

1..n1..n

1 1

1..n

Page 9: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 9

16/12/2002 Outils méthodologiques pour le TER - Cours 5 17©Je

an-D

anie

l Kan

t 200

2

Diagrammes d’activités (1)

v Déroulement temporel d’un processus, workflow

v Processus parallèlesv Activité_État dans lequel un processus est réalisé_Opération dans le monde réel_Exécution d’une méthode

18©Je

an-D

anie

l Kan

t 200

2

Chercher Boisson

[ pas de café ]

Prendre une tasse

Mettre un filtre dans la machine

Allumer la machine

Café en préparation

Prendre une bière

Abandonner l'idée

BoireVerser le café

Ajouter de l'eau dans le reservoir

Mettre du café dans le filtre

[ il y a de la bière ]

[ pas de bière ]

[ il y a du café ]

Diagrammes d’activités (2)Début

Fin

Synchronisation

DécisionActivité Garde

Page 10: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 10

16/12/2002 Outils méthodologiques pour le TER - Cours 5 19©Je

an-D

anie

l Kan

t 200

2S'habiller Mettre des

chaussures

Prendre des lunettes de soleil

Prendre un parapluie

Sortir

[ il fait beau ][ il pleut ]

Diagrammes d’activités (3)

SynchronisationLes activités en amont doivent être toutes terminées

FusionFin d’un comportement conditionnel

16/12/2002 20©Je

an-D

anie

l Kan

t 200

2

Décomposition d’une activité

Habillage

Prendre un parapluie

S'habiller Mettre des chaussures

Prendre des lunettes de soleil

Prendre un parapluie

[ il pleut ]

S'habiller Mettre des chaussures

Prendre des lunettes de soleil

[ il fait beau ]

Se regarder dans un miroir

Sortir

Choisir un vêtement

Rester chez soi

[ j'ai ce qui faut ]

[ j'ai rien à me mettre ]

Page 11: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 11

16/12/2002 Outils méthodologiques pour le TER - Cours 5 21©Je

an-D

anie

l Kan

t 200

2

Responsabilités des activités

Couloir d’activités (swinlane)

Enseigner

Rédiger un examen

Corriger les copies

Apprendre

Passer l'examen

Evaluer

JURYETUDIANTENSEIGNANT

Service ou objet

16/12/2002 Outils méthodologiques pour le TER - Cours 5 22©Je

an-D

anie

l Kan

t 200

2

Utilisation des diagrammes d’activités

v Analyse d’un cas d’utilisation_Indépendamment de l’assignation aux objets

v Comprendre un processus métier_Workflow

v Traitements parallèles (e.g. multithreads)v Processus séquentiel complexe_Organigramme

v Peut regrouper plusieurs cas d’utilisationv Mauvais pour l’interaction entre objets

Page 12: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 12

16/12/2002 Outils méthodologiques pour le TER - Cours 5 23©Je

an-D

anie

l Kan

t 200

2

Diagrammes d’interactionv Comment un groupe d’objets collaborent

pour réaliser un comportement donnév Réalisation d’un seul cas d’utilisationv Détaille la communication entre objets_Envois de messages _Implémentation : méthodes

v Deux types de diagrammes_Diagramme de séquence_Diagramme de collaboration

16/12/2002 Outils méthodologiques pour le TER - Cours 5 24©Je

an-D

anie

l Kan

t 200

2

Diagramme de séquence (1)

v Interaction des objets selon un point de vue temporel

v Messages ordonnés dans le tempsv Chaque objet est représenté par une ligne de

vie en colonnev Un message est représenté par une flèche_Message synchrone_Message asynchrone

Page 13: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 13

16/12/2002 Outils méthodologiques pour le TER - Cours 5 25©Je

an-D

anie

l Kan

t 200

2

Serveur Web : Serveur

Client

message synchrone

message asynchrone

Traitement

[pas d'erreur] retour

retour implicite

Diagramme de séquence (2)

Période d’activation

Garde

16/12/2002 Outils méthodologiques pour le TER - Cours 5 26©Je

an-D

anie

l Kan

t 200

2

Diagramme de séquence (3)

v Création / destruction d’un objet

: Serveur

: Threadcréer

détruire

Page 14: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 14

16/12/2002 Outils méthodologiques pour le TER - Cours 5 27©Je

an-D

anie

l Kan

t 200

2

Diagramme de séquence (4) : cohérence pour la conception et l’implémentation

v Message A →B = A appelle une opération / méthode de la classe de B

16/12/2002 Outils méthodologiques pour le TER - Cours 5 28©Je

an-D

anie

l Kan

t 200

2

Diagramme de collaborationv Structure spatiale statique d’une

collaboration entre objets_Liens statiques_Appartenance à un paquetage

v Numérotation des messages pour le déroulement temporel_Moins lisible qu’un diagramme de séquence

Page 15: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 15

16/12/2002 Outils méthodologiques pour le TER - Cours 5 29©Je

an-D

anie

l Kan

t 200

2

Exemple : numérotation simple

: Utilisateur : Ascenseur

: cabine

: porte : lumière

1: appeller

2: [cabine au dessus] descendre5: [cabine en dessous] monter

4: allumer7: allumer

3: fermer6: fermer

16/12/2002 Outils méthodologiques pour le TER - Cours 5 30©Je

an-D

anie

l Kan

t 200

2

Exemple : numérotation décimale

: cabine

: Utilisateur : Ascenseur

: porte : lumière

1. appeller

1.1. [cabine au dessus] descendre1.2. [cabine en dessous] monter

1.1.2. allumer1.2.2. allumer

1.1.1. fermer1.2.1. fermer

Page 16: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 16

16/12/2002 Outils méthodologiques pour le TER - Cours 5 31©Je

an-D

anie

l Kan

t 200

2 : Utilisateur : Ascenseur : cabine : porte : lumière

1. appeller

1.1. [cabine au dessus] descendre

1.1.1. fermer

1.1.2. allumer

1.2. [cabine en dessous] monter

1.2.1. fermer

1.2.2. allumer

Symétrie collaboration / séquence

16/12/2002 Outils méthodologiques pour le TER - Cours 5 32©Je

an-D

anie

l Kan

t 200

2

Utilisation des diagrammes d’interaction

v Comportement de plusieurs objets dans un seul cas d’utilisation

v Déroulement temporel_Diagramme de séquence

v Liens statiques entre objets_Diagramme de collaboration

Page 17: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 17

16/12/2002 Outils méthodologiques pour le TER - Cours 5 33©Je

an-D

anie

l Kan

t 200

2

Diagramme d’états-transitions (1)

v Description détaillée du comportement d’un seul objet

v Différents états possibles de l’objet et leurs transitions en fonction des évènements qu’il reçoit _Automate à états finis

16/12/2002 Outils méthodologiques pour le TER - Cours 5 34©Je

an-D

anie

l Kan

t 200

2

Etats (1)

v Rectangle arrondi avec un nomv Un objet reste dans un état identifié

pendant une certaine duréev Automate déterministe_Conditions vérifiables (garde) pour les

branchements_Un seul état initial, aucun, un ou plusieurs

états finaux

Page 18: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 18

16/12/2002 Outils méthodologiques pour le TER - Cours 5 35©Je

an-D

anie

l Kan

t 200

2

Etats (2)Etat initial

Etat final

Syntaxe : type d’action / expression de l’action

ou envoi d’évènementEvènement : nom_événement (liste argument:type,…) [garde]

Etat intermédiaire

do/ Action or Send Evententry/ Action or Send Eventexit/ Action or Send Eventevent événement/ Action or Send Event

16/12/2002 Outils méthodologiques pour le TER - Cours 5 36©Je

an-D

anie

l Kan

t 200

2

Etats (3)

Taper mot de passe

entry/ affichage invisibleevent caractère tapé/ traiter caractèreexit/ affichage normalevent demande d'aide[ aide active ]/ afficher aideevent erreur/ envoi message d'erreur(code)

Page 19: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 19

16/12/2002 Outils méthodologiques pour le TER - Cours 5 37©Je

an-D

anie

l Kan

t 200

2

Exemple 1 : vie professionnelle

En activité

do/ travaille

Chomâge

do/ cherche un boulot

/ commence vie profesionnelle

A la retraite

emploi perdu

[ age > 60 ans ]

emploi retrouvé

[ age > 60 ans ]

16/12/2002 Outils méthodologiques pour le TER - Cours 5 38©Je

an-D

anie

l Kan

t 200

2

Transitions

v Connexion unidirectionellev Changement d’état déclenché par un événementv Syntaxe : 3 parties optionnelles_Evénement [Garde] / Action_Evénement : nom_évènement (liste argument:type,…) [garde]

Page 20: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 20

16/12/2002 Outils méthodologiques pour le TER - Cours 5 39©Je

an-D

anie

l Kan

t 200

2

Super-états (1)

©F.

Kor

don

2001

16/12/2002 Outils méthodologiques pour le TER - Cours 5 40©Je

an-D

anie

l Kan

t 200

2

Super-états (2)©

F. K

ordo

n 20

01

Page 21: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 21

16/12/2002 Outils méthodologiques pour le TER - Cours 5 41©Je

an-D

anie

l Kan

t 200

2

Exemple du téléphone

©O

MG

199

9

16/12/2002 Outils méthodologiques pour le TER - Cours 5 42©Je

an-D

anie

l Kan

t 200

2

Etats concurrents

©O

MG

199

9

Page 22: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 22

16/12/2002 Outils méthodologiques pour le TER - Cours 5 43©Je

an-D

anie

l Kan

t 200

2

Utilisation des diagrammes d’états

v Comportement d’un seul objet dans plusieurs cas d’utilisation

v Complémentaire / diagrammes d’interactionv Ne pas les utiliser pour toutes les classes !v Utilisations typiques_Interfaces utilisateurs_Automates à états finis_Contrôle

16/12/2002 Outils méthodologiques pour le TER - Cours 5 44©Je

an-D

anie

l Kan

t 200

2

Démarche MP6

v Rappel : UML est une notation, pas une méthode

v Des méthodes existe_RUP (processus unifié), FUSION, etc.

v Ici, on parle de démarche pour l’analyse et la conception_Quel diagramme UML à quel moment ?_Comment enchaîner les diagrammes UML ?

Page 23: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 23

16/12/2002 Outils méthodologiques pour le TER - Cours 5 45©Je

an-D

anie

l Kan

t 200

2

Principes MP6v UML doit faciliter la communication_Diagrammes lisibles : tenir sur 1 page A4_Diagrammes traçables : documenter !!

v Même démarche pour l’analyse et la conception: différents niveaux de granularité_Analyse : peu de classes (non détaillées),

interaction utilisateur / système_Conception : détailler les classes mais

indépendamment d’un langage de programmation

v Ne pas se précipiter sur les classes !!

16/12/2002 Outils méthodologiques pour le TER - Cours 5 46©Je

an-D

anie

l Kan

t 200

2

Etapes MP6 (1)Analyse du cahier

des charges1

Processus1.2

Acteurs

Rôles Structures1.1

Cas d'utilisation2

Page 24: Outils Méthodologiques pour le TER

Outils méthodologiques pour le TER 24

16/12/2002 Outils méthodologiques pour le TER - Cours 5 47©Je

an-D

anie

l Kan

t 200

2

Etapes MP6 (2)

Un cas et plusieurs objets?Oui Non

Déroulementtemporel?

NonOui

CommandedateDeRéceptionestPrépayéenombreprix

expédier()fermer()

ClientParticuliernuméroCarteDeCrédit

Clientnomadresse

solvabilité()

*1

Client ProfessionnelnomDuContactsolvabilitécréditAutorisé

rappeler()factureMensuelle()

Employé

0..1

*Ligne de Commandequantitéprixdisponible

*

1

Produit1*

*1

*

1

+ligne

+commercial 0..1

*

1*

CommandedateDeRéceptionestPrépayéenombreprix

expédier()fermer()

ClientParticuliernuméroCarteDeCrédit

Clientnomadresse

solvabilité()

*1

Client ProfessionnelnomDuContactsolvabilitécréditAutorisé

rappeler()factureMensuelle()

Employé

0..1

*Ligne de Commandequantitéprixdisponible

*

1

Produit1*

*1

*

1

+ligne

+commercial 0..1

*

1*

Diagrammes de classes et de paquetages

3'

CommandedateDeRéceptionestPrépayéenombreprix

expédier()fermer()

ClientParticuliernuméroCarteDeCrédit

Clientnomadresse

solvabilité()

*1

Client ProfessionnelnomDuContactsolvabilitécréditAutorisé

rappeler()factureMensuelle()

Employé

0..1

*Ligne de Commandequantitéprixdisponible

*

1

Produit1*

*1

*

1

+ligne

+commercial 0..1

*

1*

Diagrammes d'activité3.1

Chercher Boisson

[ pas de café ]

Prendre une tasse

Mettre un filtre dans la machine

Allumer la machine

Café en préparation

Prendre une bière

Abandonner l'idée

BoireVerser le café

Ajouter de l'eau dans le reservoir

Mettre du café dans le filtre

[ il y a de la bière ]

[ pas de bière ]

[ il y a du café ]

Diagrammes d'état3.3

En activité

do/ travaille

Chomâge

do/ cherche un boulot

/ commence vie profesionnelle

A la retraite

emploi perdu

[ age > 60 ans ]

emploi retrouvé

[ age > 60 ans ]

Diagrammes de collaboration

3.2

: Utilisateur : Ascenseur

: cabine

: porte : lumière

1: appeller

2: [cabine au dessus] descendre5: [cabine en dessous] monter

4: allumer7: allumer

3: fermer6: fermer

Diagrammes de séquence

3.2

: Utilisateur : Ascenseur : cabine : porte : lumière

1. appeller

1.1. [cabine au dessus] descendre

1.1.1. fermer

1.1.2. allumer

1.2. [cabine en dessous] monter

1.2.1. fermer

1.2.2. allumer

16/12/2002 Outils méthodologiques pour le TER - Cours 5 48©Je

an-D

anie

l Kan

t 200

2

Etapes MP6 (3)

Diagrammes de composants

4.1 Diagrammes de déploiement

4.2