
ООПроектирование. Лабораторный практикум
.pdf61
∙«1» – для класса « Форма отображения справочника» на связи «
Форма отображения абонентов» - «
Форма ото- бражения справочника»;
∙«1» – для класса « Форма отображения справочника» на связи «
Форма отображения справочника» - «
Модуль глобальных данных»;
∙«1» – для класса « Модуль глобальных данных» на связи «
Форма отображения справочника» - «
Модуль гло- бальных данных»;
∙«1» – для класса « Форма отображения абонентов» на связи «
Форма отображения абонентов» - «
Модуль глобаль- ных данных»;
∙«1» – для класса « Модуль глобальных данных» на связи «
Форма отображения абонентов» - «
Модуль глобаль- ных данных»;
∙«1» – для класса « Форма редактирования типов телефо- нов» на связи «
Форма редактирования типов телефонов» - «
Модуль глобальных данных»;
∙«1» – для класса « Модуль глобальных данных» на связи «
Форма редактирования типов телефонов» - «
Модуль
глобальных данных»;
41 Повторив действия аналогичные п.п. 17, 20 – 28, 30 – 34, выполните на диаграмме « Серверное приложение» настройку следующих классов:
∙Устойчивый (« Persistent») класс – сущность («entity») «
Або-
нент»:
o Атрибут « Фамилия» типа «string»; o Атрибут «
Имя» типа «string»;
o Атрибут « Отчество» типа «string»;
o Устойчивый ( Persistent) класс – сущность (entity) «
Те- лефон»:
o Атрибут « Номер телефона» типа «string»;
o Устойчивый (Persistent) класс – сущность (entity) « Тип телефонов»:
o Атрибут « Тип телефона» типа «string»;
Добавление ассоциаций
42 С помощью инструмента («Unidirectional Association») прове-
дите связи ассоциации:
∙от класса « Абонент» к классу «
Телефон»;
∙от класса « Тип телефонов» к классу «
Телефон»;
62
43Повторив действия, аналогичные п.п. 17, 36, 38 – 39, 42 установите связи и множественность:
∙ Диаграмма « Серверное приложение» (рисунок 13):
oАссоциация между классами (множественность «1») и « Телефон» (множественность «0..*»);
oАссоциация между классами « Телефон» (множествен- ность «0..*») и «
Тип телефонов» (множественность
«1»);
∙Диаграмма « Общая схема» (рисунок 11):
oЗависимость между классами «Модуль глобальных дан- ных» (множественность «1») и « Тип телефонов» (мно- жественность «0..*»);
oЗависимость между классами « Модуль глобальных данных» (множественность «1») и «
Телефон» (множе- ственность «0..*»);
oЗависимость между классами « Модуль глобальных данных» (множественность «1») и «
Абонент» (множест- венность «0..*»).
На рисунке 11 классы показаны без атрибутов и операций. Вы може- те добиться этого, щелкнув правой клавишей мыши по классу и выбрав в появившемся меню последовательно пункты «Options\Suppress Attributes» – отменить отображение атрибутов и «Options\Suppress Operations» – отменить отображение операций. Данные настройки не оказывают никакого влияния на контент модели.
Отчет о выполнении лабораторной работы
Отчет разрабатывается в формате MS Word 2003 или старше. Для подготовки отчета необходимо выполнить следующие действия.
1Средствами MS Word создайте новый файл отчета;
2С помощью Rational Rose откройте разработанную вами диаграмму.
3С помощью функции меню «Edit\Copy Active Diagram Ctrl+C» ско-
пируйте диаграмму в буфер обмена.
4Переместите в файл отчета диаграмму из буфера обмена
(Shift+Ins).
Если диаграмм несколько – действия 2 – 4 следует повторить для каждой диаграммы.
5Разработайте и оформите отчет в формате MS Word. Состав отчета:
a)Титульный лист (см. Приложение А);
b)Диаграммы классов « Общая схема», «
Клиентское прило- жение» и «
Серверное приложение».
63
Контрольные вопросы и задания
1Опишите назначение диаграмм пакетов.
2Опишите назначение диаграмм классов.
3Опишите нотационные обозначения, применяемые в диаграммах па- кетов и классов.
4Проведите анализ диаграмм варианта использования «Просмотреть список абонентов», разработанных вами в процессе выполнения ла- бораторных работ и заданий к ним. По результатам анализа допол- ните самостоятельно диаграммы классов: добавьте недостающие, по вашему мнению, пакеты, диаграммы, классы, атрибуты, операции.
Лабораторная работа № 8 Разработка физической модели данных
Время выполнения: 2 ак. часа.
Цель работы: Знакомство с возможностями моделирования физической структуры данных средствами UML, синтаксисом диаграмм модели дан- ных, получение практических навыков их интерпретации и разработки:
−Изучение нотации UML в части разработки модели данных.
−Создание диаграмм модели данных для учебного проекта.
Аппаратно-программное обеспечение:
−Персональный компьютер;
−Операционная система Windows ХP или выше;
−Среда проектирования Rational Rose Enterprise Edition 7.0 или выше;
Задание на проектирование
Разработать диаграммы модели данных (рисунок 15) серверного при- ложения локальной электронной телефонной книги.
Задание на лабораторное исследование
1Изучить нотационные соглашения UML, принятые при разработке модели данных;
2Изучить инструментальные средства Rational Rose Enterprise Edition 7.0.
Инструментальные средства Rational Rose Enterprise Edition
для разработки диаграмм модели данных
В таблице 7 представлено краткое описание нотации диаграмм моде-
ли данных (UML). Rational Rose Enterprise Edition предоставляет пользова-
телю следующие инструментальные средства их разработки:

|
|
|
|
|
64 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<<SP Container>> |
||
|
|
T_Абонент |
|
|
|
|
|
SP_1 |
|||
|
|
|
|
|
|
|
|
||||
|
|
Фамилия : VARCHAR(255) |
|
|
|
|
<<SP>> Добавить тип телефонов() |
||||
|
|
Имя : VARCHAR(255) |
|
|
|
|
<<SP>> Изменить тип телефонов() |
||||
|
|
Отчество : VARCHAR(255) |
|
|
|
|
<<SP>> Удалить тип телефонов() |
||||
|
|
T_Абонент_ID : INTEGER |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
<<PK>> PK_T_Абонент36() |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
T_Тип телефонов |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<<Non-Identifying>> |
|
|
|
|
|
|
Тип телефона : VARCHAR(255) |
|
|||
|
|
|
|
|
|
T_Тип телефонов_ID : INTEGER |
|
||||
0..* |
|
|
|
|
|
|
<<PK>> PK_T_Тип телефонов38() |
|
|||
|
<<Non-Identifying>> 1 |
||||||||||
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T_Телефон
Номер телефона : SMAL-
LINTТелефон_ID : INTEGER 0..*
T_Абонент_ID : INTEGER
T_Тип телефонов_ID : INTEGER
<<PK>> PK_T_Телефон37()
<<FK>> FK_T_Телефон21()
<<FK>> FK_T_Телефон20()
<<Index>> TC_T_Телефон42()
<<Index>> TC_T_Телефон43()
<<Derive>>
T_Телефон
Телефоны абонента
<<Derive>>
T_Тип телефонов
Номер телефона : T_Телефон.Номер телефона
T_Телефон_ID : T_Телефон.T_Телефон_ID
Тип телефона : T_Тип телефонов.Тип телефона
T_Тип телефонов_ID : T_Телефон.T_Тип телефонов_ID
COL_3 : T_Телефон.T_Абонент_ID
COL_4 : T_Тип телефонов.T_Тип телефонов_ID
Рисунок 15 – Диаграмма модели данных « Серверное приложение»
1 Selection Tool – инструмент предназначен для выбора и мани- пуляции отдельными элементами диаграммы и/или их частями с по- мощью мыши. Одинарный щелчок левой клавиши мыши фиксирует выбор элемента на диаграмме или в браузере, двойной – осуществ- ляет вызов его спецификации. Инструмент поддерживает операции

65
передвижения (прием DrаgАndDrop) элементов и их частей в пре- делах диаграммы и браузера, а так же их перетаскивания из браузера на диаграмму.
2 Text Box – инструмент предназначен для создания и размещения на диаграмме текстовой информации, поясняющей ее содержание.
3 Note – инструмент предназначен для создания и размещения на диаграмме текстовых заметок, привязанных к элементам диаграммы.
4 Anchor Note to Item – инструмент предназначен для привязки заметки к элементу диаграммы.
5 Table – инструмент предназначен для создания и размещения на диаграмме таблицы данных.
6 Non-editifying Relationship – инструмент предназначен для соз- дания и размещения на диаграмме неидентифицирующей связи меж- ду таблицами.
7 Editifying Relationship – инструмент предназначен для создания и размещения на диаграмме идентифицирующей связи между табли- цами.
8 View – инструмент предназначен для создания и размещения на диаграмме представления данных.
9 Dependency – инструмент предназначен для создания и разме- щения на диаграмме связи зависимости между таблицами или паке- тами.
Таблица 7 – Элементы диаграммы модели данных
Графическое изображение элемента |
|
||||||||
на диаграмме |
в брау- |
на панели |
Интерпретация |
||||||
инструмен- |
|||||||||
зере |
|
||||||||
|
|
|
|
|
|
тов |
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Диаграмма модели |
|
|
|
|
|
|
|
|
|
данных |
|
|
|
|
|
|
|
|
|
Таблица |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<<Non-Idenifying>> |
|
|
Неидентифицирующая |
||||||
|
|
связь |
|||||||
|
<<Identifying>> |
|
|
Идентифицирующая |
|||||
|
|
|
|
|
|
|
|
связь |
|
|
|
|
|
|
|
|
|
|

66
Таблица 7 (продолжение) – Элементы диаграммы модели данных
Представление
<<SP Container>>
SP_1 Контейнер для хранимых
процедур
<<SP>>
Хранимая процедура
Зависимость
Текстовая информация в Любой текст произвольном месте диа-
граммы
Текстовый комментарий,
Комментарий связанный с элементом диаграммы
Связь между коммента- рием и элементом диа-
граммы
Рекомендуемый порядок выполнения работы
Для выполнения лабораторной работы № 8 необходимо открыть файл, в котором вы сохранили результаты предыдущего исследования. Ес- ли вы этого не сделали, вам придется выполнить предыдущую работу по- вторно.
Генерация физической модели данных на основе диаграммы классов
1Найдите и выберите в браузере правой клавишей мыши пакет со- держащий логическую модель серверного приложения « Сервер-
ное приложение».
2В открывшемся меню выберите пункт «Data Modeler\Transform to Data Model…». На экране появится диалоговая форма генерации физической модели данных.
3В поле «Destination Schema» наберите «Серверное приложение»
– название папки, в которую следует поместить сгенерированные диаграммы классов.
4В поле «Prefix» наберите «T_» – префикс «T_» будет присутствовать в названиях таблиц в составе физической модели данных.

67
5 Выполните генерацию таблиц физической модели данных, щелкнув левой клавишей мыши по кнопке . В браузере в папке
« |
Серверное приложение» появились дополнительные пакеты |
« |
Global Data Types» и « Schemas». |
6Раскройте пакет « Schemas».
7Найдите в браузере и раскройте пакет « <<Schema>> Серверное приложение».
8 |
Щелкните в |
браузере |
правой клавишей |
мыши по |
пакету |
||
|
« <<Schema>> Серверное приложение». |
|
|
||||
9 |
В |
открывшемся |
меню |
выберите |
пункт |
||
|
«Data Modeler\New\Data Modeler Diagram». В браузере появилась |
||||||
|
диаграмма данных « NewDiagram». |
|
|
|
|||
10 |
Дважды щелкнув левой клавишей мыши в браузере по диаграмме |
||||||
|
данных « NewDiagram», откройте ее. |
|
|
|
|||
11 |
Найдите в браузере и, используя прием |
DrаgАndDrop, перетащите |
|||||
|
на |
диаграмму |
таблицы |
« Т_Абонент», |
« Т_Телефон» и |
« Т_Тип телефонов» (рисунок 16).
Рисунок 16 – Генерация физической модели данных

|
68 |
Добавление представления (view) |
|
12 |
Щелкните в браузере правой клавишей мыши по пакету |
|
« <<Schema>> Серверное приложение». |
13 |
В открывшемся меню выберите пункт «Data Modeler\New\View». В |
|
браузере появилось представление « V_...». |
14 |
Двойным щелчком мыши по только что созданному представлению |
|
в браузере откройте его спецификацию. |
15Назовите его (поле «Name») « Телефоны абонента».
Добавление таблиц в представление (view)
16В спецификации представления выберите закладку «From».
17Из перечня доступных элементов «Available Members» выберите таблицу « Т_Абонент».
18Щелкнув левой клавишей мыши по кнопке , добавьте таб- лицу «
Т_Абонент» в представление.
19Повторив действия аналогичные 17 – 18, добавьте в представление таблицу « Т_Тип телефонов».
20Завершите настройку представления, однократным щелчком левой клавиши мыши по кнопке в спецификации представления.
21Используя прием DrаgАndDrop перетащите из браузера представ- ление « Телефоны абонента» на диаграмму.
Добавление хранимой процедуры и контейнера
22 Щелкните в браузере правой клавишей мыши по пакету
« <<Schema>> Серверное приложение».
23 В открывшемся меню выберите пункт «Data Modeler\New\Stored Procedure». В браузере появился контейнер для хранимых процедур « <<SP Container>> SP_...» и собственно хранимая процедура
« <<SP>> OP_SP_...».
24 Двойным щелчком мыши по только что созданной хранимой проце- дуре откройте ее спецификацию.
25Назовите ее (поле «Name») « Добавить тип телефона».
26Завершите настройку хранимой процедуры, однократным щелчком левой клавиши мыши по кнопке в спецификации.
Добавление хранимой процедуры в контейнер
27 |
Щелкните в браузере правой клавишей мыши по |
контейнеру |
|
« <<SP Container>> SP_...». |
|
28 |
В открывшемся меню выберите пункт «Data Modeler\New\Stored |
|
|
Procedure». В браузере в контейнере «<< SP Container>> SP_...» |
|
|
и собственно хранимая процедура « <<SP>> OP_SP_... |
». |
69
29 Двойным щелчком мыши по только что созданной хранимой проце- дуре откройте ее спецификацию.
30Назовите ее (поле «Name») « Изменить тип телефона».
31Завершите настройку хранимой процедуры, однократным щелчком левой клавиши мыши по кнопке в спецификации.
32Повторив действия аналогичные 27 – 31, добавьте в контейнер
«<< SP Container>> SP_...» хранимую процедуру «
Удалить тип телефона».
33Используя прием DrаgАndDrop перетащите из браузера на диа- грамму контейнер с хранимыми процедурами (рисунок 15).
Контрольные вопросы и задания
1Проведите анализ диаграмм варианта использования «Просмотреть список абонентов», разработанных вами в процессе выполнения ла- бораторных работ и заданий к ним. По результатам анализа допол- ните самостоятельно диаграммы классов: добавьте недостающие, по вашему мнению, пакеты, диаграммы, классы, атрибуты, операции,
разработайте полную модель данных для серверного приложения информационной системы.
70
Библиографический список
1Буч, Г. Объектно-ориентированный анализ и проектирование с при- мерами приложений (3-е издание) / Г. Буч, Р. А. Максимчук. – М. :
Вильямс, 2008. – 720 с.
2Трофимов С.А. CASE-технологии: практическая работа в Rational Rose (2-е издание). / С. А. Трофимов. – М.: Бином-Пресс, 2002 г. - 288 с.: ил.
3Вендров А.М. Проектирование программного обеспечения экономи- ческих информационных систем. / А. М. Вендров. – М. : Финансы и статистика, Финансы и статистика, 2002. – 352 с.