BPwin и Erwin. CASE-средства для разработки информационных систем - Маклаков Сергей Владимирович. Страница 45
Наследование (inheritance) описывает взаимосвязь между классами, когда один класс (называется подклассом, subclass) наследует структуру и/или поведение одного или нескольких классов. На рис. 4.3 подкласс VIP наследует свойства и поведение класса Customer Information. Связь классов в иерархии наследования называется отношением наследования (generalization, кнопка !!!).
Временная диаграмма (Sequences) демонстрирует поведение объектов во времени. Она показывает объекты и последовательность сообщений, посылаемых объектами. Сообщения на диаграмме сценариев изображаются в виде стрелок (рис. 4.4).
Рис. 4.4. Временная диаграмма (Sequence)
Архитектура приложения описывается в диаграммах компонентов (Component Diagram) и диаграммах развертывания (Deployment Diagram). На диаграммах компонентов изображается вхождение классов и объектов в программные компоненты системы (модули, библиотеки и т. д.). При помощи диаграмм развертывания документируется размещение программных модулей на узлах (физических и логических устройствах) системы.
Генерация кода осуществляется на основе диаграмм классов. Для генерации необходимо в Rational Rose выбрать пункт меню Tools/Java/Generate Java.
Ниже .приведен код на языке Java, соответствующий классу Customer Information (см. рис. 4.3):
//# //# Source file: Customer_lnfomiation.java
//# //# Subsystem: Component View
//# //# Module: Customer Information
/## begin module.cm preserve=no
/* %X% %Q% %Z% %W% */
//# end module.cm
//# begin module.cp preserve=no
//# end module.cp
//# begin module.additionallmports preserve=no
//# end module.additionallmports
//# begin module.imports preserve=yes
//# end module.imports
//======================================================
//# begin module.declarations preserve=no
//# end module.declarations
//# begin moduIe.additionalDeclarations preserve=yes
//# end module.additionalDeclarations
public class Customer_lnformation {
//# begin Customer_Information.initialDeclarations preserve=yes
//# end Customer_Information.initialDeclarations
public intm_CustomerlD; • private int m_Name;
private int m_Account;
public Vector m_negotates = new Vector();
public void Check_Account() {
//# begin Customer__lnformation::Check Account%3561AOAF032A.body preserve=yes
//# end Customer_lnformation::Gheck Account%3561AOAF032A.body
}
//# begin Customer_lnformation.additionalDeclarationspreserve=yes
//# end Customer_Information.additionalDeclarations
}
При генерации кода Rational Rose включает строки комментария, начинающиеся последовательностью символов //##. Сгенерированный код (в отличие от кода, сгенерированного ERwin) не является готовым приложением. Здесь генерируются лишь заголовки методов (Check_Account), сами методы необходимо дописывать вручную.
4.2. Создание модели данных на основе объектной модели с помощью ERwin Translation Wizard
Rational Rose позволяет строить объектную модель, но не может построить качественную физическую модель данных. Для решения этой задачи фирмой PLATINUM technology выпущена утилита ERwin Translation Wizard, позволяющая перегрузить объектную модель в ERwin и автоматически получить на ее основе модель данных. После инсталляции ERwin Translation Wizard вызывается из среды Rational Rose. Для того чтобы классы могли быть конвертированы в сущности модели данных, они должны быть определены как Persistent. Для этого необходимо (в среде Rational Rose) правой кнопкой мыши щелкнуть по классу, выбрать во всплывающем меню Specifications/Detail/Persistence. ERwin Translation Wizard позволяет сгенерировать как диаграмму классов на основе модели данных, так и модель данных на основе диаграммы классов. На рис. 4.5 показана физическая модель данных, полученная на основе диаграммы классов, представленной на рис. 4.3. Модель данных может быть использована для генерирования системного каталога сервера БД (см. гл. 2.3).
Рис. 4.5. Модель данных, сгенерированная ERWin Translation Wizard
В табл. 4.1 показано соответствие между объектами диаграммы классов и объектами модели данных при перегрузке моделей из Rational Rose в ERwin и обратно.
Таблица 4.1. Соответствие между объектами диаграммы классов и объектами модели данных
Объект диаграммы классов | Объекты модели данных |
Класс (Class) | Сущность, таблица (Entity, Table) |
Атрибут класса (Attribute) | Атрибут сущности, колонка (Attribute, Column) |
Отношение использования (association) | Неидентифицирующая связь (Non-identifying relationship) |
Отношение наследования (generalization) | Иерархия подкатегорий, полная подкатегория (Complete sub-category) |
Имя роли (Role name) | Наименование связи (Verb phrases) |
Индикатор множественности (multiplicity indicators) | Мощность связи (Cardinality) |
Класс - клиент в отношении зависимости (Dependency relationship -Client) | Временная таблица (View) |
Отношение зависимости (Dependency) | Отношения между временными таблицами |
Заметим, что для связывания объектной модели, созданной в PLATINUM Paradigm Plus с моделью данных не требуется дополнительных утилит. Версия Paradigm Plus 3.6, полностью интегрирована с ERwin.
5. Создание качественных отчетов с помощью RPTwin
5.1. Создание простейших отчетов в RPTwin
5.1.1. Создание нового отчета
RPTwin является специализированным генераторам отчетов, который позволяет создавать качественные отчеты по моделям процессов и данных. RPTwin входит в поставку как BPwin, так и ERwin. Функциональность RPTwin позволяет создавать не просто отчеты презентационного качества, что само по себе очень важно. Включение в RPTwin более 40 функций позволяет производить сложную обработку данных, получая при этом результат, который невозможно получить средствами ERwin или BPwin. Например, при оценке функциональной модели BPwin можно использовать средства стоимостного анализа (АВС) и свойства, определяемые пользователем (UDP) (см. гл. 1). По умолчанию общая стоимость процесса вычисляется как сумма стоимостей работ декомпозиции. В отличие от стоимостного анализа BPwin не может производить подсчет суммарного значения свойства UDP. Экспорт отчета по UDP в RPTwin позволяет создать отчет, включающий в себя сложную обработку данных, в том числе подсчет суммирующего значения UDP, среднего значения, максимального значения и т. д. и т. п.
После создания отчета в ERwin или BPwin и выбора RPTwin в качестве формата (Report Format) возникает диалог сохранения данных отчета, где необходимо указать имя файла. Все отчеты RPTwin создаются на основе файла данных отчета, который имеет расширение LWD. Запускается RPTwin и возникает диалог New Report (рис. 5.1). Новый отчет можно создать и непосредственно из среды RPTwin (меню File/New), при создании следует указать имя файла данных отчета (LWD).