Файл: Проектирование ПО Структурный подход.docx

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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


Таблица 7.1. Матрица переходов состояний

 

Занят (движется)

Остановлен

Пуст (стоит)

Перегружен (стоит)

Занят (движется)

прибытие на незапланированный этаж /

прибытие на запланированный этаж / выключить лебёдку

 

 

Остановлен

лифт готов к движению, кнопка назначения нажата / включить лебёдку

 

лифт готов к движению, но кнопка не нажата

лифт перегружен / включить сигнал перегрузки

Пуст (стоит)

лифт вызван с другого этажа / включить лебёдку

лифт вызван с текущего этажа /

 

 

Перегружен (стоит)

 

нет перегрузки / выключить сигнал перегрузки

 

лифт готов, но перегружен





Раздел 8. Описание методологии SADT


Методология SADT (Structured Analisys and Design Technique - технология структурного анализа и проектирования) разработана Дугласом Т. Россом в 1969 - 1973 годах. Технология изначально создавалась для проектирования систем более общего назначения по сравнению с другими структурными методами, выросшими из проектирования программного обеспечения. SADT - одна из самых известных и широко используемых методик проектирования. Новое название методики, принятое в качестве стандарта - IDEF0 (Icam DEFinition) - часть программы ICAM (Integrated Computer-Aided Manufacturing - интегрированная компьютеризация производства), проводимой по инициативе ВВС США.

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

Методология IDEF0 незначительно отличается от классической схемы описания бизнес-процессов DFD. Основным отличием является классификация входов работы.



8.1. IDEF0 — модель


Модель включает следующие документы, которые ссылаются друг на друга:

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

  • Текст.

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

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

Таблица 8.1.

Элемент

Графическое отображение и значение

Требования к оформлению

Функциональный блок

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

1. Должен иметь уникальный идентификационный номер в правом нижнем углу.

2. Название должно быть в отглагольном наклонении.

Интерфейсная дуга (стрелка, дуга)

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

1.Должна иметь уникальное наименование.

2.Наименование должно быть оборотом существительного.

3.Началом и концом дуги могут быть только функциональные блоки.

4.Источником может быть только выходная сторона блока, а приемником любая из трех оставшихся.



Стандарт предлагает следующую типизацию входов работ (рис. 8.1.):

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

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

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

  • Результаты. Выходят из блока справа.

Рис. 8.1.

8.2. Принцип декомпозиции при построении модели бизнес процессов


1. Контекстная диаграмма: цель и точка зрения.

Моделирования бизнес процесса начинается с контекстной диаграммы. Эта диаграмма называется А–0 (А минус ноль). На ней система представляется в виде одного блока и дуг, изображающих окружение системы (рис. 8.2). С помощью диаграммы можно увидеть взаимодействие моделируемой системы с внешней средой, все ее входы и выходы. Диаграмма А–0 устанавливает область моделирования и границы.


Рис. 8.2.


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


2. Детализация.

Затем блок, который отображает всю систему, детализируется на другой диаграмме (рис.8.3).

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


Рис. 8.3.


Для достижения структурной целостности модели, используются следующие правила:

  • Все интерфейсные дуги, входящие в данный блок, или исходящие из него фиксируются на дочерней диаграмме.

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


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

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


8.3. Принцип ограничения сложности


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

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

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

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

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

  1. количество блоков на диаграмме - N;

  2. уровень декомпозиции диаграммы - L;

  3. сбалансированность диаграммы - В;

  4. число стрелок, соединяющихся с блоком – А,

  5. число совпадений имен блоков со словами из словаря - C.

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

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

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

.

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

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

Например, для модели БД элементарными могут являться функции «найти запись», «добавить запись в БД», в то время как функция «регистрация пользователя» требует дальнейшего описания.

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

Коэффициент, количественно отражающий данный критерий, можно записать как: L*C.

Чем ниже уровень модели (больше L), тем ценнее совпадения.


На рис. 8.4 представлен пример диаграммы, описывающий процесс преобразования сырья в готовые изделия, который выполняется персоналом предприятия на основании задания и чертежей.


Рис. 8.4.