Vous êtes sur la page 1sur 11

Chapitre 7 : La modlisation du comportement des objets Squence 1 : Concepts de base

Introduction
Ltude du cycle de vie des objets permet de dcrire les aspects dynamiques des systmes. Elle consiste tudier le comportement dun objet depuis sa cration jusqu sa disparition. Un cycle de vie est reprsent sous la forme dun diagramme dtat-transition qui correspond un automate tats finis. On utilise un tel diagramme pour modliser la dynamique dun systme quelconque (cas dutilisation, composant, ), mais on lapplique gnralement un objet dune classe.

Les termes et les concepts tat, Transition, vnement


Un objet prend, tout au long de son existence (cycle de vie), des tats stables. Chaque tat correspond une situation ou une activit particulire. Par exemple, un salari dune entreprise peut prendre les tats : en activit, en cong, en maladie et en retraite. Le changement dtat dun objet seffectue selon des rgles inhrentes au comportement de lobjet ou son environnement. Par exemple, la fermeture annuelle de lentreprise fait passer le salari de ltat en activit ltat en cong . Ce passage dun tat un autre est un lien unidirectionnel entre les 2 tats appel transition. Le passage dun tat un autre via une transition est dclench par un vnement ; celui-ci correspond une information ou un tat instantan qui agit sur lobjet. Contrairement un tat qui peut durer plus ou moins longtemps, lvnement doit tre trait sur le champ. Par exemple, lvnement limite dge atteinte fait passer le salari de ltat en activit ltat en retraite sur la transition correspondante. Les principaux types dvnement sont :

vnement de changement : Un vnement de changement reprsente un changement de valeur dune condition boolenne dans un tat ou la satisfaction de certaines conditions. Il est dsign par le mot-cl quand .
Exemple :- quand(12 :00)

vnement de temps : il est utilis pour reprsenter lcoulement du temps depuis lentre dans un
tat donn ; lexpiration dun dlai ou dune dure. Cest le passage dun certain intervalle de temps. Il est dsign par le mot-cl aprs . Exemple :- aprs(2secondes)

vnement dappel : Un vnement dappel reprsente lappel dune opration dun objet. Cest la
rception dun message asynchrone pour lequel lmetteur attend une rponse.

vnement de signal : Un vnement de signal est un vnement qui reprsente la spcification dun stimulus asynchrone entre objets. Cest la rception dun message asynchrone.
Illustration 1

La figure ci-dessous prsente le graphe tat-transition partiel dun objet Compte bancaire

tat
Ouverture dun compte

Transition Fermeture dun compte ferm Dlai

Ouvert

Illustration 2 La figure ci dessous prsente le graphe tat-transition dun objet employ

tat initial Recrutement Limite dge

tat final En activit En retraite Dcs

Illustration 3 Il convient de noter que seuls les vnements faisant changer dtat sont mentionns dans un DET. Par exemple, un salari en activit peut rpondre de nombreux vnements mais conservera son tat. Un mme vnement peut agir sur des tats diffrents et deux vnements distincts peuvent aboutir au mme tat.

Limite dge

En retraite Dcs Licenciement

Dcs

Embauche

En activit

Dans ce dernier exemple, la disparition de lobjet (tat final) nest pas uniquement lie au dcs dun salari mais aussi un licenciement. Ltat final signifie que lobjet nintervient plus dans le systme. Par ailleurs, labsence dun tat final dans un DET signifie que le systme fonctionne en continu.

Conditions de garde
Loccurrence dun vnement peut tre associe un prdicat dont lvaluation dclenchera ou non la transition. Par exemple, lvnement limite dge atteinte est associ au prdicat le nombre dannes de cotisation est suprieur ou gal 40 pour permettre lobjet de passer ltat en retraite . Ainsi, la survenance dun vnement ne peut, elle seule, dclencher une transition ; il est ncessaire que le prdicat soit aussi vrifi. Illustration 1 : Transition avec condition de garde

Fermeture [anciennet >1 an] entreprise

En cong pay

En activit En cong sans solde

Fermeture [anciennet < 1 an] entreprise

Illustration 2 : Gnralement, on tudie les changements dtats. Mais, il convient de noter quun vnement ne provoque pas ncessairement un changement dtat comme le montre le DET de la figure 5 relatif un compte bancaire.

Alimentation

CREDITEUR

Retrait [solde > 0]

Transition avec opration


Lvnement qui dclenche une transition, peut galement dclencher lexcution dune opration. Les oprations correspondent des traitements associs la survenance dun vnement ou ltat dun objet. Illustration : Transition avec opration et condition de garde Dans un DET, une opration sur une transition est mentionne la suite de lvnement. Un mme vnement peut tre associ des transitions distinctes. Cest le prdicat appliqu lvnement qui dtermine la transition dclencher.

Retrait [Montant > Solde] / Prlever ()

Retrait [Montant > Solde] / Prlever () CREDITEUR DEBITEUR

tat avec opration


Il est possible de dissocier une opration dun vnement particulier en la liant directement un tat. Illustration : tat avec opration Par exemple, quel que soit lvnement qui aboutit ltat dun compte dbiteur, lopration EditerAvis imprimera une lettre davertissement destine au client.

Prlvement du Fisc / Prlever ()

Retrait / Prlever () CREDITEUR DEBITEUR EditerAvis ()

Opration
tat et sous-tats
La complexit de certaines situations conduit le concepteur utiliser les abstractions dtats. Il sagit de reprsenter des cas particuliers (sous-tats) au sein dun mme tat. Les principes noncs prcdemment sappliquent galement aux sous-tats.

Illustration 1 La figure ci-dessous exprime la situation selon laquelle tout employ recrut est affect un projet qui est un sous-tat dactivit. Toujours en tat dactivit, lemploy passera en attente daffectation ds la fin du projet en cours et y restera tant quil ne sera pas affect un nouveau projet. Quel que soit le sous-tat dans lequel il se trouve, le dpart en retraite de lemploy le conduit quitter ltat gnrique Activit.

ACTIVITE Recrutement Affect projet Affectation Fin de projet En attente

Dpart en retraite

Illustration 2 La figure suivante illustre les sous-tats pris par un compte dbiteur selon quun contrat bancaire autorise ou non le dcouvert. videmment, le nombre de niveaux de dcompositions dun tat nest pas limit, mais la comprhension peut savrer dlicate face une imbrication importante de sous-tats. Il est donc possible de ne reprsenter que les tats de bas niveau, au prix dune multiplication de transitions comme le montre la figure.

DEBITEUR
[Absence contrat] Retrait DECOUVERT INTERDIT CalculerFrais () DECOUVERT AUTORISE EditerAvis () [contrat]

La notation : Les diagrammes tat-transition


Un diagramme dtat transition (DET) permet de reprsenter graphiquement le comportement dun objet, dun groupe dobjets, dun cas dutilisation ou mme du systme dans son intgralit. Un DET reprsente le comportement dun objet en dcrivant ses tats stables ainsi que les vnements qui le font passer dun tat un autre. Les tats successifs sont reprsents par des bulles relies par des transitions. Les vnements auxquels lobjet ragit et qui le font changer dtat sont mentionns sur les transitions.

Squences 2 : Exercices
Exercice 1 : Feux tricolores nonc :
Il sagit de modliser le comportement de feux tricolores placs un carrefour. Les 4 feux sont synchroniss et sont coupls 2 2.

Solution :
On modlise le comportement dun feu. Comme les 4 feux sont synchroniss et coupls 2 2, nous considrons les feux F1 et F2 qui fonctionnent en oppos. Lors de la mise en service, les 4 feux affichent la couleur orange en clignotant pendant 10 secondes (Dlai_1). On suppose que l'arrt des feux s'effectue par coupure de lalimentation lectrique.

Mise en service ROUGE


Allumer(F1,Rouge)

CLIGNOTANT
Allumer(F1,OrangeCli)

Dlai_2 Dlai_3

Dlai_1 Dlai_4
ORANGE Allumer(F1,

VERT Allumer(F2,Rouge)

Exercice 2 : Cycle de vie dun citoyen


nonc
Les registres de naissances sont tenus par les services de ltat-civil dans les mairies. Toute personne naissant dans une commune doit tre inscrite dans le registre des naissances de cette commune. Tout au long de sa vie, les vnements officiels modifiant sa situation familiale feront lobjet dune mention appose sur son acte de naissance.

Solution:
On modlise les tats dune personne.

Dclaration de naissance
MARIEE

Mariage [Age>16] Dcs du conjoint


CELIBATAIR E

Remariage

Divorce

Remariage
VEUVE

Dcs

DIVORCEE

Dcs Dcs
ARCHIVEE

Dcs

Dlai

DECEDEE

Exercice 3 : Cycle de vie dun compte bancaire


nonc :
Vous tes charg de modliser le cycle de vie dun compte bancaire, depuis son ouverture par le client jusqu sa clture. Vous prciserez les oprations, ainsi que les conditions de garde le cas chant.

Solution :
On modlise les tats dun compte bancaire

Dpt/Verser() Demande douverture


OUVERT CREDITEUR

Demande de fermeture

Retrait[Montant>Solde] /Prlever() Dpt[Montant+Solde > 0] /Verser()


CLOS

Dlai

Fermeture pour insolvabilit

DEBITEUR

Exercice 4 : Cycle de vie dune facture


nonc :
Monsieur BARTEAU aimerait disposer d'un outil informatique d'aide la gestion de la facturation. Cet outil devrait comporter des fonctionnalits de suivi des factures et, si possible, de construction dchanciers pour certains clients. Actuellement, les factures sont conserves dans un livre et se structurent ainsi :

Facture n 1345 Le 06/01/2000 Total TTC : 35 500 FF

Client : M. HOYEAU pour le restaurant de l'Opra 3, rue de l'Opra 03300 VICHY Tl. : 04.70.89.67.54

chancier Le 06/02/2000 : 17 000 FF Le 31/05/2000 : 18 500 FF Versements Retards Le 06/02/2000 : 17 000 FF Le 13/02/2000 : 13 000 FF Le 30/05/2000 : 18 000 FF Le 13/02/2000 : 04 000 FF Le 30/05/2000 : 00 000 FF Le 31/05/2000 : 04 500 FF Montant pay : 31 000 FF tat Facture : impaye

Quand l'entreprise tablit une facture, elle peut accorder certains clients un paiement fractionn. Les modalits de l'chancier (nombre d'chances, montants et dates des chances) sont le rsultat d'une ngociation avec le client. Ces modalits apparaissent dans la partie "chancier" de la facture. Les diffrents rglements effectus par le client sont enregistrs dans la colonne "Versements". Le montant total des versements apparat dans la case "Montant pay". Les dates de versement et les montants effectivement verss peuvent tre diffrents des dates et versements prvus dans l'chancier. Par exemple, la facture ci-dessus fait apparatre un retard pour la premire chance ainsi qu'une diffrence entre le montant prvu et le montant effectivement vers. La colonne "Retards" fait apparatre l'volution du cumul des ventuels retards de paiement en fonction des versements et des chances. larrive de chaque chance et/ou de chaque versement, on calcule le retard ventuel et on met jour l'tat de la facture. La case "tat facture" peut prendre 5 valeurs : "en cours" : Quand la date de la dernire chance n'est pas encore passe et que le client n'a pas de retard de paiement par rapport ce qui tait prvu. "retard" : Quand la date de la dernire chance n'est pas encore passe et que le client est en

retard de paiement par rapport ce qui tait prvu. "paye" : Quand la date de la dernire chance est passe et que la facture a t intgralement paye sans retard par rapport l'chancier. "rgle" : Quand la date de la dernire chance est passe et que la facture a t intgralement paye mais avec retard par rapport l'chancier. "impaye" : Quand la date de la dernire chance est passe et que le montant pay est infrieur au montant total HT. Larchivage des factures payes, rgles ou impayes seffectue cinq ans aprs la dernire chance. On peut ainsi avoir connaissance de la situation des clients au regard du paiement de leurs factures. Les commerciaux pourront ainsi, ne plus accorder de paiement en plusieurs fois un client qui aura pos des problmes.

Questions :
1) Construire le diagramme de classes permettant la reprsentation des factures 2) Construire le diagramme tat / transition reprsentant le cycle de vie dune facture