Этапы построения моделей в DFD-технологии.



Этапы построения моделей в DFD-технологии

1.Разработка структурной функциональной модели бизнес-системы;

2.Разработка информационной модели бизнес-системы;

3.Разработка событийной модели бизнес-системы.

Шаг 1. Разработка контекстной диаграммы

1.1. Идентификация внешних объектов, с которыми система взаимодействует.

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

1.3. Идентификация подсистем бизнес-системы (если в этом есть необходимость).

1.4. Идентификация основных видов информации, циркулирующей между подсистемами (в случае выполнения п. 1.3).

1.5. Построение контекстной диаграммы, на которой подсистемы представляются в виде контекстных процессов, внешние объекты - в виде внешних сущностей, основные виды информации - в виде потоков между внешними сущностями и контекстными процессами (а также между контекстными процессами в случае выполнения п. 1.3).

1.6. Группирование потоков (если в этом есть необходимость)

Шаг 2. Разработка диаграммы уровня основных процессов

2.1. Идентификация бизнес-процессов с указанием их типов.

2.2. Группирование процессов по деятельностям.

2.3. Определение связей между процессами и внешними объектами и их непосредственное связывание с использованием родительских потоков (потоков между внешними сущностями и контекстным процессом).

2.4. Определение информационных потоков между процессами.

2.5. Идентификация базовых накопителей.

2.6. Определение информационных потоков между процессами и накопителями.

2.7. Построение DFD первого уровня на базе деятельностей и процессов.

Шаг 3. Разработка иерархии диаграмм

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

3.2.Идентификация функций и операций каждого из процессов.

3.3.Определение связей между функциями и внешними объектами и их непосредственное связывание с использованием родительских потоков

3.4. Определение информационных потоков между функциями.

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

3.6. Определение информационных потоков между функциями (операциями) и накопителями уровня процесса.

3.7. Построение DFD соответствующего уровня на базе функций.

Шаг 4. Анализ и оптимизация структурной функциональной модели

 

БНФ (Формы Бэкуса-Наура) Нотация для описания словаря данных

БНФ-нотация позволяет формально описать расщепление/объединение потоков.

•Поток может расщепляться на собственные отдельные ветви, на компоненты потока-предка или на то и другое одновременно. При расщеплении/объединении потока существенно, чтобы каждый компонент потока-предка являлся именованным.

•Если поток расщепляется на подпотоки, необходимо, чтобы все подпотоки являлись компонентами потока-предка. И наоборот, при объединении потоков каждый компонент потока-предка должен по крайней мере однажды встречаться среди подпотоков. Отметим, что при объединении подпотоков нет необходимости осуществлять исключение общих компонентов, а при расщеплении подпотоки могут иметь такие общие (одинаковые) компоненты.

Важно понимать, что точные определения потоков содержатся в словаре данных, а не на диаграммах. Например, на диаграмме может иметься групповой узел с входным потоком Хи выходными подпотокамиYи Z. Однако это вовсе не означает, что соответствующее определение в словаре данных обязательно должно быть X=Y+Z. Это определение может быть следующим: Х=А+В+С; Y=A+B; Z=B+C

•Такие определения хранятся в словаре данных в так называемой БНФ-статье. БНФ-статьяиспользуется для описания компонентов данных в потоках данных и в хранилищах. Ее синтаксис имеет вид: @БНФ=<простой оператор> ! <БНФ-выражение >,

•<простой оператор> есть текстовое описание, заключенное в " "

•<БНФ-выражение> есть выражение в форме Бэкуса-Наура, допускающее следующие операции отношений

: = - означает "композиция из",

+ - означает "И",

 [!] - означает "ИЛИ",

( ) - означает, что компонент в скобках не обязателен,

 { } - означает итерацию компонента в скобках,

" " - означает литерал.

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

3{болт}7 - от 3 до 7 итераций

1{болт} - 1 и более итераций

{шайба}3 - не более 3 итераций

•БНФ-выражение может содержать произвольные комбинации операций: @БНФ = [винт ! болт + 2 {гайка}2 + (прокладка) ! клей ]

Пример:

@ИМЯ= ВОСЬМЕРИЧНАЯ ЦИФРА

@ТИП= дискретный поток

@БНФ= ["0"!"1"!"2"!"3"!"4"!"5"!"6"!"7"]

Пример 2

•Рассмотрим элементы словаря данных, в котором описан процесс "Сдача экзамена". Рассмотрим информационный поток "Приглашение тянуть билет":

@ИМЯ = ПРИГЛАШЕНИЕ ТЯНУТЬ БИЛЕТ

 @ТИП = управляющий поток

@БНФ = /указывает, что студент допущен к экзамену/

•Рассмотрим еще один поток "Сформированное мнение о знаниях студента"

@ИМЯ = СФОРМИРОВАННОЕ МНЕНИЕ О ЗНАНИЯХ СТУДЕНТА

@ТИП = внутренний поток

@БНФ = Фамилия + Имя + Отчества + [“отлично” ! ”хорошо” ! ”удовлетворительно” ! ”не удовлетворительно”]

Примерсловаряданных

•@ИМЯ = ДАННЫЕ О КОРПУСЕ

•@ТИП = дискретный поток

•@БНФ = Название корпуса + Адрес

•@ИМЯ = ИНФОРМАЦИЯ О КОРПУСЕ

•@ТИП = дискретный поток, внутренний

•@БНФ = ДАННЫЕ О КОРПУСЕ

•@ИМЯ = ТИП АУДИТОРИИ

•@ТИП = дискретный поток

•@БНФ = {«поточная», «лекционная», «лаборатория», «компьютерный класс»}

Пример спецификации процесса

Спецификация процесса A0.1

@ВХОД = ДАННЫЕ О КОРПУСЕ

@ВЫХОД = ИНФОРМАЦИЯ О КОРПУСЕ

@СПЕЦПРОЦ A0.1 ФОРМИРОВАТЬ ИНФОРМАЦИЮ О КОРПУСЕ

ЕСЛИ добавить ИНФОРМАЦИЮ О КОРПУСЕ ТО

ИНФОРМАЦИЯ О КОРПУСЕ = ДАННЫЕ О КОРПУСЕ

КОНЕЦ ЕСЛИ

ЕСЛИ изменить ИНФОРМАЦИЮ О КОРПУСЕ ТО

ВЫПОЛНИТЬ редактировать ИНФОРМАЦИЮ О КОРПУСЕ

КОНЕЦ ЕСЛИ

ЕСЛИ удалить ИНФОРМАЦИЮ О КОРПУСЕ ТО

ВЫПОЛНИТЬ удалить ИНФОРМАЦИЮ О КОРПУСЕ

КОНЕЦ ЕСЛИ

@КОНЕЦ СПЕЦПРОЦ


Дата добавления: 2018-02-15; просмотров: 998; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!