- •Работа с Visible Analyst 7.2 на примере разработки системы выдачи водительских удостоверений Краткий обзор Visible Analyst 7.2
- •Панель управления
- •Окно просмотра объектов
- •Создание нового проекта
- •Диаграмма функциональной декомпозиции
- •Диаграммы потоков данных. Часть 1
- •Диаграммы «Сущность – Связь»
- •Диаграммы потоков данных. Часть 2
- •Структурное проектирование (Схемы Констатайна)
Диаграммы «Сущность – Связь»
Чтобы научиться создавать диаграммы «Сущность – Связь» нам необходимо сначала ввести элементы данных в репозиторий Visible Analyst. Затем эти данные понадобятся нам для описания сущностей на диаграмме.
Чтобы войти в репозиторий системы, выберите пункт Define (Определить) из меню Repository (Репозиторий) или просто нажмите комбинацию клавиш CTRL+D. Перед Вами появится окно репозитория, показанное на рис. 5.1
В
Рис. 5.1
Label (Имя) |
Description (Описание) |
Type (Тип) |
Length (Длина) |
Entry Type (Тип элемента) |
Drv_address |
Адрес водителя |
Char |
30 |
Data Element |
Dep_address |
Адрес отделения ГИБДД |
Char |
30 |
Data Element |
Drv_birth |
Дата рождения водителя |
Date |
8 |
Data Element |
Exm_date |
Дата экзамена |
Date |
6 |
Data Element |
Drv_name |
Имя водителя |
Char |
30 |
Data Element |
Eval_name |
Имя инспектора ГИБДД |
Char |
30 |
Data Element |
Appl_num |
Номер заявителя |
Integer |
5 |
Data Element |
Eval_num |
Номер инспектора ГИБДД |
Integer |
4 |
Data Element |
Lic_num |
Номер водительской лицензии |
Char |
11 |
Data Element |
Med_num |
Номер мед. страховки |
Char |
11 |
Data Element |
Dep_num |
Номер отделения ГИБДД |
Integer |
3 |
Data Element |
Result |
Результат экзамена |
Binary |
1 |
Data Element |
Fee |
Cумма взноса |
Integer |
4 |
Data Element |
Поля Label, Description и Entry Type вводятся на вкладке Description, а поля Type и Length на вкладке Physical Characteristics. Не забывайте сохранять введенные вами данные с помощью кнопки Save.
Кроме Элементов данных (Data Element), в Visible Analyst есть понятие Структуры данных (Data Structure), которая может включать в себя несколько элементов. Нам потребуется добавить в репозиторий структуру данных «Drv_info» - «Информация о водителе», которая будет включать в себя такие элементы, как «Drv_name», «Drv_birth», «Drv_address» и «Med_num». Чтобы добавить структуру данных, войдите в репозиторий и в поле Entry Type (Тип элемента) введите Data Structure. Затем введите имя новой структуры и нажмите кнопку Save. Для добавления элемента данных в структуру проделайте следующие шаги:
В окне просмотра объектов вызовите контекстное меню для папки Data Structure и выберите пункт Expand (Развернуть). Затем в развернувшемся списке найдите нужную Вам структуру данных и из ее контекстного меню выполните команду Define (Определить)
Н ажмите кнопку и перед Вами появится окно для ввода атрибутов структуры, как называют входящие в ее состав элементы данных.
Перейдите в поле Global Name (Глобальное имя) и нажмите кнопку Search (Поиск)
Вы увидите перед собой список всех элементов данных репозитория. Выполните двойной клик мышкой по элементу, который Вы хотите добавить
Нажмите OK
Нажмите кнопку Save.
Добавьте в структуру «Drv_info» указанные выше элементы данных.
Итак, мы заполнили репозиторий необходимыми данными и теперь можем перейти непосредственно к созданию диаграммы «Сущность - Связь». Для создания новой диаграммы можно использовать пункт New Diagram (Новая диаграмма) из меню File (Файл) или комбинацию клавиш CTRL+N. В окне создания новой диаграммы укажите в качестве Diagram Type (Тип диаграммы) - Entity Relationship («Сущность – Связь»). Откроется новая диаграмма. При ее сохранении, с помощью кнопки Save (Сохранить) на панели управления, запрашивается имя для этой диаграммы. Введите «Модель данных» в качестве имени.
В нижеприведенной таблице изображены основные объекты, помещаемые на диаграммы типа «Сущность - Связь»:
Объект |
Изображение |
Сущность (Entity) |
|
Ассоциативная сущность (Associative Entity) |
|
Атрибутивная сущность (Attributive Entity) |
|
Связь типа 1 : М (Relationship) |
|
Кардинальность связи изображается в Visible Analyst с помощью использования различных терминаторов у изображающих связи линий. В нашем проекте используется нотация Crowsfoot («Куриные лапки») и этим объясняется текущий вид линий связи. В нижеприведенной таблице приведены основные типы терминаторов для данной нотации:
Значение |
Изображение |
1 и только 1 |
|
1 или 0 |
|
1 или много |
|
0 или много |
|
Д
Рис. 5.2
Обратите внимание на то, что сущность «Экзамен» является ассоциативной.
Следующим шагом в разработке диаграммы «Сущность - Связь» является описание сущностей и связей с точки зрения данных. Каждая сущность должна иметь некоторые атрибуты. Например, «Отделение ГИБДД» имеет номер отделения и адрес. Выделите сущность «Отделение ГИБДД» на диаграмме и вызовите его контекстное меню. Выберите пункт Define ( Определить). Открывается окно репозитория. Нажмите кнопку и перед Вами появится окно для ввода атрибутов сущности, показанное на рис. 5 .3
У
Рис. 5.3
Сущность |
Атрибуты |
Отделение ГИБДД |
Dep_num Dep_address |
Заявитель |
Appl_num Dep_num Drv_info |
Водительское удостоверение |
Lic_num Dep_num Drv_info |
Инспектор |
Dep_num Eval_num Eval_name |
Экзамен |
Eval_num Dep_num Appl_num Exm_date Result |
П
Рис. 5.4
В качестве примера рассмотрим как добавить первичный и внешний ключи для сущности «Инспектор». Из рис. 5.4 видно, что у сущности «Инспектор» атрибут Eval_num является ключевым, а атрибут Dep_num – внешним ключом, так как по нему идет связь с сущностью «Отделение ГИБДД».
Чтобы сделать атрибут Eval_num ключевым, выполните следующую последовательность действий:
В ыделите сущность «Инспектор» на диаграмме и вызовите его контекстное меню. Выберите пункт Define (Определить). Открывается окно репозитория.
Нажмите кнопку и в специальном окне выделите атрибут Eval_num. Оно автоматически переносится в список ключевых полей. Нажмите OK и затем Save (Сохранить).
Чтобы сделать атрибут Dep_num внешним ключом, выполните следующую последовательность действий:
Выделите сущность «Инспектор» на диаграмме и вызовите его контекстное меню. Выберите пункт Define (Определить). Открывается окно репозитория. Перейдите на вкладку Foreign Keys (Внешние ключи).
В поле Relationship (Связь) удостоверьтесь, что выбрана связь с сущностью «Отделение ГИБДД»
В поле Available Columns (Доступные поля) выполните клик мышкой по атрибуту Dep_num.
Выполните клик мышкой на поле, расположенное слева от поля Available Columns. Теперь атрибут Dep_num является внешним ключом. Нажмите кнопку Save (Сохранить).
Проведите аналогичные действия над остальными сущностями, добавив для них первичные и внешние ключевые поля. Используйте рис. 5.4.
На этом разработку диаграммы «Сущность - Связь» для нашей системы можно считать законченной. Правильность созданной диаграммы можно проверить с помощью пункта Analyze (Анализ) из меню Diagram (Диаграмма). При выборе этого пункта открывается окно анализа в котором выберите опцию Current Diagram (Текущая диаграмма). Поочередно выполните проверку с параметром Syntax Check (Синтаксическая проверка) и Normalization (Нормализация). Если Вы делали все верно, то выдается сообщение «Project Correct». В противном случае, Visible Analyst выдаст список ошибок, которые необходимо исправить, чтобы проект удовлетворял требованиям выбранной методологии. Ошибки в ключевых полях можно обнаружить используя пункт Key Analysis (Анализ ключей) из меню Repository (Репозиторий). Если ошибок в ключевых полях не найдено, то Visible Analyst выдает сообщение «No Errors Fount During Key Analysis» («В процессе анализа ключей ошибок не найдено»). В противном случае выдается список ошибок, которые Вам необходимо устранить.