Рис. 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).
Рис. 5.1. Диалог New Report
В диалоге New Report можно выбрать тип создаваемого отчета.
1. Quick Reports - создание простейших отчетов.
Columnar. Простой табличный отчет. RPTwin автоматически создает табличный отчет, включая в него все объекты файла данных. В дальнейшем табличный отчет можно редактировать, добавляя в него новые поля, формулы, группы и т. д.
Vertical. Простой вертикальный отчет, в котором данные располагаются вертикально, в одну колонку, одно поле под другим. RPTwin автоматически создает вертикальный отчет, включая в него все объекты файла данных.
Blank Report. Бланк. Создается пустой бланк отчета, в который не включаются данные. В дальнейшем в бланк отчета можно добавить в новые поля, формулы, группы и т. д.
2. Guided Reports - при выборе отчета Guided Reports возникает диалог Guided Report (рис. 5.2), в котором, начиная с простого отчета, можно шаг за шагом создать отчет с сортировкой, группировкой и сложным форматированием данных.
Group/Totals. Табличный отчет с автоматической группировкой и сортировкой данных. В отчет также включаются суммирующие значения.
Vertical. При создании отчета Vertical можно выбрать данные, которые должны быть включены в отчет, указать их порядок и сортировку.
Рис. 5.2. Диалог Guided Report
5.1.2. Инструментальная среда RPTwin
После выбора типа отчета в диалоге New Report и задания необходимых опций отчет создается автоматически. Ниже будет описан интерфейс версии 3.02.
В окне RPTwin показывается окно DataSet Columns и шаблон отчета (рис. 5.3).
Рис. 5.3. Шаблон отчета
Шаблон отчета включает несколько секций:
Report Header - печатается единожцы в начале отчета. В примере на рис. 5.3 в этой секции расположены текстовое поле "Отчет по стрелкам" и дата отчета;
Page Header - печатается в верхней части каждой страницы. В примере на рис. 5.3 в этой секции расположены текстовые поля - заголовки колонок;
Group Header - печатается в начале каждой группы. В примере отчет сгруппирован по имени стрелки. Секция Group Header содержит текстовое поле Arrow Name и поле данных - имя стрелки (Arrow Name);
Detail - печатается для каждой строчки набора данных (файл .LWD). В примере содержит поля набора данных отчета по стрелкам;
Group Footer - печатается в конце каждой группы. Обычно в этой секции располагаются суммирующие по группе значения;
Page Footer - печатается в нижней части каждой страницы. Может, например, содержать номер страницы;
Report Footer - печатается единожды в начале отчета. Обычно в этой секции располагаются суммирующие по отчету значения.
В секциях отчета могут располагаться следующие элементы:
Data Fields - поля, отображающие данные из.ЬУО-файла;
Text Fields - используются для внесения в отчет поясняющего текста;
Formula Fields - вычисляемые поля;
Special Fields - специальные поля, например время, номер страницы, номер записи и т. д.;