| CASE. Структурный системный анализ. 
 
 ГЛАВА 3. СЛОВАРЬ ДАННЫХ
 -----------------------
 
 DFD обеспечивают  удобное   описание   функционирования   компонентов
 системы,  но  не  снабжают  аналитика  средствами  описания  деталей  этих
 компонентов, а именно, какая информация преобразуется процессами и как она
 преобразуется.  Для  решения  первой  из перечисленных задач предназначены
 текстовые  средства  моделирования,  служащие   для   описания   структуры
 преобразуемой информации и получившие название словарей данных.
 
 Словарь данных представляет собой определенным образом организованный
 список всех элементов данных системы с их точными определениями,  что дает
 возможность различным категориям пользователей (от системного аналитика до
 программиста) иметь общее понимание всех  входных  и  выходных  потоков  и
 компонентов    хранилищ.    Определения   элементов   данных   в   словаре
 осуществляются следующими видами описаний:
 
 ¦ описанием значений потоков и хранилищ, изображенных на DFD;
 
 ¦ описанием композиции  агрегатов  данных,  движущихся вдоль потоков,
 т.е. комплексных данных, которые могут расчленяться на элементарные
 символы  (например,  АДРЕС  ПОКУПАТЕЛЯ  содержит  ПОЧТОВЫЙ  ИНДЕКС,
 ГОРОД, УЛИЦУ и т.д.);
 
 ¦ описанием композиции групповых данных в хранилище;
 
 ¦ специфицированием значений   и   областей   действия   элементарных
 фрагментов информации в потоках данных и хранилищах;
 
 ¦ описанием деталей отношений между хранилищами.
 
 Содержимое словаря данных
 ---------------------------------------------------------------------
 Для каждого потока данных в словаре необходимо  хранить  имя  потока,
 его тип и атрибуты. Информация по каждому потоку состоит из ряда словарных
 статей,  каждая из  которых  начинается  с  ключевого  слова  -  заголовка
 соответствующей статьи, которому предшествует символ "@".
 
 По типу потока в словаре содержится информация, идентифицирующая:
 
 ¦ простые (элементарные) или групповые (комплексные) потоки;
 
 ¦ внутренние (существующие  только  внутри   системы)   или   внешние
 (связывающие систему с другими системами) потоки;
 
 ¦ потоки данных или потоки управления;
 
 ¦ непрерывные (принимающие  любые  значения  в пределах определенного
 диапазона)  или  дискретные  (принимающие  определенные   значения)
 потоки.
 
 Атрибуты потока данных включают:
 
 ¦ имена-синонимы потока  данных  в  соответствии  с  узлами изменения
 имени;
 
 ¦ БНФ-определение в случае группового потока ;
 
 ¦ единицы измерения потока;
 
 ¦ диапазон значений для непрерывного потока,  типичное его значение и
 информацию по обработке экстремальных значений;
 
 ¦ список значений и их смысл для дискретного потока;
 
 ¦ список номеров    диаграмм    различных   типов,в   которых   поток
 встречается;
 
 ¦ список потоков,  в  которые  данный  поток  входит   (как   элемент
 БНФ-определения);
 
 ¦ комментарий, включающий дополнительную информацию (например, о цели
 введения данного потока).
 
 БНФ-НОТАЦИЯ
 ---------------------------------------------------------------------
 БНФ-нотация позволяет   формально   описать   расщепление/объединение
 потоков.  Поток  может  расщепляться  на  собственные отдельные ветви,  на
 компоненты  потокапредка  или   на   то   и   другое   одновременно.   При
 расщеплении/объединении   потока   существенно,   чтобы  каждый  компонент
 потока-предка являлся именованным.  Если поток расщепляется на  подпотоки,
 необходимо,  чтобы  все  подпотоки являлись компонентами потока-предка.  И
 наоборот, при объединении потоков каждый компонент потока-предка должен по
 крайней  мере  однажды  встречаться  среди  подпотоков.  Отметим,  что при
 объединении подпотоков нет  необходимости  осуществлять  исключение  общих
 компонентов,   а   при  расщеплении  подпотоки  могут  иметь  такие  общие
 (одинаковые) компоненты.
 
 Важно понимать,  что точные определения потоков содержатся в  словаре
 данных, а не на диаграммах. Например, на диаграмме может иметься групповой
 узел С входным потоком Х и выходными подпотоками 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" ]
 
 Посмотрим, как   некоторые   потоки,  присутствующие  на  приведенных
 диаграммах потоков данных, представляются в словаре данных.
 
 @ИМЯ=ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА
 
 @ТИП=управляющий поток
 
 @БНФ=/укаэывает, что кредитная карта введена/
 
 @ИМЯ=ДАННЫЕ КРЕДИТНОЙ КАРТЫ
 
 @ТИП=дискретный поток
 
 @БНФ=ПАРОЛЬ + ДЕТАЛИ КЛИЕНТА + ЛИМИТ ДЕНЕГ
 
 @ИМЯ = ДАННЫЕ ПО БАЛАНСУ
 
 @ТИП = дискретный поток
 
 @БНФ = /текущий баланс счета клиента/
 
 @ЕДИНИЦА ИЗМЕРЕНИЯ = доллар
 
 @ДИАПАЗОН = +/- 100000
 
 @ТОЧНОСТЬ = .01
 
 @ИМЯ = ДЕНЬГИ
 
 @ТИП = дискретный поток
 
 @БНФ = /деньги, выдаваемые клиенту/
 
 @ЕДИНИЦА ИЗМЕРЕНИЯ = доллар
 
 @НОРМА = 5. .1000
 
 @КОММЕНТАРИЙ = Сумма выдаваемых денег должна делиться на 5
 
 @ИМЯ = ПРОТОКОЛ ОБСЛУЖИВАНИЯ
 
 @ТИП = дискретный поток
 
 @БНФ = (ОБРАБОТАННАЯ ДОКУМЕНТАЦИЯ)
 
 + (ДЕНЕЖНАЯ СУММА)
 
 + (ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА)
 
 
 
 |