В начале 70-х годов методология SADT была
реализована в виде четкой формальной процедуры.
Именно эту реализацию, в ходе которой
SADT-аналитики использовали бланки диаграмм и
титульные листы, мы и обсуждали до сих пор.
Уникальный и эффективный метод кодирования
связей между декомпозициями с использованием
ICOM-кодов, применяемых в SADT, а также принятый в SADT
способ организации рецензирования с помощью
цикла автор/читатель намного облегчают бумажную
реализацию. По нашему мнению, благодаря этим
преимуществам SADT намного превосходит все другие
методы структурного анализа, имеющие бумажную
реализацию.
В конце 70-х появились компьютеры
достаточной мощности и диапазона с приемлемой
скоростью создания графических изображений. Это
дало возможность автоматизировать те
структурные методы, которые, подобно SADT,
существенно опирались на графику. Хотя такие
технологии в то время только начинали
развиваться, ВВС США финансировали разработку
первой системы автоматизации SADT (и, кстати
говоря, первого автоматизированного средства
для структурного анализа, делающего упор на
графику), названного AUTOIDEFO.
В начале 80-х годов появился
умещающийся на письменном столе персональный
компьютер с графическими возможностями. Это
привело к созданию автоматизированных рабочих
мест для нескольких графических методов
структурного анализа. В это же время первые
попытки реализации SADT на мини- и
микрокомпьютерах были предприняты в США, Европе
и Скандинавии. Одним из результатов таких
попыток стало создание автоматизированного
рабочего места SADT во Франции, названное
SPECIF_X. В
этой главе описываются как AUTOIDEFO, так и SPECIF_X. Мы дадим обзор их возможностей,
опишем интерфейс с пользователем, обсудим
требуемые технические средства.
21.1. AUTOIDEFO
В программе ВВС США, связанной с
интегрированной компьютеризацией производства
ICAM (Integrated Computer Aided Manufacturing), было взято
подмножество полной методологии SADT, названное
IDEFO. (На самом деле, SADT описана в этой книге в том
объеме, который почти полностью соответствует ее
IDEFO подмножеству). Одна из задач программы ICAM
заключалась в стандартизации описаний
аэрокосмического производства для
государственных подрядчиков. Выбор языка IDEF был
значительным шагом на пути к такой
стандартизации.
Средство AUTOIDEFO предназначено для
облегчения процесса создания и рецензирования
IDEFO-диаграмм и моделей для географически
разобщенных аэрокосмических подрядчиков.
Поскольку модели IDEFO часто рецензировались
подрядчиками, рассеянными по всей территории
Соединенных Штатов, ВВС потребовали, чтобы AUTOIDEFO
функционировало на диалоговых устройствах и
сетях связи, которые имели широкое
распространение или были легко доступны в то
время. Исходная конфигурация системы включала
дисплеи с векторной графикой и графопостроители,
соединенные с большой ЭВМ, которая могла быть
подключена к обычной сети связи.
Средство AUTOIDEFO, работавшее в данной
конфигурации, предоставляло пользователям
командно-ориентированную графическую систему,
управляемую с помощью меню. Пользователи вначале
выбирали графическую операцию из иерархического
меню (например, добавить блок, убрать ICOM-метку), а
затем выбирали конкретный графический объект с
помощью тонкого курсора. Иерархическое меню
-облегчало ведение библиотеки диаграмм, начало
новых моделей и вычерчивание диаграмм. Память на
электронных лампах и графопостроители создавали
SADT-диаграммы с достаточной графической
разрешимостью.
К несомненным достоинствам AUTOIDEFO
следует отнести поддержку им управления
SADT-проектированием и цикла автор/читатель.
Например, руководитель проекта мог при
организации нового проекта задать списки
рассылки папок. Это обеспечивало
распространение папок среди множества различных
подрядчиков, расположенных в самых разных
местах, предоставляя возможность специалистам
комментировать диаграммы и отвечать на
комментарии. Распространение папок
осуществлялось автоматически после создания
папки, ее комментирования или после получения
ответов.
Таким образом, AUTOIDEFO являлось не просто
средством для автоматизированного построения
диаграмм. Оно поддерживало также процесс
создания модели. Выбрав определенные команды,
аналитик мог построить SADT-модель, начав ее с
создания диаграммы А-0 и добавляя к ней
последующие диаграммы в порядке номеров узлов.
Таким образом, одновременно могло создаваться,
храниться, обрабатываться, публиковаться и
архивироваться множество различных моделей. Это
позволяло соединять несколько взаимосвязанных
моделей. Например, модель крыла самолета могла
быть соединена с моделью фюзеляжа именно в тех
точках, где они должны соединяться.
Факторы производительности и
применимости технического и программного
обеспечения, относящиеся к технологии того
времени, вынудили ВВС потребовать создания
второй версии AUTOIDEFO. Эта версия будет
использовать новые растровые дисплеи и
автоматизированные рабочие места, объединенные
в сети. С применением новых технологий вторая
версия AUTOIDEFO должна
обеспечить более эффективное соотношение между
ценой и производительностью, сохраняя прежнюю
функциональность.
21.2. SPECIF_X
Возникнув первоначально в Соединенных
Штатах, методология SADT прошла первые крупные
"полевые испытания" в большой европейской
телекоммуникационной компании в начале 70-х
годов. В проекте определялись требования к
большой телефонной управляющей системе. После
этого SADT стала чрезвычайно популярной в Европе
методологией спецификации требований. Совсем
недавно использование SADT для спецификации
требований было поддержано программой ESPRIT -
рассчитанных на 10 лет инициативных работ в
области программного обеспечения, принятых в
Европейском Экономическом Сообществе. Не
удивительно, что в Европе в начале 80-х годов было
начато несколько разработок
автоматизированного обеспечения SADT, что привело
к созданию таких средств, как SPECIF_X. Целью SPECIF_X
является поддержка широкого применения
SADT-методов для более быстрого получения
высококачественных спецификаций, чем это
возможно с помощью карандаша и бумаги.
SPECIF_X было разработано французской
компанией Institut de Genie Logiciel (IGL) для использования на
автоматизированных рабочих местах с растровыми
дисплеями и графопостроителями или лазерными
принтерами. Менее эргономичная версия средства,
выполняющая те же функции, может работать на
компьютерах, имеющих отдельные терминалы с
расширенными графическими возможностями и
построчно печатающими устройствами. Версия
SPECIF_X,
работающая на графическом автоматизированном
рабочем месте, предлагает пользователю меню, из
которого курсором выбираются базовые
строительные элементы SADT (блоки, дуги, метки) и
создает из них диаграмму. Пользовательский
интерфейс имеет высокие интерактивные
характеристики, позволяя автоматически и
вручную заворачивать дуги
вокруг блоков и двигать блоки вместе с
присоединенными к ним дугами. Диаграммы
получаются достаточно хорошего качества,
особенно если использовать вывод на лазерный
принтер.
В дополнение к графической
редактированию диаграмм SPECIF_X поддерживает
управление диаграммами и моделями. Варианты
диаграмм отслеживаются с помощью С-номеров, а
диаграммы объединяются в модели с
использованием номеров узлов. Проводится
проверка согласованности модели, как во время
построения диаграммы, так и во время ввода ее в
модель. Обеспечивается также поддержка
модификации диаграммы. Например, SPECIF_X может
определить, как повлияет на всю модель удаление
конкретной дуги. Можно также создать глоссарий,
связав его термины с соответствующей диаграммой
и поместить термины в словарь данных. Полный
словарь данных может быть создан и распечатан
отдельно от диаграмм, что дает возможность
составления словаря технических терминов для
каждой модели. И наконец, SPECIF_X поддерживает цикл
автор/читатель, позволяя организовывать
диаграммы в папки, которые затем могут читать
другие пользователи программного средства.
21.3. Design/IDEF
Пакет Design/IDEF (Meta Software Corp.) -графическая
среда для проектирования и моделирования
сложных систем широкого назначения,
поддерживающая методологии описания и
моделирования системных функций (IDEFO/ SADT),
структур и потоков данных в системе (IDEF1, IDEF1X,
E-R) и
поведения системы (IDEF/CPN). Пакет Design/IDEF был
использован для создания проектов сложнейших
систем, связанных с автоматизацией и
компьютеризацией производства, управлением и
контролем, телекоммуникациями и
аэрокосмонавтикой. Design/IDEF используется как
составная часть в некоторых известных пакетах
типа CIM (Computer Integrated Manufacturing) и САЕ (Computer Aided Engineering) и принят в качестве стандарта для
проектов, финансируемых американскими и
европейскими спонсорами. Рассмотрим более
подробно основные возможности пакета Design/IDEF.
Представление графики
Design/IDEF имеет быструю и
высококачественную графику, включающую создание
стандартных и пользовательских объектов,
выравнивание и манипулирование объектами, выбор
атрибутов графических объектов и текста.
Дополнительно в Design/IDEF реализованы возможности,
требуемые для редактирования и моделирования
данных: построение связывающих линий типа
"резинка", маршрутизация и сглаживание дуг
т.д.
Обеспечение непротиворечивости
модели
Design/IDEF имеет встроенные возможности,
дающие уверенность разработчику, что IDEF-модель
будет точной, целостной и непротиворечивой на
протяжении всего цикла ее создания. Например, при
модификации текста, принадлежащему
функциональному блоку или дуге в какой-то одной
части модели, текст будет динамически
скорректирован на всех страницах модели.
Поддержка Словаря Данных
Design/IDEF имеет встроенный Словарь
Данных, который позволяет хранить информацию и
создавать отчеты о функциях и потоках данных в
IDEF-модели. Словарь дает возможность определять
начальную информацию об объектах и
предоставляет разнообразный набор функций
сопровождения, восстановления и сохранения
целостности файлов данных. Возможности словаря
отличаются большой гибкостью и позволяют
пользователю вводить неограниченное число
параметров для каждого объекта. В сочетании с
высококачественной печатью на лазерном
принтере, это позволяет разработчику
создавать документацию проекта, отвечающую
самым высоким требованиям.
Генерация отчетов
Design/IDEF предоставляет возможность
использовать пять видов отчетов для поддержки и
анализа моделей:
Все отчеты могут быть показаны на
экране компьютера, отредактированы и
распечатаны с помощью текстового редактора.
Design/IDEF анализирует и отбирает данные для
генерации текстового файла, содержащего
информацию о диаграммах и Словаре.
Информация, содержащаяся в отчетах,
может быть экспортирована для использования в
других программах, таких как, например,
электронные таблицы, настольные издательские
системы и текстовые редакторы.
Организация коллективной работы
Design/IDEF поддерживает работу
многочисленной группы разработчиков, создающих
одновременно большую и сложную IDEF-модель.
Подмодели легко интегрируются в одну большую
модель.
Моделирование данных (IDEF1, IDEF1X и E-R -
методологии)
Design/IDEF дает также возможность
создавать информационные модели, которые
представляют как собственно данные, так и связи
между ними в системе..
Информация, содержащаяся в IDEF-моделях,
экспортируется в любую базу данных, а сами модели
могут быть экспортированы в Design/CPN - пакет
динамического моделирования и анализа сложных
систем.
Как CASE-пакет по разработке
программного обеспечения Design/IDEF поддерживает
первые стадии создания программного продукта:
Оба проекта проверяются на полноту и
непротиворечивость, сопровождаются базой данных
проекта и документацией.
Design/IDEF работает в различных
операционных средах: можно строить модели на IBM PC
под MS-Windows, Macintosh или под Unix X Window System и переносить
диаграммы из одной операционной среды в другую.
21.4. Сводный список для оценки
автоматизированной поддержки SADT
Создание автоматизированных средств
поддержки системного анализа, подобных
AUTOIDEF,
SPECIF_X или Design/IDEF, - не простая задача. Для SADT она не
сводится просто к созданию графического
редактора. Хотя семантика графики SADT и сама по
себе достаточно сложна, есть еще много других
аспектов SADT, которые должны быть учтены в
автоматизированном средстве, чтобы обеспечить
полную поддержку всей методологии. Поэтому мы
считаем, что хорошая автоматизированная
поддержка методологии SADT должна быть построена
на основе центральной базы данных основных
понятий SADT (мы употребляем здесь термин "база
данных" для обозначения
хранилища независимо от его расположения в
основной или вспомогательной памяти,
центральной или распределенной). Построение базы
данных основных понятий SADT требует сжатого
описания методологии. В табл. 21-1 приведен сводный
список основных понятий SADT, рассмотренных в
данной книге, с их реализацией в этой
методологии. Сводный список кратко отображает
методологию SADT, выстраивая ее по основным
категориям конечного продукта (т.е. того, что
создается в результате), языка (т.е. того, как
выражаются идеи) и процесса (т.е. того, как
создаются продукты). Для того чтобы выделить в
категориях тесно связанные группы понятий
категорий введены подкатегории.
Этот список можно использовать
по-разному. Его можно применять при оценке
существующих средств SADT для определения, какие
аспекты методологии SADT в них реализованы, а какие
нет. Например, многие современные средства
автоматизированного анализа сосредоточены на
создании диаграмм (т.е. на языке) и мало чем
помогают в производстве конечных продуктов или в
организации процесса создания моделей (например,
цикла автор/читатель). С помощью этого списка вы
можете определить, насколько хорошо то или иное
средство реализует конкретный аспект SADT.
Например, средство, которое не позволяет
накладывать на диаграммы комментарии и ответы на
них, затрудняет внесение изменений в диаграмму.
Или, например, средство, которое не дает
возможности ввести в глоссарий новый термин при
определении имени блока или метки дуги,
вынуждает пользователя постоянно просматривать
диаграммы для определения нужных терминов.
Кроме того, этот список поможет вам
определить объем работы, необходимой для
создания автоматизированной поддержки SADT.
Во-первых, определите принципиальную схему,
лежащую в основе базы данных. Во-вторых,
определите архитектуру проекта, позволяющую не
только четко разделить, но и одновременно
эффективно координировать вычерчивание
диаграмм, процесс построения модели, поддержку
словаря данных и создание готовой к публикации
модели с ее дополнениями. В-третьих, определите
общий пользовательский интерфейс, который
правильно отобразит и объединит все эти функ-