Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Словарь данных. БНФ-нотация



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

Ниже приведен пример описания потока данных с помощью БНФ:

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

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

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

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

Точные определения потоков содержатся в словаре данных, а не на диаграммах.

Такие определения хранятся в словаре данных в так называемой БНФ-статье. БНФ-статья используется для описания компонентов данных в потоках данных и в хранилищах.

Ее синтаксис: @БНФ=< простой оператор>! < БНФ-выражение>

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

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

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

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

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

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

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

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

3{болт}7 - от 3 до 7

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

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

 

20. Методы задания спецификация процессов.

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

Спецификация процесса должна начинаться с ключевого слова (например, @СПЕЦПРОЦ ). Требуемые входные и выходные данные должны быть специфицированы следующим образом:

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

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

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

Ситуация, когда символ данных является одновременно входными и выходными данными, может быть описана двумя способами: либо символ описывается два раза с помощью @ВХОД и @ВЫХОД, либо один раз с помощью @ВХОДВЫХОД.

Методы задания спецификаций:

q текстовое описание

q структурированный естественный язык

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

- последовательная конструкция:

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

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

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

- конструкция выбора:

    ЕСЛИ < условие> ТО

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

    ИНАЧЕ

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

    КОНЕЦЕСЛИ

- итерация:

    ДЛЯ < условие>                 ПОКА < условие>

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

    КОНЕЦДЛЯ                             КОНЕЦПОКА

q таблица решений

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

ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ -частью оператора ЕСЛИ-ТО и требует ответа " да-нет".

Нижняя часть ТР используется для определения действий, т.е. ТО -части оператора ЕСЛИ - ТО. ЕСЛИ ИДЕТ ДОЖДЬ, ТО РАСКРЫТЬ ЗОНТ

ИДЕТ ДОЖДЬ является условием, а РАСКРЫТЬ ЗОНТ - действием.

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

Пример таблицы решений:

УСЛОВИЯ

1 2 3 4 5 6 7 8
С1 isctrl(c) Д Д Д Д Н Н Н Н
С2 I> max_lenght Д Д Н Н Д Д Н Н
С3 out_of_range(c) Д Н Д Н Д Н Д Н
                   

ДЕЙСТВИЯ

               
D1 beep( ) 1 1 1 1 1 1 1  
D2 return(ERROR) 2 2 2 2 2 2 2  
D3 return(++i)               2
D4 putchar(c)               1

 

q дерево решений

q визуальный язык

q язык программирования

 

 


Поделиться:



Последнее изменение этой страницы: 2019-04-09; Просмотров: 522; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь