• Aucun résultat trouvé

Cours UML diagramme d’état en pdf – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Cours UML diagramme d’état en pdf – Cours et formation gratuit"

Copied!
1
0
0

Texte intégral

(1)

UML Formalisme diagramme d’état - transition

tiré du volume Modélisation objet avec UML, Pierre-Alain Muller et du volume UML en Action

adapté par Diane Gamache le 20 janvier 2004

Diagramme d’état Etat

Événement – Transition Action

Garde

(2)

Le diagramme d’état représente le cycle de vie pour les objets d’une même classe. On utilisera les diagrammes d’état pour les objets ayant des changements d’état complexes. Le diagramme représente la séquence possible des états. Un changement d’état se produit lorsqu’un événement se réalise sur l’objet. Tant que l’objet est dans un état X, une activité aura lieu pour maintenir ce même état.

Utilité du diagramme d’état : Le diagramme d’état permet d’enrichir notre connaissance d’une classe en identifiant ses différentes opérations.

État : image instantanée des valeurs contenues par les attributs de l’objet. Chaque objet est à un moment donné dans un état particulier.

Exemple pour un avion, son état pourrait être « Au sol » ou « En vol »

État initial : Début de l’existence de l’objet (exemple l’événement « immatriculation » pour l’avion) État final : signifie la fin de l’objet (souvent sa destruction, exemple l’événement « crash » pour l’avion.

Transition : lorsque les conditions

dynamiques évoluent, les objets changent d’état. Le passage d’un état à l’autre s’effectue lorsqu’une transition est déclenchée par un événement. Les états sont reliés par des connexions

unidirectionnelles, appelées transitions.

Événement : sert de

déclencheur pour passer d’un état à un autre.

Au sol En vol

Au sol En vol

Au sol En vol

Sémaphore Départ

Sémaphore

Atterrir crash

Immatriculation

(3)

Au sol_1 En vol_1 Immatriculation

Sémaphore atterrir[ train d'atterrissage sorti ]

crash Sémaphore départ[ moteurs

tournent; accélérateur fonctionnel ]

mise au rancart

Garde : condition pour réaliser une transition. La garde valide ou non le déclenchement d’une transition lors de l’occurrence d’un événement.

Actions et Activités :

Indique les opérations à ajouter sur la classe

Au sol do/ Traiter sémaphore

En vol

do/ Surveiller instrumentation vol Immatriculation / Mettre en inventaire

Sémaphore Atterrir[

train d'atterrissage

sorti ] / Atterrir crash / Retirer de l'inventaire;

Reclamer assurance Sémaphore Départ[ moteurs

tournent ; accélérateur fonctionnel ] / Décoller

Désuétude / Retirer de l'inventaire

Enrichir les opérations de la classe Avion

Avion IdAvion : Integer TournerMoteur() Accélérer() Decoller()

Surveiller Instrumentation() Atterrir()

Traiter Sémaphore() Mettre en Inventaire() Retirer de l'inventaire() ReclamerAssurance()

(4)

Formalisme pour un diagramme d’état

ETAT-A do/ Activité

ETAT - B do/ Activité

Événement déclencheur[ garde ] / Activité

Exemple pour un POPUP MENU d’un IHM

Ouverture application

Item selected

Non visible Menu

visible Sélection Item

mouseDown(right)[ Popup associé ] / Display

PopPup

mouseOver / highlightMenuItem

mouseUp(right) / hidePopup Click MenuItem

(5)

Exemple pour les objets de la classe Habitations résidentielles

Chauffé

Climatisé Aéré

Trop chaud[ température >

25 oC ] / Climatiser Trop chaud[ Température >

20 et < 25 oC ] / Aérer

Trop froid / chauffer Trop froid / chauffer

Exemple d’un état englobant pour mémoriser l’historique pour les objets de la classe Lave Vaisselle

fin lavage Cycle de lavage

Rinçage Lavage Séchage

Attente Fermeture porte

On poursuit le cycle de lavage lors de la fermeture de porte

Rinçage Lavage Séchage

Ouverture porte

Interruption cycle Appuie bouton lavage

(6)

Exemple pour les objets de la classe Travailleur

Modélisation d’un processus d’employabilité (travail – chômage – retraite)

En activité do/ Travailler

event Jour de paie/ Rémunérer

Au chômage

À la retraite Entrevue sélection / Embaucher

Entrevue sélection / Embaucher

Décès

Sur le bien-être Social Fin chômage[ Moins de 60 ans ] / Recevoir

BS Congédiement[ Moins de 60 ans ; illigible au chômage ] / Congédier

^Cessation d'emploi

Congédiement[ Non illigible au chômage & moins de 60 ans ] / Congédier ^Cessation

d'emploi

Congédiement[ Plus de 60 ans ] / Retraiter

^Cessation d'emploi

Âge retraite / Retraiter

Désire se retraiter[ Illigible à la retraite ] / Retraiter

^Cessation d'emploi

Âge retraite / Retraiter Entrevue sélection /

Embaucher

Enrichir la classe Travailleur

Travailleur Antécédants d'emploi Résultats d'entrevue Poste occupé Âge

Embaucher() Congédier() Retraiter() Rémunérer()

(7)

Exemple Guichet automatique

En attente do/ Attendre activation

Validation Carte do/ Valider Carte

Vérification sécurité entry/ Demander Nip do/ Vérifier Nip

Insertion carte Carte invalide / Rejeter carte

Carte valide

Retrait ; dépôt;

paiement factures

Transactions

Facture payée

Argent remis Dépôt reçu

Choix de transaction

Facture payée

Argent remis Dépôt reçu

Nip valide Avis de transaction / Exécuter transaction

terminer / Remettre carte Choix de

transaction Recevoir paiement facture[

fonds suffisants ] / Payer fournisseur service ; créditer

compte Recevoir enveloppe dépôt / Débiter compte

Demande retrait argent[ fonds suffisant ] / Remettre argent ;

créditer compte

(8)

Quelles seraient les opérations sur la classe guichet ?

(complétez les attributs et les opérations ou méthodes sur la classe Guichet Automatique)

GuichetAutomatique

Quelles autres classes devraient être impliquées dans le processus pour compléter les responsabilités de la classe Guichet Automatique ?

(faites ici le diagramme de classe)

Références

Documents relatifs

Le problème : lorsqu'une classe est créée, faut il la réutiliser en fabriquant un objet de cette classe à l'intérieur d'une autre classe (inclusion) ou en hériter

l Les variables d’instance représentent l’état courant d’un objet: elles sont globales à toutes les méthodes de l’objet. l La création d’une nouvelle instance (message new

La réduction de la portée de l'association est souvent réalisée en phase d'implémentation, mais peut aussi être exprimée dans un modèle pour indiquer que les instances d'une classe

3.1. Pour les élèves, il représente une aide efficace pour résoudre les probkmes. L’élève ayant construit son diagramme peut choisir le système en fonction

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Deux objets diff´erents, instances de la mˆeme classe, d´efinissent des contextes isomorphes mais diff´erents, dans lesquels l’ex´ecution d’un mˆeme corps de proc´edure peut

Parce que le travail proposé se situe à un niveau rarement pris pour objet en didactique, les animateurs proposent de distinguer trois institutions : celle de

En revanche, les élèves ARTE2 qui sont scolarisés dans des écoles dans lesquelles ils bénéficient d’un encadrement intensif (soit un maître ARTE présent à temps complet, soit