3.2.1. Метод функционального моделирования SADT
Метод SADT представляет собой совокупность правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями.
Основные элементы этого метода основываются на следующих концепциях:
графическое представление блочного моделирования. Графика блоков и дуг SADT-диаграммы отображает функцию в виде блока, а интерфейсы входа/выхода представляются дугами, соответственно входящими в блок и выходящими из него. Взаимодействие блоков друг с другом описывается посредством интерфейсных дуг, выражающих «ограничения», которые, в свою очередь, определяют, когда и каким образом функции выполняются и управляются;
строгость и точность. Правила SADT включают: ограничение количества блоков на каждом уровне декомпозиции (правило 36 блоков ограничение мощности краткосрочной памяти человека), связность диаграмм (номера блоков), уникальность меток и наименований (отсутствие повторяющихся имен), синтаксические правила для графики (блоков и дуг), разделение входов и управлений (правило определения роли данных);
отделение организации от функции, т.е. исключение влияния административной структуры организации на функциональную модель.
Метод SADT может использоваться для моделирования самых разнообразных процессов и систем. В существующих системах метод SADT может быть использован для анализа функций, выполняемых системой, и указания механизмов, посредством которых они осуществляются.
Результатом применения метода SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы главные компоненты модели, все функции организации и интерфейсы на них представлены как блоки и дуги соответственно. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как входная информация, которая подвергается обработке, показана с левой стороны блока, а результаты (выход) показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу (рис. 3.1).
Рис. 3.1. Функциональный блок и интерфейсные дуги
Построение SADT-модели заключается в выполнении следующих действий:
• сбор информации об объекте, определение его границ;
• определение цели и точки зрения модели;
• построение, обобщение и декомпозиция диаграмм (рис.3.2);
• критическая оценка, рецензирование и комментирование.
Построение диаграмм начинается с представления всей системы в виде простейшего компонента одного блока и дуг, изображающих интерфейсы с функциями вне системы. Поскольку единственный блок отражает систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг они также соответствуют полному набору внешних интерфейсов системы в целом.
Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки определяют основные подфункции исходной функции. Данная декомпозиция выявляет полный набор подфункций, каждая из которых показана как блок, границы которого определены интерфейсными дугами. Каждая из этих подфункций может быть декомпозирована подобным образом в целях большей детализации (рис. 3.5).
На SADT-диаграммах не указаны явно ни последовательность (рис. 3.3), ни время. Обратные связи, итерации, продолжающиеся процессы и перекрывающиеся (по времени) функции могут быть изображены с помощью дуг. Обратные связи (рис. 3.4) могут выступать в виде комментариев, замечаний, исправлений и т.д.
Рис. 3.2. Структура SADT модели. Декомпозиция диаграмм
Рис. 3.3. Одновременное выполнение функций
Рис. 3.4. Пример обратной связи
Рис. 3.5. Иерархия диаграмм
Рекомендуется прекращать моделирование, когда уровень детализации модели удовлетворяет ее цели, если:
блок содержит достаточное количество деталей,
необходимо изменить уровень абстракции, чтобы достичь большей детализации блока,
необходимо изменить точку зрения, чтобы детализировать блок,
блок похож на другой блок этой модели или на блок другой модели,
блок представляет тривиальную функцию.
Одним из важных моментов при моделировании с помощью метода SADT является точная согласованность типов связей между функциями. Различают, по крайней мере, связи семи типов (в порядке возрастания их относительной значимости):
• случайная;
• логическая;
• временная;
• процедурная;
• коммуникационная;
• последовательная;
• функциональная.
Случайная связь показывает, что конкретная связь между функциями незначительна или полностью отсутствует. Это относится к ситуации, когда имена данных на SADT-дугах в одной диаграмме имеют слабую связь друг с другом
Логическая связь данные и функции собираются вместе благодаря тому, что они попадают в общий класс или набор элементов, но необходимых функциональных отношений между ними не обнаруживается.
Временная связь представляет функции, связанные во времени, когда данные используются одновременно или функции включаются параллельно, а не последовательно.
Процедурная связь функции сгруппированы вместе благодаря тому, что они выполняются в течение одной и той же части цикла или процесса.
Коммуникационная связь функции группируются благодаря тому, что они используют одни и те же входные данные и/или производят одни и те же выходные данные
Последовательная связь выход одной функции служит входными данными для следующей функции. Связь между элементами на диаграмме является более тесной, чем в рассмотренных выше случаях, поскольку моделируются причинно-следственные зависимости.
Функциональная связь все элементы функции влияют на выполнение одной и только одной функции. Диаграмма, являющаяся чисто функциональной, не содержит чужеродных элементов, относящихся к последовательному или более слабому типу связи.
В математических терминах необходимое условие для простейшего типа функциональной связи имеет следующий вид:
C = g(B) = g(f(A)).
В табл. 3.1 представлены все типы связей, рассмотренные выше.
Таблица 3.1
Описание типов связей
Уровень значимости
|
Тип связи
|
Характеристика типа связи для функций
|
0
|
Случайная
|
Случайная
|
1
|
Логическая
|
Функции одного и того же типа или множества
|
2
|
Временная
|
Функции одного и того же периода времени
|
3
|
Процедурная
|
Функции, работающие в одной и той же фазе или итерации
|
4
|
Коммуникационная
|
Функции, использующие одни те же данные
|
5
|
Последовательная
|
Функции, выполняющие последовательные преобразования одних и тех же данных
|
6
|
Функциональная
|
Функции, объединяемые для выполнения одной функции
|
Это одна таблица! В ней 4столбца! Характеристика типов связи для данных- 4-й столбец!!!
Уровень значимости
|
Тип связи
|
Характеристика типа связи для данных
|
0
|
Случайная
|
Случайная
|
1
|
Логическая
|
Данные одного и того же типа или множества
|
2
|
Временная
|
Данные, используемые в каком-либо временном интервале
|
3
|
Процедурная
|
Данные, используемые в одной и той же фазе или итерации
|
4
|
Коммуникационная
|
Данные, на которые воздействует одна и та же деятельность
|
5
|
Последовательная
|
Данные, преобразуемые последовательными функциями
|
6
|
Функциональная
|
Данные, связанные с одной функцией
|
Рис. 3.6. Структура модели
Метод SSADM базируется на таких структурных диаграммах, как последовательность, выбор и итерация. Моделируемый объект задается последовательностью групп, операторами выбора из группы и циклическим выполнением отдельных элементов.
Базовая диаграмма – иерархическая и включает в себя: список компонентов описываемого объекта; идентифицированные группы выбранных и повторяемых компонентов, а также последовательно используемых компонентов.
Данный метод представлен моделью ЖЦ со следующими этапами разработки программного проекта (рис. 3.7):
стратегическое проектирование и изучение возможности выполнения проекта;
детальное обследование предметной области, включающее в себя анализ и спецификацию требований;
логическое проектирование и спецификация системы;
физическое проектирование структур данных в соответствии с выбранной структурой БД (иерархической, сетевой и др.);
конструирование и тестирование системы.
Рис. 3.7. Жизненный цикл SSADM
Детальное обследование предметной области проводится для того, чтобы изучить ее особенности, рассмотреть потребности и предложения заказчика, провести анализ требований из разных документов, обозначить их и согласовать с заказчиком.
Цель стратегического проектирования – определение области действия проекта, анализ информационных потоков, формирование общего представления об архитектуре системы, затратах на разработку и подтверждение возможности дальнейшей реализации проекта. Результат есть спецификация требований, которая применяется при разработке логической структуры системы.
Логическое проектирование – это определение функций, диалога, метода построения и обновления БД. В логической модели отображаются входные и выходных данные, прохождение запросов и установка связей между сущностями и событиями.
Физическое проектирование – это определение типа СУБД и представления данных в ней с учетом спецификации логической модели данных, ограничений на память и времени обработки, а также определение механизмов доступа, размера логической БД, связей между элементами системы. Результат – создание документа, включающего в себя:
спецификацию функций и способов их реализации, описание процедурных, непроцедурных компонентов и интерфейсов системы;
определение логических и физических групп данных с учетом структуры БД, ограничений на оборудование и положений стандартов на разработку;
определение событий, которые обрабатываются как единое целое и выдача сообщений о завершении обработки и др.
Конструирование – это программирование элементов системы и их тестирование на наборах данных, которые подбираются на ранних этапах ЖЦ разработки системы.
Проектирование системы является управляемым и контролируемым. Создается сетевой график, учитывающий работы по разработке системы, затраты и сроки. Слежение и контроль выполнения плана проводит организационный отдел. Проект системы задается структурной моделью, в которой содержатся работы и взаимосвязи между ними и их исполнителями, а потоки проектных документов между этапами отображаются в сетевом графике. Результаты каждого из этапов ЖЦ контролируются и передаются на следующий этап в виде, удобном для дальнейшей реализации другими исполнителями.
|