Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чекал билеты.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
479 Кб
Скачать
☆

Построение модели

 Главная цель построения иерархического множества DFD заключается в том, чтобы сделать требования ясны­ми и понятными на каждом уровне детализации, а также разбить эти требования на части с точно определенными отношениями между ними. Для достижения этого целесообразно пользоваться следующими рекомендациями:

-     Размещать на каждой диаграмме от 3 до 6-7 процессов. Верхняя граница соответствует человеческим возможностям одновременного восприятия и пони мания структуры сложной системы с множеством внутренних связей, нижняя граница выбрана по соображениям здравого смысла: нет необходимости детализировать процесс диаграммой, содержащей всего один или два процесса.

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

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

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

-     Однократно определять функционально идентичные процессы на самом верхнем уровне, где такой процесс необходим, и ссылаться на него на нижних уровнях.

-     Пользоваться простейшими диаграммными техниками: если что-либо возможно описать с помощью DFD, то это и необходимо делать, а не использовать для описания более сложные объекты.

-     Отделять управляющие структуры от обрабатывающих структур (т.е. процессов), локализовать управляющие структуры.

 В соответствии с этими рекомендациями процесс пос­троения модели разбивается на следующие этапы:

1.             Расчленение множества требований и органи­зация их в основные функциональные группы.

2.             Идентификация внешних объектов, с которыми система должна быть связана.

3.             Идентификация основных видов информации, циркулирующей между системой и внешними объектами.

4.             Предварительная разработка контекстной диаграм­мы, на которой основные функциональные груп­пы представляются процессами, внешние объекта - внешними сущностями, основные виды ин­формации - потоками данных между процес­сами и внешними сущностями.

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

6.             Построение контекстной диаграммы путем объединения всех процессов предварительной диаграммы в один процесс, а также группированы потоков.

7.             Формирование DFD первого уровня на базе процессов предварительной контекстной диаграммы

8.             Проверка основных требований по DFD первого уровня.

9.             Декомпозиция каждого процесса текущей DFD с помощью детализирующей диаграммы или спецификации процесса.

10.         Проверка основных требований по DFD соответствующего уровня.

11.         Добавление определений новых потоков в сло­варь данных при каждом их появлении на диаграммах.

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

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

14.         Построение спецификации процесса (а не про­стейшей диаграммы) в случае, если некоторую функцию сложно или невозможно выразить комбинацией процессов.

Пример  

В качестве примера создания модели рассмотрим фрагмент проекта системы, организующей работу бан­комата по обслуживанию клиента по его кредитной карте. Этот пример будет строиться поэтапно, на нем будут продемонстрированы базовые техники структурного анализа и проектирования по мере их определения.

На рисунке 6 приведена контекстная диаграмма системы с единственным процессом ОБСЛУЖИТЬ, идентифици­рующая внешние сущности КЛИЕНТ и КОМПЬЮТЕР БАНКА, хранящий информацию о счетах всех клиентов. Опишем потоки данных, которыми обменивается проек­тируемая система с внешними объектами.

Для банковского обслуживания клиенту необходимо предоставить системе свою КРЕДИТНУЮ КАРТУ для ав­томатического считывания с нее информации (ПАРОЛЬ, ЛИМИТ ДЕНЕГ, ДЕТАЛИ КЛИЕНТА), а также сообщить свои КЛЮЧЕВЫЕ ДАННЫЕ, а именно ПАРОЛЬ и ЗАПРОС НА ОБСЛУЖИВАНИЕ, т.е. требуемую ему Услугу (например, снятие со счета наличных денег). Банковское обслуживание с позиций клиента, в свою очередь, должно обеспечить следующее:

-     выдать СООБЩЕНИЕ, приглашающее клиента ввести КЛЮЧЕВЫЕ ДАННЫЕ;

-     выдать клиенту ДЕНЬГИ;

-     выдать клиенту ВЫПИСКУ по произведенному обслуживанию, включающую ВЫПИСКУ О ДЕНЬГАХ, ВЫПИСКУ ПО БАЛАНСУ и ВЫПИСКУ ПО ОПЕРАЦИИ, проведенной банком.

Контекстный процесс и КОМПЬЮТЕР БАНКА должны обмениваться следующей информацией:

-     ДАННЫЕ ПО СЧЕТУ клиента в банке;

-     ПРОТОКОЛ ОБСЛУЖИВАНИЯ, включающий информацию об ОБРАБОТАННОЙ ДОКУМЕНТАЦИИ, изымаемой ДЕНЕЖНОЙ СУММЕ и ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА.

Контекстный процесс может быть детализирован DFD первого уровня (рисунок 7). Эта диаграмма содержит 4 процесса и хранилище ДАННЫЕ КРЕДИТНОЙ КАРТЫ, которое изображено дважды на диаграмме с целью избежания пересечений линий потоков данных.

 

Рисунок 6 - Контекстная диаграмма банковской задачи

Процесс 1.1 (ПОЛУЧИТЬ ПАРОЛЬ) осуществляет прием и проверку пароля клиента и имеет на входе/выходе следующие потоки:

-     внешний выходной поток СООБЩЕНИЕ для информирования клиента о готовности принять пароль;

-     входной поток ВВЕДЕННЫЙ ПАРОЛЬ как элемент внешнего потока КЛЮЧЕВЫЕ ДАННЫЕ;

-     входной поток ПАРОЛЬ из хранилища ДАННЫЕ КРЕДИТНОЙ КАРТЫ для проверки вводимого клиентом пароля.

Процесс 1.2 (ПОЛУЧИТЬ ЗАПРОС НА ОБСЛУЖИВАНИЕ) осуществляет прием т проверку запроса клиента на проведение необходимой ему банковской операции и имеет на входе/выходе следующие потоки:

-     внешний выходной поток СООБЩЕНИЕ для информирования клиента о своей готовности принять запрос на обслуживание;

-     входной поток ЗАПРОС НА ОБСЛУЖИВАНИЕ как элемент внешнего потока КЛЮЧЕВЫЕ ДАН­НЫЕ;

-     входной поток ЛИМИТ ДЕНЕГ из хранилища ДАННЫЕ КРЕДИТНОЙ КАРТЫ для контроля наличия денег на счете клиента.

 Процесс 1.3 (ОБРАБОТАТЬ ЗАПРОС НА ОБСЛУ­ЖИВАНИЕ) имеет внешний входной поток ДАН­НЫЕ ПО СЧЕТУ (из внешней сущности КОМПЬЮТЕР БАНКА), входной поток ДЕТАЛИ КЛИЕНТА (из хранилища), а также внешние выходные потоки ВЫПИСКА, ДЕНЬГИ и ПРОТОКОЛ ОБСЛУ­ЖИВАНИЯ.

 Процесс 1.4 (ОБРАБОТАТЬ КРЕДИТНУЮ КАРТУ) осуществляет считывание информации с кредитной карты и имеет на входе внешний поток КРЕДИТНАЯ КАРТА, а на выходе поток ДАННЫЕ КРЕДИТНОЙ КАРТЫ. Отметим, что нет необходимости в идентификации по­следнего потока, т.к. идентифицировано соответствующее хранилище.

Процессы 1.1, 1.2 и 1.4 являются элементарными, поэтому нет необходимости в их детализации с помощью DFD уровня 2. Процесс 1.3 может быть детализирован с помощью DFD второго уровня как показано на рисунке 8. Эта диаграмма содержит 4 элементарных процесса.

 Процесс 1.3.1 (ОБРАБОТАТЬ ДОКУМЕНТАЦИЮ БАНКА) осуществляет обработку внутренней банковское документации по клиенту и имеет входной поток ДЕЛ ТАЛИ КЛИЕНТА и выходной поток ОБРАБОТАННАЯ ДОКУМЕНТАЦИЯ (часть внешнего потока ПРОТОКОЛ СДЕЛКИ).

 Процесс 1.3.2 (РАСПЕЧАТАТЬ БАЛАНС КЛИЕНТА) выдает справку по истории счета клиента и по балансе клиента. Входные потоки - ДЕТАЛИ КЛИЕНТА и ДАННЫЕ ПО БАЛАНСУ (часть внешнего потока ДАННЫЕ ПО СЧЕТУ), выходные потоки - ВЫПИСКА ПО БАЛАНСУ (часть внешнего потока ВЫПИСКА) и ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА (часть внешнего потока ПРОТОКОЛ ОБСЛУЖИВАНИЯ).

 Процесс 1.3.3 (ПРИГОТОВИТЬ ДЕНЬГИ КЛИЕНТУ) обеспечивает выдачу наличных денег и информирова­ние компьютера банка об изъятых из банка деньгах. Он имеет входные потоки ДЕНЕЖНАЯ СУММА и ДЕТАЛИ КЛИЕНТА, и выходные потоки ДЕНЬГИ и ДЕНЕЖ­НАЯ СУММА (часть потока ПРОТОКОЛ ОБСЛУЖИ­ВАНИЯ).

 Процесс 1.3.4 (РАСПЕЧАТАТЬ ОПЕРАЦИЮ КЛИЕНТА) выдает справку по истории счета и уведомление по проведенной операции. Входные потоки ДАННЫЕ ПО СЧЕТУ и ДЕТАЛИ КЛИЕНТА, выходные потоки - ВЫПИСКА ПО ОПЕРАЦИИ (часть потока ВЫПИС­КА) и ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА (часть по­тока ПРОТОКОЛ ОБСЛУЖИВАНИЯ).

Рисунок 7 - Детализация процесса ОБСЛУЖИТЬ

Рисунок 8 - Детализация процесса ОБРАБОТАТЬ ЗАПРОС НА ОБСЛУЖИВАНИЕ