Баннер

Генерация исходных текстов программ

Оглавление
Генерация исходных текстов программ
Пример кодогенерации
Контрольные вопросы
Все страницы

Все разработчики сталкиваются с ситуацией, когда приходится проек­тировать большие классы. При ручном вводе и объявлении имеется ряд подводных камней: во-первых, постановщик задач, как правило, описывает «что нужно» на словах, в крайнем случае с минимальным бумажным сопровождением; во-вторых, разработчик, создающий систему, опять-таки в большинстве случаев игнорирует все комментарии, которыми необходи­мо сопровождать программный код. Система кодогенерации Rational Rose позволяет, наряду с другими средствами проектирования, построить про­цесс разработки программного обеспечения как производственный процесс со строгим распределением ролей, полномочий и т. д.

Для демонстрационных целей достаточно спроектировать только один класс. Назовем его String. В его обязанности должны входить основные операции над массивами (печать, копирование, сравнение, получение размера). В качестве примера опишем сначала данный класс на C++:

Class String Protected:

Char *TmpString; Public:

Int Counter;
Int Stat;
Int GetStringSize(Char *);
Int PrintString(Char *);
Int CmpString(Char *, Char *);
Int
CpyString(Char *, Char *);

};

Теперь средствами Rose все спроектируем в графическом виде. Каждый атрибут задается отдельно, с комментарием, и расписывается тип (public, protected, private). На рис. 15.1 показан разворот спецификации для TmpString. Подобным образом расписываются все переменные.

15-1.jpg (29248 bytes)

Рис 15.1. Разворот спецификации для TmpString

В плане описания функций все аналогично, только помимо описания самой функции (тип возвращаемого значения) необходимо расписать спе­цифику каждого входного параметра, снабдив все это подробнейшими ком­ментариями. Во всех продуктах компании Rational принято давать коммен­тарии для любой малозаметной операции, поскольку впоследствии, при генерации отчетов не нужно будет еще раз вручную доводить документ, чтобы показать его руководству или передать разработчику в качестве технического задания.

Результатом выполнения вышеописанных действий будет появление класса с расписанными спецификациями. Сам класс показан на рис. 15.2. Можно отметить, что в графическом виде можно оценить основные свойства каждого элемента.

15-2.jpg (12475 bytes)
Рис 15.2 Класс String

Следующий шаг в работе - получение кода на C++. Rational Rose 98 в принципе не может дать готового кода, она способна лишь спроектировать класс и расписать спецификацию каждого элемента, подставить шаблоны членов класса для дальнейшего заполнения кодом. Для 100 %-ной генерации рабочего кода на C++ используется Rational Rose RealTime, которая в данном случае не рассматривается.

Рассмотрим кодогенерация (точнее сказать, классогенерацию). Через систему меню выбираем поддерживаемый язык для описания спроектированного класса (в данном случае это C++), вызываем Code Generational. Результатом работы будет появление двух файлов:MyString и MyString. В первом расписывается сам класс, а второй является шаблоном для дальнейшего заполнения соответствующим кодом. Имея подобный шаблон, становится не важно, какой именно разработчик начал создавать кодирование логики класса.Для получения же подробного отчета по классу или технического задания можно воспользоваться инструментом Rational SoDA.

Следующая задача, с которой поможет справиться RationalRose - анализ существующей системы. Зачем переписывать и документировать крупные системы заново, если можно воспользоваться функцией обратно­го проектирования, что позволит из имеющегося кода построить визуаль­ную модель и уже визуально дописать необходимые свойства и атрибуты, дописать новые классы. А под конец сгенерировать весь спектр файлов, необходимых для дальнейшей работы программистов. Данный подход называется Round Trip и полностью поддерживается в RationalRose.



Баннер


Читайте также:

Добавить комментарий


Защитный код
Обновить





Баннер
Баннер
Разделы

У нас нашли
пример приведение ко второй нормальной форме консультация
ИМЕТАЦИОННЫЕ МЕТОДЫ
играть в онлайн игру бесплатно контр страйк1.6
Коэффициент полезного действия формула нахождения
idef0 пример vjltkm
решение цепи из 4 резисторов
idef1x
описание свойства поля«формат поля»
моделирование бизнес-процессов средствами bpwin.контрольная работа.
нечеткие запросы к базе данных
скачать GPSS
создать без данных в аксессе
Структура экспертных систем на основе метода усиления
информационно-логическая схема сайта
цикл миф примеры
программирование на gpss
наблюдение действия магнитного поля на замкнутый проводник с током
методы знаний
скачать примеры решении задач оператором while на c++
Какое поле называется вихревым?
как строится idef0
структура объектно-ориентированной модели данных
диаграмма реализации вариантов в структуре классов анализа
скачать картинки электрического тока
генерация информации
График зависимости амплитуды от времени для затухающих
DFD можно совмещать с IDEF3
презентация примеры наибольший общий делитель
запрос характеристика
vba рисование
продукционная модель информатика
http://itteach.ru/bpwin/metodologiya-idef3/vse-stranitsi
примеры использования bpwin
дано значение функции и вероятности построить функцию в gpss
скачать презентацию база данных - основа информационной системы
интеллектуальные обучающие системы скачать
анализ предметной области на уровне функций
на фазе "нет активного сопротивления"
скачать макрос на удаление камеры
erwin описание
триггер crfxfnm
idef0
модель Полет на самолете (пассажир) в BPwin
ключ для BPwin
vba онлайн
самоучитель по vba
ПОСТРОЕНИЕ МОДЕЛИ IDF0 скачать образец
инструментальные средства построения экспертных систем
служба поддержки idef0
Скачать реферат Стратегии, используемые в экспертных системах.
Понятие макроса


Главная Rational Rose Генерация исходных текстов программ