ООПроектирование. Лабораторный практикум
.pdf
51
делах диаграммы и браузера, а так же их перетаскивания из браузера на диаграмму.
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» – для класса «
Форма отображения абонентов» на связи «
Форма отображения абонентов» -«
Форма отображе- ния справочника»;
