Un environnement de travail pour la modélisation

En quoi Rever DB-Main est-il différent des autres outils ?

Rever DB-Main offre les mêmes fonctions et caractéristiques que la plupart des outils de modélisation de données classiques, mais il inclut également des composants puissants que ces autres ateliers n'offrent que très rarement, voire jamais.

Indépendance de tout modèle de données

 

Son modèle de données englobe la plupart des modèles de données (entités-associations européen, entités-associations américain, diagrammes de classes UML, diagrammes d'activités UML, diagrammes "use case" UML, ORM, NIAM et bien d'autres), des modèles logiques modernes (relationnel, relationnel-objet, orienté objet, XML), des modèles logiques plus anciens (CODASYL, IDS/II, IMS, ADABAS, fichiers COBOL, fichiers RPG) et des modèles physiques (structures de données C, C++, Java, Pascal, COBOL, etc). De plus, l‘outil de modélisation méthodologique permet de spécialiser l'atelier pour chacun de ces modèles.

Plusieurs assistants sont inclus

 

Rever DB-Main inclut plusieurs assistants pour aider efficacement les développeurs dans des tâches complexes et fastidieuses : transformations de schémas, analyse de schémas, intégration de schémas, conception physique, analyse de code (y compris un moteur de recherche de clichés/structures typiques de programmation, un moteur de calcul de graphes de dépendances et un module de découpage de programmes). La plupart incluent la possibilité de rédiger des scripts pour garder des procédures fréquemment utilisées.

Pas un simple outil de dessin et génération

 

Il inclut de puissantes boîtes à outils d'analyse, de transformation et de génération pour construire et paramétrer finement des bases de données complexes, de manière systématique et fiable. L'outil préserve toutes les spécifications (structure des données et contraintes d'intégrités) depuis le niveau conceptuel jusqu'au code généré, une garantie que la plupart des outils de modélisation concurrents ne peuvent vous donner.

Rétro-ingénierie

 

Rever DB-Main inclut des modèles est des outils pour réellement opérer la rétro-ingénierie de la plupart des bases de données héritées (y compris les mal-conçues et mal documentées), allant du COBOL et fichiers RPG jusqu'aux bases de données relationnelles et XML.

Indépendance de toute méthodologie

 

L'atelier permet à chacun de travailler à sa manière, sans contraintes sur les processus ou sur les produits. Cependant, l'outil de modélisation méthodologique permet de personnaliser l'atelier selon les besoins spécifiques de chaque entreprise.

Programmable

 

Quatre niveaux de programmation permettent de créer des fragments réutilisables de processus ou des processus complets, parfaitement intégrables à l'atelier.

Extensible

 

Divers modules additionnels ont été développés (par l'équipe Rever DB-Main ou par des utilisateurs eux-mêmes) pour faire face à des besoins d'ingénierie avancés : interopérabilité, conception et génération d'accesseurs, ingénierie XML, générateurs Java, générateurs SQL paramétriques, générateurs de rapports, outils graphiques spéciaux, conception et générations de bases de données temporelles, analyse de déclencheurs (triggers), etc.

Court cycle de détection d'erreur/correction de bogue

 

Rever DB-Main est distribué sur ce site, ce qui permet d'avoir un cycle détection d'erreur/correction de bogue très court (une nouvelle version est disponible en moins de 2 semaines). En plus, l'outil est distribué avec une riche collection de tutoriels, manuels, exemples de code et études de cas qui aident les utilisateurs à pénétrer le royaume des bases de données et à maîtriser les divers composants de l'outil.

Un environnement de développement d'outils de modélisation

Rever DB-Main permet le développement d'outils de modélisation spécialisés, aussi bien en fonction de méthodologies spécifiques, que par ajouts de nouveaux concepts et de nouvelles fonctions à la panoplie d'outils de base.

L'outil peut être personnalisé de trois manières différentes :

  • Extension fonctionnelle :

La librairie JIDBM est proposée aux ingénieurs (analystes ou ingénieurs méthodes) pour développer de nouvelles fonctions qui vont s'incorporer à l'atelier. Par exemple, Ils permettent de construire des générateurs de code et de rapports spécifiques, des analyseurs de textes (p. ex. importateurs), des transformations complexes ou des vérificateurs de spécifications pour des problèmes spécifiques à certains contextes d'utilisation.

La librairie JIDBM est une interface Java pour Rever DB-Main. Elle peut être utilisée pour développer des extensions Java accédant au référentiel de Rever DB-Main en mode lecture et écriture. Cette librairie peut également accéder aux menus de Rever DB-Main.

Voici deux exemples de programmes Java :

Remarque : Voyager 2 était le premier langage de programmation dans Rever DB-Main avant le succès de Java. Pour une question de compatibilité, l'exécution de modules Voyager 2 est toujours possible mais, actuellement, Java est considéré comme le seul langage de programmation supporté par Rever DB-Main.

  • Extension du référentiel :

Le référentiel est implémenté comme une base orientée objets dans laquelle l'atelier enregistre la méthodologie courante, l'historique du projet et les spécifications des produits (principalement les schémas et les textes). De nouvelles propriétés peuvent être ajoutées et gérées dynamiquement avec l'aide de fonctions Java.

  • Personnalisation méthodologique :

Suite à ses hypothèses architecturales de base (par ex. modèle de spécification générique, opérateurs de transformation, architecture de type boîte à outils), l'atelier est méthodologiquement neutre, ce qui lui permet d'assister l'analyste dans l'utilisation d'un large spectre de méthodologies.

La personnalisation méthodologique se réalise en deux phases, à savoir la description de la méthodologie souhaitée avec le Langage de Description de Méthode (MDL), et l'activation de la méthode dans le moteur méthodologique de Rever DB-Main. Le langage permet de décrire les processus, les stratégies et les produits utiles à la méthodologie, ainsi que certains aspects spécifiques de l'interface graphique (par ex. le contenu des menus, des conventions graphiques, des noms particuliers pour certains concepts).

Cette personnalisation est utile pour guider l'utilisateur, mais avant tout, elle fournit une manière précise et structurée d'enregistrer l'historique des travaux d'ingénierie qui sont nécessaires pour la maintenance et de l'évolution du système.

Une boîte à outils pour l'ingénierie de systèmes d'information

Rever DB-Main offre un solide support à la plupart des activités d'ingénierie et de rétro-ingénierie. En particulier, il comprend les fonctions et composants suivants :

  • Gestion de spécifications : accès, consultation, création, mise à jour, copie, analyse, mémorisation.
  • Représentation de l'historique du projet comprenant les produits (schémas, textes sources, programmes générés), les processus qui utilisent ou génèrent les produits, et les décisions prises.
  • Un modèle générique, à large spectre, de représentation des objets conceptuels, logiques et physiques.
  • Un modèle générique de description des composants procéduraux des systèmes, à différents niveaux d'abstraction, avec leurs trois relations.
  • Des annotations sémantiques et techniques semi-formelles, attachées à chaque objet de spécification.
  • De multiples affichages des spécifications (4 affichages hypertextes et 3 affichages graphiques), certaines étant particulièrement bien adaptées à de très grands schémas.
  • Une collection de plus de 25 opérateurs de transformation à sémantique constante destinées à réaliser de manière systématique des activités telles que de la normalisation conceptuelle ou du développement de schémas logiques et physiques optimisés à partir de schémas conceptuels, et inversement (rétro-ingénierie).
  • Des générateurs de codes (dont un générateur SQL avancé), des générateurs de rapports.
  • Des extracteurs de code permettant d'extraire un schéma physique à partir de code source SQL, COBOL, CODASYL, IMS ou RPG, et à partir de documents XML.
  • Des analyseurs de code source programmables qui peuvent être utilisés, entre autre, pour détecter des constructions typiques assez complexes dans des textes sources pour construire un diagramme du flux des données à travers les variables des programmes.
  • Un processeur de noms sophistiqué qui permet de nettoyer, normaliser, convertir et traduire les noms des objets sélectionnés dans un schéma.
  • Un moteur méthodologique qui aide les utilisateurs de l'atelier à suivre une méthode d'ingénierie et qui tient à jour un historique des activités d'ingénierie, ce qui permet de les rejouer, de manière automatique ou assistée.
  • Importation/exportation de spécifications aux format XML.
  • Une série d'assistants : un assistant est une sorte d'expert dans lé réalisation de tâches d'un certain type, ou dans la résolution de certaines classes de problèmes, destinés à aider l'analyste dans des tâches fréquentes, fatigantes ou complexes. Il fournit également un environnement de développement de scripts pour automatiser des fragments de processus. Une librairie de scripts prédéfinis est fournie pour aider lors des activités les plus fréquentes.
    Six assistants sont disponibles actuellement :
    1. un assistant de transformation globales de base propose des solutions standards aux problèmes structurels les plus fréquents;
    2. un assistant de transformations globales avancé permet d'automatiser l'application de transformations complexes et de développer des scripts sophistiqués;
    3. un assistant d'analyse de schémas permet d'évaluer la conformité d'un schéma à des modèles de données utilisateurs ou prédéfinis, et de rechercher des éléments structurels dans de grands schémas;
    4. un assistant d'intégration qui offre une palette d'outils pour intégrer des schémas, des types d'entités, des types d'associations et des attributs composés avec différents niveaux d'automatisation;
    5. un assistant d'analyse de texte qui offre une palette d'outils d'analyse de textes;
    6. un assistant de recherche de clés étrangèresqui propose diverses heuristiques pour retrouver des clés étrangères dans des bases de données héritées

DB-MAIN a été développé en C++. Il est largement utilisé dans des industries pour du développement de systèmes, mais aussi pour de la rétro-ingénierie, de la re-documentation, de la ré-ingénierie et de la migration de projets.

Retour en haut

French