MODÉLISATION DE DONNÉES
La “Rétro-conception”: une documentation réactive
de Robin Ouellet
Le Modèle de données
Connaissez-vous cet adage, « montrez-moi le modèle de données et je vous dirais ce que le système fait »? Et bien, n’est-il pas vrai qu’un modèle de données nous parle. Pour avoir œuvré pendant plusieurs années en développement de systèmes, le modèle de données est probablement un des documents les plus utilisés par les professionnels des technologies de l’information, et ce, à toutes les étapes du cycle de développement. En effet, que ce soit pour schématiser la compréhension du domaine d’affaires durant la phase d’architecture, pour évaluer le volume et l’espace mémoire requis par la base de données physique ou pour analyser l’impact d’une modification après l’implantation du système, le modèle de données est sans contredit un outil indispensable.
Malheureusement, à postériori, l’élaboration du modèle est souvent le grand négligé parmi tous les livrables qu’une équipe de projet doit fournir. À défaut de livrer un système bien documenté, il faut avant tout livrer un système qui fonctionne. Les raisons sont nombreuses : manque de ressources, retards importants dans l’une ou plusieurs des étapes du cycle de développement, le fournisseur n’a pas fourni le modèle de données lors de l’implantation du logiciel, etc.
Qu'à cela ne tienne, l’application a été implantée, elle est en production et elle fonctionne bien. Que vous soyez le chef de projet, l’analyste ou le développeur responsable au support de l’application, votre besoin d’avoir un modèle de données est toujours présent. Il existe une solution. Et son coût est relativement minime. Il s’agit de la « rétro-conception » de la base de données.
La Rétro-conception
Cette technique consiste, avec l’aide d’un outil de modélisation de données, à se connecter sur la base de données physique et de convertir les informations contenues, en un modèle de données. Le schéma résultant de la rétro-conception présente alors les entités, les attributs, les clés primaires, les relations ainsi que les cardinalités des relations.
Évidemment, la fonctionnalité de rétro-conception de l’outil de modélisation de données ne peut tout déduire. Aussi, les relations entre les entités seront déduites seulement si les contraintes de « clés étrangères » ont été définies au niveau de la base de données physique.
En assumant que la base de données physique contient l’information minimale : définition des tables, des attributs, des clés primaires et des clés étrangères, voici les opérations manuelles qui devront être accomplies dans l’outil de modélisation de données après la rétro-conception :
Étape 1: Réorganisation manuelle des entités par module
L’outil de rétro-conception ne peut regrouper de façon logique et par page les entités d’un même module. Ex. les entités relatives au dossier client, les entités relatives au module de facturation.
Si la base de données contient cinq cents tables, alors cinq cents entités seront affichées dans le modèle sur une même page, et ce, avec toutes les relations qui les relient entre elles. Le modèle sera donc illisible.
Étape 2: Retirer des relations qui deviennent redondantes
Parfois, afin d’alléger et de faciliter la lecture du modèle de données, il est nécessaire d’enlever des relations (représentation graphique seulement) qui se retrouvent à plusieurs endroits. Ex. les clés étrangères «numéro de client » et « numéro de produit » peuvent se retrouver dans la plupart des entités du modèle.
Noter que seulement la représentation graphique doit être enlevée, car en arrière-plan l’information sur la relation entre les deux entités doit demeurer intacte.
Étape 3: Saisir les descriptions brèves et longues des entités
Étape 4: Saisir les descriptions brèves et longues des attributs
Les efforts
Bref, l’effort de rétro-conception n’est pas si grand soit d’une à deux semaines si on ne considère pas la documentation des attributs (voir étape 4 ci-dessus).
Considérons une base de données contenant environ 150 tables, 350 relations et 20 colonnes en moyenne par table :
· L’exécution de la rétro-conception dans l’outil de modélisation prendra environ 30 minutes (MS Visio Professionnel).
· Les étapes 1, 2 et 3 peuvent prendre de 1 à 2 semaines selon le niveau de connaissance de l’application et du domaine d’affaires.
· L’étape 4 peut durer environ 8 semaines. 3000 colonnes (attributs) dans une base de données représentent environ 2000 attributs à documenter étant donné que le même attribut peut se retrouver dans plusieurs entités. En accordant un temps de 10 minutes par attribut, l’étape 4 pourrait durer environ 8 semaines. Encore une fois la durée varie selon le niveau de connaissance de l’application et du domaine d’affaires.
Les outils de modélisation de données
La plupart des outils de modélisation de données possèdent les fonctionnalités relatives à la rétro-conception : Microsoft Visio Professionnel 2007, PowerDesigner de Sybase, Oracle Designer, Oracle SqlDeveloper, ERWin.
Ces outils permettent également de détecter en tout temps les différences entre la base de données physique et le modèle de données. Cette fonctionnalité s’avère très utile pour conserver une version à jour du modèle de données.
Le coût de ses produits est d’environ 700 dollars canadiens pour « Microsoft Office Visio Professionnel 2007 » et peut aller jusqu'à environ 7500 dollars américains pour l’outil PowerDesigner de Sybase.
Oracle fournit gratuitement l’outil de modélisation de donnée SqlDeveloper à cette adresse : http://www.oracle.com/technology/products/database/sql_developer/files/Modeling.html. Cependant prenez note qu’il s’agit d’une version « béta ».
La version Microsoft Visio de base ne contient pas la fonctionnalité qui permet la rétro-conception. Il faut donc acheter Microsoft Visio avec la mention « Professionnelle ».
Conclusion
La documentation d’un modèle de données par rétro-conception est une mesure réactive. Idéalement et normalement, cette activité s’effectue dans la phase d’« Architecture » du cycle de développement d’un système informatique.
Robin Ouellet
Conseils Modello
Modèle de données: Un modèle de données est une représentation abstraite et graphique des données relatives à un domaine d’affaires ou à une entreprise dans son ensemble. Il présente les entités (ou tables), les attributs (ou colonnes), les relations entre ses entités ainsi que la cardinalité qui caractérise les relations. Par exemple : L’entité « COMMANDE » avec la relation « INCLUT » une à plusieurs « LIGNE DE COMMANDE ». La mention « un à plusieurs » représente la cardinalité de la relation.
Exemple d’un modèle de données :
Aucun commentaire:
Enregistrer un commentaire