Professional Documents
Culture Documents
L'objet est une unité formée d'un état, constitué des valeurs instantanées de ses
attributs et d'un comportement.
Les attributs sont des valeurs qui sont associées aux objets (ex : couleur est un
attribut d'un objet voiture).
Le comportement regroupe les compétences de l'objet.
Ce comportement est décrit par ce que l'on appelle des opérations déclenchées
par des stimulations externes appelées messages.
Autrement dit, un objet joue un rôle dans un système.
Il est assuré au moyen de ses attributs ou de ses opérations.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Le diagramme de séquence
Le diagramme de collaboration
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Cette façon de procéder a pour avantage, d'une part de penser le système en terme
d'objets (et non plus en terme de classes, encore une fois, le système contient des
objets, pas des classes), d'autre part de s'en tenir aux objets réellement pertinents
pour les besoins.
Quels sont les objets du système qui collaborent au scénario ? Quels messages
échangent-ils ? Les diagrammes de collaboration permettent de dessiner les objets,
donc de les visualiser. A partir de là, il est plus facile de se poser des questions telles
que : quelle est la demande que tel objet envoie à tel autre pour participer au
scénario ? Cela suppose une idée générale des responsabilités de chacun des
objets. Rappelons que la responsabilité d un objet rassemble à la fois :
Qui il est, c'est-à-dire ce qui permet de le distinguer de tous les autres objets,
y compris de ceux qui lui sont semblables
Ce qu il sait, c'est-à-dire l ensemble de ses attributs instanciés, par exemple :
couleur = « bleu », poids = 275 g, etc
Ce qu il sait faire, c'est-à-dire l ensemble de ses opérations, par exemple :
Créer(), Détruire(), Décrocher(), Composer(numéro), etc .
Dans un diagramme de séquence, un objet est représenté par une boîte contenant le
nom de l objet éventuellement suivi du nom de la classe à laquelle il appartient. Une
ligne verticale en pointillés représente la ligne de vie de l objet.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Décrocher
Les périodes durant lesquelles l'objet est actif sont représentées sur l'axe des temps
par un rectangle, et portent le nom de périodes d'activation.
Attention, un objet peut être actif plusieurs fois au cours de son existence.
Cette période correspond simplement à la durée pendant laquelle l'objet "travaille",
pendant laquelle le code de cet objet est exécuté par le processeur si l'on est
dans le cas d'un programme informatique.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Un même message peut déclencher des opérations différentes selon l'objet qui le
reçoit. C est la notion de polymorphisme.
Concernant la réponse à un message, un événement peut être associé à la
réception d'un message.
Si la réponse est instantanée il n'y a pas de message associé à la réponse.
Il existe différents types de messages.
M essage 1
M essage2
M essage 3
Les objets s'échangent des messages. L'axe des temps donne l'information sur la
chronologie, les délais, la simultanéité de l'envoi des messages. Les notations
concernant les messages sont identiques à celles pratiquées dans le diagramme de
collaboration.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
C est le type message le plus souvent utilisé. Selon les AGL, il est référencé
comme :
Dans chacun des ces cas, la typage du message en tant qu appel d une opération
n est réalisable qu à partir du moment où l objet considéré a préalablement été
déclaré comme appartenant à une classe.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Les messages d appel d opération peuvent transporter des valeurs par l intermédiaire
de paramètres. On distingue :
1. les paramètres d appel qui peuvent être nombreux et qui sont placés dans
les parenthèses ouvrantes et fermantes de l opération. Dans l exemple ci-dessus :
Message2(p)
Ils correspondent aux deux opérations de base auxquelles ont accès tous les objets.
Mais si tous les objets d un système peuvent êtres créés et détruits,ils ne se
positionnent pas de la même façon vis-à-vis de ces deux opérations fondamentales.
C est, en général, ce qui permet de distinguer les objets réputés « permanents » des
objets « temporaires ».
Bien sûr, à l échelle de l histoire de l univers, tous les objets peuvent être considérés
comme temporaires ! Dès lors, comment distinguer, les uns des autres ?
Ce sont les cas d utilisation qui nous apporteront une réponse.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Un objet:
Création
Un autre:
Ils représentent des messages qu un objet s envoie à lui-même. En général, cela est
représentatif que l on se trouve confronté à un objet composite. Dès lors deux
positions peuvent s envisager :
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Mais en pareil cas, il faut être certain que l’on ne glisse pas insensiblement d’une
représentation des objets du système vers une représentation du comportement des
classes !
Objet 1: Objet 2: Objet 3:
[X] M essage
[non X] M essage
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Le message A est envoyé avec une itération symbolisée par *[i :=1..n].
Le message B1 signifie que l objet 2 va demander à l objet 3 une valeur qui
sera contenue dans le paramètre p.
Le message B2 correspond à la même action avec un formalisme différent.
Le message C est la figure inverse des précédents. Ici, c est l objet 2 qui
envoie la valeur p à l objet 1.
Enfin, le message D déclenche l activité de l objet 3 qui s envoie un message
à lui-même, c est un message récursif.
*[i:=1..n] M essage A
p := M essage B1
M essage B2
M essage C (p )
M essage D
M essage F
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
messageMinuté (timeout)
Bloque l'expéditeur pendant un temps donné (qui peut être spécifié dans une
contrainte), en attendant la prise en compte du message par le récepteur.
L'expéditeur est libéré si la prise en compte n'a pas eu lieu pendant le délai spécifié.
messageSynchrone()
Bloque l'expéditeur jusqu'à prise en compte du message par le destinataire. Le flot
de contrôle passe de l'émetteur au récepteur (l'émetteur devient passif et le
récepteur actif) à la prise en compte du message.
messageAsynchrone()
N'interrompt pas l'exécution de l'expéditeur. Le message envoyé peut être pris en
compte par le récepteur à tout moment ou ignoré (jamais traité).
messageDérobant()
N'interrompt pas l'exécution de l'expéditeur et ne déclenche une opération chez le
récepteur que s'il s'est préalablement mis en attente de ce message.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
UML permet également de spécifier de manière très précise l'ordre et les conditions
d'envoi des messages sur un diagramme dynamique.
Pour chaque message, il est possible d'indiquer :
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
3 Le diagramme de collaboration
Les diagrammes de collaboration montrent des interactions entre objets. Ils
permettent de représenter le contexte d'une interaction, car on peut y préciser les
états des objets qui interagissent. Ces diagrammes sont une extension des
diagrammes d'objet.
Un diagramme de collaboration ne représente pas le temps. Il faut numéroter les
messages échangés entre les objets afin de connaître l'ordre d'envoi. Ils peuvent
aussi représenter les acteurs des cas d'utilisation. Le diagramme de collaboration est
isomorphe au diagramme de séquence. Il met davantage l accent sur la
représentation spatiale des objets, alors que le diagramme de séquence met l accent
sur la représentation temporelle. Ce diagramme fera l objet d une présentation dans
un document spécifique.
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC 2006/2007
4 Annexe :
Inclut
Est inclus
Etend
Spécialise
Généralise
Description
1. Mr Jules décroche son téléphone
2. Le téléphone de Mr Jules active la ligne du RTC
(Réseau téléphonique commute)
3. Le réseau envoie la tonalité
4. Mr Jules fait son numéro
5. Le numéro est transmis au réseau
6. Le réseau contrôle la validité du numéro
7. Le réseau recherche le correspondant
8. Le correspondant est trouvé
9. Le réseau fait sonner le téléphone de Mr Edouard
10. Mr Edouard décroche son téléphone
11. Sa ligne est activée
12. Une conversation est créée (objet temporaire)
13. Mr Jules raccroche
14. La ligne de Mr Jules est libérée
15. Mr Edouard raccroche
16. La ligne de Mr Edouard est libérée
Hamid Azzi
M09 SPECIFICATION FONCTIONNELLE D’UNE APPLICATION INFORMATIQUE TSDI1GC
2006/2007
Index du Texte :
Hamid Azzi