Синтаксис моделей и работа с ними
Одна SADT-диаграмма сложна сама по себе, поскольку содержит от трех до шести блоков, связанных множеством дуг. Для адекватного описания системы требуется несколько таких диаграмм. Диаграммы, собранные и связанные вместе, становятся SADT-моделью. В SADT дополнительно к синтаксису диаграмм существуют правила синтаксиса моделей.
SADT-модель является иерархически организованной совокупностью диаграмм, состоящей из 3-6 блоков. При этом каждый блок может пониматься как отдельный тщательно определенный объект. Каждый блок в SADT рассматривается как формальная граница некоторой части целой системы. Другими словами, блок и касающиеся его дуги определяют точную границу диаграммы, представляющей декомпозицию этого блока.
Принцип ограничения объекта встречается на каждом уровне. Один блок и несколько дуг на самом верхнем уровне используется для определения границы всей системы. Диаграмма, состоящая из одного блока и его дуг, определяет границу системы и называется контекстной диаграммой модели.
Кроме этого на контекстной диаграмме отображается цель системы и точка зрения.
Понятие цели системы.
SADT-модель дает полное, точное и адекватное описание системы, имеющее конкретное назначение. Это назначение называют целью системы. Таким образом, целью модели является получение ответов на совокупность вопросов. Если модель отвечает не на все вопросы или ее ответы недостаточно точны, то говорят о том, что модель не достигла своей цели. Определяя модель таки образом, SADT закладывает основы практического моделирования.
Точка зрения модели.
С определением модели тесно связана позиция, с которой наблюдается система и создается ее модель. Эта позиция и называется "точкой зрения" данной модели. "Точку зрения" лучше всего представлять себе как место (позицию) человека или объекта, в которое надо встать, чтобы увидеть систему в действии.
Построим контекстную диаграмму модели изготовления нестандартной детали (рис.22).
Определим для начала цель и точку зрения модели.
Цель: определить, какие функции должны быть включены в процесс изготовления нестандартной детали и как эти функции взаимосвязаны между собой.
Точка зрения: лучше всего описать все функции может начальник цеха, в котором изготавливаются нестандартные детали.
SADT-модели развиваются в процессе структурной декомпозиции сверху вниз. Сначала декомпозируется один блок, являющийся границей модели. Название диаграммы совпадает с названием декомпозируемого блока. В методологии SADT идентифицируется каждая диаграмма данной модели посредством того, что называется "номер узла". Номер узла для контекстной диаграммы имеет следующий вид: название модели или аббревиатура, косая черта, заглавная буква A (activity в функциональных диаграммах), дефис и ноль.
Номером узла диаграммы, декомпозирующей контекстную диаграмму, является тот же номер узла, но без дефиса.
Рис.22 Контекстная диаграмма
Синтаксис диаграмм
При создании SADT-модели одну и ту же диаграмму вместе с ее блоками и дугами иной раз перечерчивают по несколько раз, что приводит к появлению различных ее вариантов. Чтобы различать версии одной и той же диаграммы, в SADT используется схема контроля конфигурации диаграмм, основанная на хронологических номерах, или С-номерах. С-номерные коды образуются из инициалов автора и последовательных номеров. Эти коды ставятся в нижнем правом углу SADT-бланка. Если диаграмма заменяет более старую версию, то автор помещает в скобках предыдущий С-вариант в скобках, чтобы указать на связь с предыдущей работой (рис.23).
Рис. 23 SADT-диаграмма А0
Помимо использования для идентификации версий диаграмм, С-номера применяются для связки диаграмм при движении как вверх, так и вниз по иерархии модели. Обычно С-номер диаграммы, декомпозирующей некоторый блок, впервые появляется непосредственно под этим блоком на родительской диаграмме. Это образует "направленную вниз" связь от родительской диаграммы к диаграмме-потомку (рис.24).
Рис. 24 SADT-диаграмма А1
Как только образуется направленная вниз связь, на диаграмме-потомке формируется ссылка на родительскую диаграмму. В области контекста SADT (правый верхний угол) автор изображает каждый блок родительской диаграммы маленькими квадратиками, заштриховывает тот квадратик, который декомпозирует и помещает С-номер родительской диаграммы. Это образует "направленную вверх" (к родительской диаграмме) связь.
Кроме этого, в SADT принята система обозначений, позволящая аналитику точно идентифицировать и проверять связи по дугам между диаграммами. Эта схема кодирования дуг - "ICOM" - получила название по первым буквам английских эквивалентов слов вход (Input), управление (Control), выход (Output) и механизм (Mechanism).
Существуют правила присваивания кодов ICOM внешним дугам новой диаграммы:
1) Присвоить код каждой внешней дуге. Используйте I- для входных дуг, C - для связей между дугами управления, O - для связей между выходными дугами, M - для связей между дугами механизма.
2) Добавить после каждой буквы цифру, соответствующую положению данной дуги среди других дуг того же типа, касающихся родительского блока. Причем входные и выходные дуги пересчитываются сверху вниз, у дуги управлений и механизмов пересчитываются слева направо.