Conception Orientée Objet

Eyrolles
Page 1 sur 39Lecteur de document UniversityLib

Conception Orientée Objet

Génie logiciel, Diagrammes état-transition · exam

Voir tous les documents en génie logiciel

Conception Orientée Objet

Génie logiciel

Les diagrammes état-transition

I. MOUAKHER-ABDELMOULA

2012-2013

Plan

1

Introduction

2 Concepts de base

État

Transition

Événement

Garde

Action et Activité

3 Points de décision

Points de jonction

Points de choix

4 États composites

Présentation

États concurrents

Historique

5 Démarche d’élaboration

Démarche

Exemple

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

Le diagramme état-transition :

Fait partie des modèles dynamiques

Décrit l’enchaˆınement de tous les états d’un objet

Propre à une classe donnée.

Il décrit :

Les états des objets de cette classe

Les événements auxquels ils réagissent

Les transitions qu’ils effectuent

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(3/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Concepts de base

Le diagramme état-transition manipule plusieurs concepts :

État

Transition

Événement

Garde

Action

Activité

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(4/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

État

Un état est une abstraction des valeurs ou des liens d’un objet.

Par exemple, l’état d’une banque est solvable si ses actifs excèdent

ses dettes.

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(5/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

État

Pour chaque objet, il y a trois types d’états :

État initial : C’est l’état dans lequel se trouve l’objet lorsqu’il est

créé. Chaque objet a un et un seul état initial

État intermédiaire : Ce sont les différents états par lesquels le

systeme peut passer depuis sa création jusqu’a sa destruction. Un

objet peut avoir plusieurs états intermédiaires.

État final : C’est l’état qui met fin à la vie de l’objet. Un objet peut

ne pas avoir d’état final (objet éternel), un seul ou plusieurs états

finaux

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(6/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

État - Représentation

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(7/39)

State1State2état initialétat finalétats intermidiairesIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Transition

Les états sont reliés par des connexions unidirectionnelles appelées

transitions

Une transition est le passage instantané d’un état à un autre. On dit

que la transition est franchie lors du passage de l’état source à l’état

cible.

Notation

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(8/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Événements

Un événement est une occurrence ou un fait qui a lieu à un moment

donné.

Par exemple

L’utilisateur appuie sur le bouton de gauche

Le vol 123 part de Chicago

Électricité allumée

La température passe en dessous de zéro

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(9/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Publicité

Transition

Événement

Garde

Action et Activité

Événements

Différents types d’événements

Événements d’appel d’opération

Événements de signal

Événements de changement

Événements temporels

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(10/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Événements de signal

Événement qui consiste à émettre ou recevoir un signal

Un signal est un message entre objets, alors que l’événement de

signal en est une occurrence dans le temps.

Exemple : Départ de vol, Boutant Souris enfoncé, chaine saisie,

Récepteur décroché, chiffre composé...

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(11/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Événements de changement

Un événement de changement est causé par la satisfaction d !une

expression booléenne.

La notation UML de ce type d’événement est le mot-clé when.

Par exemple : when (charge de la batterie < limité inférieure)

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(12/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Événements temporels

Un événement temporel est causé par l’occurrence d’un temps

absolu ou par l’écoulement d’une durée.

Utilise le mot-clé when when(date = 01/01/2006) ou after after(10

secondes)

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(13/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(14/39)

prolongationEmpruntédéclaration perteDisponibleaffectationNouveauretour livrePerdudéclaration pertedemande empruntEn réparationenvoie réparationretour réparationréparation impossibledéclaration retraitRetirérefus réparationIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Garde

Une garde (ou une condition de franchissement) est une expression

booléenne qui doit être vraie pour qu’une transition soit franchie.

Notation : Après un événement, une condition est entre crochets.

Exemple :

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(15/39)

Disponibleretour[bon état]retour[mauvais état]EmpruntéEn réparationIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Action et Activité - Présentation

Un objet qui reçoit un événement déclenche une ou plusieurs

opérations

On distingue deux types d’opérations :

Action : n’a pas de durée et elle est associée a un état ou a une

transition

Activité : prend du temps d’exécution et elle est associée à un état

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(16/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Actions dans un état

Elle peut intervenir soit

En entrée de l’état (préfixe : ”entry/”)

En sortie de l’état (préfixe : ”exit/”)

En réponse à un événement (préfixe :” on non evt/”)

Représentation

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(17/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Actions dans un état

Un événement internet n’entraˆıne pas l’exécution des actions de

sortie et d’entrée, contrairement au déclenchement d’une transition

réflexive.

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(18/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Publicité

Événement

Garde

Action et Activité

Activité dans un état

Opération d’une certaine durée, qui est exécutée tant que l’objet se

trouve dans l’état

Une activité peut être interrompue par un évènement

Représentée dans l’état précédée par la notation ”do/”

Lorsqu’une activité se termine, les transitions automatiques (sans

événement), mais éventuellement protégées par des gardes, sont

déclenchées

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(19/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Effet dans une Transition

Un effet est un comportement optionnel réalisé par l’objet lorsque la

transition est déclenchée

En UML 2, un effet peut être

une simple action

une séquence d’actions

Une action élémentaire peut représenter la mise à jour d’un attribut,

un appel d’opération, la création ou la destruction d’un autre objet,

ainsi que l’envoi d’un signal à un autre objet.

Notation

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(20/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

État

Transition

Événement

Garde

Action et Activité

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(21/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Points de jonction

Points de choix

Points de décision

Permettent de représenter des partages de transitions ou des

alternatives pour le franchissement d’une transition

On utilise deux mécanismes :

Points de jonction (petit cercle plein) : pour partager des segments

de transition

Points de choix (losange) : pour choisir une ou une autre transition

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(22/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Points de jonction

Points de choix

Points de jonction

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(23/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Points de jonction

Points de choix

Point de décision - Points de choix

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(24/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites (ou imbriqués) - Objectifs

Un état composite (appelée aussi Super état) est décomposé en

deux ou plusieurs sous états

Objectifs :

Hierarchiser les etats

Structurer les comportements complexes

Factoriser les actions

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(25/39)

InactifraccrocherraccrocherdécrocherConnexionConversationconnectéracrocherterminéracrocherEmission TonalitéChiffreNumérotationChiffreIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Notation

Un état composite est représenté comme un état simple, sauf que les

sous états sont contenus dans le compartiment inférieur

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(26/39)

InactifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Notation abrégée

L’utilisation d’états composites permet de développer une

spécification par raffinements.

Une notation abrégée permet d’indiquer qu’un état est composite et

que sa définition est donnée sur un autre diagramme.

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(27/39)

InactifActifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Transitions

Les transitions ayant pour cible la frontiere d’un état composite ≡ a

une transition ayant pour cible l’état initial de l’état composite.

Une transition ayant pour source la frontière d’un état composite ≡

a une transition qui s’applique a tout sous-état de l’état composite

source.

une transition ayant pour source la frontière d’un état composite et

elle ne porte pas de déclencheur explicite, elle est franchissable

quand l’état final de l’état composite est atteint.

Les transitions peuvent également toucher des états de différents

niveaux d’imbrication en traversant les frontières des états

composites

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(28/39)

Introduction

Publicité

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - États concurrents

État composite pour représenter l’exécution de plusieurs automates

s’exécutant indépendamment

On utilise un séparateur en pointillés

L’objet peut être simultanément dans plusieurs états concurrents

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(29/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Exemple avec états concurrents

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(30/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Historique

On représente le pseudo état historique par un H cerclé

Une transition ayant pour cible l’état historique est équivalente à

une transition ayant pour cible le dernier état visité dans la région

contenant le H

H∗ (historique profond) est un état valable pour tous les niveaux

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(31/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Présentation

États concurrents

Historique

États composites - Exemple avec état historique

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(32/39)

LustrageLavageHLavageRinçageHafter(2mn)after(4mn)arrêt d'urgencerepriseAttenteafter(2mn)Séchageafter(2mn)Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Démarche d’élaboration

Ne pas chercher à modeliser trop de classes

Comment identifier les états ?

Recherche intuitive

Étude des attributs et des associations de la classe

Chercher le comportement d’un objet par les diagrammes

d’interactions (sequence et communication) sur chaque sénario

Comment construire le diagramme ?

Représenter d’abord la séquence d’états décrivant le comportement

nominal d’un objet

Ajouter les transitions correspondant aux comportement alternatifs

Intégrer les comportements d’erreurs

Ajouter les actions et activites

Structurer en sous états si le diagramme est trop complexe

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(33/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Démarche d’élaboration-Conseils

L’automate doit être déterministe

Si plusieurs transitions partant d’un état ont le même événement,

alors il doit y avoir des gardes qui garantissent le déterminisme

Tous les états doivent être accessibles depuis l’état initial

S’il y a des états terminaux alors, pour chaque état non terminal, il

doit exister un chemin de cet état vers un état terminal (...en

général)

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(34/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Exemple : Diagramme d’états d’une classe Mission (1/5)

(extrait de UML par la pratique, Pascal Roques, Eyrolles)

Description du comportement nominal

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(35/39)

En attentecreate(nom,nature)Validéevalider(DateDepartPrevue)départEn coursTerminéearrivéeIntroduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Exemple : Diagramme d’états d’une classe Mission (2/5)

Ajouter les transitions correspondant aux comportement alternatifs

La possibilité de modifier et d’annuler une mission jusqu’avant une

heure du départ prévu

Au bout de 48h, une mission terminéé est archivée et supprimé de la

mémoire vive du système.

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(36/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Exemple : Diagramme d’états d’une classe Mission (3/5)

Ajouter les actions et les activités

Activité : Définir une mission(état ”En attente”)

Actions : création d’une FeuilleDeRoute ou d’un SuiviMission,

notifier le répartiteur, libérerResources et l’archivage

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(37/39)

Introduction

Concepts de base

Points de décision

États composites

Démarche d’élaboration

Démarche

Exemple

Exemple : Diagramme d’états d’une classe Mission (4/5)

L’activité définirMission recouvre un traitement complexe consistant à

enchainer

affectation de commande

affectation de resources comprend en parallèle la recherche d’un

véhicule libre de tonnage suffisant et la recherche d’un chaffeur

qualifié

I. MOUAKHER-ABDELMOULA

Conception Orientée Objet

(38/39)