ООПроектирование. Лабораторный практикум
.pdf51
делах диаграммы и браузера, а так же их перетаскивания из браузера на диаграмму.
2 Text Box – инструмент предназначен для создания и размещения на диаграмме текстовой информации, поясняющей ее содержание.
3 Note – инструмент предназначен для создания и размещения на диаграмме текстовых заметок, привязанных к элементам диаграммы.
4 Anchor Note to Item – инструмент предназначен для привязки
заметки |
|
|
к |
|
|
элементу |
|
|
|
|
диаграммы. |
||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
0..* |
|
0..* |
|
1 |
|
|
|
|||||
Тип телефонов |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||||
(from Серверное приложение) |
|
|
|
|
|
|
|
|
|
|
|||
|
0..* |
|
Телефон |
|
|
|
|
|
|
||||
|
|
|
|
|
Абонент |
||||||||
|
|
|
(from Серверное приложение) |
|
|
|
|||||||
|
|
|
|
(from Серверное приложение) |
|||||||||
|
|
|
|
|
|
|
0..* |
|
0..* |
|
|||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
1 |
Модуль глобальных данных |
|||||||||||
|
|
|
|
||||||||||
|
|
|
|
(from Клиентское приложение) |
|
|
|
||||||
|
|
|
1 |
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
Форма редактирования типа телефонов |
|
|
|
|
|
|
|||||||
|
(from Клиентское приложение) |
|
|
|
|
|
|
|
|
|
|
||
|
1 |
|
|
1 |
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
Форма отображения справочника |
1 |
|
||||||||
|
|
|
(from Клиентское приложение) |
1 |
|
||||||||
|
1 |
|
|
|
1 |
1 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
Форма отображения абонентов
(from Клиентское приложение)
1
1
1
Главная форма
(from Клиентское приложение)
Рисунок 11 – Диаграмма классов « Общая схема»
52
Модуль глобальных данных
Менеджер транзакций : TADOConnection
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
1 |
|
|
|
1 |
|
|
|||
Форма редактирования типа телефонов |
|
|
|
|
1 |
|
|
|||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|||||
|
Форма отображения абонентов |
|||||||||||
Тип телефонов : TEdit |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
||
Сохранить : TButton |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Администрировать справочник типов телефонов() |
|||||||
Отменить : TButton |
|
|
|
|
|
|||||||
Добавить новый тип телефонов : TADOStoredProcedure |
|
|
|
|
Форма открывается() |
|||||||
Изменить тип телефонов : TADOStoredProcedure |
|
|
|
Синхронизировать список абонентов() |
||||||||
|
|
|
1 |
|
|
|
|
Выбранный абонент сменился() |
||||
Сохранить() |
|
|
|
|
Синхронизировать список телефонов абонента() |
|||||||
Проверить строку ввода() |
|
1 |
|
|
1 |
1 |
1 |
|
||||
|
|
|
|
|
|
|||||||
|
|
|
1 |
|
|
|
||||||
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Форма отображения справочника
Список типов телефонов : TDBGrid
Запрос списка типов телефонов : TADOQuery
Источник даннных о типах телефонов : TDadaSource
Добавить : TToolButton
Изменить : TToolButton Удалить : TToolButton
Синхронизировать : TToolButton
Просмотреть список абонентов : TToolButton Закрыть приложение : TToolButton
Удалить тип телефонов : TADOStoredProc
Синхронизировать список типов телефонов()
Форма открывается() |
|
Добавить новый тип телефонов() |
|
Изменить тип телефонов() |
1 |
Удалить тип телефонов() |
|
Просмотреть список абонентов() |
1 1
Главная форма
Рисунок 12 – Диаграмма классов « Клиентское приложение»
5 Class – инструмент предназначен для создания и размещения на диаграмме классов.
6 Interface – инструмент предназначен для создания и размещения на диаграмме интерфейсных классов.
7 Unidirectional association – инструмент предназначен для соз- дания и размещения на диаграмме однонаправленной связи ассоциа- ции между классами.
53
1 |
|
|
0..* |
|
|
||
|
|
|
|
|
|
|
|
Тип телефонов |
Телефон |
||||||
Тип телефона : String |
|
|
Номер телефона |
Добавить новый тип телефонов() Вывести список телефонов абонента()
Изменить тип телефонов() |
|
Добавить навый телефон абоненту() |
Удалить тип телефонов() |
|
Изменить телефон абонента() |
|
0..* |
Удалить телефон абонента() |
|
|
1
Абонент
Фамилия : String
Имя : String
Отчество : String
Добавить нового абонента()
Изменить абонента() Удалить абонента()
Рисунок 13 – Диаграмма классов « Серверное приложение»
Таблица 6 – Элементы диаграммы классов
|
Графическое изображение элемента |
Интерпретация |
||
|
на диаграмме |
в браузере |
на панели ин- |
|
|
|
|||
|
|
|
струментов |
|
|
|
|
|
Диаграмма клас- |
|
|
|
|
сов |
|
|
|
|
|
|
NewClass |
|
|
Класс |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Интерфейс
New Interface
Однонаправленная
ассоциация
Класс ассоциации
54
Таблица 6 (продолжение) – Элементы диаграммы классов
NewPackage |
Пакет |
|
Зависимость
Обобщение
Реализация
Аггрегация
Текстовая информация в Любой текст произвольном месте диа-
граммы
Текстовый комментарий,
Комментарий связанный с элементом диаграммы
Связь между комментари- ем и элементом диаграм-
мы
8 Dependency or instantianes – инструмент предназначен для создания и размещения на диаграмме связи зависимости между клас- сами.
9 Generalization – инструмент предназначен для создания и раз- мещения на диаграмме связи обобщения между двумя классами.
10 Association Class – инструмент предназначен для создания свя- зи между ассоциацией и классом.
11 Aggregation – инструмент предназначен для создания и разме- щения на диаграмме связи агрегации между двумя классами.
12 Package – инструмент предназначен для создания и размещения на диаграмме пакетов.
Рекомендуемый порядок выполнения работы
Для выполнения лабораторной работы № 7 необходимо открыть файл, в котором вы сохранили результаты предыдущего исследования. Ес- ли вы этого не сделали, вам придется выполнить предыдущую работу по- вторно.
55
Не забывайте по ходу выполнения работы регулярно сохранять ее результаты в своем индивидуальном рабочем каталоге во избежание потери информации. Настоятельно рекомендуем делать резервные копии после выполнения каждой лабораторной работы!
Создание пакетов
1Найдите и выберите в браузере правой клавишей мыши пакет логи- ческого представления « Logical View».
2Создайте новый пакет для хранения классов проектируемой инфор- мационной системы, выбрав в открывшемся меню пункт
«New\Package».
3Назовите его « Серверное приложение». В этом пакете будут храниться классы-сущности и диаграммы классов, которые будут положены в основу функционирования серверного приложения в со- ставе проектируемой информационной системы.
4Повторив действия, аналогичные 1 – 3, создайте пакет « Клиент- ское приложение» для хранения пограничных классов, классов управления и диаграмм классов, которые будут положены в основу функционирования клиентского приложения.
5В браузере Rational Rose откройте папку « Logical View» и двой-
ным щелчком мыши откройте главную диаграмму классов
(« Main»).
Объединение классов в пакеты
6В браузере, используя прием DrаgАndDrop, перетащите в пакет
« Серверное приложение» следующие классы:
∙« Абонент»;
∙« Тип телефонов»;
∙« Телефон».
7В браузере, используя прием DrаgАndDrop, перетащите в пакет
« Клиентское приложение» следующие классы:
∙« Форма отображения справочника»;
∙« Форма отображения абонентов»;
∙« Форма редактирования типа телефонов»;
∙« Модуль глобальных данных».
8Используя прием DrаgАndDrop, перетащите из браузера пакеты
« Серверное приложение» и « Клиентское приложение» на диаграмму.
56
Добавление зависимости между пакетами
9С помощью инструмента («Dependancy or Instantiates») прове- дите связь зависимости от пакета « Клиентское приложение» к
пакету « Серверное приложение» (рисунок 10).
Добавление диаграмм классов в пакеты
10 В браузере щелкните правой кнопкой мыши на пакете « Сервер-
ное приложение».
11В открывшемся меню выберите пункт «New\Class Diagram».
12Введите имя новой диаграммы – « Серверное приложение».
13Дважды щелкнув мышью на этой диаграмме, откройте ее.
14Перетащите на диаграмму из браузера классы:
∙« Абонент»;
∙« Тип телефонов»;
∙« Телефон».
15Повторив действия, аналогичные п.п. 10 – 14, организуйте диаграм-
му « Клиентское приложение» в пакете « Клиентское прило-
жение» и поместите в него классы:
∙« Форма отображения справочника»;
∙« Форма отображения абонентов»;
∙« Форма редактирования типа телефонов»;
∙« Модуль глобальных данных».
16Повторив действия, аналогичные п.п. 10 – 14, организуйте диаграм- му « Общая схема» в пакете « Logical View» и поместите в не- го классы:
∙« Форма отображения справочника»;
∙« Форма отображения абонентов»;
∙« Форма редактирования типа телефонов»;
∙« Модуль глобальных данных».
∙« Абонент»;
∙« Тип телефонов»;
∙« Телефон».
Добавление нового класса
17 Дважды щелкнув левой клавишей мыши по диаграмме классов
« Клиентское приложение» в браузере, откройте ее.
18 С помощью инструмента («Class») поместите на диаграмму но- вый класс.
19 Назовите его « Главная форма».
57
Настройка параметров класса
20 Дважды щелкнув левой клавишей мыши по классу « Форма ре-
дактирования типа телефонов», откройте окно спецификации класса.
Выбор стереотипа
21В списке «Stereotype» выберите стереотип «boundary» – погранич- ный класс.
Задание устойчивости
22В окне спецификации выберите вкладку «Detail».
23В области «Persistance» установите переключатель « Transient» (временный класс) в состояние – «включен».
Добавление атрибутов
24 В окне спецификации объекта выберите вкладку «Attributes».
25 Щелкните правой клавишей мыши по таблице в закладке «Attributes». Появившееся меню, позволяет выполнять различные действия над атрибутами:
∙Cut – удалить с копированием в буфер обмена;
∙Copy – копировать в буфер обмена
∙Paste – поместить в таблицу, используя буфер обмена;
∙Delete – удалить без копирования в буфер обмена;
∙Insert – добавить новый;
∙Specification… – открыть окно спецификации атрибута.
26 Выберите позицию «Insert». В спецификации и в браузере появится новый атрибут без описания.
27В поле «Name» введите имя атрибута « Тип телефонов»
28В поле «Type» введите тип атрибута «TEdit»
29Повторив действия аналогичные п.п. 25 – 28, введите сведения о
следующих атрибутах класса
∙« Сохранить» типа «TButton»;
∙« Отменить» типа «TButton»;
∙« Добавить новый тип телефонов» типа
«TADOStoredProcedure»;
∙« Изменить тип телефонов» типа «TADOStoredProcedure».
Добавление операций
30В окне спецификации объекта выберите вкладку «Operations».
31Щелкните правой клавишей мыши по таблице в закладке «Operations». Появившееся меню, позволяет выполнять различные дейст- вия над операциями:
∙Cut – удалить с копированием в буфер обмена;
58
∙Copy – копировать в буфер обмена
∙Paste – поместить в таблицу, используя буфер обмена;
∙Delete – удалить без копирования в буфер обмена;
∙Insert – добавить новую;
∙Specification… – открыть окно спецификации операции.
32 Выберите позицию «Insert». В таблице и в браузере появится новая операция.
33 В поле «Operation» введите имя операции « Проверить строку ввода».
34 Щелкнув левой клавишей мыши по кнопке , закройте специ- фикацию класса. Обратите внимание на то, как изменились изобра- жения класса на диаграмме, в браузере (рисунок 14), на диаграммах взаимодействия.
Рисунок 14. Настройка параметров класса
35 Повторив действия аналогичные п.п. 20 – 28, 30 – 34, выполните на- стройку следующих классов:
∙Временный (« Transient») управляющий («control») класс
« Модуль глобальных данных»:
o Атрибут« Менеджертранзакций»типа«TADOConnection»
59
∙Временный (« Transient») пограничный («boundary») класс
« Форма отображения справочника»:
o Атрибут « Список типов телефонов» типа «TDBGrid» o Атрибут « Запрос списка типа телефонов» типа
«TADOQuery»;
o Атрибут « Источник данных» типа «TDataSource»; o Атрибут « Добавить» типа «TToolButton»;
o Атрибут « Изменить» типа «TToolButton»; o Атрибут « Удалить» типа «TToolButton»;
o Атрибут « Синхронизировать» типа «TToolButton»; o Атрибут « Просмотреть список абонентов» типа
«TToolButton»;
o Атрибут « Закрыть приложение» типа «TToolButton»; o Атрибут « Удалить тип телефонов» типа
«TADOStoredProc»;
o Операция « Закрыть приложение»;
∙Временный (« Transient») пограничный («boundary») класс
« Главная форма»;
∙Временный (« Transient») пограничный («boundary») класс
« Форма отображения абонентов».
Добавление зависимостей
36 С помощью инструмента («Dependancy or Instantiates») прове- дите связи зависимости:
∙от класса « Главная форма» к классу « Форма отображе- ния абонентов»;
∙от класса « Главная форма» к классу « Форма отображе- ния справочника».
∙от класса « Форма отображения справочника» к классу « Форма редактирования типа телефонов»;
∙от класса « Форма отображения справочника» к классу « Модуль глобальных данных»;
∙от класса « Форма редактирования типа телефонов» к клас- су « Модуль глобальных данных»;
∙от класса « Форма отображения абонентов» к классу « Мо- дуль глобальных данных»;
∙от класса « Форма отображения абонентов» к классу « Форма отображения справочника»
∙от класса « Форма отображения справочника» к классу « Форма отображения абонентов».
60
37 Оформите диаграмму « Клиентское приложение», добейтесь наи-
более удобного с вашей точки зрения расположения ее элементов (например, рисунок 12).
Настройка множественности связи
38 Щелкните правой клавишей мыши по связи между классами
« Форма отображения справочника» и « Форма редактиро- вания типа телефонов» со стороны класса « Форма отображе-
ния справочника». Появившееся меню предоставляет вам возмож- ность установить множественность связи:
∙«Multiplicity\0»;
∙«Multiplicity\1»;
∙«Multiplicity\Zerro or More» («0..*») – 0 или больше;
∙«Multiplicity\One or More» («1..*») – 1 или больше;
∙«Multiplicity\Zerro or One» («0..1») – 0 или 1;
∙«Multiplicity\n» – несколько;
∙«Multiplicity\Unspecified multiplicity» – неопределенная множест-
венность;
39Выберите множественность «1»;
40Повторив действия аналогичные 38 – 39 установите множествен- ность:
∙ «1» – для класса « Форма редактирования типа телефо- нов» на связи « Форма отображения справочника» - « Форма редактирования типа телефонов»;
∙«1» – для класса « Главная форма» на связи « Главная форма» - « Форма отображения справочника»;
∙«1» – для класса « Форма отображения справочника» связи « Главная форма» - « Форма отображения справочни- ка»;
∙«1» – для класса « Главная форма» на связи « Главная форма» - « Форма отображения абонентов»;
∙«1» – для класса « Форма отображения абонентов» на связи « Главная форма» - « Форма отображения абонентов»;
∙«1» – для класса « Форма отображения справочника» на связи « Форма отображения справочника» - « Форма отображения абонентов»;
∙«1» – для класса « Форма отображения абонентов» на связи « Форма отображения справочника» - « Форма отобра- жения абонентов»;
∙«1» – для класса « Форма отображения абонентов» на связи « Форма отображения абонентов» -« Форма отображе- ния справочника»;