Методология SADT - одна из самых известных методологий анализа и проектирования систем. Она является, пожалуй, единственной методологий, отражающей такие характеристики, как управление, обратная связь и ресурсы. Другая особенность SADT заключается в том, что она развивалась как язык описания функционирования систем общего вида, тогда как в других структурных методологиях упор чаще делается на проектирование программного обеспечения.
Автор методологии, Дуглас Росс, в 1969 г. часть своих теорий, относящихся к методологии и языку описания систем, назвал SADT "StructuredAnalysisandDesignTechnique" ("Методология структурного анализа и проектирования"). Первое ее крупное приложение было реализовано в 1973 г. при разработке большого аэрокосмического проекта, а на рынке SADT появляется в 1975 г.
Описание системы с помощью SADT называется моделью, при этом используются как естественный, так и графические языки. SADT-модель может быть сосредоточена либо на функциях системы, либо на ее объектах. Модели, ориентированные на функции, принято называть функциональными, а на объекты системы моделями данных.
С помощью SADT-методологии решаются следующие основные задачи (для систем любой природы):
анализ функций, выполняемых системой;
описание спецификаций требований и функций проектируемой системы;
проектирование системы.
Более 10 лет SADT была "бумажной" технологией, но в середине 80-х годов, когда появились персональные компьютеры с графическими возможностями, SADT "пересела" за компьютер. Одним из первых программных комплексов структурно-функционального анализа на основе SADT был пакет AUTOIDEF, разработанный в рамках программы ВВС США по созданию интегрированной автоматизированной системы управления производством. В основе пакета лежит доведенное до уровня стандарта подмножество SADT методология IDEF, состоящая из трех методологий:
IDEF0 функциональное моделирование;
IDEF1 информационное моделирование;
IDEF2 динамическое моделирование функций, информации и ресурсов.
Методология IDEF, основанная на принципах системного анализа и предназначенная для представления функций произвольной системы (будь то управление финансами, организация работ, обучение или автоматизация), фактически стала стандартом не только в США, но и в ряде европейских стран. Из трех названных методологий наибольшее распространение получила первая IDEF0. В 1985 г. методология IDEF1 была расширена и переименована в IDEF1X. Что-касается методологии IDEF2, то она не получила широкого распространения.
Основные средства ССА
Сегодня существует богатая палитра методологий и инструментальных средств ССА. Наиболее распространены следующие методологии:
SADT - методология структурного анализа и проектирования.
IDEF0 - методология функционального моделирования, являющаяся составной частью SADT и позволяющая описать бизнес-процесс в виде иерархической системы взаимосвязанных функций.
IDEF1X - методология информационного моделирования, являющаяся составной частью SADT и основанная на концепции "сущность связь".
IDEF3 - методология описания процессов, рассматривающая последовательность выполнения и причинно-следственные связи между ситуациями и событиями для структурного представления знаний о системе.
IDEF4 - методология объектно-ориентированного проектирования сложных систем, описывающая структуру, поведение и реализацию систем с использованием терминов класса объектов.
IDEF5 - методология онтологического анализа систем, т.е. анализа основных терминов и понятий (словаря), используемых для характеристики объектов и процессов, границ использования, взаимосвязей между ними.
DFD (DataFlowDiagrams - диаграммы потоков данных) методология структурного анализа, описывающая внешние по отношению к системе источники и адреса, логические функции, потоки и хранилища данных, к которым осуществляется доступ.
ERD (Entity-RelationshipDiagrams - диаграммы "сущность - связь") способ определения данных и отношений между ними, обеспечивающий детализацию хранилищ данных проектируемой системы, включая идентификацию объектов (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей).
STD (StateTransitionDiagrams - диаграммы переходов состояний) методология моделирования последующего функционирования системы на основе ее предыдущего и текущего функционирования.
CRN (ColorPetriNets - раскрашенные сети Петри) методология создания динамической модели бизнес-процесса, позволяющая проанализировать зависящие от времени характеристики процесса и распределение ресурсов для входящих потоков различной структуры.
ABC (ActivityBasedCosting - функционально-стоимостный анализ) метод определения стоимости и других характеристик изделий и услуг на основе функций и ресурсов, задействованных в бизнес-процессах.
Используя перечисленные средства, можно создать полное описание экономической или информационной системы (того, что делает или должна делать система).
Задача функционального моделирования состоит в представлении системы в виде совокупности взаимосвязанных функций. В качестве методологического инструмента функционального моделирования рассмотрим методологию IDEF0, которая включает в себя метод IDEF0, а также методы и процедуры, его поддерживающие.
В методе IDEF0 можно выделить такие составляющие, как концепция метода, графический язык, процедура чтения диаграммы, метод построения модели, критерии оценки качества и др.
В структуру организационной поддержки метода IDEFO входят:
процедура сбора данных (интервьюирование);
метод групповой работы;
формы документирования модели;
процедуры согласования и утверждения модели.
Концепция IDEFO-моделей
IDEF0-модель описывает: что система делает, что она производит, какая информация используется для управления, какие ресурсы и средства применяются для исполнения ее функций.
Одним из достоинств IDEF0-моделей является то, что они обеспечивают возможность обмена информацией о рассматриваемом объекте на языке, понятном не только аналитику и разработчику системы, но и специалисту-эксперту в предметной области, пользователю, руководителю (Д. Росс назвал технику структурного анализа языком для передачи понимания). В основе метода IDEF0 лежат следующие концептуальные положения:
графическое представление модели в виде иерархии диаграмм, обеспечивающее компактность представления информации;
максимальная выразительность, т.е. способность наилучшим образом обеспечить "понимаемость" модели;
строгость и точность представления;
пошаговые процедуры разработки модели, ее просмотра и объединения;
отделение организации от функции исключение влияния организационной структуры на функциональную модель.
IDEFO-модель составляется из иерархического ряда диаграмм, которые постепенно отображают уровни все более подробных описаний функций и их интерфейсов в пределах системы. Диаграмма, находящаяся на вершине модели, обобщает всю рассматриваемую систему. Диаграммы первого уровня представляют важнейшие подсистемы с их взаимосвязями, а диаграммы самого нижнего уровня представляют детализированные функции, с помощью которых, собственно, и работает система.
Можно назвать три основных типа диаграмм, используемых в IDEF0-моделях: графические, текстовые и глоссарии.
Графические диаграммы главный компонент модели определяют функции и функциональные отношения. Эти функции в дальнейшем разбиваются (декомпозируются) на более детальные диаграммы, пока подсистема не будет описана на уровне, удовлетворяющем цели проекта.
Текстовые диаграммы и глоссарии (словари) обеспечивают дополнительную информацию для графических диаграмм. Кроме того, могут использоваться и так называемые поясняющие диаграммы FEO.
Однако до начала построения модели необходимо определиться с целью моделирования, границей системы и точкой зрения модели.
Создаваемая IDEF0-модель имеет конкретное назначение, называемое целью модели. Цель моделирования можно определить с учетом следующего формального определения модели:
М есть модель системы S, если М может быть использована для получения ответов на вопросы относительно S с точностью А.
Таким образом, целью модели является получение ответов на некоторую совокупность вопросов. Эти вопросы неявно присутствуют (подразумеваются) в процессе анализа и, следовательно, они "руководят созданием модели". Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то мы говорим, что модель "не достигла своей цели".
Обычно вопросы для IDEF0-модели формулируются на самом раннем этапе анализа или проектирования, при этом основная суть этих вопросов должна быть выражена в одной-двух фразах.
Пример. Определение цели модели работы деканата университета. Вопросы:
Каковы обязанности декана?
Каковы обязанности заместителя декана?
Каковы обязанности инспектора?
По каким вопросам работники деканата общаются со студентами?
По каким вопросам работники деканата общаются с кафедрами?
По каким вопросам работники деканата общаются с другими подразделениями университета?
Какая информация "приходит" в деканат и "уходит" из него?
Цель: Определить причины большой загруженности работников деканата.
Границы системы
Моделируемая система является частью окружающей среды и всегда связана с нею, поэтому зачастую трудно сказать, где кончается система и начинается среда. В связи с этим в методологии IDEF0 требуется определять границы системы. Модель устанавливает точно, что является и что не является объектом моделирования, описывая то, что входит в систему, и подразумевая то, что лежит за ее пределами. Как известно из системного анализа, границу системы можно указать, определив ее входы и выходы.
Точка зрения модели
С целью модели тесно связана позиция, с которой наблюдается система и создается ее модель. IDEF0 требует, чтобы конкретная модель всегда рассматривалась с одной и той же точки зрения. Эта позиция называется точкой зрения данной модели.