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

2339

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
1.43 Mб
Скачать

(―Cклад товаров‖). Внешняя сущность не должна участвовать ни в какой обработке.

В модели присутствует еще контекстная диаграмма – специальный вид DFD. Она отражает интерфейс системы с внешним миром, т.е. информационные потоки между системой и внешними сущностями. Каждый проект имеет одну контекстную диаграмму. Если детализировать DFD в виде дерева, то контекстная диаграмма находится в корне дерева. Из контекстной диаграммы детализируется DFD первого уровня. Эта диаграмма имеет множество процессов, которые декомпозируются в DFD нижнего уровня.

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

Номера процессов при декомпозиции структурируются: 2.1, 2.1.1, 2.1.2 и т.п.

2 уровень 3 уровень

Потоки данных имеет смысл группировать. Например, ―яблоки‖, ―груши‖, ―апельсины‖ формально можно определить через поток ―фрукты‖.

Определение формального потока задается в словаре с помощью формы Бэкуса – Наура (БНФ). Обратная операция (расщепление потока) проводится с помощью группового узла.

Групповой узел

Узел - предок

Неиспользуемый узел

U

 

Узел изменения

имя 1

имя 2

(Name)

Расщепление также определяется в словаре данных с помощью БНФ. (Бэкуса – Наура формы).

Часто декомпозиция потоков используется при переходе от одной диаграммы к другой. Групповой узел – расщепляет и объединяет потоки. Узел

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

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

На любой диаграмме 3-7 процессов. Больше 7 процессов человек одновременно не воспринимает. Меньше 3 процессов – нецелесообразно.

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

процессов.

Ясные, отражающие суть имена процессов и потоков, без аббревиатуры. Однократно определить функционально идентичные процессы на самом

верхнем уровне, на нижних – ссылаться на него.

Использовать простейшие диаграммные техники, например DFD. Управляющие процессы отделять от обрабатывающих.

Исходя из рекомендаций построение модели включает этапы:

1.Требование расчленяется и организуется в функциональные группы (процессы).

2.Идентифицируются внешние объекты с которыми общается система (внеш. сущности).

3.Идентифицируется информация между системой и внешними объектами (потоки данных).

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

5.Изучение и корректировка контекстных диаграмм.

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

7.DFD 1-ого уровня.

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

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

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

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

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

13.Ревизия после построения 2-3 уровней с целью улучшения и проверки корректности модели.

14.Построение спецификации процесса.

РАСШИРЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ

Реальные управляющие объекты принято изображать следующим образом:

Наименовани

 

Йодан

 

Гейн-

 

е

 

 

 

Сарсон

 

 

 

 

 

 

 

Управляющи

 

 

 

 

 

й поток

 

 

 

 

 

 

 

 

 

 

 

Управляющее

 

мя

 

Номер

 

хранилище

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Управляющи

 

Имя

 

Имя

 

й процесс

 

 

 

 

 

 

 

 

 

 

 

Управляющий поток

- поток

управляющей информации. Имя –

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

Существует 3 типа управляющих потоков:

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

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

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

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

Узел изменения типа потока - для изменения типа потока (направляет из обычного в управляющий).

Cпецификации процессов

Составляется, если не нужна дальнейшая детализация по DFD. Должна занимать меньше 1 страницы. Спецификация процесса (СП) – это алгоритм задач, выполняемых процессами.

Содержание СП:

1.входные/выходные данные;

2.номер и/или имя процесса;

3.алгоритм (тело процесса).

Сначала описываются входные/выходные данные:

@ВХОД = <имя символа данных>

таких описаний может быть

@ВЫХОД = <имя символа данных>

много, по числу потоков

имена из словаря

Допустимо:

@ВХОДВЫХОД = <имя символа данных>, если входные и выходные данные совпадают.

Дальше пишется: @СПЕЦПРОЦ …..…

………………………

……………………… - алгоритм процесса

………………………

@КОНЕЦ СПЕЦИФИКАЦИИ ПРОЦ Ключевые слова пишутся прописными буквами.

Чтобы описать алгоритм, можно воспользоваться структурированным естественным языком.

Здесь слова естественного языка организуются в логические структуры, к ним добавляются арифметические выражения и диаграммы.

Можно использовать следующие элементы:

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

Пример:

@ВХОД = ЛИМИТ ДЕНЕГ @ВХОД = ЗАПРОС НА ОБСЛУЖИВАНИЕ

@ВЫХОД = ДЕНЕЖНАЯ СУММА @ВЫХОД = СООБЩЕНИЕ @ВЫХОД = ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ

@СПЕЦПРОЦ 1.2. ПОЛУЧИТЬ ЗАПРОС НА ОБСЛУЖИВАНИЕ ВЫПОЛНИТЬ выдать СООБЩЕНИЕ клиенту по вводу запроса на

обслуживание принять ЗАПРОС НА ОБСЛУЖИВАНИЕ

обновить данные ТРЕБУЕМОЕ ОБСЛУЖИВАНИЕ (а именно ЗАПРОС, ДОКУМЕНТАЦИИ, ЗАПРОС ДЕНЕГ, ЗАПРОС БАЛАНСА, ЗАПРОС НА ОПЕРАЦИЮ)

ЕСЛИ был сделан ЗАПРОС ДЕНЕГ ТО ВЫПОЛНИТЬ запросить ДЕНЕЖНУЮ СУММУ

выдать ТРЕБУЕМУЮ СУММУ с учетом непревышения ЛИМИТА ДЕНЕГ

КОНЕЦ ЕСЛИ ДО ТЕХ ПОР ПОКА запрашивается продолжение

обслуживания или не все обслуживание выполнено КОНЕЦ ВЫПОЛНИТЬ

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

Т. к. естественный язык структурирован, то в описании структура должна иметь 1 вход и 1 выход.

Можно использовать следующие конструкции:

1.последовательные конструкции ВЫПОЛНИТЬ функция 1 ВЫПОЛНИТЬ функция 2

2.конструкции выбора

ЕСЛИ <условие> ТО ИНАЧЕ ВЫПОЛНИТЬ функция 1

ВЫПОЛНИТЬ функция 2 КОНЕЦ ЕСЛИ

3. генерации ДЛЯ <условие>

ВЫПОЛНИТЬ функция КОНЕЦ ДЛЯ

или

ПОКА <условие> ВЫПОЛНИТЬ функция КОНЕЦ ПОКА

или

ВЫПОЛНИТЬ функция 1 функция n

ДО ТЕХ ПОР ПОКА <условие> КОНЕЦ ВЫПОЛНИТЬ

Правила:

1.используются перечисленные конструкции;

2.ключевые слова ЕСЛИ, ДЛЯ и т.д. пишутся заглавными буквами;

3.слова и фразы из словаря данных – заглавными буквами;

4.глаголы должны быть активными, предельно понятными: ―вычислить‖, ―заполнить‖, а не ―модернизировать‖, ―обработать‖;

5.логика процесса должна быть однозначной и четкой.

Таблицы и деревья решений

Также для спецификаций можно использовать таблицы и деревья решений (ТР и ДР). В этом случае с помощью матрицы отображаются входные данные в выходные. ТР состоит из двух частей: верхняя – условия и нижняя – действия.

Например ЕСЛИ идет дождь ТО раскрыть зонт Левая часть ТР содержит описание условий (верх) и действий (низ).

Правая часть ТР – все комбинации условий (верх) и соответствующих им действий (низ). Комбинации смотрятся по столбцам.

Услови

Комбин

Комбин

 

я

ация 1

ация 2

 

 

 

 

 

С1

Д

 

 

Описание

Д

 

 

 

Д

 

 

Условий

Д

 

 

С2

 

 

 

С3

 

 

 

 

 

 

 

 

 

 

Действ

 

 

 

ия

 

 

 

 

 

 

 

Д1

1

 

 

Описание

2

 

 

действий

 

 

 

Д2

 

 

 

Д3

 

 

 

 

 

 

 

 

 

 

Таблицу можно сокращать, если например, при различных комбинациях

условий выполняются те же действия:

 

 

1

2

3

4

 

комб.

комб.

комб.

комб.

Усл

Д

Д

Д

Д

овия

 

 

 

 

 

Д

Д

Н

Н

 

Д

Н

Д

Н

Дей

1

1

1

1

ствия

 

 

 

 

 

2

2

2

2

Сокращенная таблица:

 

 

Усл.

1

 

 

 

С1

Д

 

 

 

С2

 

Д1

1

 

-

 

т. е. 4 комбинации сокращены до одной, т. к. все 4

С3

комбинации ведут к одинаковой последовательности действий.

-

Буквы Д, Н замещены на "-".

Д2

2

 

 

 

На основе ТР очень легко писать код. Правила по составлению ТР:

Определять все условия (или переменные). Определять все значения, которые может принимать переменная.

Вычислить число возможных комбинаций условий. Если условий N, то возможных комбинаций 2N.

Определять каждое действие.

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

Занести в ТР все комбинации.

Определить соответственные действия для комбинации условий. Редуцировать ТР.

Выделить комбинации условий, которые не ведут к выполняемым действиям.

Обсудить построенную ТР.

 

 

 

 

 

 

Дерево решений

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

условий возможны.

 

 

 

да

 

-------- Д1, Д2

 

 

 

 

 

 

 

 

С1

 

 

 

 

 

 

 

нет

 

 

 

 

да

 

-------- Д1, Д2

 

 

 

 

 

 

 

 

С2

 

 

 

 

 

 

нет

 

 

 

 

 

 

да

 

-------- Д1, Д2

 

 

 

 

 

 

С3

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

Д3, Д4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FLOW-формы

Можно использовать визуальные языки проектирования спецификаций. Суть: специальные иерархические схемы управления потоками. Один из

наиболее популярных подходов – использование FLOW – форм.

Суть: каждый символ FLOW-формы изображается в виде прямоугольника. каждый прямоугольник может быть вписан в другой прямоугольник.

 

 

 

 

 

 

 

if A

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

 

 

case of

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

 

 

 

 

A1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

2

 

 

 

 

 

 

 

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

последовательное

условный выбор

 

сан. выбор

выполнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while

 

 

 

do

 

 

for

 

 

A

 

 

 

 

B

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Циклы

Здесь каждый символ – блок обработки. Каждый прямоугольник внутри символа – также блок обработки.

Например, сортировка элементов массива методом «поплавка».

for j = 1 to n-1 do

……… сравнить и поменять

местами

if a[j] > a[j+1]

then

……… поменять

местами

temp = a[j]

a[j] = a[j+1]

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]