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