Дуги могут быть декомпозированы

Дуги имеют различное содержание

Глава 5. Более глубокие концепции диаграмм

Резюме

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

На этом завершается обзор основных концепций SADT, связанных с функциональными диаграммами и функциональными моделями. Главы 5 и 6 посвящены более глубокому изучению материала, касающегося диаграмм, моделей и процесса их разработки, который называется созданием модели. Вы, возможно, пожелаете теперь перейти к части II, чтобы узнать, как начинается создание функциональной модели. Если это так, не стесняйтесь вернуться к главам 5 и 6, когда захотите глубже познакомиться с концепциями методологии SADT.

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


В SADT дуги изображают объекты. Мы подчеркиваем здесь термин "объекты", поскольку, в отличие от традиционных диаграмм потоков данных из систем программного обеспечения, SADT-диаграммы содержат дуги, изображающие большое многообразие объектов. На рис. 5-2 диаграмма изготовить нестандартную деталь содержит дуги, изображающие планы, станки, инструменты, сырье, документы, технические чертежи, готовые детали, устные требования и оценки. Точное описание системы должно содержать такое многообразие объектов для адекватного объяснения ее работы как на уровне деталей, так и на уровне ее окружающей среды. Способность SADT изображать многообразие объектов с помощью дуг следует из того, что SADT является методологией описания систем самого общего назначения, а не только программного обеспечения. Чтобы помочь аналитикам и экспертам в понимании и описании того, как различные объекты связаны друг с другом, в графический язык SADT введено два типа объектов: объекты, преобразуемые системой, и объекты, управляющие выполнением этих преобразований. В SADT они называются соответственно входами и управлениями.

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

Рис. 5-1 SADT-диаграмма, содержащая разветвления и соединения дуг

Рассмотрим дуги план выполнения задания и принятое задание на диаграмме рис. 5-1. Из диаграммы видно, что эти дуги представляют совокупности объектов, поскольку каждая из них разветвляется на две отдельные дуги с различными метками. Следуя структуре дуг, можно сказать, что чертеж - часть плана выполнения задания, а принятое задание либо формируется из детали с биркой и штампа "принято", либо является принятым, но незаконченным заданием. Это все, что можно узнать об этих дугах из диаграммы изготовить нестандартную деталь. Однако мы всегда можем посмотреть на декомпозицию блоков этой диаграммы для выяснения дополнительных подробностей содержания этих дуг. Например, на диаграмме выполнить задание (рис. 5-4) мы видим, что станки и инструменты состоят из набора инструментов и станков в цехе.

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

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

Рис. 5-2 Туннельные дуги позволяют «спрятать» некоторые подробности и показать необходимые детали


5.3. Дуги могут быть "помещены в тоннель"

Потенциально все дуги на диаграмме, независимо от их содержания, могут быть "помещены в тоннель". Как указано в главе 3, помещение дуги в тоннель является способом скрытия ее источника или приемника. Эти два вида проходящих через тоннель дуг (со скрытыми источниками и приемниками) не проходят "сквозь" границу, определяемую блоком и его дугами. Начало проходящих через тоннель дуг, появляющихся из неизвестного источника, заключено в скобки, что указывает на появление этих дуг из некоторой другой части модели или непосредственно извне. На диаграмме ЭМЦ/А1 (рис. 5-2) дуга незанятый рабочий имеет начало, выходящее из тоннеля. Поэтому эта дуга не появляется на диаграмме ЭМЦ/АО. Конец входящих в тоннель дуг с неизвестным приемником заключается в скобки для указания, что эти дуги либо идут в другую часть модели, либо непосредственно выходят из модели, либо не рассматриваются более. Например, дуга механизма для блока 2 на диаграмме ЭМЦ/АО имеет входящий в тоннель конец и поэтому не появляется на диаграмме ЭМЦ/А1. Термин "тоннель" является здесь вполне подходящим, поскольку можно представлять себе входящую в тоннель дугу как бы "уходящей под землю".

"Тоннельные" обозначения были введены в SADT после нескольких лет интенсивного использования этой методологии в ряде областей. Опыт показал, что при описании сложных систем требуется большое число дуг для корректного и подробного представления системы. Часто эти дуги могут быть объединены, но иногда важные объекты системы, не показанные ранее на более высоких уровнях иерархии модели, появляются при описании новых деталей. Кроме того, эти детали обычно не столь важны, чтобы их показывать на более высоких уровнях модели. "Тоннельные" обозначения используются для того, чтобы избежать хаотического заполнения нежелательными подробностями диаграмм высокого уровня. Эти обозначения дают возможность управлять появлением необходимых деталей, не запутывая более общие описания родительских диаграмм. Рис. 5-2 дает хороший пример использования тоннельных дуг, позволяющих избежать появления нежелательных деталей на верхних уровнях модели. Дуга незанятый рабочий диаграммы ЭМЦ/А1 требуется на уровне блока управлять выполнением задания, но прохождение этой дуги по верхним диаграммам, включая диаграмму изготовить нестандартную деталь, могло бы только запутать их содержание. Так как дуга незанятый рабочий неуместна на диаграмме АО, она помещена в тоннель. Кроме того, "тоннельные" обозначения помогают скрывать сведения, необходимые только для верхних уровней модели. Это минимизирует вероятность загромождения диаграмм-декомпозиций необязательной информацией. Дуги с заключенными в скобки концами выполняют эти задачи, поскольку они не рассматриваются как часть границы при касании ими блока и, следовательно, не переносятся на диаграмму, декомпозирующую этот блок. На рис. 5-2 показано, как за счет помещения дуг механизмов в тоннель удается избежать загромождения декомпозиции диаграммы изготовить нестандартную деталь неинформативными или очевидными дугами механизмов, касающимися всех блоков. Они запутали бы декомпозиции, не добавив никакой новой информации. Это очень сильно тормозило бы дело, поэтому неинформативные дуги скрывают у границы блока.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: