• Aucun résultat trouvé

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

N/A
N/A
Protected

Academic year: 2022

Partager "Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :"

Copied!
8
0
0

Texte intégral

(1)

Christian Soutou

UML 2 pour les

bases de données

Avec 20 exercices corrigés

© Groupe Eyrolles, 2007,

(2)

Chapitre 4

Outils du marché :

de la théorie à la pratique

Non mais t’as déjà vu ça ? En pleine paix. Y chante et puis crac, un bourre-pif ! Mais il est complètement fou ce mec ! Mais moi, les dingues j’les soigne. J’m’en vais lui faire une ordonnance, et une sévère ! J’vais lui montrer qui c’est Raoul. Aux quatre coins de Paris qu’on va le retrouver, éparpillé par petits bouts, façon puzzle. Moi quand on m’en fait trop, j’correctionne plus, j’dynamite, j’disperse, j’ventile...

Les Tontons flingueurs, B. Blier G. Lautner, dialogues M. Audiard, 1963

Ce chapitre valide la démarche théorique de l’ouvrage en la comparant aux principales solu- tions informatiques du marché qui mettent en œuvre la notation UML et l’interconnexion à une base de données (le plus souvent par un pilote ODBC ou JDBC). Les 14 outils étudiés sont : Enterprise Architect, MagicDraw, MEGA Designer, ModelSphere, MyEclipse, Objecteering, Poseidon for UML, PowerAMC, Rational Rose Data Modeler, Together, Visio, Visual Paradigm, Visual UML et Win’Design. Le lecteur trouvera en annexe les adresses Internet de ces produits.

Sont exclus de ce comparatif, les outils qui ne prennent pas en compte UML pour l’instant, citons DB Designer, Database Design Studio, DeZign, AllFusion ERWin, xCase, CASE Studio et ER/Studio.

La partie consacrée aux bases de données n’est pas prépondérante pour la majorité des outils.

D’autres fonctionnalités sont offertes en ce qui concerne la modélisation de processus métier BPM (Business Process Models) qui peuvent être importés ou exportés conformément au langage BPEL4WS (Business Process Execution Language for Web Services). Bon nombre

(3)

UML 2 pour les bases de données

La majorité des outils proposent un processus de conception basé sur les différents niveaux du conceptuel au physique (forward engineering), un processus de rétroconception (reverse enginee- ring) et un processus d’interéchange (round-trip engineering) entre chaque modèle. Les outils permettent également la génération de code en différents langages (SQL, PowerBuider, C++, C#, Java, XML, IDL-CORBA, Visual Basic, IHM ou site Web).

Seuls Together et MyEclipse sont totalement intégrés à Eclipse (Objecteering et MagicDraw proposent toutefois un plug-in).

Chaque logiciel sera évalué selon la qualité d’implémentation de différents diagrammes de classes incluant les critères suivants :

associations binaires et n-aires, classes-associations et agrégations ;

contraintes (partition, inclusion et relatives à l’héritage) ;

héritage (décomposition au niveau logique et héritage multiple) ;

rétroconception d’une base de données.

Pour chaque critère, un tableau illustre la mise en œuvre des outils avec une signalisation à t 248248rois états (satisfaisante : feu vert, moyenne : feu orange, insatisfaisante et absente : feu rouge). Certaines particularités intéressantes seront illustrées par des copies d’écran au fil des exemples. Le classement final, qui prend également en compte la robustesse et l’ergonomie de chaque logiciel, n’engage que moi naturellement.

Associations binaires

Les outils sont évalués ici sur la capacité à représenter, avec la notation UML, des associations binaires, de les transformer au niveau logique puis de générer un script SQL. La prise en compte des identifiants de classes, multiplicités, rôles, etc. est également étudiée.

Figure 4-1 Associations binaires (Win’Design)

(4)

L’exemple 4-1 décrit une modélisation UML de comptes bancaires qui sont la propriété de clients. Un client peut parrainer d’autres clients. Un client n’a le droit de souscrire qu’à un seul plan d’épargne retraite. Enfin, un client peut être désigné comme signataire de comptes ne lui appartenant pas (un seul droit lui est alors affecté).

Niveau conceptuel

Les outils sont évalués sur les moyens mis en œuvre pour représenter une classe (avec ses attributs et son identifiant), une association binaire ou réflexive (nommage, désignation des rôles et des multiplicités).

Les copies d’écran suivantes illustrent l’implémentation des identifiants de classe selon Objec- teering, MEGA, PowerAMC et Rational Rose (Win’Design le permet également).

Figure 4-2 Définition d’un identifiant de classe (Objecteering)

Figure 4-3 Définition d’un identifiant de classe (MEGA)

(5)

UML 2 pour les bases de données

Figure 4-4 Définition d’un identifiant de classe (PowerAMC)

Figure 4-5 Définition d’un identifiant de classe (Rational Rose)

(6)

Niveau logique

Les outils sont évalués sur leur capacité à générer un schéma relationnel correct et sur la possibilité de définir d’éventuelles contraintes de répercussion sur les clés étrangères (CASCADE) pour la suite de processus de conception.

Le modèle relationnel attendu est le suivant.

Bon nombre d’outils permettent d’ajouter des contraintes au niveau des clés étrangères.

Win’Design note en rouge les liens qui symbolisent la répercussion d’une suppression (ici la suppresssion d’un compte devrait entraîner celle des lignes dans la table des signataires, de même pour la suppression d’un client).

Figure 4-6 Modèle relationnel attendu

Client[num, nom, adresse, numtel, numParrain#]

PlanEpargneRetraite[numPER, dateEcheance, taux, num#]

DroitSignataire[num#, nCompte#, droit]

Compte[nCompte, solde, dateOuv, num#]

Figure 4-7 Modèle logique Win’Design

(7)

UML 2 pour les bases de données

Script SQL

Les scripts SQL générés sont évalués sur la dénomination des contraintes (utilisation des noms des associations ou des rôles) et la position de la clé étrangère de l’association un-à-un (qui devrait, en théorie, se situer dans la table PlanEpargneRetraite).

Bilan intermédiaire

La majorité des outils permettent une saisie correcte au niveau conceptuel. ModelSphere et MyEclipse pêchent par manque de fonctionnalités tandis que Visual Paradigm nécessite une manipulation complexe inter-modèles. Au niveau logique, des différences d’implémentation (ou des insuffisances) apparaissent. Seuls Win’Design, Rational Rose et Objecteering font un sans faute. Un bémol pour MagicDraw, Visual Paradigm, Together et Enterprise Architect qui ne disposent pas du mécanisme d’identifiant de classe. À noter que Together représente une classe-association avec le même symbole que celui de l’association n-aire.

Figure 4-8 Définition d’une clé étrangère avec Visual UML

(8)

Tableau 4.1 Associations binaires

Associations binaires

Niveau conceptuel avec UML (identifiant, associations, multiplicités, rôles, etc.)

Modèle logique

Code SQL (contraintes de clés étrangères)

Enterprise Architect

MagicDraw

MEGA Designer

ModelSphere

MyEclipse

Objecteering

Poseidon

PowerAMC

Rational Rose Data Modeler

Together

Visio

Visual Paradigm

Références

Documents relatifs

C’est pour cela que cet ouvrage détaille d’une part comment construire un modèle conceptuel sous la forme d’un diagramme de classes, et d’autre part énonce des règles précises

Développement avec UML : ce chapitre présente une méthode de développement avec UML permettant d’obtenir l’ensemble des diagrammes nécessaires à la repré- sentation

Elle permet certes de supprimer l’association entre l’acteur Client banque et le cas d’utilisation Retirer de l’argent, qui est maintenant héritée de l’acteur Porteur de

3) Dessiner un premier diagramme de classes avec les classes Triathlète, Nage, Maillot, Mer, CourteDistance. Puis dessiner un autre diagramme de classes similaire au premier

1) On suppose que les classes du texte précédent correspondent aux mots en italique. Dessiner le diagramme de généralisation. On généralisera les classes du domaine

Dans un futur proche : les outils logiciels trans- forment UML-2 en un véritable langage de program- mation graphique qui pourrait générer 100% du code Unité IF5-UML :

− Caves de Bacchus : retraitement, calculs du FRNG, du BFRE, du BFRHE et de la trésorerie nette. − Technic Zinc : retraitement, calculs du FRNG, du BFRE, du BFRHE, de la

• Ces conteneurs sont ensuite amenés vers les postes de codage où les opérateurs prennent un par un, les objets postaux puis ils saisissent leur code postal sur un clavier ou grâce