На чем основана работа программы - Rational Rose для разработчиков
Итак, от общих тем перейдем непосредственно к тому, что умеет делать CASE Rational Rose. Являясь объектно-ориентированным инструментом моделирования, Rose базируется на UML (Universal Modeling Language) - универсальном языке моделирования, который был разработан компанией Rational именно с целью создания наиболее оптимального и универсального языка для описания как предметной области, так и конкретной задачи в программировании. Любая задача программируется при помощи определенных диаграмм. UML поддерживает построение следующих диаграмм:
- - Activity diagram (диаграммы описаний технологий, процессов, функций). - Use case diagram (диаграммы функций). - Class diagram (диаграммы классов). - State diagram (диаграммы состояний); - Sequence diagram (диаграммы последовательностей действий); - Collaboration diagram (диаграммы взаимодействий - Component diagram (диаграммы компонент); - Deployment diagram (диаграммы топологии).
Соответственно, Rational Rose 2000 является инструментом, который позволяет строить указанные диаграммы при проектировании программных систем. К сожалению, объем статьи не позволяет описать назначение всех диаграмм и спецификаций! Но мы попробуем разобраться в инструменте с точки зрения разработчика, для простоты используя только один тип диаграмм - Class Diagramm.
Все разработчики сталкиваются с ситуацией, когда приходится проектировать большие классы. При ручном вводе и объявлении имеется ряд подводных камней: во-первых, постановщик задач, как правило, описывает "что нужно" на словах, в крайнем случае, с минимальным бумажным сопровождением; во-вторых, разработчик, создающий систему, опять-таки в большинстве случаев игнорирует все комментарии, которыми необходимо сопровождать программный код. Что же получается в итоге? Постановщик задач путается в программе, разработчик сам не помнит, что к чему, а если на его место взят новый сотрудник: Тут на ум приходит еще одно традиционное для России высказывание разработчика: "мне проще все написать заново". И ведь пишут: Тормозя производство программного продукта. Дело в том, что к разработке ПО относятся как к искусству, а необходимо относиться, как к производственному процессу со строгим распределением ролей, полномочий и пр:
На нижеследующем примере я продемонстрирую:
- 1. Как можно спроектировать класс в Rational Rose 2000 2. Как можно расписать спецификации отдельных компонентов класса 3. Как получить код (c примером) 4. Как получить детальный отчет о классе (также с примером)
Для демонстрационных целей достаточно спроектировать только один класс. Назовем его "String". В его обязанности должны входить основные операции над массивами (печать, копирование, сравнение, получение размера). В качестве идеального примера опишем сначала данный класс на чистейшем С++:
Class String{
Private:
Int Counter;
Int Stat;
Public:
Char *TmpString;
Int GetStringSize(Char *);
Int PrintString(Char *);
IntCmpString(Char *, Char *);
Int CpyString(Char *, Char *);
Теперь средствами Rose все спроектируем в графическом виде.
Для отображения классов в Rose используется диаграмма классов. В качестве имени задаем "MyString". Далее, войдя в саму диаграмму, необходимо расписать спецификации: атрибуты (типы переменных) и операции (функции класса с формальным описанием всех параметров на входе и на выходе).
Каждый атрибут задается отдельно, ему дается комментарий, и расписывается тип (public, protected, private). На рис. 1 показан разворот спецификации для TmpString. Подобным образом расписываются все переменные.
В плане описания функций все похоже, только помимо описания самой функции (тип возвращаемого значения) необходимо расписать специфику каждого входного параметра, снабдив все это подробнейшими комментариями. Для того чтобы разработчик не считал притеснением комментирование каждого шага, во всех продуктах компании Rational принято давать комментарии для любой малозаметной операции, поскольку впоследствии при генерации отчетов не нужно будет еще раз руками доводить документ, чтобы показать его руководству или передать разработчику в качестве технического задания.
Результатом выполнения вышеописанных действий будет появление класса с расписанными спецификациями. Сам класс показан на рис. 2. Можно отметить, что в графическом виде можно оценить основные свойства каждого элемента.
Следующий шаг в работе - получение кода на С++. Здесь хочется развеять существующий миф о 100% генерации кода. Rational Rose 2000e Enterprise в принципе не может дать готового кода, она способна лишь спроектировать класс и расписать спецификацию каждого элемента, подставить шаблоны членов класса для дальнейшего заполнения кодом. А вот для 100% генерации рабочего кода на С++ используется Rational Rose 2000 RealTime, которую в данном случае мы не рассматриваем.
Итак, вернемся к кодогенерации (точнее сказать, к классо-генерации). Через систему меню (Tools) выбираем поддерживаемый язык для описания спроектированного класса (в данном случае это С++), вызываем "Code Generationаl". Результатом работы будет появление двух файлов: MyString. h и MyString. cpp. В первом расписывается сам класс, а второй является шаблоном для дальнейшего заполнения соответствующим кодом.
Ниже приводятся распечатки обоих файлов, для того чтобы вы имели представление о том, какой код вы получите, применяя Rational Rose:
Весь приведенный материал получен без изменения настроек и без дополнительной правки.
Имея подобный шаблон, становится не важно, какой именно разработчик начал работать над кодированием логики класса.
Для получения же подробного отчета по классу или технического задания можно воспользоваться инструментом Rational SoDA. Отчет также приведен в конце статьи.
Следующая задача, с которой поможет справиться Rational Rose - анализ существующей системы. Зачем переписывать и документировать крупные системы заново, если можно воспользоваться функцией обратного проектирования, что позволит из имеющегося кода построить визуальную модель и уже визуально дописать необходимые свойства и атрибуты, дописать новые классы. А под конец сгенерировать весь спектр файлов, необходимых для дальнейшей работы программистов. Данный подход называется Round-Trip и полностью поддерживается в RationalRose.
Похожие статьи
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Аспекты совместной работы с Oracle - Rational Rose для разработчиков
Новая версия Rose - 2000e - поддерживает полноценное проектирование баз данных. Раньше использование Rose ограничивалось только высокоуровневым...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Данная компания является ведущем производителем оборудования и выпуска квалифицированных специалистов в мире. Это одна из самых оцененных компаний в...
-
Описание исходных данных На текущий момент (в силу большой загрузки IT-отдела) не реализован доступ к серверу с ХД, маркетинговые данные выгружаются в...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Стратегии - Программа построения равновесных стратегий для игры
Так как игра случайная, платежная матрица будет состоять из математических ожиданий возможных сочетаний стратегий. Стратегия в данной игре определяет...
-
Обзор калькуляторов для покера - Программа построения равновесных стратегий для игры
Как правило под покерным калькулятором подразумевают программу которая позволяет рассчитать математическое ожидание действия в заданной ситуации....
-
Обозначенные условия определяют работу по внедрению многопоточных средств в модели параллельного программирования С общей памятью с использованием...
-
В рамках выпускной квалификационной работы была разработана автоматизированная информационная система, предназначенная как для автоматического, так и для...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Служебная программа tty Позволяет узнать имя пользовательского терминала. Более точно, она выдает на стандартный вывод имя терминала, открытого в...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Методология Все тесты будут необходимо провести на разных размерах базы данных, чтобы увидеть, как классические JOINы скалируются в сравнении с...
-
Классы StatMetric содержат всю логику библиотеки и предоставляют интерфейс для обновления и получения значений агрегатов. Рисунок 4. Диаграмма классов...
-
Процесс перезагрузки может быть достигнут путем прекращения работы системы, выключения питания и включения снова. Более простой способ - это указать...
-
В качестве доступного инструментария были рассмотрены две открытые кроссплатформенные библиотеки для разработки C++ приложений WxWidgets и Boost ,...
-
Входная информация разделяется на условно-постоянную и оперативно-учетную информацию. - Условно-постоянная информация включает в себя справочные данные о...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Дополнительные офисные программы - Интегрированные пакеты для офисов
Дополнительные офисные программы. Помимо пакета программ Microsoft Office пользователи в своей работе задействуют и другие программы, в том числе...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Заключение - Разработка программы для реализации редактора временных графов синхронизации
Результатом выполнения задания является реализованный редактор временных графов синхронизации (класс временных сетей Петри), соответствующий задачам,...
-
Обзор протокола Multi-Touch технологий передачи данных TUIO [7] - основной кроссплатформенный протокол с открытым исходным кодом Multi-Touch передачи...
-
Введение - Различные виды программ для Multi-Touch столов
Мобильные телефоны, планшеты, платежные терминалы, стенды с интерактивными картами торговых центров, Multi-Touch стенды на выставках - все это яркие...
-
База данные кеширование денормализация Предлагаемое решение -- скомбинировать некоторые идеи кеширования и денормализации в специальной библиотеке...
-
Схема работы, Заключение, Список литературы - Различные виды программ для Multi-Touch столов
Завершив создание прототипа приложения было настроено соединение с TUIO. Схема работы показана на рис. 4. Рис. 4. Схема соединения приложения с TUIO...
-
Eudora . Eudora -- одна из наиболее распространенных и зависимых от Internet программ. Она может работать с подключением через сеть или удаленный доступ...
-
Использование парадигмы ООП. Разрабатываемая АИС является системой с открытым исходным кодом и значит должна являться масштабируемой сторонними...
-
Программы для работы в Сети., Браузеры. - Использование компьютерных сетей
Браузеры. Для связи с Internet используется специальная программа -- браузер. Первоначально браузеры предназначались для просмотра документов с...
-
Наименование программы Полное наименование программы - Модуль ипотечного кредитования банковской информационной системы "БИС". Краткое наименование...
-
Описание бизнес-процессов бюджетирования в группе компаний нефтегазового сектора Одна из исследовательских задач данной работы состоит в том, чтобы...
-
Проектирование визуальных конструкций Вторая глава описывает процесс трансформации текстового языка JAPE в визуальный язык, который позволит описывать...
-
Ввиду того, что для языка JAPE не предусмотрен специализированный редактор, разработчики рекомендуют использовать Vim[10] или Eclipse[11], ассоциировав...
-
Дальнейшим развитием локальных средств разработки программ, являются интегрированные программные среды разработчиков. Основное назначение инструментария...
-
Структура кластера и его параметры Вычислительный кластер -- это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи,...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
Microsoft Excel 2003 - Интегрированные пакеты для офисов
Microsoft Excel - это идеальное средство для решения учетных задач, обработки экспериментальных данных, составления отчетов и т. п. Документ Excel...
-
Программная модель данных, получившая название "MapReduce", была создана несколько лет назад в компании Google, и там же была осуществлена первая...
На чем основана работа программы - Rational Rose для разработчиков