355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Сергей Маклаков » BPwin и Erwin. CASE-средства для разработки информационных систем » Текст книги (страница 13)
BPwin и Erwin. CASE-средства для разработки информационных систем
  • Текст добавлен: 5 октября 2016, 01:11

Текст книги "BPwin и Erwin. CASE-средства для разработки информационных систем"


Автор книги: Сергей Маклаков


Жанр:

   

Базы данных


сообщить о нарушении

Текущая страница: 13 (всего у книги 14 страниц)

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 – специальные поля, например время, номер страницы, номер записи и т. д.;

OLE объекты (Object Link and Embedding) – специальные объекты (обычно графические, связываемые с OLE-серверами (PC Paintbrush, MS Excel, MS Word и т. д.).

В верхней части окна RPTwin располагается панель инструментов. Функциональность панели инструментов доступна из основного меню RPTwin и показана в таб.5.1.

Таблица 5.1. Описание элементов управления основной панели инструментов RPTwin


Элементы управления Описание Соответствующие пункты меню
Создать новый отчет File/New
Открыть отчет File/Open
Сохранить отчет File/Save
Напечатать отчет File/Print
Просмотр отчета File/Print Preview
Привязка объектов отчета к сетке (Snap to Grid) Layout/Snap to Grid
Выбор стиля шрифта
Выбор типа и размера шрифта
Форматирование поля

RPTwin имеет также палитру инструментов (ToolBox). Назначение кнопок палитры инструментов приведено в табл. 5.2.

Таблица 5.2. Описание элементов управления палитры инструментов


Элемент управления Функция
Режим указателя
Добавить текстовое поле
Добавить формулу
Добавить разрыв страницы
Добавить специальное поле – время выполнения отчета
Добавить специальное поле – номер страницы
Добавить специальное поле – дату выполнения отчета
Добавить специальное поле – номер записи
Добавить специальное поле – количество записей. Если это поле добавляется в секцию Group Footer, подсчитывается количество строк в группе, если в Report Footer – в отчете
Добавить OLE-объект

DataSet Columns (см. рис. 5.3) показывает список полей набора данных из LWD-файла. Эти поля могут быть включены в отчет при помощи техники drag&drop. Список DataSet Columns можно перемещать по рабочему пространству отчета, можно скрыть его или вновь сделать видимым (пункт меню View/DataSet Columns List).


5.2. Форматирование отчетов
5.2.1. Вставка и форматирование объектов отчета

Созданный в диалоге New Report отчет может быть изменен – в него могут быть добавлены новые объекты, свойства существующих объектов могут быть изменены.

Поле данных содержит информацию из файла данных или вычисляемые значения. Поле данных может быть трех типов:

простое поле данных (Simple Data Field) представляет собой колонку набора данных (фaйл.LWD). В режиме дизайна отображается именем колонки набора данных, например ENTITY NAME или ATTRIBUTE NAME;

специальное поле (Special Function) показывает дату (Date) и время (Time) выполнения отчета, номер страницы (Page Number), номер строки (Record Number) и общее количество строк (Record Count);

формула (Formula) позволяет производить сложные вычисления и обработку данных. (Создание и использование формул будет рассмотрено в гл. 5.3.)

Поля могут быть включены в любую секцию отчета. Простые поля можно включить в отчет просто "перетаскивая" их (drag&drop) из окна DataSet Columns List в соответствующую секцию.

Для включения специального поля можно воспользоваться палитрой инструментов (см. табл. 5.2) или меню Insert/Special Field. Специальное поле должно быть включено в строго определенную секцию отчета. Так, например, номер страницы может быть включен в Page Header или в Page Footer, общее количество строк (Record Count) – в Group Footer, Page Footer или Report Footer.

Для редактирования свойств полей данных следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Data Field Properties.

Возникает диалог Data Field Properties (рис. 5.4), в котором можно изменить следующие свойства поля:

имя поля (поле ввода Name);

координаты поля в отчете и его размеры (Position, Height и Width). Изменить координаты поля можно также просто, "перетащив" поле по рабочему пространству отчета, "зацепив" его мышью. Изменить размеры поля можно также непосредственно в рабочем пространстве отчета. Для этого следует щелкнуть по полю. Появятся габаритные указатели поля !!!!!!!!!!!!!!!. "Зацепив" мышью такой указатель, можно увеличить или уменьшить размер поля. Опция Can be squeezed up if no data особенно важна для вертикальных отчетов. Если она включена, то строка, не содержащая данных, не будет печататься. Ширина поля может быть установлена фиксированной (значение Fixed Width в комбинированном списке справа от поля Width), может автоматически устанавливаться по ширине поля данных (Adjust Width to Data) или максимально возможной – до следующего поля справа или правой границы отчета (Expand Right to Margin or Next Item);

Рис. 5.4. Диалог Data Field Properties

расположение длинного поля в несколько строчек (Word Wrap);

рамки поля (Borders);

фон поля (Patterns);

кроме того, можно скрыть поле, если повторяются его значения (опция Suppress группы Repeating Values). Если при включенной опции Suppress включена также опция Redisplay after Group, значение поля печатается один раз в начале каждой группы, даже если оно является повторяющимся. Если включена опция Redisplay after Page, значение поля печатается один раз в начале каждой страницы.

Текстовые поля (Text Field) могут использоваться в отчете для заголовков, подписей и другой поясняющей информации. Они могут содержать буквы, цифры и специальные символы. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/Text Field.

При внесении поля или при его редактировании (для редактирования свойств текстового поля следует щелкнуть правой кнопкой мыши по полю и выбрать во всплывающем меню пункт Text Field Properties) возникает диалог Text Field Properties (рис. 5.5), в котором можно внести текст поля (Text), имя (Name), изменить рамки (Borders), его размеры и расположение на отчете.

Для удаления поля следует щелкнуть по нему левой кнопкой мыши и нажать на клавишу Delete на клавиатуре.

Рис. 5.5. Диалог Text Field Properties

Помимо текстовых или специальных полей в отчет могут быть включены OLE-объекты. Для вставки текстового поля можно воспользоваться кнопкой !!! в палитре инструментов или меню Insert/OLE Object. При внесении OLE-объекта возникает диалог Вставка объекта (Insert Object), рис. 5.6, в котором следует указать либо тип вновь создаваемого объекта, либо имя файла, содержащего объект. Если вставляется существующий объект, он будет добавлен в секцию отчета, если новый – вызовется соответствующее приложение для создания объекта.

Рис. 5.6. Диалог "Вставка объекта'

Для редактирования OLE-объекта следует дважды щелкнуть по нему кнопкой мыши. Вызывается приложение для редактирования объекта, причем в большинстве случаев меню приложения встраивается в меню RPTwin.

Некоторые OLE-объекты могут быть преобразованы в другой тип. Для преобразования типа объекта следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт Объект/Преобразовать (Object/Convert). В появившемся диалоге Преобразование (Convert) следует указать новый тип объекта и щелкнуть по кнопке ОК.

Для изменения свойств следует щелкнуть по нему правой кнопкой мыши и выбрать во всплывающем меню пункт OLE Object Properties. В появляющемся диалоге OLE Object Properties можно задать такие свойства объекта, как расположение в отчете или размеры.


5.2.2. Группировка и сортировка данных отчета

RPTwin позволяет выстроить данные отчета в определенном порядке (сортировка) либо объединить их в группы (группировка). Так, в примере на рис. 5.3 отчет сгруппирован по имени стрелки, другими словами, в каждую группу включаются данные, относящиеся к одной определенной стрелке.

Для установления сортировки и группировки следует выбрать пункт меню Layout/Sorting and Grouping. Появляется диалог Sorting/Grouping (рис. 5.7).

Рис. 5. 7. Диалог Sorting/Grouping

В левом списке диалога (DataSet Columns) содержатся имена всех полей набора данных, в правом (Sort/Group On) – список полей, по которым производится сортировка или группировка.

Для установки сортировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Sort Only и установить порядок сортировки – по возрастанию (Ascending) или по убыванию (Descending). Опция Case Sensitive устанавливает режим сортировки – учитывать ли при сортировке регистр данных.

Для установки группировки по полю необходимо выбрать его в левом списке и щелкнуть по кнопке Add>. Затем следует выбрать опцию Group and Sort и установить порядок сортировки. Группы сортируются автоматически – нельзя установить группировку по полю без сортировки. Опции with Header и with Footer (установлены по умолчанию) включают в отчет секции Group Header и Group Footer.

RPTwin позволяет установить сортировку и группировку по вычисляемому значению. Для создания вычисляемого значения следует щелкнуть по кнопке Sort/Group on Calculated Value и в появившемся диалоге Formula Editor набрать текст формулы (например, "LTrim ({Arrow Name})"). Синтаксис формул будет рассмотрен в гл. 5.3. Созданная формула автоматически добавляется в правый список диалога Sorting/Grouping.


5.2.3. Изменение файла данных отчета

Любой отчет RPTwin использует в качестве источника единственный файл данных (.LWD), имя которого указывается при создании отчета. Иногда необходимо использовать созданный шаблон отчета (файл-LWR) для работы с различными наборами данных. RPTwin позволяет изменить файл набора данных.

Для этого необходимо выбрать пункт меню Options/Current DataSet. Появляется диалог Current DataSet (рис. 5.8), который содержит два поля ввода – DataSet Currently In Use By This Report и DataSet Linked To This Report. Поле DataSet Currently In Use By This Report показывает файл данных, который используется в отчете. В поле DataSet Linked To This Report показывается файл, который сохраняется вместе с отчетом. Обычно в обоих полях показывается один и тот же файл.

Если необходимо временно использовать другой файл данных, следует указать его имя в верхнем поле. Новый файл данных должен иметь те же самые имена колонок, что и старый, типы колонок также должны совпадать. Если имена или типы колонок не совпадают, поля отчета получают имя Bad Formula.

Рис. 5.8. Диалог Current DataSet

Если необходимо изменить файл данных для его постоянного использования в дальнейшем, следует указать его имя в нижнем поле и щелкнуть по кнопке Link. Указанный файл данных (*.LWD) будет связан с текущим файлом шаблона отчета (*.LWR). По умолчанию указывается полное имя файла (путь+имя), которое запоминается в шаблоне отчета. Если не указывать путь (кнопка No Path), то шаблон отчета не привязывается к конкретному месту на диске. В этом случае RPTwin сначала ищет файл данных в каталоге по умолчанию (DATASETS), затем в каталоге, в котором содержится файл шаблона отчета, затем в текущем каталоге.


5.2.4. Изменение свойств отчета

RPTwin позволяет изменять свойства как уже созданного отчета, так и новых отчетов. Свойства существующего отчета редактируются в диалогах Current Layout и Page Layout. Так, рассматриваемые ниже свойства Show Text Borders, Add Names to New Data Fields, Snap Objects To Grid, Show Grid, Measurement Units, Number Formats и Enable Case Sensitive Sort для уже созданного отчета можно изменить в диалоге Current Layout (меню Options/Current Layout).

Те же самые свойства для вновь создаваемых отчетов редактируются в диалоге Page Layout (рис. 5.9).

Опция Default Data Format позволяет задать форматирование полей отчета по умолчанию. Отдельно задается формат для полей разных типов:

Datetime, Date, Time, Number, Money. Форматирование каждого поля в уже созданном отчете можно изменить в диалоге Data Field Properties (см. рис. 5.4).

По умолчанию RPTwin создает многоколоночный отчет, разбивая его по ширине, в случае необходимости – на несколько страниц. Если включить опцию Fit All Columns on One Page, то колонки будут сжаты так, чтобы уместить отчет по ширине на одной странице.

Рис. 5.9. Диалог Current DaiaSet

В группе Margins устанавливается ширина поля отчета всантиметрах или дюймах (Units).

Если опция Show Text Borders включена, все текстовые поля отчета заключаются в рамки.

При включенной опции Add Names to New Data Fields новые поля вносятся в отчет вместе с текстовым полем – именем колонки в файле данных.

Snap Objects To Grid позволяет жестко связать поля с координатной сеткой.

Show Grid – показывает координатную сетку.

В группе Number Formats задается формат числовых полей – разделители, символ валюты и др.

Опция Enable Case Sensitive Sort позволяет учитывать при сортировке различия в регистре.

5.3. Использование формул RPTwin
5.3.1. Создание формул RPTwin

RPTwin позволяет преобразовать в формулу любое поле данных. Для этого в диалоге Data Field Properties (см. рис. 5.4) следует щелкнуть по кнопке Formula Editor. Возникает диалог Formula Editor (рис. 5.10).

Рис.5.10. Диалог Formula Editor

По умолчанию в верхнем поле диалога (Formula:) отображается имя текущего поля данных отчета. В это поле следует внести текст создаваемой формулы. В левом списке диалога DataSet Columns содержится список колонок файла данных отчета, в правом (Functions) – список функций RPTwin. В нижнем списке (Operators) содержится список операторов. Для внесения колонки, функции или оператора в текст формулы следует дважды щелкнуть по соответствующей строчке списка. Группа кнопок Edit облегчает редактирование текста формулы. Текст формулы должен удовлетворять требованиям синтаксиса формул RPTwin. Если формула содержит ошибку, то при закрытии диалога Formula Editor (кнопка OK) возникнет диалог PLATINUM RPTwin с сообщением об ошибке.

Рассмотрим синтаксические правила формул RPTwin.

Имена колонок. Имена колонок не должны начинаться с цифры и не должны содержать специальных символов (пробел, символ оператора и т. д.). Имя колонки в примере на рис. 5.10 содержит пробел, что является ошибкой. Для использования имен колонок, содержащих специальные символы, их следует заключить в фигурные скобки. Имена полей, не содержащие специальных символов, можно использовать без скобок. Имя "Arrow Dest. Type" – неверное, имена "{Arrow Dest. Type}" и "Name" – не содержат ошибки. Если имя колонки содержит пробелы в начале или конце строки, эти пробелы должны быть заключены в фигурные скобки – "{ Name}" (два пробела в начале имени) или "{Name }" (два пробела в конце имени).

Операторы. RPTwin поддерживает три типа операторов:

арифметические: сложение +, вычитание -, умножение *, деление /;

текстовый оператор конкатенации &;

операторы сравнения, использующиеся в предикате конструкции If (<=, <, =, >=,>);

логические операторы (is in, contains, and, or, not, is null, is not null).

Арифметические операторы используются в обычном смысле. В арифметических выражениях могут быть использованы круглые скобки, при этом сначала выполняются действия в скобках.

Оператор конкатенации позволяет сложить значения текстовых полей. При создании формул, оперирующих с текстом, следует учитывать, что строковые константы заключаются в двойные кавычки. Так, если значение поля Arrow Dest. – "Брак", а поля Arrow Name – "Output", то результатом выполнения формулы "{Arrow Dest.}&" "&{ Arrow Name}" будет "Брак Output".

Типы данных. При выполнении действий над данными необходимо соблюдать правила соответствия типов. Если создать формулу ""Arrow" + 1.0", то RPTwin выдаст сообщение об ошибке несоответствия типов – текст не может быть сложен с числом. RPTwin различает пять типов данных:

Number;

Text;

Date;

Time;

Datetime.

Если возвращаемое значение формулы – строка, то в некоторых случаях при несоответствии типов RPTwin не выдает ошибки, а конвертирует операнды в соответствующий тип. Например, выражение "3&5" будет выполнено без ошибки. Число 3 конвертируется в строку "З", 5 – в "5", результатом выполнения формулы будет строка "35".

Если возвращаемое значение имеет тип Time, в качестве операнда можно использовать Datetime. Если возвращаемое значение имеет тип Datetime, в качестве операнда можно использовать Time, при этом в качестве даты используется 1 января 0001 года.

Арифметические операторы могут использоваться только с числами. Если возвращаемое значение – число, автоматически конвертация типов не производится. Для конвертации типов в этом случае следует явно использовать функции конвертации (см. табл. 5.3).

Учитывать типы данных необходимо также, если поля или константы используются в качестве аргументов функций. Список функций с указанием типов аргументов приведен в табл. 5.3.


    Ваша оценка произведения:

Популярные книги за неделю