Разработка функциональной модели
SADT (англ. Structured Analysis and Design Technique, метод структурного анализа и проектирования) представляет собой методологию функционального моделирования для анализа, разработки, реинжиниринга и интеграции информационных систем.
Начало разработки данной методологии было положено Дугласом Россом (США) в середине 60-х гг. ХХ в. С тех пор системные аналитики компании SofTech, Inc. улучшили SADT и использовали ее в решении широкого круга проблем. Программное обеспечение телефонных сетей, диагностика, долгосрочное и стратегическое планирование, автоматизированное производство и проектирование, конфигурация компьютерных систем, обучение персонала, управление финансами и материально-техническим снабжением – вот некоторые из областей эффективного применения SADT. Широкий спектр областей указывает на универсальность и мощь методологии SADT.
Данная методология при описании функционального аспекта информационной системы конкурирует с методами, ориентированными на потоки данных (DFD). В отличие от них IDEF0 позволяет:
— описывать любые системы, а не только информационные (DFD предназначена для описания программного обеспечения);
— создать описание системы и ее внешнего окружения до определения окончательных требований к ней. Иными словами, с помощью данной методологии можно постепенно выстраивать и анализировать систему даже тогда, когда трудно еще представить ее воплощение.
Таким образом, IDEF0 может применяться на ранних этапах создания широкого круга систем. В то же время она может быть использована для анализа функций существующих систем (реинжиниринга) и выработки решений по их улучшению.
Основу методологии IDEF0 составляет графический язык описания процессов. Модель в нотации IDEF0 представляет собой совокупность иерархически упорядоченных и взаимосвязанных диаграмм. Каждая диаграмма является единицей описания системы и располагается на отдельном листе.
Элементы графической нотации IDEF0
Методология IDEF0 нашла широкое признание и применение, в первую очередь, благодаря простой графической нотации, используемой для построения модели. Главными компонентами модели являются диаграммы. На них отображаются функции системы в виде прямоугольников, а также связи между ними и внешней средой посредством стрелок. Использование всего лишь двух графических примитивов (прямоугольник и стрелка) позволяют быстро объяснить правила и принципы построения диаграмм IDEF0 людям, незнакомым с данной методологией. Это достоинство позволяет подключить и активизировать деятельность заказчика по описанию бизнес-процессов с использованием формального и наглядного графического языка.
На следующем рисунке показаны основные элементы графической нотации IDEF0
Прямоугольник представляет собой функцию (деятельность, процесс, операцию, действие, работу), которая имеет фиксированную цель и приводит к некоторому конечному результату. Имя функции должно быть глаголом или глагольным оборотом, т.е. выражать действие (например, «Изготовить деталь», «Расчет допускаемых скоростей», «Формирование ведомости ЦДЛ № 3»).
В Рекомендациях по стандартизации Р 50.1.028-2001 приведена классификация-иерархия типов функций:
— деятельность (дело, бизнес) – совокупность процессов, выполняемых (протекающих) последовательно и/или параллельно, преобразующих множество материальных и/или информационных потоков во множество материальных и/или информационных потоков с другими свойствами. В модели IDEF0 деятельность описывается единственным блоком А0 на основной контекстной диаграмме А—0. При моделировании крупных, многопрофильных структур (фирм, организаций, предприятий), которые по своему статусу занимаются различными видами деятельности, последние представляют собой различные экземпляры класса «деятельность» и могут найти отражение в дополнительной контекстной диаграмме А—1;
— процесс (бизнес-процесс) – совокупность последовательно и/или параллельно выполняемых операций, преобразующая материальный и/или информационный потоки в соответствующие потоки с другими свойствами;
— операция – совокупность последовательно и/или параллельно выполняемых действий, преобразующих объекты, входящие в состав материального и/или информационного потока, в соответствующие объекты с другими свойствами;
— действие – преобразование какого-либо свойства материального или информационного объекта в другое свойство.
Взаимодействие функций между собой и внешним миром описывается в виде стрелок. В IDEF0 различают 5 видов стрелок:
— вход (англ. input) – материальный объект или информация, которые используются и преобразуются функцией для получения результата (выхода). Вход отвечает на вопрос «Что подлежит обработке?». В качестве входа может быть как материальный объект (сырье, деталь, экзаменационный билет), так и нематериальный (запрос к БД, вопрос преподавателя). Допускается, что функция может не иметь ни одной стрелки входа. Стрелки входа всегда рисуются входящими в левую грань функции;
— управление (англ. control) – управляющие, регламентирующие и нормативные данные, которыми руководствуется функция. Управление отвечает на вопрос «Что вызывает или регламентирует выполнение функция?». Управление влияет на функцию, но не преобразуется ей, т.е. выступает в качестве предписания или ограничения. В качестве управления могут быть стандарты, нормативы, правила, расценки, устные указания. Стрелки управления рисуются входящими в верхнюю грань функции. Если при построении диаграммы возникает вопрос, как правильно нарисовать стрелку сверху или слева, то рекомендуется ее рисовать как вход (стрелка слева);
— выход (англ. output) – материальный объект или информация, которые представляют результат выполнения функции. Выход отвечает на вопрос «Что является результатом выполнения функции?». В качестве выхода может быть как материальный объект (деталь, автомобиль, платежные документы, ведомость), так и нематериальный (выборка данных из БД, ответ на вопрос, устное указание). Стрелки выхода рисуются исходящими из правой грани функции;
— механизм (англ. mechanism) – ресурсы (средства), которые задействованы при выполнении функции. Механизм отвечает на вопрос «Кто выполняет функцию или посредством чего?». В качестве механизма могут быть персонал предприятия, студент, станок, оборудование, программа. Стрелки механизма рисуются входящими в нижнюю грань функции;
— вызов (англ. call) – стрелка указывает, что некоторая часть функции выполняется за пределами рассматриваемого блока. Стрелки выхода рисуются исходящими из нижней грани функции.
Правила и принципы моделирования в IDEF0
Построение модели SADT заключается в формировании иерархии взаимосвязанных диаграмм, где во главе стоит диаграмма верхнего уровня, а в основании — набор диаграмм нижнего уровня (детализированное описание системы, процесса).
Декомпозиция
Модель IDEF0 — это одна диаграмма, состоящая из двух или более схем, связанных между собой.На декомпозиции рекомендуется от 3 до 6 функциональных блоков.
Стрелка (интерфейсная дуга)
1. Должна иметь уникальное наименование.
2. Наименование должно быть оборотом существительного.
3. Началом и концом дуги могут быть только функциональные блоки.
4. Стрелка может «ветвиться»: одна стрелка разветвляться на несколько, несколько стрелок сливаться в одну.
5. Источником может быть только выходная сторона блока, а приемником любая из трех оставшихся.
Типы связей
1. Вход
2. Обратная связь по входу
3. Управление
4. Обратная связь по управлению.
5. Выход — механизм
Туннель
1. Туннель стрелок позволяет «разгрузить» диаграмму.
2. Стрелка обозначенная туннелем полноценно участвует в последующих уровнях декомпозиции, но НЕ отображается на диаграмме.
3. Стрелку можно «отправить» в туннель только, если эта стрелка на последующих уровнях декомпозиции участвует по всех блоках.
4. Чаще всего туннелируются стрелки «Управление» и «Механизм».
5. Туннель обозначается круглыми скобками у основания или конца стрелки.
Метод SADT может использоваться для моделирования самых разнообразных процессов и систем. В существующих системах метод SADT может быть использован для анализа функций, выполняемых системой, и указания механизмов, посредством которых они осуществляются.