outils méthodologiques pour le ter
TRANSCRIPT
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
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 »
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
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
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}
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
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
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
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
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 ]
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
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
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
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
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
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
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
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)
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]
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
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
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 ?
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
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