Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АПCОС_ЛЕКЦИИ_10.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.46 Mб
Скачать

Детализация процесса Обслужить с использованием dfd первого уровня

Детализация DFD осуществляется на основе декомпозиции процессов: каждый процесс раскрывается с помощью DFD нижнего уровня или спецификации процесса, если достигнут требуемый уровень детализации (упрощения).

Детализация процесса Обслужить приведена на рисунке 3.5. Основной процесс разделен на ряд подпроцессов со своими функциями.

Рисунок - Детализация процесса Обслужить с помощью DFD первого уровня

Рассмотрим функции процессов, представленных на диаграмме:

Процесс 1.1 Осуществляет приём и проверку пароля клиента и имеет на входе и выходе потоки:

  • внешний выходной поток Сообщение о готовности принять пароль;

  • входной поток Введенный пароль как элемент внешнего потока Ключевые данные;

  • входной поток Пароль из хранилища, Данные кредитной карты для проверки вводимого клиентом пароля.

Процесс 1.2 Осуществляет приём и проверку запроса клиента на проведение необходимой банковской операции и имеет на входе/выходе следующие потоки:

  • внешний выходной поток Сообщение для информирования клиента о готовности принять запрос на обслуживание;

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

  • входной поток Лимит денег из хранилища Данные кредитной карты для контроля наличия денег на счете клиента.

Процесс 1.3 Имеет внешний входной поток Данные по счету (из внешней сущности Компьютер банка), входной поток Детали клиента (из хранилища), внешние выходные потоки: Выписка, Деньги, Протокол обслуживания.

Процесс 1.4 Осуществляет считывание информации с кредитной карты и имеет на входе внешний поток Кредитная карта, а на выходе поток Данные кредитной карты.

Процессы 1.1, 1.2, 1.4 являются элементарными (DFD - далее не применяются) - детализация производится с помощью Спецификации процессов.

Процесс 1.3 может быть детализирован диаграммой DFD 2-го уровня.

Рекомендации для построения иерархии DFD:

  • целесообразно на каждой диаграмме рассматривать от 3 до 6-7 процессов;

  • не загромождать диаграмму несущественными на данном уровне деталями;

  • декомпозицию потоков производить параллельно декомпозиции процессов (одновременно);

  • выбирать ясные, отражающие суть дела имена процессов и потоков (без сокращений);

  • однозначно определять функционально идентичные процессы на самом верхнем уровне, где он необходим, и ссылаться на него на нижних уровнях;

  • пользоваться простейшей диаграммной техникой;

  • отделять управляющие структуры от обрабатывающих структур (т.е. процессов), локализовать управляющие структуры. Необходимо отделять и выделять управляющие процессы от обрабатывающих, стремиться к локализации элементов, процессов, потоков, данных, отвечающих за логику.

Рисунок Короткий

2.2.2 Декомпозиция данных и расширение обозначений потоков данных для dfd

Индивидуальные данные часто независимы, однако иногда необходимо группировать данные. Например, есть потоки Яблоки, Апельсины, Груши, которые могут быть сгруппированы в поток Фрукты, который состоит из нескольких элементов - потомков. Поток Фрукты может содержаться в потоке Еда вместе с потоками Мясо, Овощи. Такие потоки называются групповыми.

Применяется и обратная операция - расщепление потока на подпотоки, осуществляется с помощью группового узла, позволяющего расщепить поток на несколько подпотоков (таблица 2.2).

Аналогично осуществляется и декомпозиция потоков через границы диаграмм для упрощения детализирующей DFD. Входной поток в детализируемый процесс Фрукты можно не показывать, а привести потоки Яблоки, Апельсины.

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

Таблица 2.2 - Таблица расширения обозначений на диаграмме потоков данных

Наименование и назначение элемента

Обозначение

Групповой узел - предназначен для расщепления и объединения потоков, (может вырождаться в точку)

Узел - предок - позволяет увязать входящие и выходящие потоки между детализируемым процессом и детализирующей DFD.

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

У зел изменения имени - позволяет неоднозначно именовать потоки, например, при стыковке разных DFD, где различаются названия. Один поток на входе, другой - на выходе, имена разные, а узел обеспечивает эквивалентность потоков данных.

Текст - свободное применение в любом месте программы.

Текст