- •Предисловие
- •Глава 1. Основные понятия теории моделирования § 1.1. Термины моделирования
- •§ 1.2. Классификация видов моделирования
- •§ 1.3. Проблемы проектирования информационных систем
- •§ 1.4. Моделирование предметной области
- •§ 1.5. Три уровня анализа
- •§ 1.6. Набор типов моделей Объектная структура
- •Функциональная структура
- •Структура управления
- •Организационная структура
- •Техническая структура
- •Вопросы к главе 1
- •Глава 2. Концептуальные основы case-технологий § 2.1. Понятие case-технологии
- •§ 2.2. Проблемы внедрения case-технологий
- •§ 2.3. Общая характеристика case-средств
- •§ 2.4. Классификация case-средств
- •Вопросы к главе 2
- •Глава 3. Понятие и основные принципы функционального моделирования, обзор основных методологий.
- •§ 3.1. Технология структурного анализа и проектирования sadt
- •§ 3.2. Диаграммы потоков данных dfd (Data Flow Diagrams)
- •§ 3.3. Диаграммы потоков работ wfd (Work Flow Diagram)
- •§ 3.4. Семейство стандартов моделирования idef
- •§ 3.5. Основные элементы и понятия idef0
- •§ 3.6. Диаграммы "сущность-связь" erd (Entity-Relationchip diagram)
- •Вопросы к главе 3
- •Глава 4. Спецификации управления
- •§ 4.1. Диаграммы переходов состояний std (State Transition Diagrams)
- •§ 4.2. Особенности применения std диаграмм
- •§ 4.3. Структурные карты
- •§ 4.4. Структурные карты Константайна
- •§ 4.5. Структурные карты Джексона
- •§ 4.6. Характеристики хорошей модели реализации
- •4.6.1. Сцепление
- •4.6. 2. Связность
- •§ 4.7. Принципы проектирования, позволяющие построить качественную модель
- •§ 4.8. Транзакционный и трансформационный анализ или как получить структурные карты из диаграмм потоков данных
- •Вопросы к главе 4
- •Глава 5. Объектно-ориентированный подход к моделированию информационных систем § 5.1. Понятие объектно-ориентированного анализа
- •§ 5.2. Элементы объектно-ориентированной модели
- •§ 5.3. Объект и класс
- •§ 5.4. Язык моделирования uml
- •§ 5.5. Достоинства и недостатки объектно-ориентированного проектирования
- •Вопросы к главе 5
- •Глава 6. Метод имитационного моделирования
- •§ 6.1. Понятие имитационного моделирования
- •§ 6.2. Применение имитационного моделирования
- •§ 6.3. Виды имитационного моделирования
- •§ 6.4. Принципы и методы построения имитационных моделей
- •6.4.2. Принцип особых состояний
- •6.4.3. Основные методы имитационного моделирования.
- •Вопросы к главе 6
- •Глава 7. Инструментальные средства моделирования ис
- •§ 7.1. Российские программные продукты
- •7.1.1. Инталев: Корпоративный навигатор (инталев)
- •Бизнес-Инженер (Битек)
- •Case.Аналитик
- •§7.2. Зарубежные case - средства
- •7.2.3. Case-средство Silverrun
- •7.2.5. Case-средство Designer/2000
- •§ 7.3. Методология aris
- •7.3.1. Общие сведения о методологии aris
- •7.3.2. Архитектура aris
- •7.3.3. Обзор основных модулей
- •§ 7.4. Программные продукты имитационного моделирования
- •7.4.1. Система Arena
- •7.4.2. Пакет имитационного моделирования AnyLogic
- •Вопросы к главе 7
- •Библиографический список
- •Оглавление
§ 3.2. Диаграммы потоков данных dfd (Data Flow Diagrams)
Несколько позднее, чем нотация SADT, если говорить точнее, то в 1977 году, появилась книга К. Гейна и Т. Сарсона, в которой обсуждалось применение диаграмм потоков данных (DFD), а в 1978 вышли книги Т. Де Марко и В. Вейнбурга (они привели последовательность шагов от моделирования существующей системы до моделирования разрабатываемой системы с использованием DFD) [4].
Диаграммы потоков данных (DFD) являются основным средством моделирования функциональных требований к проектируемой системе. С их помощью эти требования представляются в виде иерархии функциональных компонентов (процессов), связанных потоками данных. Главная цель такого представления — продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.
Модель системы определяется как иерархия диаграмм потоков данных, описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи пользователю. Диаграммы верхних уровней иерархии (контекстные диаграммы) определяют основные процессы или подсистемы с внешними входами и выходами. Они детализируются при помощи диаграмм нижнего уровня.
Рассмотрим основные компоненты диаграмм потоков данных:
Внешняя сущность. Материальный объект или физическое лицо, представляющие собой источник или приемник информации. Определение некоторого объекта или системы в качестве внешней сущности указывает на то, что они находятся за пределами границ анализируемой системы. Внешняя сущность обозначается квадратом, бросающим на диаграмму тень.
Налогоплательщик
Рис. 3.9. Изображение внешней сущности
При построении модели сложной ЭИС она может быть представлена в самом общем виде на так называемой контекстной диаграмме в виде одной системы как единого целого либо может быть декомпозирована на ряд подсистем. Подсистема изображается в виде квадрата со сглаженными углами разделенного на 3 сектора: поле номера, поле имени, поле физической реализации. Номер подсистемы служит для ее идентификации. В поле имени вводится наименование подсистемы в виде предложения с подлежащим и соответствующими определениями и дополнениями.
Рис. 3.10. Изображение подсистемы
Процесс представляет собой преобразование входных потоков данных в выходные в соответствии с определенным алгоритмом. Процесс также изображается в виде квадрата со сглаженными углами разделенного на 3 сектора: поле номера, поле имени, поле физической реализации. Номер процесса служит для его идентификации. В поле имени вводится наименование процесса в виде предложения с активным недвусмысленным глаголом в неопределенной форме (вычислить, рассчитать, проверить, определить, создать, получить), за которым следуют существительные в винительном падеже, например: "Ввести сведения о налогоплательщиках", "Выдать информацию о текущих расходах", "Проверить поступление денег". Информация в поле физической реализации показывает, какое подразделение организации, программа или аппаратное устройство выполняет данный процесс.
Рис. 3.11. Изображение процесса
Накопитель данных — это абстрактное устройство для хранения информации, которую можно в любой момент поместить в накопитель и через некоторое время извлечь, причем способы помещения и извлечения могут быть любыми. Накопитель данных на диаграмме потоков данных идентифицируется буквой "D" и произвольным числом. Имя накопителя выбирается из соображения наибольшей информативности для проектировщика.
D1 Реестр налогоплательщиков
Рис. 3.12 Изображение накопителя данных
Если процесс сохраняет данные, то стрелка потока данных направлена от процесса к накопителю, а если считывает данные, то из накопителя к процессу (см. рис. 3.13).
Рис. 3.13. Накопители данных и процессы
Поток данных определяет информацию, передаваемую через некоторое соединение от источника к приемнику. Поток данных на диаграмме изображается линией, оканчивающейся стрелкой, которая показывает направление потока. Каждый поток данных имеет имя, отражающее его содержание.
Рис. 3.14. Изображение потока данных
Если поток идет в двух направлениях, то используется двойная стрелка. Поток данных всегда должен быть идентифицирован, т.е. иметь надпись, отражающую его содержание.
Цель построения иерархии DFD – сделать требования к системе ясными и понятными на каждом уровне детализации, а также разбить эти требования на части с точно определенными отношениями между ними. Для достижения этого целесообразно пользоваться следующими рекомендациями:
размещать на каждой диаграмме от 3 до 6-7 процессов;
не загромождать диаграммы не существенными на данном уровне деталями;
декомпозицию потоков данных осуществлять параллельно с декомпозицией процессов;
выбирать ясные, отражающие суть дела имена процессов и потоков.
Для сложных систем строится иерархия контекстных диаграмм. При этом контекстная диаграмма верхнего уровня содержит набор подсистем, соединенных потоками данных. Контекстные диаграммы следующего уровня детализируют контекст и структуру подсистем.
Иерархия контекстных диаграмм определяет взаимодействие основных функциональных подсистем как между собой, так и с внешними входными и выходными потоками данных и внешними объектами (источниками и приемниками информации), с которыми взаимодействует система.
После построения контекстных диаграмм полученную модель следует проверить на полноту исходных данных об объектах системы и изолированность объектов (отсутствие информационных связей с другими объектами).
При детализации должны выполняться следующие правила:
правило балансировки - при детализации подсистемы или процесса детализирующая диаграмма в качестве внешних источников или приемников данных может иметь только те компоненты (подсистемы, процессы, внешние сущности, накопители данных), с которыми имеют информационную связь детализируемые подсистема или процесс на родительской диаграмме;
правило нумерации – при детализации процессов должна поддерживаться их иерархическая нумерация.
Спецификация является конечной вершиной иерархии DFD. Под спецификацией понимается точное, полное описание требований, ясно сформулированное в терминах, характерных для целей данной задачи, а не для ее реализации. Решение о завершении детализации процесса и использовании спецификации принимается аналитиком исходя из следующих критериев:
наличия у процесса относительно небольшого количества входных и выходных потоков данных (2-3 потока);
возможности описания преобразования данных процессом в виде последовательного алгоритма;
выполнения процессом единственной логической функции преобразования входной информации в выходную;
возможности описания логики процесса при помощи спецификации небольшого объема (не более 20 - 30 строк).
Спецификации должны удовлетворять следующим требованиям:
для каждого процесса нижнего уровня должна существовать одна и только одна спецификация;
спецификация должна определять способ преобразования входных потоков в выходные;
нет необходимости (по крайней мере на стадии формирования требований) определять метод реализации этого преобразования;
спецификация должна стремиться к ограничению избыточности - не следует переопределять то, что уже было определено на диаграмме;
набор конструкций для построения спецификации должен быть простым и понятным.
Спецификации содержат номер и/или имя процесса, списки входных и выходных данных и тело (описание) процесса, являющееся спецификацией алгоритма или операции, трансформирующей входные потоки данных в выходные.
Структурированный естественный язык применяется для описания спецификаций процессов. В состав языка входят следующие основные символы:
глаголы, ориентированные на действие и применяемые к объектам;
термины, определенные на любой стадии проекта ПО (например, задачи, процедуры, символы данных и т. п.);
предлоги и союзы, используемые в логических отношениях;
общеупотребительные математические, физические и технические термины;
арифметические уравнения;
таблицы, диаграммы, графы и т. п.;
комментарии.
При использовании языка приняты следующие соглашения:
логика процесса выражается в виде комбинации последовательных конструкций, конструкций выбора и итераций;
глаголы должны быть активными, недвусмысленными и ориентированными на целевое действие (заполнить, вычислить, извлечь, а не модернизировать, обработать);
логика процесса должна быть выражена четко и недвусмысленно.
При построении иерархии DFD переходить к детализации процессов следует только после определения содержания всех потоков и накопителей данных, которое описывается с помощью структур данных. Для каждого потока данных формируется список всех его элементов данных, затем элементы данных объединяются в структуры данных, соответствующие более крупным объектам данных. Каждый объект должен состоять из элементов, являющихся его атрибутами. Структуры данных могут содержать альтернативы, условные вхождения и итерации. Условное вхождение показывает, что данный компонент может отсутствовать в структуре. Альтернатива означает, что в структуру может входить один из перечисленных элементов. Итерация предусматривает вхождение любого числа элементов в указанном диапазоне. Для каждого элемента данных может указываться его тип (непрерывные или дискретные данные). Для непрерывных данных могут указываться: единица измерения (например, кг. см. и т. п.), диапазон значений, точность представления и форма физического кодирования. Для дискретных данных может указываться таблица допустимых значений.
После построения законченной модели системы ее необходимо верифицировать, т.е. проверить на полноту и согласованность.
Процессы, отраженные DFD в виде закругленных прямоугольников, рано или поздно на некотором уровне детализации, должны содержать формулы для расчета экономических показателей. Если таковых много, и, при этом, расчет с помощью одних показателей требует предварительного расчета других, то для правильной ориентации в последовательности расчетов можно использовать ориентированные графы.
Под графом понимается множество точек, над которыми заданы отношения. Отношения могут задаваться графически с помощью связывающих точки линий или матриц смежности. Точки называют узлами или вершинами, а линии – дугами. Дуги могут быть ориентированными, или нет. В информационных графовых моделях, как правило, используются ориентированные дуги (стрелки), отражающие либо направление расчетов, либо направление движения информационного потока, либо исходную и результирующую информацию. На рисунке 3.15а представлен граф, предназначенный для указания последовательности расчетов. Формулы расчетов следующие:
,
;
;
;
;
На рисунке 3.15б представлена матрица смежности графа.
Рис. 3.15. Графовое и матричное представление последовательности расчетов
Матрица
смежности строится следующим образом:
элемент (i,
j),
стоящий на пересечении i-й
строки и j-го
столбца, равен единице, если из вершины
в вершину
идет дуга, и равен нулю в противном
случае. Матрица смежности с помощью
несложных манипуляций позволяет
проверить следующее: все ли исходные
данные задействованы, для всех ли
расчетов имеются исходные данные и т.д.
Дуги могут нести также и дополнительную нагрузку. Если на них указать число, то тем самым можно количественно характеризовать связь. Например, количество документов, передаваемых в период, количество объектов, перемещающихся в пространстве и т. д.
Одним из вариантов информационной модели, наглядно отображающей взаимосвязь между входной и результирующей информацией, служит схема, приведенная на рисунке 3.16.
Рис.3.16. Информационная модель связи входных и результирующих
Документов
В верхней части модели находятся входные документы, а в нижней – результирующие. Стрелки указывают направление информационных потоков.
"Диаграммы потоков данных" имеют один существенный недостаток: они показывают перемещение только тех данных (документов), которые мы смогли "увидеть". Из трех перечисленных выше систем взаимодействия подразделений наиболее хорошо поддержана формализованным документооборотом финансовая система, административное и материальное взаимодействие поддержано документооборотом, как правило, только в части тесно связанной с финансами. Кроме того, на практике есть масса дополнительных факторов, оказывающих влияние на документооборот, но стандартно не формализуемых.
Тем не менее, весьма эффективны DFD-диаграммы как простейшее средство формализации взаимодействия между объектами бизнеса, в двух случаях: или, когда необходимо наиболее простыми средствами отразить уже идеально отлаженный механизм бизнеса (например, для целей построения компьютерной системы) или же, наоборот, если бизнес представляет совершенный "черный ящик", и нужно сделать первые наброски, пытаясь найти "луч света в темном царстве".
