Вконтакте Facebook Twitter Лента RSS

Построение диаграмм потоков данных dfd. Методологии моделирования предметной области. Материал из ПИЭ.Wiki

0

(Лекция 5)

Методы проектирования БД

Целью проектирования БД является адекватное отображение в базе данных сути предметной области, рассматриваемой с точки зрения решения задачи автоматизации.

В теории баз данных существует ряд методов разработки моделей БД, отображающих разные уровни её архитектуры. Распространены два основных подхода к проектированию систем баз данных: "нисходящий" и "восходящий".

Известен также подход "смешанной стратегии" - сначала «восходящий» и «нисходящий» методы используются для разных частей модели, после чего все подготовленные фрагменты собираются в единое целое.

Рассмотрим на рисунке отличие этих методов


Рисунок - Выбор метода проектирования

Метод восходящего проектирования БД

При «восходящем» подходе осуществляют структурное проектирование снизу-вверх. Этот процесс называют процессом синтеза, попыткой получения целого, адекватно отображающего описание предметной области, на основе описания составляющих его частей.

Этапы проектирования БД методом «восходящего» проектирования представлены на рисунке 2.


ДЛМ - даталогическая модель; НФ - нормальная форма; ИЛМ -информационно-логическая модель предметной области; МБД - модель БД.

Рисунок 2 - Этапы проектирования БД методом «восходящего» проектирования

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

Как правило, получают 2 - 3 реляционных отношения, связанных между собой.

Избыточность данных в ненормализованной схеме - повторение данных в БД.

Для того чтобы полученная структура БД (ДЛМ) не обладала различными аномалиями при добавлении, обновлении или удалении данных вследствие их избыточности, необходимо осуществить проверку каждой полученной схемы отношения, как минимум, на соответствие 3НФ. Если схемы отношений не соответствуют этому условию, а они, как правило, не соответствуют, необходимо проводить процесс нормализации.

Значительный объем мероприятий по нормализации схем реляционных отношений даже дал второе название методу «восходящего» проектирования. Этот метод часто называют методом «нормализации».

Основы теории нормализации создал Э. Кодд.

Нормализация - это процесс проектирования в терминах РМД методом последовательных приближений к удовлетворительному набору схем.

Совокупность схем отношений называется схемой реляционной БД.

Нормализация исключает избыточность и аномалии в БД.

Аномалии в ненормализованной схеме отношения:

а) обновления - противоречивость данных, вызванная их избыточностью и частичным обновлением.

Пример: Схема2

(Код преподавателя, ФИО преподавателя, Код кафедры, Название кафедры, Краткое название кафедры, Код должности, Название должности)

б) аномалия удаления - непреднамеренная потеря данных, вызванная удалением других данных

в) аномалия ввода - невозможность ввести данные в таблицу, вызванная отсутствием других данных.

Схема2 (Код преподавателя, ФИО преподавателя, Код кафедры, Название кафедры, Краткое название кафедры, Код должности, Название должности)

Этапы проектирования БД методом нормализации:

1. Определение всех атрибутов, сведения о которых будут включены в БД -сбор сырых данных на предприятии.

2. Составление списка сырых данных в виде схем реляционных отношений. Полученная в итоге схема отношений находятся в нулевой нормальной форме (0НФ).

3. Приведение схемы отношения к 1НФ

Опр. 1НФ: Схема отношения находится в 1НФ тогда и только тогда, если все атрибуты схемы имеют атомарное значение и в схеме отношений отсутствуют повторяющиеся группы.

Опр.: повторяющаяся группа - один или более элементов данных, которые имеют более одного значения для одного значения части ключа. Рассматривается, если первичный ключ составной.

Разбиение схемы отношения на атомарные атрибуты.

Удаление повторяющихся групп.

ПГ: ЗАКАЗ (Номер заказчика, Ф.,И.,О., тел., дата, Номер заказа)

Первичный ключ - Номер заказчика, Дата, Номер заказа (если в один день заказчик может оформить более чем один заказ)

Повторяющаяся группа: Ф,И,О, телефон - повторяются в каждой новой записи при формировании информации о новом заказе, хотя эта информация относится к части составного ключа - Номер заказчика.

Нужно вынести в отдельную схему отношений:

ЗАКАЗ (№ заказчика, дата, № заказа)

ФИЗИЧЕСКОЕ ЛИЦО (№ заказчика, Ф,И,О, телефон)

Связь 1:М между 2-мя новыми схемами отношений, «много» на стороне отношения ЗАКАЗ.

Каждое ФИЗИЧЕСКОЕ ЛИЦО может оформить много ЗАКАЗОВ.

Каждый конкретный ЗАКАЗ оформлен одним и только одним ФИЗИЧЕСКИМ ЛИЦОМ.

4. Изучение смысла (семантики) данных и определение набора атрибутов -потенциального (уникального) ключа отношения. М.б. несколько уникальных ключей.

Уникальный (потенциальный) ключ - атрибут или набор атрибутов, который полностью и однозначно определяет значения других атрибутов.

5. Если отношение обладает несколькими потенциальными ключами, то нужно выбрать среди них кандидата в первичный ключ.

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

Опр.: функциональной зависимостью атрибута В (набора атрибутов) отношения R от атрибута (набора атрибутов) А отношения R, обозначаемой R.A -> R.B A->B

называется такая связь между атрибутами отношения, что в каждый момент времени каждому значению атрибута (набору атрибутов) В соответствует только одно значение атрибута (набора атрибутов) А.

Однако для заданного значения атрибута В может существовать несколько различных значений атрибута А.

Таким образом, если из семантики предметной области нам известно значение атрибута А, то мы в предметной области однозначно можем определить значение атрибута В.

ФЗ является смысловым свойством атрибутов отношения.

В отношении м.б. выявлено много функциональных зависимостей, т.е. в отношении м.б. выявлено много детерминантов.

Опр.: ключевой атрибут - атрибут, входящий в состав первичного ключа Опр.: не ключевой атрибут - атрибут, не входящий в состав первичного ключа.

Опр.: частичная ФЗ - это зависимость не ключевого атрибута от части составного первичного ключа.

Опр.: полная ФЗ - это зависимость не ключевого атрибута от всего составного первичного ключа.

Имеет смысл рассматривать полную и частичную ФЗ в том случае, если ПК - составной.

Работа(Номер школы (ВК1); Номер инструктора (ПК); Фамилия инструктора; Имя инструктора; Отчество инструктор; Серия паспорта; Номер паспорта; Дата принятия на работу; Госномер автомобиля; Код вида занятий (ВК3))

Функциональные зависимости:

Номер инструктора -> Номер школы Номер инструктора -> Фамилия инструктора Номер инструктора -> Имя инструктора

Номер инструктора -> Отчество инструктора Номер инструктора - >Серия паспорта Номер инструктора -> Номер паспорта Номер инструктора - >Код образования Номер инструктора - >Дата принятия на работу Номер инструктора - >Госномер автомобиля

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

Для приведения к 2НФ необходимо выявит подмножество ФЗ не ключевых атрибутов от составного первичного ключа. Сколько не ключевых атрибутов -столько ФЗ!

Замечание: полное множество ФЗ определяется на основе аксиом и теорем теории множеств.

7. Приведение схемы отношения к 2НФ Технология приведения ко 2НФ:

1) В отдельную схему отношения выносится составной первичный ключ и те атрибуты, которые функционально полно зависят от него. Если таких атрибутов нет, то первичный ключ выносится один.

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

Сколько частей первичного ключа образовали частичные ФЗ, столько схем получаем

3) Исходная схема удаляется.

8. Определение транзитивных зависимостей в каждом нормализуемом отношении

Опр.: транзитивная зависимость - атрибут С отношения R транзитивно зависит от атрибута А отношения R, если для атрибутов А, В, С выполняется условие существования следующих ФЗ:

при условии, что атрибут А функционально не зависит ни от атрибута В, ни от атрибута С.

9. Удаление транзитивных зависимостей путем декомпозиции схем отношений

10 Определение условий необходимости анализа схем отношений на соответствие НФБК (нормальной формы Бойса - Кодда - BCNF)

Эта нормальная форма вводит дополнительное ограничение по сравнению с

Опр.: Отношение находится в НФБК, если оно находится в 3НФ и каждый детерминант отношения является потенциальным ключом отношения.

Опр.: Детерминантом ФЗ называется атрибут (набор атрибутов),

расположенный в левой части ФЗ, т.е. от детерминанта функционально полно зависит некоторый другой атрибут (атрибуты)

В отношении м.б. несколько детерминантов

Ситуация, когда отношение будет находиться в 3НФ, но не в НФБК, возникает при условии, что отношение имеет два (или более) возможных (потенциальных) ключа, которые являются составными и имеют общий атрибут.

Таким образом, НФБК учитывает ФЗ, в которых участвуют все потенциальные ключи отношения, а не только ПК.

На практике такая ситуация встречается достаточно редко, и для всех прочих отношений 3NF и BCNF эквивалентны.

Для отношения с единственным потенциальным ключом его 3НФ эквивалентна и НФБК.

Таким образом, для успешного проведения нормализации (до 3НФ) необходимо на основе анализа предметной области (анализа документов

предметной области) для каждой схемы реляционного отношения:

Выявить потенциальные ключи;

Увидеть повторяющиеся группы и не атомарные атрибуты;

Привести схемы отношения к 1НФ;

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

Определить частичные функциональные зависимости;

Осуществить декомпозицию (деление) соответствующих схем отношений для удалений частичных функциональных зависимостей;

Увидеть транзитивные зависимости между не ключевыми атрибутами и первичным ключом;

Исключить транзитивные зависимости путем декомпозиции

соответствующих схем отношений.

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

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

Рассмотрим на рисунке схему процесса нормализации


Рисунок - Схема процесса нормализации

«Восходящее» проектирование - это достаточно сложная и устаревшая методика, которая подходит для проектирования только небольших баз данных.

Предметная область - автоматизация учета личных данных инструкторов сети школ авто вождения.

Возросло количество обучающихся, возрос и контингент инструкторов, появилась необходимость автоматизации.

На этапе общения с заказчиком были определены следующие атрибуты, которые необходимо хранить и обрабатывать:

Номер школы;

ФИО инструктора;

Дата рождения;

Номер, серию паспорта;

Дата принятия на работу;

Госномер автомашины, которая закреплена за инструктором (необходимо хранить

последнюю запись - желание заказчика, хотя по-хорошему надо хранить историю);

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

Выявленные ограничения предметной области:

Все данные должны быть обязательными.

За одним автомобилем м.б. закреплено несколько инструкторов.

Номер сотрудника уникальный в пределах всей ИС, охватывающей сеть школ.


Наполнение строк реальными данными позволило выявить кандидата в первичный ключ. Серия и номер документа удостоверяющего личность состоит из двух атрибутов, его можно заменить введение дополнительного номера - личный номер инструктора. Это выяснилось и в ходе дальнейшего обследования предметной области - сотрудник, ведущий личные дела инструкторов, присваивает каждому личный номер.

Поле "вид занятий" символьное, что нежелательно для атрибута, входящего в состав первичного ключа. В ходе дальнейшего анализа предметной области был выявлен документ, который перечислял существующие виды занятий автошколы, причем, записи были пронумерованы в шапке отчетного документа- 1 - руководство школой; 2- чтение теоретического курса; 3 - работа на тренажерах и т.д. и по каждому виду подводился итог. Появился атрибут, дополнительно описывающий вид занятий, причем числовой. Его необходимо добавить в схему отношения и сделать атрибутом первичного ключа, заменив, таким образом, длинное символьное поле.

Получили схему отношения:


ПК - первичный ключ - Номер инструктора; Код вида занятий

Необходимость нормализации: исходное отношение, находящееся в нулевой нормальной форме, содержит избыточные данные, что является причиной аномалий вставки - например, мы не можем внести данные о инструкторе, пока он не принесет сведения об образовании или не будет точно известен госномер и марка автомобиля, который за ним закрепляют. Аномалия обновления

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

Явная избыточность - повторение названия вида занятий.

Неявная избыточность - изменение госномера автомобиля.

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

Скачать лекцию: У вас нет доступа к скачиванию файлов с нашего сервера.

Метод разработки проектов, систем, программ, при котором разработка производится сверху вниз.

Один из основных методов структурного проектирования . Нисходящее программирование - частный случай нисходящей разработки.

Метод предполагает последовательное разложение функции обработки данных на простые функциональные элементы ("сверху вниз").

В результате строится иерархическая схема, которая отражает состав и взаимоподчиненность отдельных функций. Она носит название функциональная структура алгоритма (ФСА) приложения, в которой отражаются:

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

Рассмотрим функциональную структуру приложения.

Пример функциональной структуры приложения

Подобная структура отражает состав и взаимосвязь функций обработки информации для реализации приложений, не раскрывая логику выполнения каждой отдельной функции.

Разложение должно носить строго функциональный характер, т.е. отдельный элемент ФСА описывает законченную содержательную функцию обработки информации, которая предполагает определенный способ реализации на программном уровне.

Функции ввода/вывода информации отделяют от функций вычислительной или логической обработки данных.

Некоторые функции, например, Ф2, ФM далее неразложимы на составляющие, они предполагают непосредственную программную реализацию. Другие функции (Ф1) могут быть представлены в виде структурного объединения более простых функций, например Ф11, Ф1k. Для всех функций-компонентов осуществляется самостоятельная программная реализация, составные функции типа Ф1 реализуются как программные модули, управляющие функциями - компонентами, например, в виде программ-меню.

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

Литература

  1. Истомин Е.П., Новиков В.В., Новикова М.В. Высокоуровневые методы информатики и программирования: Учебник. - СПб. ООО "Адреевский издательский дом", 2006 г. - 228 с.

Рассмотрим построение DFD модели информационной системы для сети магазинов по продажам сумок. Дополним диаграмму IDEF0, построенную в лабораторной работе № 1 DFD-диаграммой. Построим DFD-диаграмму для функции A4 «Анализировать работу» См. рис. 4.

Рис. 4. Пример DFD-диаграммы

Задание

  1. Изучить метод DFD.
  2. Дополнить функциональную модель информационной системы, построенную в лабораторной работе № 1, диаграммой потоков данных, для тех функциональных блоков IDEF0 модели, для которых требуется показать движение данных.
  3. Ответить на контрольные вопросы.
  4. Оформить отчет (Титульный лист, задание, DFD диаграмма)

Контрольные вопросы

  1. Какие процессы в системе описываются с помощью диаграмм потоков данных?
  2. Какие основные объекты диаграмм потоков данных?
  3. Используется ли принцип декомпозиции при построении DFD диаграмм?
  4. Место подхода стрелки к блокам или место выхода стрелки из блока может быть произвольным или подчиняется определенным правилам?
  5. Каким образом происходит выделение объекта во внешнюю сущность?

Литература

  1. Федотова, Д.Э. CASE-технологии: Практикум/ Д.Э. Федотова, Ю.Д. Семенов, К.Н. Чижик. - М.: Горячая линия – Телеком, 2005. - 160 с.: ил.
  2. Калашян, А.Н. Структурные модели бизнеса: DFD-технологии/ А.Н. Калашян, Г.Н. Калянов. - М.: Финансы и статистика, 2003.
  3. DFD -диаграммы потоков данных. - http://www.proinfotech.ru/dmdlr2.htm.
  4. Методы моделирования бизнесс-процессов. - http://www.jetinfo.ru/2004/10/1/article1.10.2004153.html.


Построение диаграммы декомпозиции в нотации DFD

Цель работы:

  • построить диаграмму декомпозиции в нотации DFD одной из работ диаграмм IDEF0, построенных в предыдущих лабораторных работах

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

Любая DFD-диаграмма может содержать работы, внешние сущности, стрелки (потоки данных) и хранилища данных.

Работы. Работы изображаются прямоугольниками с закругленными углами (рис. 1), смысл их совпадает со смыслом работ IDEF0 и IDEF3. Так же как работы IDEF3, они имеют входы и выходы, но не поддерживают управления и механизмы, как IDEF0. Все стороны работы равнозначны. В каждую работу может входить и выходить по несколько стрелок.

Рисунок 1. Работа в DFD

Внешние сущности. Внешние сущности изображают входы в систему и/или выходы из нее. Одна внешняя сущность может одновременно предоставлять входы (функционируя как поставщик) и принимать выходы (функционируя как получатель). Внешняя сущность представляет собой материальный объект, например заказчики, персонал, поставщики, клиенты, склад. Определение некоторого объекта или системы в качестве внешней сущности указывает на то, что они находятся за пределами границ анализируемой системы. Внешние сущности изображаются в виде прямоугольника с тенью и обычно располагаются по краям диаграммы (рис. 2).

Рисунок 2. Внешняя сущность в DFD

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

Хранилище данных. В отличие от стрелок, описывающих объекты в движении, хранилища данных изображают объекты в покое (рис. 3). Хранилище данных - это абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и через некоторое время извлечь, причем способы помещения и извлечения могут быть любыми. Оно в общем случае является прообразом будущей базы данных, и описание хранящихся в нем данных должно соответствовать информационной модели (Entity-RelationshipDiagram).

Рисунок 3. Хранилище данных в DFD

Декомпозиция работы IDEF0 в диаграмму DFD. При декомпозиции работы IDEF0 в DFD необходимо выполнить следующие действия:

  • удалить все граничные стрелки на диаграмме DFD;
  • создать соответствующие внешние сущности и хранилища данных;
  • создать внутренние стрелки, начинающиеся с внешних сущностей вместо граничных стрелок;
  • стрелки на диаграмме IDEF0 затоннелировать

Строго придерживаться правил нотации DFD не всегда удобно, поэтому BPWin позволяет создавать в DFD диаграммах граничные стрелки.

Построение диаграммы декомпозиции. Проведем декомпозицию работы Отгрузка и снабжение диаграммы А0 "Деятельность предприятия по сборке и продаже компьютеров и ноутбуков". В этой работе мы выделили следующие дочерние работы:

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

Выделим работу Отгрузка и снабжение диаграммы А0 "Деятельность предприятия по сборке и продаже компьютеров и ноутбуков", нажмем на кнопку "GotoChildDiagram" панели инструментов и выберем нотацию DFD. При создании дочерней диаграммы BPWin переносит граничные стрелки родительской работы, их необходимо удалить и заменить на внешние сущности. Стрелки механизмов, стрелки управления "Правила и процедуры", "Управляющая информация" и стрелку выхода "Отчеты" на дочерней диаграмме задействованы не будут, чтоб не загромождать диаграмму менее существенными деталями. Остальные стрелки заменим на внешние сущности - кнопка "ExternalReferenceTool" на панели инструментов, в появившемся окне выбрать переключатель "Arrow" и выбрать из списка нужное название (рис. 4):



Рисунок 4. Добавление внешней сущности

Рисунок 5. Работы и внешние сущности

Центральной здесь является работа "Хранение комплектующих и собранных компьютеров". На ее вход поступают собранные компьютеры и полученные от поставщиков комплектующие, а также список необходимых для сборки компьютеров комплектующих. Выходом этой работы будут необходимые комплектующие (если они есть в наличии), список отсутствующих комплектующих, передаваемый на вход работы "Снабжение необходимыми комплектующими" и собранные компьютеры, передаваемые на отгрузку. Выходами работ "Снабжение необходимыми комплектующими" и "Отгрузка готовой продукции" будут, соответственно, заказы поставщикам и готовая продукция.

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

Рисунок 6. Итоговая диаграмма декомпозиции

Работа "Снабжение необходимыми комплектующими" работает с информацией о поставщиках и с информацией о заказах, сделанных у этих поставщиков. Стрелка, соединяющая работу и хранилище данных "Список поставщиков" двунаправленная, т.к. работа может как получать информацию о имеющихся поставщиках, так и вносить данные о новых поставщиках. Стрелка, соединяющая работу с хранилищем данных "Список заказов" однонаправленная, т.к. работа только вносит информацию о сделанных заказах.

Работа "Хранение комплектующих и собранных компьютеров" работает с информацией о получаемых и выдаваемых комплектующих и собранных компьютеров, поэтому стрелки, соединяющая работу с хранилищами данных "Список комплектующих" и "Список собранных компьютеров" двунаправленные. Также эта работа при получении комплектующих должна делать отметку о том, что заказ поставщикам выполнен. Для этого она связана с хранилищем данных "Список заказов" однонаправленной стрелкой. Обратите внимание, что на DFD диаграммах одно и тоже хранилище данных может дублироваться.

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

Последним действием необходимо стрелки родительской работы затуннелировать (рис. 7):

Рисунок 7. Диаграмма IDEF0 с затуннелированными стрелками работы "Отгрузка и снабжение"

Пример DFD-диаграммы процесса «Составление технологического задания» средствами Bpwin

Главная > Лекция

ЛЕКЦИЯ №3

ДИАГРАММЫ ПОТОКОВ ДАННЫХ Диаграммы потоков данных (DFD) являются основным средством моделирования функциональных требований проектируемой системы. С их помощью эти требования разбиваются на функциональные компоненты (процессы) и представляются в виде сети, связанной потоками данных. Главная цель таких средств - продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами. Диаграммы потоков данных известны очень давно. Приведу следующий пример использования DFD для реорганизации переполненного клерками офиса, относящийся к 20-м годам. Осуществлявший реорганизацию консультант обозначил кружком каждого клерка, а стрелкой - каждый документ, передаваемый между ними. Используя такую диаграмму, он предложил схему реорганизации, в соответствии с которой двое клерков, обменивающиеся множеством документов, были посажены рядом, а клерки с малым взаимодействием были посажены на большом расстоянии. Так родилась первая модель, представляющая собой потоковую диаграмму - предвестника DFD. Для изображения DFD традиционно используются две различные нотации: Йодана (Yourdon) и Гейна-Сарсона (Gane-Sarson). Мы будем при построении примеров использовать нотации Йодана.

Основные символы

Основные символы DFD изображены на рис.1.

Р
ис.1 Основные компоненты диаграммы потоков данных

Опишем их назначение. На диаграммах функциональные требования представляются с помощью процессов и хранилищ, связанных потоками данных. ПОТОКИ ДАННЫХ являются механизмами, использующимися для моделирования передачи информации (или даже физических компонент) из одной части системы в другую. Важность этого объекта очевидна: он дает название целому инструменту. Потоки на диаграммах обычно изображаются именованными стрелками, ориентация которых указывает направление движения информации. Иногда информация может двигаться в одном направлении, обрабатываться и возвращаться назад в ее источник. Такая ситуация может моделироваться либо двумя различными потоками, либо одним - двунаправленным. Назначение ПРОЦЕССА состоит в продуцировании выходных потоков из входных в соответствии с действием, задаваемым именем процесса. Это имя должно содержать глагол в неопределенной форме с последующим дополнением (например, ВЫЧИСЛИТЬ МАКСИМАЛЬНУЮ ВЫСОТУ). Кроме того, каждый процесс должен иметь уникальный номер для ссылок на него внутри диаграммы. Этот номер может использоваться совместно с номером диаграммы для получения уникального индекса процесса во всей модели. ХРАНИЛИЩЕ (НАКОПИТЕЛЬ) ДАННЫХ позволяет на определенных участках определять данные, которые будут сохраняться в памяти между процессами. Фактически хранилище представляет "срезы" потоков данных во времени. Информация, которую оно содержит, может использоваться в любое время после ее определения, при этом данные могут выбираться в любом порядке. Имя хранилища должно идентифицировать его содержимое и быть существительным. В случае, когда поток данных входит или выходит в/из хранилища, и его структура соответствует структуре хранилища, он должен иметь то же самое имя, которое нет необходимости отражать на диаграмме. ВНЕШНЯЯ СУЩНОСТЬ (или ТЕРМИНАТОР) представляет сущность вне контекста системы, являющуюся источником или приемником системных данных. Ее имя должно содержать существительное, например, СКЛАД ТОВАРОВ, Предполагается, что объекты, представленные такими узлами, не должны участвовать ни в какой обработке. Контекстная диаграмма и детализация процессов Декомпозиция DFD осуществляется на основе процессов: каждый процесс может раскрываться с помощью DFD нижнего Уровня. Важную специфическую роль в модели играет специальный вид DFD - контекстная диаграмма, моделирующая систему наиболее общим образом. Контекстная диаграмма отражает интерфейс системы с внешним миром, а именно, информационные потоки между системой и внешними сущностями, с которыми она должна быть связана. Она идентифицирует эти внешние сущности, а также, как правило, единственный процесс, отражающий главную цель или природу системы насколько это возможно. И хотя контекстная диаграмма выглядит тривиальной, несомненная ее полезность заключается в том, что она устанавливает границы анализируемой системы. Каждый проект должен иметь ровно одну контекстную диаграмму, при этом нет необходимости в нумерации единственного ее процесса. DFD первого уровня строится как декомпозиция процесса, который присутствует на контекстной диаграмме. Построенная диаграмма первого уровня также имеет множество процессов, которые в свою очередь могут быть декомпозированы в DFD нижнего уровня. Таким образом строится иерархия DFD с контекстной диаграммой в корне дерева. Этот процесс декомпозиции продолжается до тех пор, пока процессы могут быть эффективно описаны с помощью коротких (до одной страницы) миниспецификаций обработки (спецификаций процессов). При таком построении иерархии DFD каждый процесс более низкого уровня необходимо соотнести с процессом верхнего уровня. Обычно для этой цели используются структурированные номера процессов. Так, например, если мы детализируем процесс номер 2 на диаграмме первого уровня, раскрывая его с помощью DFD, содержащей три процесса, то их номера будут иметь следующий вид: 2.1, 2.2 и 2.3. При необходимости можно перейти на следующий уровень, т.е. для процесса 2.2 получим 2.2.1, 2.2.2. и т.д. Проиллюстрируем контекстную диаграмму на примере. П

ример
. Рассмотрим процесс СДАЧА ЭКЗАМЕНА. У нас есть две сущности СТУДЕНТ и ПРЕПОДАВАТЕЛЬ. Опишем потоки данных, которыми обменивается наша проектируемая система с внешними объектами.

Со стороны сущности СТУДЕНТ опишем информационные потоки. Для сдачи экзамена необходимо, чтобы у СТУДЕНТА была ЗАЧЕТКА, а также чтобы он имел ДОПУСК К ЭКЗАМЕНУ. Результатом сдачи экзамена, т.е. выходными потоками будут ОЦЕНКА ЗА ЭКЗАМЕН и ЗАЧЕТКА, в которую будет проставлена ОЦЕНКА. Со стороны сущности ПРЕПОДАВАТЕЛЬ информационные потоки следующие. ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ согласно которой будет известно, что СТУДЕНТ допущен до экзамена, а также официальна бумага, куда будет занесен результат экзамена, т.е. ОЦЕНКА ЗА ЭКЗАМЕН, ПРОСТАВЛЕННАЯ В ВЕДОМОСТЬ. Теперь детализируем процесс 1.СДАЧА ЭКЗАМЕНА. Этот процесс будет содержать следующие процессы:

      Вытянуть билет Подготовиться к ответу Ответы на билет Проставление оценки



Декомпозиция данных и соответствующие расширения диаграмм потоков данных

Индивидуальные данные в системе часто являются независимыми. Однако иногда необходимо иметь дело с несколькими независимыми данными одновременно. Например, в системе имеются потоки ЯБЛОКИ, АПЕЛЬСИНЫ и ГРУШИ. Эти потоки могут быть сгруппированы с помощью введения нового потока ФРУКТЫ. Для этого необходимо определить формально поток ФРУКТЫ как состоящий из нескольких элементов-потомков. Такое определение задается с помощью формы Бэкуса-Наура (БНФ) в словаре данных (эту форму мы рассмотрим на след. лекции). В свою очередь поток ФРУКТЫ сам может содержаться в потоке-предке ЕДА вместе с потоками ОВОЩИ, МЯСО и др. Такие потоки, объединяющие несколько потоков, получили название групповых. Обратная операция, расщепление потоков на подпотоки, осуществляется с использованием группового узла (рис. 3), позволяющего расщепить поток на любое число подпотоков.

Р

ис. 3
При расщеплении также необходимо формально определить подпотоки в словаре данных (с помощью БНФ). Аналогичным образом осуществляется и декомпозиция потоков через границы диаграмм, позволяющая упростить детализирующую DFD. Пусть имеется поток ФРУКТЫ, входящий в детализируемый процесс. На детализирующей этот процесс диаграмме потока ФРУКТЫ может не быть вовсе, но вместо него могут быть потоки ЯБЛОКИ и АПЕЛЬСИНЫ (как будто бы они переданы из детализируемого процесса). В этом случае должно существовать БНФ-определение потока ФРУКТЫ, состоящего из подпотоков ЯБЛОКИ и АПЕЛЬСИНЫ, для целей балансирования. Применение этих операций над данными позволяет обеспечить структуризацию данных, увеличивает наглядность и читабельность диаграмм. Для обеспечения декомпозиции данных и некоторых других сервисных возможностей к DFD добавляются следующие типы объектов: 1) ГРУППОВОЙ УЗЕЛ. Предназначен для расщепления и объединения потоков. В некоторых случаях может отсутствовать (т.е. фактически вырождаться в точку слияния/расщепления потоков на диаграмме). 2) УЗЕЛ-ПРЕДОК . Позволяет увязывать входящие и выходящие потоки между детализируемым процессом и детализирующей DFD. 3) НЕИСПОЛЬЗУЕМЫЙ УЗЕЛ . Применяется в ситуации, когда декомпозиция данных производится в групповом узле, при этом требуются не все элементы входящего в узел потока. 4) УЗЕЛ ИЗМЕНЕНИЯ ИМЕНИ . Позволяет неоднозначно именовать потоки, при этом их содержимое эквивалентно. Например, если при проектировании разных частей системы один и тот же фрагмент данных получил различные имена, то эквивалентность соответствующих потоков данных обеспечивается узлом изменения имени. При этом один из потоков
данных является входным для данного узла, а другой - выходным.
    Текст в свободном формате в любом месте диаграммы.
Возможный способ изображения этих узлов приведен на рис. 3.
Построение модели
Главная цель построения иерархического множества DFD заключается в том, чтобы сделать требования ясными и понятными на каждом уровне детализации, а также разбить эти требования на части с точно определенными отношениями между ними. Для достижения этого целесообразно пользоваться следующими рекомендациями:
    Размещать на каждой диаграмме от 3 до 6-7 процессов. Верхняя граница соответствует человеческим возможностям одновременного восприятия и понимания структуры сложной системы с множеством внутренних связей, нижняя граница выбрана по соображениям здравого смысла: нет необходимости детализировать процесс диаграммой, содержащей всего один или два процесса. Не загромождать диаграммы несущественными на данном уровне деталями. Декомпозицию потоков данных осуществлять параллельно с декомпозицией процессов; эти две работы должны выполняться одновременно, а не одна после завершения другой. Выбирать ясные, отражающие суть дела, имена процессов и потоков для улучшения понимаемости диаграмм, при этом стараться не использовать аббревиатуры. Однократно определять функционально идентичные процессы на самом верхнем уровне, где такой процесс необходим, и ссылаться к нему на нижних уровнях. Пользоваться простейшими диаграммными техниками: если что-либо возможно описать с помощью DFD, то это и необходимо делать, а не использовать для описания более сложные объекты. Отделять управляющие структуры от обрабатывающих структур (т.е. процессов), локализовать управляющие структуры.
В соответствии с этими рекомендациями процесс построения модели разбивается на следующие этапы:

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

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

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

Расширения реального времени
Р

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

1) УПРАВЛЯЮЩИЙ ПРОЦЕСС. Представляет собой интерфейс между DFD и спецификациями управления, собственно моделирующими и документирующими аспекты реального времени. Его имя указывает на тип управляющей деятельности, вырабатываемой спецификацией. Фактически управляющий процесс представляет собой преобразователь входных управляющих потоков в выходные управляющие потоки; при этом точное описание этого преобразования должно задаваться в спецификации управления. 2) УПРАВЛЯЮЩЕЕ ХРАНИЛИЩЕ. Представляет "срез управляющего потока во времени. Содержащаяся в нем управляющая информация может использоваться в любое время после ее занесения в хранилище, при этом соответствующие данные могут быть использованы в произвольном порядке. Имя управляющего хранилища должно идентифицировать его содержимое и быть существительным. Управляющее хранилище отличается от традиционного тем, что может содержать только управляющие потоки; все другие их характеристики идентичны. 3) УПРАВЛЯЮЩИЙ ПОТОК. Представляет собой "трубопровод", через который проходит управляющая информация. Его имя не должно содержать глаголов, а только существительные и прилагательные. Обычно управляющий поток имеет дискретное, а не непрерывное значение. Это может быть, например, сигнал, представляющий состояние или вид операции. Логически управляющий процесс есть некий командный пункт, реагирующий на изменения внешних условий, передаваемые ему с помощью управляющих потоков, и продуцирующий в соответствии со своей внутренней логикой выполняемые процессами команды. При этом режим выполнения процесса зависит от типа управляющего потока. Имеются следующие типы управляющих потоков: а) Т-поток (trigger flow ). Является потоком управления процессом, который может вызывать выполнение процесса. При этом процесс как бы включается одной короткой операцией. Это - аналог выключателя света, единственным нажатием которого запускается" процесс горения лампы. б) А-поток (activator flow) . Является потоком управления процессом, который может изменять выполнение отдельного процесса. Используется для обеспечения непрерывности выполнения процесса до тех пор, пока поток "включен" (т.е. течет непрерывно), с "выключением" потока выполнение процесса завершается. Это - аналог переключателя лампы, которая может быть как включена, так и выключена. в) E/D -поток (enable/disable flow) . Является потоком управления процессом, который может переключать выполнение отдельного процесса. Течение по Е-линии вызывает выполнение процесса, которое продолжается до тех пор, пока не возбуждается течение по D-линии. Это - аналог выключателя с двумя кнопками: одной - для включения света, другой - для его выключения. Отметим, что можно использовать 3 типа таких потоков: Е-поток, D-поток, E/D-поток. Иногда возникает необходимость в представлении одного и того же фрагмента данных потоками различных типов. Например, поток данных СКОРОСТЬ МАШИНЫ в отдельных случаях может использоваться как управляющий для контроля критического значения. Для обеспечения этого используется УЗЕЛ ИЗМЕНЕНИЯ ТИПА (рис. 5): поток данных является входным для этого узла, а управляющий поток - выходным.

Рис. 5. Узел изменения типа

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

Для построения ЭГО-диаграмм используются две различные нотации, соответствующие методам Иордана и Гейна-Сэрсона, которые незначительно отличаются графическими изображениями символов. Далее при построении примеров будет использоваться нотация Гейна-Сэрсона. Построение БРЭ-диаграмм в основном ассоциируется с разработкой программных систем, и нотация ЭРЭ изначально была разработана для этих целей.

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

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

Основными компонентами ОГБ-диаграмм являются:

  • внешние сущности;
  • системы и подсистемы;
  • накопители данных;
  • потоки данных.

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

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

ной системы как единого целого либо может быть декомпозирована на несколько подсистем (рис. 5.13).

Рис. 5.12.

Идентификатор

Поленомера

Полеимени Поле

физической

реализации

Рис. 5.13. Контекстная диаграмма

Номер подсистемы служит для ее идентификации. В поле имени вводится наименование подсистемы в форме предложения с подлежащим и соответствующими определениями и дополнениями.

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

Поле номера

Поле имени Поле

физической

реализации

Рис. 5.14. Изображение процесса

Номер процесса служит для ее идентификации. В поле имени вводится наименование процесса в виде предложения с активным недвусмысленным глаголом в неопределенной форме («вычислить», «проверить», «рассчитать», «создать» и т.п.), за которым следует существительное в винительном падеже (рис. 5.14). Использование таких глаголов, как «обработать», «модернизировать» или «отредактировать», означает недостаточно глубокое понимание данного процесса и требует дальнейшего анализа. Информация в поле физической реализации показывает, какое подразделение, программа или устройство выполняет данный процесс.

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

идентификации

Поле имени

Рис. 5.15. Изображение накопителя данных

Накопитель данных в общем случае является прообразом будущей базы данных, описание хранящихся в нем данных должно быть увязано с информационной моделью (ЕЯИ). Поток данных изображается стрелкой и описывает передвижение информации от источника к приемнику. Реально это может быть информация, передаваемая по кабелю между двумя устройствами, пересылаемые по почте письма, дискеты, перемещаемые с одного компьютера на другой и т.д. Каждый поток имеет имя, отражающее его содержание (рис. 5.16).

Сформировать отчетность по подоходному налогу

отчетности

Отчетность по

подоходном у налогу

Рис. 5.16.

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

Записать адрес налогоплательщика

Отдел учета налогоплательщиков

Рис. 5.17.

При использовании ОРЭ-диаграмм с целью моделирования функциональных требований, предъявляемых к программной системе, для ясности их понимания и удобства работы проектировщика строят иерархию диаграмм. При этом целесообразно выполнять следующие рекомендации :

  • размещать на каждой диаграмме от 3 до 6-7 процессов;
  • не загромождать диаграммы несущественными на данном уровне деталями;
  • декомпозицию потоков данных осуществлять параллельно с декомпозицией процессов;
  • выбирать ясные, отражающие суть дела имена процессов и потоков, стараясь не использовать аббревиатуры.

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

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

После построения контекстных диаграмм полученную модель надо проверить на полноту исходных данных об объектах системы и изолированность объектов (отсутствие информационных связей с другими объектами). Для каждой подсистемы, присутствующей на контекстных диаграммах, выполняется ее детализация при помощи БРЭ-диаграмм. Каждое событие представляется в виде процесса с соответствующими входными и выходными потоками, накопителями данных, внешними сущностями ссылками на другие процессы для описания связей между этим процессом и его окружением.

Каждый процесс на ЙГО-диаграмме, в свою очередь, может быть детализирован при помощи ЭРЭ или (если процесс элементарный) спецификации. При детализации должны соблюдаться следующие правила:

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

Спецификация процесса должна формулировать его основные функции таким образом, чтобы в дальнейшем специалист, выполняющий реализацию проекта, смог выполнить их или разработать соответствующую программу. Спецификация является конечной вершиной иерархии .О/ 7 /). Решение о завершении детализации процесса и использование спецификации принимается аналитиком, исходя из следующих критериев :

  • наличие у процесса небольшого количества входных и выходных данных (2-3 потока);
  • возможности описания преобразования данных процессом в виде последовательного алгоритма;
  • выполнение процессом единственной логической функции преобразования входной информации в выходную;
  • возможности описания логики процесса при помощи спецификации небольшого объема (не более 20-30 строк).

Спецификации должны удовлетворять следующим требованиям:

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

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

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

При использовании структурированного естественного языка приняты следующие соглашения:

  • логика процесса выражается в виде комбинации последовательных конструкций, конструкций выбора и итераций;
  • глаголы должны быть активными, недвусмысленными и ориентированными на целевое действие (например, «заполнить», «вычислить», «извлечь», а не «модернизировать», «обработать»);
  • логика процесса должна быть выражена четко и недвусмысленно.

При построении иерархии диаграмм потоков данных переходить

к детализации процессов следует только после определения структур данных, которые описывают содержание всех потоков и накопителей данных. Структуры данных могут содержать альтернативы, условные вхождения и итерации. Альтернатива означает, что в структуру может входить один из перечисленных элементов. Условное вхождение показывает, что данный компонент может отсутствовать в структуре. Итерация предусматривает вхождение любого числа элементов из указанного диапазона.

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

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

© 2024 Про уют в доме. Счетчики газа. Система отопления. Водоснабжение. Система вентиляции