Глава 21. Средства автоматизации |
В начале 70-х годов методология SADT была реализована в виде четкой формальной процедуры. Именно эту реализацию, в ходе которой SADT-аналитики использовали бланки диаграмм и титульные листы, мы и обсуждали до сих пор. Уникальный и эффективный метод кодирования связей между декомпозициями с использованием ICOM-кодов, применяемых в SADT, а также принятый в SADT способ организации рецензирования с помощью цикла автор/читатель намного облегчают бумажную реализацию. По нашему мнению, благодаря этим преимуществам SADT намного превосходит все другие методы структурного анализа, имеющие бумажную реализацию.
В конце 70-х появились компьютеры достаточной мощности и диапазона с приемлемой скоростью создания графических изображений. Это дало возможность автоматизировать те структурные методы, которые, подобно SADT, существенно опирались на графику. Хотя такие технологии в то время только начинали развиваться, ВВС США финансировали разработку первой системы автоматизации SADT (и, кстати говоря, первого автоматизированного средства для структурного анализа, делающего упор на графику), названного AUTOIDEFO.
В начале 80-х годов появился умещающийся на письменном столе персональный компьютер с графическими возможностями. Это привело к созданию автоматизированных рабочих мест для нескольких графических методов структурного анализа. В это же время первые попытки реализации SADT на мини- и микрокомпьютерах были предприняты в США, Европе и Скандинавии. Одним из результатов таких попыток стало создание автоматизированного рабочего места SADT во Франции, названное SPECIF_X. В этой главе описываются как AUTOIDEFO, так и SPECIF_X. Мы дадим обзор их возможностей, опишем интерфейс с пользователем, обсудим требуемые технические средства.
В программе ВВС США, связанной с интегрированной компьютеризацией производства 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 должна обеспечить более эффективное соотношение между ценой и производительностью, сохраняя прежнюю функциональность.
Возникнув первоначально в Соединенных Штатах, методология 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 поддерживает цикл автор/читатель, позволяя организовывать диаграммы в папки, которые затем могут читать другие пользователи программного средства.
Пакет 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 поддерживает работу многочисленной группы разработчиков, создающих одновременно большую и сложную 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.
Во-первых, определите принципиальную схему, лежащую в основе базы данных.
Во-вторых, определите архитектуру проекта, позволяющую не только четко
разделить, но и одновременно эффективно координировать вычерчивание диаграмм,
процесс построения модели, поддержку словаря данных и создание готовой
к публикации модели с ее дополнениями. В-третьих, определите общий пользовательский
интерфейс, который правильно отобразит и объединит все эти функ-
|
|
|
Продукты:
Модели |
Объект Набор вопросов Точка зрения Иерархия |
Ограниченный объект Цель модели Точка зрения модели Номера узлов, номера блоков |
Диаграммы | Декомпозиция
Версии, варианты Сложность Ясность |
Диаграмма,
списки данных и функций
С-номера Правило от трех-до-шести Правила построения диаграмм |
Дополнения | Объяснения
Акценты Терминология Резюме |
Листы
текста
Листы рисунков Листы глоссария, Словарь данных Список узлов |
Язык:
Функции |
Функция Вход Выход Управление Исполнитель Имена |
Блок Левая сторона блока Правая сторона блока Верхняя сторона блока Нижняя сторона блока Метки |
Данные | Данные
Управление Поток Конвейер Имена |
Дуга
Дуга Дуга Соединение и разветвление дуг Метки |
Интерфейсы | Ограниченный
объект
Связка интерфейса Подавление |
Блок
и его дуги
ICOM-коды Начало или конец дуги, помещенной в тоннель |
Аннотации | Комментарии
Ответы Решения Свойства Последовательность Примечание |
Примечания
с "кружком"
-⌠ ⌠- -⌠ ⌠- Метки свойств Правила действий Примечание Квадратные "с квадратом" |
Процесс: | Объяснение
Опрос Описание Критика Распространение Одобрение Публикация |
Эксперты
Авторы Авторы Рецензенты, цикл автор/читатель Папки, Библиотекарь Комитет технического контроля Библиотекарь, формат публикации модели |
ции. Сделав все это, вы получите достаточно знаний, чтобы оценить объем усилий, необходимых для создания автоматизированного SADT-сред-ства. Мы предполагаем, что вы поймете, насколько это большой и дорогостоящий проект.
Современный уровень информационной технологии
предоставляет богатый выбор методов для создания автоматизированной поддержки
SADT. Наиболее доступным на сегодняшний день SADT-средством является Design/I
DEF (Meta Software Corp.)- изначально построенный в рамках программы интегрированной
компьютеризации производства и широко используемый ныне в различных областях
деятельности. Автоматизированная поддержка SADT видится нам в развитии
от просто графического средства до программного обеспечения, функционирующего
на базе знаний более общих понятий моделирования. Такие развитые средства
должны обладать способностью понимать семантику взаимосвязанной сети диаграмм
SADT и множества моделей, а также объединять это множество сведений и правил
с другими технологиями.