ZuboLom.ru

Структурные методы анализа и проектирования программного обеспечения

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

Для таких методов характерно:

  1. Разбиение системы на уровни с ограничением числа элементов.
  2. Ограниченный контекст, включающий лишь существенные на каждом уровне детали.
  3. Использование сторонних формальных правил записей.
  4. Последовательное приближение к конечному результату.


Принципы структурного метода:

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


Функциональная модель IDEF0 (I cam DEFinition)

  • модель IDEF3;
  • DFD (Data Flow Diagrams);
  • модель "сущность-связь" (ERM).

Метод функционального моделирования IDEF0 (также называемый SADT) был разработан Дугласс Роузом в 1969 году.

IDEF0 - это топология описания системы в целом как множества взаимозависимых действий или функций.

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

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

Действия:

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

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

функция в IDEF0

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

Любой блок может быть декомпозирован на составляющие его блоки:

декомпозиция блоков в IDEF0

Границы и связи

функциональные блоки в IDEF0

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

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

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

Комбинированные стрелки действия

  1. Стрелка выход-вход
    стрелка выход-вход

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

  2. Выход - управление
    выход-управление


    пример

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


Построение модели диаграммы

Элементы заголовка диаграмм IDEF0

Поле Назначение
USED AT Используется для отражения внешних ссылок на данную диаграмму (заполняется на печатном документе вручную)
Author date, project -> Содержит ФИО автора диаграммы, дату создания, дату последнего внесенного изменения, наименование проекта
Notes 1…10 При ручном редактировании диаграмм пользователи могут зачеркивать цифру каждый раз, когда они вносят очередное исправление
Status Working Отражает состояние разработки или утверждения данной диаграммы. Новая диаграмма глобально изменена или новые акты для существующей диаграммы
Draft Диаграмма достигла некоторого приемлемого для читателя уровня и готового для представления на утверждение
Recommended Диаграмма одобрена и утверждена. Какие-либо изменения не производятся
Publication Диаграмма, готовая для начальной печати.
Поля:
Reader - подпись читателя
Date - дата знакомства читателя с диаграммой
Context - набросок расположения функциональных блоков на родительской диаграмме на котором подсвечен декомпозированный данной диаграммой блок

Нумерация блоков и диаграмм

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