Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ООПроектирование. Лабораторный практикум

.pdf
Скачиваний:
44
Добавлен:
04.06.2015
Размер:
773.96 Кб
Скачать

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» для класса « Форма отображения абонентов» на связи « Форма отображения абонентов» Форма отображе- ния справочника»;