Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по практикуму.pdf
Скачиваний:
77
Добавлен:
10.02.2015
Размер:
318.07 Кб
Скачать

26

Таблица 7 - Условные обозначения диаграмм размещения и компоновки

Компонент

Условное

Компонент

Условное

 

модели

обозначение

 

модели

обозначение

1

Программный

 

4

База данных

База

 

компонент

 

 

 

 

 

 

 

 

2

Текстовый файл

 

5

Таблица

 

ттттттт

ттттттт

ттттттт

3 DLL

6 Узел

Узел

2.4Документирование объектных разработок в среде Delphi

Документация простейших объектных разработок в среде Delphi должна включать: эскизы форм приложения с указанием типов визуальных интерфейсных компонен-

тов;

диаграммы состояний интерфейса в целом;

диаграмму объектов приложения;

диаграмму состояний каждой формы;

диаграмму классов для каждой формы;

диаграмму классов предметной области программы;

диаграмма последовательностей действий для каждой функции, доступной пользователю.

Для сложных методов возможно добавление схем алгоритмов или диаграмм деятельностей. Информация, предоставляемая этими схемами примерно одинакова, но диаграммы деятельностей при необходимости позволяют уточнить, какой объект выполняет то или другое действие.

Пример 8. В качестве примера рассмотрим описание разработки приложения «Записная книжка». Приложение должно обеспечивать ввод имени, фамилии и телефона, а также поиск абонента по имени и/или фамилии.

Эскиз главной формы приложения приведен на рисунке 17.

Рисунок 17 - Внешний вид главного окна приложения

27 При нажатии кнопок приложение должно переходить в режимы добавления записей

и поиска телефонов (см. рисунок 18)

 

 

 

 

4

 

 

Главное

 

 

 

 

меню

 

1

 

2

5

5

 

5

3

 

 

 

Создание/

 

Добавление

Поиск

открытие

 

 

записей

записей

файла

 

 

 

 

 

Рисунок 18 - Диаграмма состояний интерфейса приложения

Если каждый режим реализован на своей форме, то получаем диаграмму объектов интерфейса, представленную на рисунке 19. (Если файл записей реализовывать как объект, то объектная декомпозиция будет включать объект Файл).

Главное

меню

Активизировать

 

Активизировать

 

Активизировать

Ввод

Добавление

Поиск

имени файла

записей

записей

 

Добавить

Найти

 

 

Открыть/создать

 

Активизировать

 

 

Сообщение об

 

Файл

отсутствии

 

 

данных

Рисунок 19 - Объектная декомпозиция приложения

1. Проектирование объекта Главная форма Проектирование объекта Главная форма включает уточнение внешнего вида с указа-

нием компонентов экранной формы (см. рисунок 20).

Рисунок 20 - Экранная форма Главное меню

28 Для объекта формы прорабатываем диаграмму состояний и привязываем измене-

ние состояния к событиям Delphi (см. рисунок 21).

C4

 

C2

 

 

 

 

Главное

 

C3

C0

- MainForm.MainFormActivate

C0

 

C1

- MainForm.AddButtonClick

 

 

 

меню

 

 

C2

- MainForm.FindButtonClick

 

 

C1

 

C3

- MainForm.ExitButtonClick

 

 

 

C4

- MainForm.OpenButtonClick

 

 

 

 

Рисунок 21 - Диаграмма состояний интерфейса формы Главное меню

Далее проектируем диаграмму классов формы (см. рисунок 22).

TForm

TMainForm

1

TButton 4 FormActivate() AddButtonClick() FindButtonClick() ExitButtonClick()

Рисунок 22 - Диаграмма классов для TMainForm

2. Проектирование вспомогательных форм

Проектирование вспомогательных форм выполняем аналогично. Так проектирование формы Поиск записей показано на рисунках 23–25.

Рисунок 23 - Экранная форма Поиск записей

29

 

 

 

 

C0

- FindForm.FormActivate

 

C4

Демонстрация

C1

- FindForm.FindButtonClick

 

 

C2

- FindForm.FamEditClick

 

 

сообщения

 

 

C3

- FindForm.ExitButtonClick

 

 

об ошибке

 

 

C4

- MessageDlg: OkButtonClick

 

 

 

C1 [записи не

 

 

 

 

 

C0

Ввод

 

обнаружены]

Демонстрация

 

 

 

 

 

 

фамилии

C1

[записи

результатов

 

 

 

C3

 

 

обнаружены]

 

 

 

 

 

C2

Рисунок 24 - Диаграмма состояний формы Поиск записей

 

 

TForm

TEdit

4

 

 

TFindForm

 

 

 

2

1

TButton

 

 

FormActivate()

 

 

 

4

FindButtonClick()

TLabel

FamEditClick()

 

 

 

ExitButtonClick()

Рисунок 25 - Диаграмма класса TFindForm

Взаимодействие между объектами приложения покажем с помощью диаграммы последовательностей действий (см. рисунок 26).

30

 

MainForm

 

 

 

 

OpenForm

 

 

 

Base

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создать/Открыть()

 

 

 

Активизировать()

 

 

 

 

 

 

Открыть()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нормальное завершение

 

 

 

Нормальное завершение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MainForm

 

 

 

 

AddForm

 

 

 

 

 

Base

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Записать телефон()

 

 

 

Активизировать()

 

 

 

 

 

* Ввести символ()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Добавить()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Добавить запись()

 

 

 

 

 

 

 

 

 

 

 

 

Нор

Выход()

 

 

 

 

 

Нормальное

 

завершение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мальное завершение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MainForm

 

FindForm

 

 

Base

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти телефон()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Активизировать()

 

 

 

 

 

 

* Ввести символ()

 

 

 

Найти()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти первую запись()

 

 

 

 

 

 

 

 

Следующий()

 

 

 

Нормальное завершение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найти следующую запись()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выход()

 

 

Нормальное завершение

 

Нормальное завершение

в

Рисунок 26 - Диаграммы последовательностей действий при выполнении функций: а – создать/открыть книжку; б – записать телефон; в – найти телефон

Для метода, обрабатывающего событие FindButtonClick(), приведем диаграмму деятельности с уточнением ответственности объектов (см. рисунок 27, а) и схему алгоритма (см. рисунок 27, б). Сравнение показывает очевидное сходство этих схем, хотя, как уже упоминалось ранее, диаграмма деятельностей более информативна. В качестве упражнения сравните эту диаграмму также с диаграммой состояний формы FindForm (см. рисунок 24) и диаграммой последовательностей действий для функции Найти (см. рисунок 26, в). Хорошо видно, что данные диаграммы уточняют друг друга.