Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

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

@ИМЯ = ПРОТОКОЛ ОБСЛУЖИВАНИЯ

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

@БНФ = (ОБРАБОТАННАЯ ДОКУМЕНТАЦИЯ)

+ (ДЕНЕЖНАЯ СУММА)

+ (ДАННЫЕ ПО ИСТОРИИ ЗАПРОСА)



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте