Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KONSPEKT_IT-PROEKTY_2014.doc
Скачиваний:
9
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

3.2.2 Принципы моделирования

Первая итерация процесса моделирования по методологии SADT начинается после того, как определены субъект, цель и точка зрения модели. Автор определяет, что включить в модель, а что исключить из нее. Точка зрения диктует автору модели выбор нужной информации о субъекте и форму ее подачи. Цель становится критерием окончания моделирования.

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

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

Правила SADT включают:

  • ограничение количества блоков на каждом уровне декомпозиции (3 – 6 блоков);

  • связность диаграмм (указание номеров блоков и диаграмм);

  • уникальность наименований (отсутствие повторяющихся имен);

  • синтаксические правила для графики (блоков и стрелок);

  • определение роли данных (разделение входов и управлений);

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

Состав функциональной модели SADT

Типы диаграмм SADT-модели

Основу методологии SADT составляет графический язык описания процессов. Модель в SADT представляет собой совокупность иерархически упорядоченных и взаимосвязанных диаграмм. Каждая диаграмма является единицей описания системы и располагается на отдельном листе.

Модель в SADT может содержать следующие типы диаграмм:

  • контекстную диаграмму (в каждой модели может быть только одна контекстная диаграмма);

  • диаграммы декомпозиции;

  • диаграммы дерева узлов.

Контекстная диаграмма

Контекстная диаграмма является вершиной древовидной структуры диаграмм и представляет собой самое общее описание системы и ее взаимодействие с внешней средой. Моделирование начинается с представления системы как единого целого – одного функционального блока с граничными стрелками, простирающимися за пределы рассматриваемой области.

Диаграммы декомпозиции

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

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

Диаграммы дерева узлов

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

Элементы контекстной диаграммы модели SADT

Работа

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

Контекстная диаграмма содержит только одну самую главную работу, выполняемую системой.

Граничные стрелки

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

Стрелки на контекстной диаграмме служат для описания взаимодействия системы с окружающим миром. Такие стрелки называются граничными. Они могут начинаться у границы диаграммы и заканчиваться у работы, или наоборот, начинаться у работы и заканчиваться у границы диаграммы.

П редставим графическое изображение функционального блока с граничными стрелками, которые могут быть связаны с этим блоком.

Рис. 3.1 – Функциональный блок с граничными стрелками

Различают пять типов граничных стрелок, связывающих систему с внешним миром:

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

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

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

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

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

Контекстная диаграмма

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

Д иаграмма, состоящая из одного блока и стрелок, определяет границы системы и называется контекстной диаграммой модели. При этом блок изображает границы системы: всё, лежащее внутри него, является частью системы, а все, лежащее вне его, образует внешнюю среду системы.

Рис. 3.2 – Контекстная диаграмма модели

Элементы диаграммы декомпозиции модели SADT

Работы

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

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

Доминирование понимается как влияние, которое одна работа оказывает на другие работы диаграммы.

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

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

Приведем декомпозицию блока, представленного на контекстной диаграмме.

Рис. 3.3 – Диаграмма декомпозиции

Миграция граничных стрелок и ICOM-коды

Диаграмма декомпозиции предназначена для детализации работы. Работы нижнего уровня – это то же самое, что работа верхнего уровня, но в более детальном изложении. Как следствие этого границы работы верхнего уровня – это то же самое, что границы диаграммы декомпозиции.

При декомпозиции какой-либо работы входящие в нее и исходящие из нее стрелки должны отобразиться на диаграмме декомпозиции, то есть должна произойти миграция стрелок. Одним из способов контроля миграции стрелок служат ICOM-коды, предназначенные для идентификации граничных стрелок. ICOM – аббревиатура от Input, Control, Output и Mechanism.

Каждая граничная стрелка диаграммы декомпозиции должна быть обозначена с помощью кода ICOM, совпадающего с обозначением соответствующей стрелки на родительской диаграмме. Код ICOM содержит префикс, соответствующий типу стрелки I, С, О или М, и порядковый номер.

Внутренние стрелки

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

С вязь по входу – связь, при которой выход вышестоящей работы направляется на вход нижестоящей работы.

Рис. 3.4 – Связь по входу

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

Рис. 3.5 – Связь по управлению

Обратная связь по входу – связь, при которой выход нижестоящей работы направляется на вход вышестоящей, используется для описания циклов.

Рис. 3.6 – Обратная связь по входу

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

Рис. 3.7 – Обратная связь по управлению

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

Р ис. 3.8 – Связь выход-механизм

Разветвляющиеся и сливающиеся стрелки

Явные стрелки имеют источником одну-единственную работу и назначением тоже одну-единственную работу.

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

Рис. 3.9 – Разветвляющаяся стрелка

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

Смысл разветвляющихся и сливающихся стрелок передается именованием каждой ветви стрелок. Существуют определенные правила именования таких стрелок.

Правила именования для разветвляющихся стрелок.

Если стрелка именована до разветвления, а после разветвления ни одна из ветвей не именована, то подразумевается, что каждая ветвь моделирует те же данные или объекты, что и ветвь до разветвления.

Если стрелка именована до разветвления, а после разветвления какая-либо из ветвей тоже именована, то подразумевается, что эти ветви соответствуют именованию. Если при этом какая-либо ветвь после разветвления осталась неименованной, то подразумевается, что она моделирует те же данные или объекты, что и ветвь до разветвления.

Рис. 3.10 - Именование разветвляющихся стрелок

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

Рис. 3.11 – Недопустимая ситуация именования стрелок

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

Иерархия диаграмм модели и диаграмма дерева узлов

Иерархия диаграмм и контроль граничных стрелок

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

Рис. 3.12 – Соответствие граничных стрелок

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

Методология структурного анализа должна гарантировать правильное соединение всех диаграмм для образования согласованной модели. Для этого следует присвоить ICOM-коды граничным стрелкам новой диаграммы согласно правилам:

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

присвоить код каждой связи, использовать I для входных стрелок, С – для стрелок управления, О – для выходных стрелок, М ‑ для механизмов;

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

Туннелирование стрелок

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

Для решения подобных задач предусмотрено понятие туннелирования. Обозначение туннеля в виде двух круглых скобок вокруг начала стрелки обозначает, что эта стрелка не была унаследована от функционального родительского блока и появилась из туннеля только на этой диаграмме.

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

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

Р ис. 3.13 – Варианты туннелирования стрелок

Нумерация блоков и диаграмм

Все работы на диаграммах должны быть пронумерованы. Номер должен состоять из числа или префикса и числа. Обычно используют префикс А. Работа на контекстной диаграмме имеет номер 0 или А0. Работы на диаграмме декомпозиции первого уровня имеют номера 1, 2, 3, 4 (или А1, А2, A3, А4) и т. д. Работы на диаграмме декомпозиции нижнего уровня имеют номер родительской работы и очередной порядковый номер. Например, работы, которые представляют декомпозицию работы 3 (или A3), будут иметь номера 31, 32, 33, 34 (или А31, А32, А33, А34) и т. д.

Диаграммы нумеруются в соответствие с номерами работ, которые они декомпозируют. Контекстная диаграмма всегда имеет номер А-О, диаграмма декомпозиции контекстной диаграммы – номер А0, остальные диаграммы декомпозиции имеют номер, совпадающий с номером работы, декомпозиция которой представлена на данной диаграмме. Например, A1, A2, А21, А213 и т. д.

Диаграмма дерева узлов

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

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

Н а следующем рисунке показано типичное дерево диаграмм.

Рис. 3.14 – Диаграмма дерева узлов

Рекомендации по рисованию диаграмм

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

  2. Когда входная стрелка служит как управление и вход, покажите ее как управление. Если есть сомнения, сделайте ее управляющей. Не следует расщеплять дугу на управление и вход для одного и того же блока. Стрелка, являющаяся на родительской диаграмме управляющей, может появиться на следующем уровне как управление или вход, либо как то и другое, в зависимости от ее взаимоотношений с подфункцией на этом уровне.

  3. Объединяйте в связку стрелки с одними и теми же источниками и пунктами назначения:

Рис. 3.15 – Объединение стрелок

  1. На любой из сторон блока не должно быть более четырех стрелок. Если их больше, объедините стрелки, присвойте общую метку и сделайте ответвления к их конечным пунктам:

Рис. 3.16 – Ответвление стрелки

  1. Управляющая обратная связь становится более ясной, если соответствующая стрелка нарисована направленной вверх и проходящей над блоком.

  2. Входная обратная связь становится более ясной, когда соответствующая стрелка нарисована направленной вниз и проходящей под блоком:

Рис. 3.17 – Обратная связь по управлению и входу

  1. Если стрелка разветвляется и входит в несколько блоков, изобразите ее на одних и тех же местах в соответствии с ICOM-кодами на каждом блоке, если это возможно:

Рис. 3.18 – Расположение разветвляющихся стрелок

  1. Располагайте стрелки так, чтобы минимизировать пересечения несвязанных стрелок:

Рис. 3.19 – Исключение пересечений

  1. Сводите к минимуму число кривых линий и углов, где это возможно:

Рис. 3.20 – Рисование разветвляющихся стрелок

  1. Оставляйте достаточные промежутки между параллельными стрелками. Их трудно отслеживать визуально, если они очень длинные и находятся близко друг от друга:

Рис. 3.21 – Рисование параллельных стрелок

Проверка достоверности модели SADT

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

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

Процесс чтения диаграммы можно разбить на этапы. На первом этапе необходимо понять детали данной диаграммы. Второй этап – концентрация внимания на ближайшем контексте диаграммы. На третьем этапе следует уточнить место диаграммы в модели. Четвертый этап – конструктивная критика авторского изложения.

Для понимания деталей отдельной диаграммы необходимо:

  • прочесть название и номер узла;

  • изучить каждый блок;

  • изучить внутренние стрелки;

  • прочесть все замечания автора;

  • просмотреть весь связанный с диаграммой дополнительный материал.

Чтение осуществляется наиболее эффективно, если все эти элементы диаграммы читаются последовательно.

Изучив внутренние детали диаграммы, следует остановиться на их контексте, определив связи между диаграммой и ее родителем. Это дает более глубокое понимание диаграммы, потому что граница объекта определяет, как диаграмма входит в остальную часть модели. Понять контекст диаграммы позволяет чтение:

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

  • связей диаграммы с блоками родительской диаграммы;

  • дополнительного материала к родительской диаграмме.

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

Критическая оценка означает постановку вопросов к содержанию диаграммы:

  • верен ли синтаксис диаграммы;

  • понимаю ли я, что хотел сказать автор;

  • согласен ли я с тем, что выразил автор.

Эти вопросы задают в указанном порядке с тем, чтобы вначале разрешить мелкие, а потом перейти к более глобальным. Все эти шаги предпринимаются для выработки мнения об обоснованности и правильности диаграммы.

По методологии SADT только модель, прошедшая проверку на корректность синтаксиса, связей между составляющими её диаграммами и адекватность описания объекта моделирования может быть допущена к использованию в дальнейшей работе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]