Rational Rose: Плагин для обратного проектирования custom-языка (Прочитано 13274 раз)
Цель данного описания:
1. Дать общую схему возможности расширять RR с помощью Add-Ins
2. Привести пример реальной востребованной разработки системы
3. Оценить возможность повторного использование

Исходное задание:
В масштабах предприятия используется система автоматизации производственной деятельности (Страхование). Ядро системы реализует общий функционал (безопасность, отображение, интепретатор встроенного языка). Частная бизнес-функциональность реализованна на внутреннем паскалеподобном Языке. Язык имеет свою высокууровневую библиотеку и также может обращаться с помощью SQL запросов к БД. Пакеты написанные на Языке хранятся также в БД (Оракл).
Написать расширение RR для построения модели анализа пакета.

Сделано:
1. Экспортирована библиотека классов автоматизации RR - импортирован в Дельфи 7.
2. Реализованы синтаксические анализаторы Языка и SQL.
3. Создана библиотека классов платформы (системные пакеты, высокоуровневые функции и основные таблицы БД)
4. При построении модели пакета:
  • строится модель взаимодействия с БД с указанием команд
  • модель связи с функциями платформы и другими пакетами
  • алгоритм (да-да! блок диаграммы) работы пакета

Выглядит процесс так:
  • в розу загружается модель платформы
  • из розы вызывается.адд-ин
  • происходит подключение к БД где находится структура и исходные тексты на Языке
  • Выбирается пакет
  • в розе строится модель с помощью Rose Automation
  • вызывался скрипт розовский для причесывания диаграмм

Ощущения от использовании: Полностью интегрированный механизм высокоуровнего анализа бизнес-пакетов. Исходная информация на Языке распределена по элементам UML, что позволяет также использовать модель как документацию.

писал гдето 3 мес.
аналитики пищали. особенно нравился алгоритм.

Эта работа была мною проделана 2 года назад и с тех пор не развивалась. Сейчас хотелось бы к ней вернуться т.к. сам процесс и результат понравился. Может быть где-то будет востребована.




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19