А.А. Усков
CASE-ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ
ИНФОРМАЦИОННЫХ СИСТЕМ.
МЕТОДОЛОГИИ IDEF0 И DFD
УЧЕБНОЕ ПОСОБИЕ
ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
ПО ДИСЦИПЛИНЕ “ПРОЕКТИРОВАНИЕ
ИНФОРМАЦИОННЫХ СИСТЕМ”
ВВЕДЕНИЕ
В методах структурного анализа и проектирования стремятся преодолеть сложность больших систем путем расчленения их на части и иерархической организации данных частей [1, 2]. В качестве базовых принципов структурного подхода выделяют следующие:
1. Принцип "разделяй и властвуй" – принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения.
2. Принцип иерархического упорядочивания – принцип организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Существуют несколько методологий соответствующих структурному подходу, которые в определенной степени дополняют друг друга, наиболее распространенными среди которых являются следующие:
· SADT (Structured Analysis and Design Technique) или стандарт США IDEF0 – метод функционального моделирования (моделирование бизнес процессов);
· DFD (Data Flow Diagrams) – диаграммы потоков данных;
· IDEF3 – моделирование процессов;
· ERD (Entity-Relationship Diagrams) или стандарт США IDEF1X – диаграммы "сущность-связь".
В настоящем учебном пособии описано применение методологий IDEF0 и DFD на основе программного пакета BP-win.
При написании пособия использовались материалы книг [3, 4].
1. МЕТОДОЛОГИЯ ФУНКЦИОНАЛЬНОГО МОДЕЛИРОВАНИЯ SADT
Методология SADT разработана Дугласом Россом в 1969 г. для моделирования бизнес-процессов и других искусственных систем средней сложности (именно системы средней сложности наиболее трудны для моделирования, потому что они с одной стороны достаточно велики и практически невозможно рассмотреть все их компоненты и связи между ними, а с другой стороны недостаточно велики для применения упрощающих статистических методов, например, как это делается в статистической физике для описания идеального газа) [1].
Данная методология успешно использовалась в промышленных, коммерческих и военных организациях США и в 1993 г. был утвержден в качестве стандарта США IDEF0.
Методология SADT представляет собой совокупность методов, правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области.
В отличие от других перечисленных методов структурного анализа, истоки которых нужно искать в проектировании программного обеспечения, SADT создан для описания систем произвольной природы не обязательно информационных.
В следствии чего, SADT, как правило, применяется на ранних этапах процесса создания системы, и иногда за этим следует применение других методов.
Функциональная модель SADT отображает функциональную структуру объекта, т. е. производимые им действия и связи между этими действиями. Основные элементы этой методологии основываются на следующих концепциях:
1. Графическое представление блочного моделирования. Графика блоков и дуг SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа/выхода представляются дугами, соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описываются посредством интерфейсных дуг.
2. Строгость и точность. Выполнение правил SADT требует достаточной строгости и точности, не накладывая в то же время чрезмерных ограничений на действия аналитика.
Правила SADT включают:
1. Ограничение количества блоков на каждом уровне декомпозиции (правило 3-6 блоков).
2. Связность диаграмм (номера блоков).
3. Уникальность меток и наименований (отсутствие повторяющихся имен).
4. Синтаксические правила для графики (блоков и дуг).
5. Разделение входов и управлений (правило определения роли данных), отделение организации от функции, т.е. исключение влияния организационной структуры на функциональную модель.
Методология SADT может использоваться для моделирования широкого круга систем и определения требований и функций, а затем для разработки системы, которая удовлетворяет этим требованиям и реализует эти функции. Для уже существующих систем SADT может быть использована для анализа функций, выполняемых системой, а также для указания механизмов, посредством которых они осуществляются.