Состав функциональной модели
Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и дуги. Блоки используются для представления функций системы и сопровождаются текстами на естественном языке. Дуги представляют множества объектов (как физических, так и информационных) или действия, которые образуют связи между функциональными блоками. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рис.13).
В основе методологии SADT лежат следующие правила:
· Функциональный блок (или Функция) преобразует Входы в Выходы (т.е. входную информацию в выходную).
|
Рисунок 13 - Функциональный блок и интерфейсные дуги
· Управление определяет, когда и как это преобразование может или должно произойти.
· Исполнители непосредственно осуществляют это преобразование.
· С дугами связаны надписи (или метки) на естественном языке, описывающие данные, которые они представляют.
· Дуги показывают, как функции между собой взаимосвязаны, как они обмениваются данными и осуществляют управление друг другом.
· Выходы одной функции могут быть Входами, Управлением или Исполнителями для другой.
· Дуги могут разветвляться и соединяться.
· Функциональный блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных между собой интерфейсными дугами.
· Эти блоки представляют основные подфункции (подмодули) единого исходного модуля.
· Данная декомпозиция выявляет полный набор подмодулей, каждый из которых представлен как блок, границы которого определены интерфейсными дугами.
· Каждый из этих подмодулей может быть декомпозирован подобным же образом для более детального представления
Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель. На рисунке 14, где приведены четыре диаграммы и их взаимосвязи, показана структура SADT-модели. Каждый компонент модели может быть декомпозирован на другой диаграмме. Каждая диаграмма иллюстрирует "внутреннее строение" блока на родительской диаграмме.
Рисунок 14 - Структура SADT-модели. Декомпозиция диаграмм
Иерархия диаграмм
Построение SADT-модели начинается с представления всей системы в виде простейшей компоненты - одного блока и дуг, изображающих интерфейсы с функциями вне системы. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг - они также представляют полный набор внешних интерфейсов системы в целом.
Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представлена как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом для более детального представления.
Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию. Кроме того, модель не может опустить какие-либо элементы, т.е., как уже отмечалось, родительский блок и его интерфейсы обеспечивают контекст. К нему нельзя ничего добавить, и из него не может быть ничего удалено.
Модель SADT представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков. Детали каждого из основных блоков показаны в виде блоков на других диаграммах. Каждая детальная диаграмма является декомпозицией блока из более общей диаграммы. На каждом шаге декомпозиции более общая диаграмма называется родительской для более детальной диаграммы.
Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.
На рисунках 15 – 16 представлены различные варианты выполнения функций и соединения дуг с блоками.
Рисунок 15 - Одновременное выполнение
Рисунок 16 - Соответствие должно быть полным и непротиворечивым
Некоторые дуги присоединены к блокам диаграммы обоими концами, у других же один конец остается неприсоединенным. Неприсоединенные дуги соответствуют входам, управлениям и выходам родительского блока. Источник или получатель этих пограничных дуг может быть обнаружен только на родительской диаграмме. Неприсоединенные концы должны соответствовать дугам на исходной диаграмме. Все граничные дуги должны продолжаться на родительской диаграмме, чтобы она была полной и непротиворечивой.
На SADT-диаграммах не указаны явно ни последовательность, ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи могут выступать в виде комментариев, замечаний, исправлений и т.д. (рисунок 17).
Рисунок 17 - Пример обратной связи
|
|
|
|
Рисунок 18 - Пример механизма
Каждый блок на диаграмме имеет свой номер. Блок любой диаграммы может быть далее описан диаграммой нижнего уровня, которая, в свою очередь, может быть далее детализирована с помощью необходимого числа диаграмм. Таким образом, формируется иерархия диаграмм.
Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели. На рисунке 19 показан пример дерева диаграмм.
Рисунок 19 - Иерархия диаграмм
Типы связей между функциями
Одним из важных моментов при проектировании ИС с помощью методологии SADT является точная согласованность типов связей между функциями. Различают по крайней мере семь типов связывания:
Тип связи | Относительная значимость |
Случайная | |
Логическая | |
Временная | |
Процедурная | |
Коммуникационная | |
Последовательная | |
Функциональная |
Случайная связность возникает, когда конкретная связь между функциями мала или полностью отсутствует. Это относится к ситуации, когда имена данных на SADT-дугах в одной диаграмме имеют малую связь друг с другом. Вариант этого случая показан на рисунке 20.
Рисунок 20 - Случайная связность
Логическое связывание происходит тогда, когда данные и функции собираются вместе вследствие того, что они попадают в общий класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается.
Связанные по времени элементы возникают вследствие того, что они представляют функции, связанные во времени, когда данные используются одновременно или функции включаются параллельно, а не последовательно.
Процедурно-связанные элементы появляются сгруппированными вместе вследствие того, что они выполняются в течение одной и той же части цикла или процесса. Пример процедурно-связанной диаграммы приведен на рисунке 2.16.
Рисунок 21 - Процедурная связность
Диаграммы демонстрируют коммуникационные связи, когда блоки группируются вследствие того, что они используют одни и те же входные данные и/или производят одни и те же выходные данные (рисунок 22).
На диаграммах, имеющих последовательные связи, выход одной функции служит входными данными для следующей функции. Связь между элементами на диаграмме является более тесной, чем на рассмотренных выше уровнях связок, поскольку моделируются причинно-следственные зависимости (рисунок 23).
Диаграмма отражает полную функциональную связность, при наличии полной зависимости одной функции от другой. Диаграмма, которая является чисто функциональной, не содержит чужеродных элементов, относящихся к последовательному или более слабому типу связности. Одним из способов определения функционально-связанных диаграмм является рассмотрение двух блоков, связанных через управляющие дуги, как показано на рисунке 24.
Рисунок 22 - Коммуникационная связность
Рисунок 23 - Последовательная связность
Рисунок 24 - Функциональная связность
Ниже в таблице представлены все типы связей, рассмотренные выше. Важно отметить, что уровни 4-6 устанавливают типы связностей, которые проектировщики считают важнейшими для получения диаграмм хорошего качества.
Таблица 4 - Характеристика типов связей
Значимость | Тип связности | Для функций | Для данных |
Случайная | Случайная | Случайная | |
Логическая | Функции одного и того же множества или типа (например, "редактировать все входы") | Данные одного и того же множества или типа | |
Временная | Функции одного и того же периода времени (например, "операции инициализации") | Данные, используемые в каком-либо временном интервале | |
Процедурная | Функции, работающие в одной и той же фазе или итерации (например, "первый проход компилятора") | Данные, используемые во время одной и той же фазы или итерации | |
Коммуникационнная | Функции, использующие одни и те же данные | Данные, на которые воздействует одна и та же деятельность | |
Последовательная | Функции, выполняющие последовательные преобразования одних и тех же данных | Данные, преобразуемые последовательными функциями | |
Функциональная | Функции, объединяемые для выполнения одной функции | Данные, связанные с одной функцией |
Методология SADT выделяется среди современных методологий описания систем благодаря своему широкому применению, т.к. SADT:
· является единственной методологией, легко отражающей такие системные характеристики, как управление, обратная связь и исполнители. Это объясняется тем, что SADT изначально возникла на базе проектирования систем более общего вида в отличие от других структурных методов, "выросших" из проектирования программного обеспечения;
· в дополнение к имеющимся концепциям и стандартам для создания систем добавлены развитые процедуры поддержки коллективной работы;
· предназначена для применением на ранних стадиях создания системы;
· можно сочетать с другими структурными методами. Это достигается использованием графических SADT-описаний в качестве схем, связывающих воедино различные методы, примененные для описания определенных частей системы с различным уровнем детализации
Наличие собственного графического языка SADT, и его усиленное использование преобразовало SADT в законченную методологию, способную повысить качество продуктов, создаваемых на ранних стадиях развития проекта.
В программеинтегрированной компьютеризации производства (ICAM - Integrated Computer-Aided Manufacturing), Министерства обороны США была признана полезность SADT, что привело в 1993 году к стандартизации и публикации ее части, называемой IDEF0 (Icam DEFinition или Integrated Definition) в качестве федерального стандарта в США, а в 2000 году - в качестве руководящего документа по стандартизации в Российской Федерации. Под названием IDEF0 SADT применялась многими специалистами в военных и промышленных организациях
В IDEF0 были реализованы три базовых принципа моделирования процессов:
· принцип функциональной декомпозиции;
· принцип ограничения сложности;
· принцип контекста.
Принцип функциональной декомпозиции представляет собой способ моделирования типовой ситуации, когда любое действие, операция, функция могут быть разбиты (декомпозированы) на более простые действия, операции, функции. Другими словами, сложная бизнес-функция может быть представлена в виде совокупности элементарных функций.
Суть принципа ограничения сложности состоит в том, что количество блоков на диаграмме должно быть не менее двух и не более шести. Практика показывает, что соблюдение этого принципа приводит к тому, что функциональные процессы, представленные в виде IDEF0 модели, хорошо структурированы, понятны и легко поддаются анализу.
Суть принципа контекста заключается в том, что моделирование делового процесса начинается с построения контекстной диаграммы. На этой диаграмме отображается только один блок - главная бизнес-функция моделируемой системы. Главная бизнес-функция системы - это "миссия" системы, её значение в окружающем мире. При определении главной бизнес-функции необходимо всегда иметь ввиду цель моделирования и точку зрения на модель. Контекстная диаграмма играет ещё одну роль в функциональной модели. Она "фиксирует" границы моделируемой бизнес-системы, определяя то, как моделируемая система взаимодействует со своим окружением. Это достигается за счет описания дуг, соединённых с блоком, представляющим главную бизнес-функцию.
Вопросы для самопроверки:
· Что такое технология проектирования?
· Что такое организация проектирования?
· Какие основные требования предъявляются к технологии проектирования?
· Как можно классифицировать Методы проектирования ИС?
· Чем оригинальное проектирование отличается от типового проектирования?
· Чем индивидуальная технологии проектирования отличается от индустриальной технологии проектирования?
· Что такое CASE-технологии и для чего используются?
· По каким признакам можно классифицировать Современные CASE-средства?
· Что такое системный анализ и системный синтез? На наких стадиях жизненного цикла ИС и как они используются?
· Назовите достоинства и недостатки каждой модели жизненного цикла ИС.
· Основные элементы методологии структурного анализа и проектирования SADT.
· Перечислите три базовых принципа моделирования процессов в IDEF0.