Note technique Transposition Barker-Merise-UML

Transcription

Note technique Transposition Barker-Merise-UML
SITP
Système d'Information Transport Public
setec its
TRUST
Note technique
Transposition Barker-Merise-UML
Nous présentons ici une équivalence de notations entre trois systèmes :
§ notation entité-relation Barker, telle qu'implémentée dans l'outil Oracle Designer et utilisé pour Transmodel jusqu'à la version 5,
§ notation Merise, telle qu'implémentée dans l'outil Power AMC, non utilisée dans SITP2 1,
§ notation UML, telle qu'implémentée dans l'outil Mega et utilisée dans le cadre de SITP et SITP2.
Traitement des relations
Notation Barker / Oracle
A
Notation MERISE / AMC
B
1 A peut être relié à 0 ou 1 B
1 B peut être relié à 0 ou 1 A
1,1
1,1
B
1 A est relié à 1 et 1 seul B
1 B est relié à 1 et 1 seul A
1 A doit être relié à 1 B
1 B doit être relié à 1 A
A
A
Notation UML / MEGA
B
A
0,1
1 A est relié à 0 ou 1 B
1 B est relié à 0 ou 1 A
A
1
1
B
pour 1 B donné, il existe 1 A
pour 1 A donné, il existe 1 B
0,1
B
A
0..1
0..1
B
pour 1 B donné, il existe 0 ou 1 A
pour 1 A donné, il existe 0 ou 1 B
1
La notation Merise n'a pas été utilisée dans SITP2. Elle figure ici en tant que référence familière à de nombreux destinataires naturels du présent document.
Elle leur permet de bien prendre note de l'inversion "scélérate" entre les cardinalités de Merise et les multiplicités d'UML. Il suffit ici de savoir que, pour passer de Merise à UML, dans le cas de
relations binaires, il faut simplement intervertir les rôles et changer un peu la ponctuation (".." au lieu de ",", "*" au lieu de "n", etc.). Pour des relations d'arité supérieure à deux (relations ternaires,
quaternaires…) c'est plus compliqué et on touche là le caractère obscur et reprochable de l'approche UML, mais il n'y a pas de telles relations dans Transmodel.
SITP
Page 1
Restreinte
SITP
Système d'Information Transport Public
setec its
TRUST
Notation Barker / Oracle
A
Notation MERISE / AMC
B
A
B
A
B
A
B
A
A
B
1 A peut être relié à 0 ou plusieurs B
B hérite de l'identifiant de A
B
B
1 A doit être relié à 1 ou plusieurs (n) B
1 B doit être relié à 1 ou plusieurs (n) A
SITP
Restreinte
B
0,n
0,n
A
0,n
A
1,n
0,1
B
1,n
1 A est relié à 1 à n B
1 B est relié à 1 à n A
B
1
A
1..*
B
0..1
A
*
B
pour 1 B donné, il existe 0 ou 1 A
pour 1 A donné, il existe 0 ou plusieurs B
1,1
B
1
A
*
B
pour 1 b donné, il existe 1 A
pour 1 A donné, il existe 0 ou plusieurs B
(1,1)
B
0,1
1
A
*
B
A est composé de Bs
B
1 A est relié à 1 à n B
1 B est relié à 0 ou 1 A
A
0..1
pour 1 B donné, il existe 1 A
pour 1 A donné, il existe 1 ou plusieurs B
1 A est relié à 0 à n B
La relation est identifiante pour B
1 A doit être relié à 1 ou plusieurs (n) B
1 B peut être relié à 0 ou 1 A
A
1,1
1 A est relié à 0 à n B
1 B est relié à 1 et 1 seul A
1 A peut être relié à 0 ou plusieurs B
1B doit être relié à 1 A
A
1,n
1
A
pour 1 B donné, il existe 1 A
pour 1 A donné, il existe 0 ou 1 B
1 A est relié à 0 à n B
à 0 ou 1 A est relié 1 B
1 A peut être relié à 0 ou plusieurs B
1 B peut être relié à 0 ou 1 A
A
B
1 A est relié à 1 à n B
1 B est relié à 1 et 1 seul A
1 A doit être relié à 1 ou plusieurs (n) B
1 B doit être relié à 1 A
A
1,1
1 A est relié à 0 ou 1 B
1 B est relié à 1 et 1 seul A
1 A peut être relié à 1 B
1 B doit être relié à 1 A
A
0,1
Notation UML / MEGA
A
0..1
1..*
B
pour 1 B donné, il existe 0 ou 1 A
pour 1 A donné, il existe 1 ou plusieurs B
1,n
B
A
1..*
1..*
B
pour 1 B donné, il existe 1 ou plusieurs A
pour 1 A donné, il existe 1 ou plusieurs B
Page 2
SITP
Système d'Information Transport Public
setec its
TRUST
Notation Barker / Oracle
A
Notation MERISE / AMC
B
1 A peut est relié à 0 ou plusieurs (n) B
1 B peut être relié à 0 ou plusieurs (n) A
A
B
1 A doit être relié à 1 ou plusieurs (n) B
1 B peut être relié à 0 ou plusieurs (n) A
A
B
1 A peut être relié à 0 ou plusieurs (n) B
1 B doit être relié à 1 ou plusieurs (n) A
SITP
Restreinte
A
0,n
0,n
Notation UML / MEGA
B
1,n
0,n
B
0,n
1 A est relié à 0 à n B
1 B est relié à 1 à n A
*
B
A
*
1..*
B
pour 1 B donné, il existe 1ou plusieurs A
pour 1 A donné, il existe 0 ou plusieurs B
1 A est relié à 1 à n B
1 B est relié à 0 à n A
A
*
pour 1 B donné, il existe 0 ou plusieurs A
pour 1 A donné, il existe 0 ou plusieurs B
1 A est relié à 0 à n B
1 B est relié à 0 à n A
A
A
1,n
B
A
1..*
*
B
pour 1 B donné, il existe 1 ou plusieurs A
pour 1 A donné, il existe 0 ou plusieurs B
Page 3
SITP
Système d'Information Transport Public
setec its
TRUST
Traitement des héritages
BARKER
MERISE/A M C
UML/MEGA
Héritage exclusif
A
A
A
C
D
B
C
B
C
B
E
D
D
E
E
Remarque : le caractère exclusif se traduit par (X) en AMC et par un râteau en UML
Héritage non exclusif
A
B
B
SITP
Restreinte
A
A
C
B
C
C
Page 4
SITP
Système d'Information Transport Public
setec its
TRUST
Traitement de la contrainte d'exclusion de relations
BARKER
MERISE/A M C
UML/MEGA
M
M
Z
MZ
Z
M
1,1
0,n
*
MX
1,1
*
X
1,1
1
1
X
Y
0,n
X
*
MY
Z
1
0,n
Y
Y
X
SITP
Restreinte
Page 5