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

Учебное пособие 1438

.pdf
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
1.16 Mб
Скачать

1.Общее требование к системе расчленяется и ор-

ганизуется в функциональные группы (в дальнейшем это будут

процессы).

2.Идентифицируются внешние объекты, с которы-

ми общается система (таким образом определяются внешние сущности).

3.Идентифицируется информация между системой

ивнешними объектами (т.е. задаются потоки данных).

4.Разрабатывается предварительная контекстная

диаграмма на основе процессов (шаг 1), внешних сущностей (шаг 2) и потоков данных (шаг 3).

5.Изучается и корректируется предварительная

контекстная диаграмма на предмет соответствия общему требованию на разработку системы.

6.Строится контекстная диаграмма с объедине-

нием всех процессов предварительной контекстной диаграммы в один (возможно, абстрактный) процесс, с группировкой потоков данных.

7.Из контекстной диаграммы через детализацию

процесса строится DFD первого уровня. Одновременно производится необходимая для данного уровня декомпозиция пото-

ков данных.

8.Проверяются основные требования к системе по

DFD первого уровня. При необходимости диаграмма корректируется.

9.Проводится декомпозиция построенной DFD с

помощью детализирующих DFD следующего уровня или спе-

цификаций процесса.

10. Проверяются требования к системе по DFD соответствующего уровня. Если необходимо, вносятся исправления.

63

11. Пополняется словарь данных для определения характеристик потоков данных при каждом первом их появлении.

12. Параллельно с декомпозицией диаграмм потоков данных требования разбиваются на элементарные, проверяются соответствующие им процессы или спецификации.

13. Каждый раз проводится ревизия после построения двух-трех уровней диаграмм с целью улучшения и проверки корректности модели.

14.Строятся спецификации процесса.

15.Рассматривается поведение модели системы в

реальном времени.

 

 

 

 

 

Ответы на

 

 

 

 

вопросы теста

 

 

ПСТ

 

 

 

 

 

Пациент

 

 

 

 

Врач

 

 

 

 

 

Заключительныерекомендации

Данные клинического

анализа

 

Результаты осмотра

Рекомендации по диете, лечению, режиму

Диагноз

1 1

 

Симптомы

 

 

 

 

 

 

 

Лечение

 

Корректировка

 

 

Климат

Сезон

 

 

Рис. 6. Пример контекстной диаграммы подбора лечения по психосоматическому типу (ПСТ) человека

Приведем пример [6], иллюстрирующий методику построения диаграмм потоков данных.

64

Клиент получает деньги в банкомате, вводя кредитную карточку со своими данными, пароль и необходимую сумму. При правильном вводе данных клиент получает деньги, кредитную карточку и выписку по проведенной операции. Контроль за снятием денег со счета ведет компьютер банка.

Для построения диаграмм потоков данных воспользуемся описанными выше шагами.

1. Система должна обеспечить сервис клиенту по снятию денег с его банковского счета. Общее назначение системы – обслуживание, соответственно и название самого общего процесса – «Обслужить».

2. Внешними по отношению к системе являются «Клиент» (только поставляет данные) и «Компьютер банка» (также не участвует в обработке данных внутри системы, а лишь дает необходимые данные для проверки и записывает информацию по проведенной операции).

3. Определяются потоки данных системы: «Сообщение» - информация о готовности принятия данных от «Клиента»; «Кредитная карта»; «Деньги», «Выписка», полученные «Клиентом»; «Ключевые данные», вводимые «Клиентом»; «Данные по счету» - информация о расчетном счете «Клиента»; «Протокол обслуживания» - информация для изменения суммы после снятия денег со счета «Клиента».

4. Строится контекстная диаграмма (рис. 7). На ней, как и положено, представлен только 1 процесс «Обслужить».

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

65

Клиент

Ключевые

Компьютер

данные

 

 

 

банка

 

 

 

 

 

Данные

 

 

Кредитная

по счету

 

 

 

 

 

карта

 

 

 

 

 

Протокол об-

Сообщение

Обслужить

служивания

Деньги

 

1

 

Выписка

 

 

 

Рис. 7. Контекстная диаграмма

В примере для построения всех диаграмм используется нотация Йодана.

Дальше строится DFD первого уровня, детализирующая процесс «Обслужить», включающий в себя получение пароля, обработку кредитной карты, получение запроса на обслуживание и его обработку. Диаграмма потоков данных первого уровня представлена на рис. 8.

Рассмотрим подробно данные 4 процесса.

1.1 «Получить пароль» – означает прием и проверку пароля, введенного «Клиентом».

Потоки:

«Сообщение» – внешний поток, информирующий о готовности принять пароль от клиента; «Введенный пароль» – входной поток, элемент входного потока «Ключевые данные»;

66

«Пароль» – входной поток, используемый для проверки пароля, берется из хранилища «Данные кредитной карты».

Сооб-

 

 

Кредит-

Полу-

Обрабо-

ная карта

щение

тать кре-

 

чить

 

 

 

 

дитную

 

 

пароль

 

 

1.1

 

 

 

 

Данные

карту

 

 

 

 

 

 

1.4

 

 

 

 

 

 

 

 

кредит-

 

 

 

 

 

 

 

 

 

 

 

 

 

Пароль

ной карты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введенный

 

 

 

 

 

 

 

 

 

 

 

Данные

 

 

Ключе-

 

пароль

 

 

 

 

 

 

 

 

 

 

кредитной

 

 

вые

 

 

 

 

 

 

 

 

 

 

 

 

карты

 

 

 

 

 

 

 

 

 

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос на

 

 

 

 

Детали

Данные

обслужива-

 

 

 

 

Лимит

 

клиента

по счету

ние карты

 

денег

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вы-

Сообще-

Получить

 

 

 

 

 

 

Обрабо-

писка

 

 

 

 

 

 

 

ние

 

 

 

 

 

 

 

запрос на

 

 

 

 

Денежная

тать за-

 

 

 

 

 

 

Деньги

 

обслужи-

 

 

 

 

прос на

 

 

 

 

 

сумма

 

 

 

 

 

 

 

вание

 

 

 

 

обслужи-

 

 

 

 

 

 

 

 

 

 

1.2

 

 

 

 

 

 

вание

 

 

 

 

 

 

 

 

 

 

1.3

 

Протокол

обслуживания

Рис. 8. DFD первого уровня

1.2 «Получить запрос на обслуживание». Потоки:

67

«Сообщение» внешний поток о готовности принять запрос на обслуживание;

«Запрос на обслуживание» – входной поток, элемент внешнего потока «Ключевые данные»;

«Лимит денег» – используется для контроля наличия денег и берется из хранилища «Данные кредитной карты».

1.3 «Обработать запрос на обслуживание». Потоки:

«Данные по счету» – внешний входной поток, берется из компьютера банка;

«Детали клиента» – берется из хранилища «Данные кредитной карты»;

«Выписка», «Деньги», «Протокол обслуживания» – внешние входные потоки, необходимые «Клиенту».

1.4 «Обработать кредитную карту». Потоки:

«Кредитная карта» – внешний поток; «Данные кредитной карты» – выходной поток.

Процессы 1.1, 1.2, 1.4 – элементарные (не требуют детализации с помощью DFD нижнего уровня) и раскрываются с помощью спецификаций процессов. Процесс 1.3 необходимо детализировать с помощью DFD второго уровня (рис. 9).

Процесс «Обработать запрос на обслуживание» можно детализировать тремя более «мелкими» процессами.

1.3.1.«Обработать документацию банка», т.е. обработать внутреннюю банковскую документацию. Потоки: «Детали клиента», «Обработанная документация».

1.3.2.«Распечатать баланс клиента» - выдается справка по истории счета клиента и его балансу. Потоки: «Детали кли-

68

ента», «Данные по балансу», «Выписка по балансу», «Данные по истории запроса».

Детали клиента

Детали

клиента

Данные по балансу

Данные по счету

Детали

клиента

Обработать документацию

1.3.1

Распечатать баланс клиента

1.3.2

Данные по запросу

Распечатать операцию клиента

1.3.4

Обработанная документация

 

 

 

День-

 

 

 

ги

 

Подгото-

 

 

 

 

 

 

 

 

вить

 

 

 

 

деньги

 

 

 

Выписка

клиенту

 

 

 

1.3.3.

 

 

 

по ба-

 

 

 

 

Выписка

 

лансу

 

 

 

по день-

 

 

 

 

 

Вы-

гам

 

 

писка

 

 

 

 

 

 

 

 

Данные по истории запроса

 

Протокол

Выписка

по опера-

обслужи-

ции

вания

 

 

Рис. 9. Детализация процесса «Обработать запрос на обслуживание»

69

1.3.3.«Подготовить деньги клиенту» - выдаются наличные деньги, посылается информация компьютеру банка об изъятии денег со счета клиента. Потоки: «Денежная сумма», «Детали клиента», «Деньги», «Денежная сумма».

1.3.4.«Распечатать операцию клиента» - выдаются справка по истории счета и уведомление по проведенной операции. Потоки: «Данные по счету», «Детали клиента», «Выписка по операции», «Данные по истории запроса».

5.2. Расширения реального времени

Чтобы отразить на DFD временные состояния разрабатываемой системы, вводятся управляющие процессы, потоки и хранилища [6, 12, 13]. Реальные управляющие объекты принято изображать следующим образом (табл. 4).

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

На диаграммах показывается 3 типа управляющих по-

токов.

Т–поток (trigger flow) – аналог выключателя света, когда только одним нажатием запускается процесс – свет.

А–поток (aktivator flow) - аналог выключателя лампы, который может как включать, так и выключать свет.

E/D–поток (enable/disable flow) - аналог выключателя с двумя кнопками. Течение потока по E-линии вызывает процесс. Процесс поддерживается до тех пор, пока поток не потечет по D-линии. На диаграммах можно указывать Е-поток, D- поток и Е/D-поток, т. е. три вида Е/D потока.

Управляющий процесс представляет из себя интерфейс DFD и спецификации управления. Управляющий процесс пре-

70

образует управляющие входные потоки в управляющие выходные потоки. Точное описание этого преобразования дается в спецификации управления.

 

 

 

Таблица 4

Элемент

Yourdon

Gane-Sarson

диаграммы

 

 

 

 

 

 

 

 

Управляющий

Имя

 

Имя

 

поток данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя

Номер

Управляющий

 

 

 

 

процесс

Номер

Имя

Управляющее

 

 

Имя

Имя

хранилище

 

 

 

 

 

Управляющее хранилище используется для хранения управляющих потоков. Управляющая информация может использоваться в любое время (после еѐ записи) и в любом порядке.

Узел изменения типа потока служит для изменения ти-

па потока, например, направляет из обычного потока в управляющий.

Скорость

Скорость

Т

71

Вимеющуюся диаграмму потоков данных добавляется управляющий процесс 1.5 «Управление обслуживанием». Как только кредитная карта введена (поток «Введенная кредитная карта»), вызывается процесс 1.1. Его вызывает управляющий поток А. Получив от процесса 1.1 «Корректный пароль», процесс 1.5 с помощью потока «Удаленная кредитная карта» требует от процесса 1.4 удалить кредитную карту. Дальше посылается управляющий Т-поток «Требуемое обслуживание». Управляющий поток вызывает процесс 1.2, а затем 1.3. С учетом управляющего потока на следующей схеме приведен процесс 1.3.

ВDFD второго уровня добавляется управляющий Т- поток «Требуемое обслуживание», который разделяется на четыре управляющих потока:

«Запрос документации», вызывающий процесс 1.3.1; «Запрос баланса», вызывающий процесс 1.3.2; «Запрос денег», вызывающий процесс 1.3.3; «Запрос на операцию», вызывающий процесс 1.3.4.

72