
- •СОДЕРЖАНИЕ
- •ВВЕДЕНИЕ
- •РАЗДЕЛ 1. ВВЕДЕНИЕ В ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ
- •1.1. Основные понятия и определения
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •2.2.1. Общие сведения о каскадных моделях
- •2.2.2. Классическая каскадная модель
- •2.2.3. Каскадная модель с обратными связями
- •2.2.5. V-образная модель
- •2.3.1. Базовая RAD-модель
- •2.5.5. Спиральная модель Боэма
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •РАЗДЕЛ 3. ВЫБОР МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ДЛЯ КОНКРЕТНОГО ПРОЕКТА
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •РАЗДЕЛ 4. КЛАССИЧЕСКИЕ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ
- •4.1. Структурное программирование
- •4.3. Методы нисходящего проектирования
- •4.3.1. Пошаговое уточнение
- •4.3.4. Анализ сообщений
- •4.4. Методы восходящего проектирования
- •4.5. Методы расширения ядра
- •4.6. Метод JSP Джексона
- •4.6.1. Основные конструкции данных
- •4.6.2. Построение структур данных
- •4.6.3. Проектирование структур программ
- •4.7.1. Связность модуля
- •4.7.2. Сцепление модулей
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •РАЗДЕЛ 5. CASE-ТЕХНОЛОГИИ СТРУКТУРНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ СРЕДСТВ
- •5.1. Общие сведения о CASE-технологиях
- •5.2.1. Общие сведения о методологии SADT
- •5.2.2. Основные понятия IDEF0-модели
- •5.2.3. Синтаксис IDEF0-диаграмм
- •5.2.4. Синтаксис IDEF0-моделей
- •5.3.1. Основные понятия DFD-модели
- •5.3.2. Синтаксис DFD-диаграмм
- •5.3.3. Синтаксис DFD-моделей
- •5.4.3. Атрибуты
- •5.4.5. Правила атрибутов
- •5.4.9. Формализация соединительных связей
- •5.4.11. Неспецифические связи
- •5.4.13. Связи категоризации в IDEF1X
- •5.5.1. Метод JSD Джексона
- •5.5.2. Диаграммы Варнье–Орра
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •6.1.3. Основы языка UML
- •6.3. Диаграмма вариантов использования
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •РАЗДЕЛ 7. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- •7.1. История развития CASE-средств
- •7.4. Классификация CASE-средств
- •7.4.1. Классификация по типам
- •7.4.2. Классификация по категориям
- •7.4.3. Классификация по уровням
- •ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
- •ЛИТЕРАТУРА
лей проекта выполняет конкретные обязанности. Среди современных CASE-средств, поддерживающих технологию IDEF0-моделирования, наиболее популярно CASE-средство AllFusion Process Modeler.
5.3.Методология структурного анализа потоков данных DFD
Методология структурного анализа потоков данных DFD (Data Flow Diagrams) основана на методах, ориентированных на потоки данных (методах Йодана, Де Марко, Гейна, Сарсона). Существуют различные графические нотации данной методологии. Наиболее известными из них являются нотация, предложенная Гейном и Сарсоном (так называемый метод Гейна–Сарсона) [34], и нотация, предложенная Йоданом и ДеМарко (метод Йодана–ДеМарко) [24]. Пример DFD-модели в нотации Йодана–ДеМарко представлен на рис. 4.22. В данном подразделе рассматривается методология DFD в нотации Гейна–Сарсона.
5.3.1. Основные понятия DFD-модели
Методология DFD является одной из методологий функционального моделирования предметной области, поэтому она имеет много общего с методологией IDEF0.
DFD-методология выделяет функции (действия, события, работы) системы. Функции соединяются между собой с помощью потоков данных (объектов). Функции на диаграммах представляются функциональными блоками, потоки данных – дугами.
Аналогично IDEF0-методологии DFD-модель должна иметь единственные цель, точку зрения, субъект и точно определенные границы (см. п. 5.2.2).
Однако если в IDEF0 дуги имеют различные типы и определяют отношения между блоками (см. п. 5.2.3), то в DFD дуги отражают реальное перемещение объектов от одной функции к другой.
Помимо блоков, представляющих собой функции, на DFD-диаграммах используются два типа блоков – хранилища данных и внешние сущности. Данные блоки отражают взаимодействие с частями предметной области, выходящими за границы моделирования.
Резюме
Методология DFD является одной из методологий функционального моделирования предметной области. DFD-модель должна иметь единственные цель, точку зрения, субъект и точно определенные границы. DFD-модель отражает перемещение объектов, их хранение, обработку, внешние источники и потребителей данных.
170

5.3.2. Синтаксис DFD-диаграмм
Диаграммы являются основными рабочими элементами DFD-модели. Диаграммы отражают перемещение данных, их обработку и хранение. Каждая DFD-диаграмма содержит функциональные блоки и дуги (линии со стрелками). DFD-диаграмма может содержать хранилища данных и внешние сущности.
Функциональный блок отражает некоторую функцию моделируемой системы, преобразующую некоторые входные данные (сырье, материалы, информацию и т. п.) в выходные результаты. Функциональный блок изображается прямоугольником с закругленными углами (рис. 5.12). Все стороны функционального блока в отличие от IDEF0 равнозначны.
Функциональные блоки на диаграмме нумеруются. Номер функционального блока отмечается в его правом верхнем углу с возможным использованием префикса А (Activity – работа) перед ним.
Как и в IDEF0-методологии, название функционального блока основывается на использовании отглагольного существительного, обозначающего действие (вычисление того-то, определение того-то, обработка того-то и т.д.) или на использовании глагола в неопределенной форме (вычислить то-то, определить то-то, обработать то-то).
Рис. 5.12. Функциональный блок DFD
Хранилище данных отражает временное хранение промежуточных результатов обработки. Внешний вид блока, представляющего хранилище данных, иллюстрирует рис. 5.13. Название хранилища базируется на использовании существительного.
Хранилища данных на диаграмме нумеруются. Номер хранилища данных записывается слева с возможным префиксом D (Data store) перед ним.
Рис. 5.13. Хранилище данных
171

Внешние сущности являются источниками данных для входов модели и приемниками данных для ее выходов. Внешняя сущность может быть одновременно источником и приемником данных.
Внешние сущности изображаются в соответствии с рис. 5.14 и размещаются, как правило, по краям диаграмм. Название внешней сущности базируется на использовании существительного. Номер внешней сущности записывается в левом верхнем углу с возможным префиксом E (External) перед ним.
Одна и та же внешняя сущность (с одним и тем же номером) может быть размещена в нескольких местах диаграммы. Это позволяет в ряде случаев существенно снизить загроможденность диаграмм длинными дугами.
Дуги обозначают передвижение данных в моделируемой системе. С учетом равнозначности сторон блоков диаграммы дуги могут начинаться и заканчиваться на любой их стороне.
Рис. 5.14. Внешняя сущность
В общем случае дуга представляет множество объектов (планы, машины, информация и т.п.). Основу названия дуги на IDEF0-диаграммах составляют существительные. Названия дуг называются метками.
Дуги на DFD-диаграмме изображаются линиями со стрелками. На DFD-диаграммах могут использоваться следующие типы дуг:
однонаправленные сплошные – отражают направление потоков объектов (данных);
двунаправленные сплошные – обозначают обмен данными между блоками;
однонаправленные штриховые – обозначают управляющие потоки между блоками.
Как и в IDEF0-методологии, дуги могут разветвляться и соединяться.
Синтаксис и семантика разветвления и слияния дуг соответствуют описанным в п. 5.2.3 для методологии IDEF0.
На рис. 5.15 приведен пример DFD-диаграммы процесса выполнения лабораторной работы. Данный пример соответствует предметной области моделирования, подробно рассмотренной в пп. 5.2.2 – 5.2.4 при изучении методоло-
гии IDEF0.
172

173
04.03.2009
06.03.2009
173
Рис. 5.15. DFD-диаграмма декомпозиции процесса выполнения лабораторной работы