Файл: 13.2. Метод функционального моделирования SADT (IDEF0).docx

Добавлен: 19.11.2018

Просмотров: 592

Скачиваний: 10

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

Метод SADT (IDEF))

На сегодняшний день в программной инженерии существуют два основных подхода к разработке программных продуктов и АИС, принципиальное различие между которыми обусловлено разными способами декомпозиции систем. Первый подход называют функционально – модульным или структурным. В его основу положен принцип функциональной декомпозиции, при котором структура системы описывается в терминах иерархии её функций и передачи информации между отдельными функциональными элементами.

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

Базовыми принципами структурного подхода являются:

- принцип «разделяй и властвуй»;

- принцип иерархического упорядочения;

- принцип абстрагирования;

- принцип непротиворечивости;

- принцип структурирования данных.

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

- DFD – диаграммы потоков данных;

- SADT (метод структурного анализа и проектирования) – функциональные модели (диаграммы);

- ERD – диаграммы «Сущность - связь».

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

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

- Строгость и точность. Выполнение правил SADT требует достаточно строгости и точности, не накладывая в тоже время чрезмерных ограничений на действия аналитика. Правила SADT включают: ограничения количества блоков на каждом уровне декомпозиции (правило 3 – 6 блоков), связанность диаграмм (номера блоков), уникальность меток и наименований (отсутствие повторяющихся имён), синтаксические правила для графики (блоков и дуг), разделение входов и управлений (правило определения роли данных).

- Отделение организации от функций, т.е. исключение влияния административной структуры организации на функциональную модель.


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

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

Одним из важных моментов при моделировании бизнес – процессов организации с помощью метода SADT является точная согласованность типов связей между функциями. Различают по крайней мере связи семи типов: случайные, логические, временные, процедурные, коммуникационные, последовательные, функциональные.









Рис. 1. Функциональный блок и интерфейсные дуги.

Построение SADT – диаграммы некоторой предметной области начинается с запуска программного продукта BPwin v 4.1 (Computer Associates), для этого необходимо выполнить поиск и запуск соответствующего программного продукта. При стандартной установке CASE – средства в среде операционной системы Windows’ 2000 (XP) ярлык BPwin v 4.1 находится по схеме: «Пуск» - «Программы» - «Computer Associates» - «Allfusion» - «Process Modeler» - «BPwin» (см. рис. 2).












Рис. 2. Запуск CASE – средства BPwin v 4.1 (Computer Associates)

После запуска программного продукта BPwin v 4.1 в случае, если его пользователю необходимо создать новую SADT – модель, необходимо выбрать опцию «File» закладку «New» после чего в появившемся окне ввести имя будущей модели после слова «Name» и выбрать её тип после слова «Туре». За словом «Туре» следует последовательность поддерживаемых CASE – средством BPwin v 4.1 типов диаграмм: IDEF0, IDEF3, DFD (см. рис. 3). При создании SADT – модели тип диаграммы должен быть IDEF0. После определения имени и типа модели можно приступить к созданию SADT – модели верхнего иерархического уровня.
















Рис. 3. Выбор типа модели при создании SADT - диаграммы

В соответствии с заданием данной практической работы на первой диаграмме необходимо создать единственный функциональный блок «Ведение учёта кадров» нажатием инструмента «Прямоугольник» на панели инструментов BPwin v 4.1. Далее нажатием инструмента «» построить стрелки, символизирующие входную, выходную, информацию, управляющее воздействие, механизм (см. рис. 4). Диаграмма первого иерархического уровня не даёт представление о функциях, реализуемых исследуемой системой или предметной областью, поэтому необходимо произвести декомпозицию построенной диаграммы. Декомпозицию функционального блока имеющейся диаграммы можно выполнить нажатием символа «». После чего появляется окно «Activity Box Count» (рис. 4), на котором необходимо определить тип дочерней диаграммы и предполагаемое количество функциональных блоков на ней, в рассматриваемой задаче тип диаграммы второго уровня будет также как и родительской IDEF0, количество функциональных блоков – 6.













Рис. 4. Окно, позволяющее определить количество функциональных блоков в дочерней SADT – диаграмме.

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

- ведение личных карточек и личных дел работников;

- учёт рабочего времени;

- формирование распорядительной документации;

- ведение трудовых книжек;

- формирование организационных документов;

- регистрация организационной, распорядительной документации.

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






















Рис. 5. SADT - диаграмма первого иерархического уровня





















Рис. 6. SADT - диаграмма второго иерархического уровня


Иерархия диаграмм

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

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

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

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

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

 
Рис. 1. Структура SADT-модели. Декомпозиция диаграмм


На рисунках 2-4 представлены различные варианты выполнения функций и соединения дуг с блоками. 

 
Рис. 2. Одновременное выполнение



 
Рис. 3. Соответствие должно быть полным и непротиворечивым


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

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