Case-технлогии
отдельных элементов модели.
Среда функционирования
Имеются реализации Silverrun трех платформ - MS Windows, Macintosh и OS/2
Presentation Manager - с возможностью обмена проектными данными между ними.
Для функционирования в среде Windows необходимо иметь компьютер с
процессором модели не ниже i486 и оперативную память объемом не менее 8 Мб
(рекомендуется 16 Мб). На диске полная инсталляция Silverrun занимает 20
Мб.
3.1.2. JAM
Средство разработки приложений JAM [28] (JYACC's Application Manager) -
продукт фирмы JYACC (США). В настоящее время поставляется версия JAM 7 и
готовится к выходу JAM 8.
Основной чертой JAM является его соответствие методологии RAD, поскольку он
позволяет достаточно быстро реализовать цикл разработки приложения,
заключающийся в формировании очередной версии прототипа приложения с учетом
требований, выявленных на предыдущем шаге, и предъявить его пользователю.
Структура и функции
JAM имеет модульную структуру и состоит из следующих компонент:
Ядро системы;
JAM/DBi - специализированные модули интерфейса к СУБД (JAM/DBi-Oracle,
JAM/DBi-Informix, JAM/DBi-ODBC и т.д.);
JAM/RW - модуль генератора отчетов;
JAM/CASEi - специализированные модули интерфейса к CASE-средствам (JAM/CASE-
TeamWork, JAM/CASE-Innovator и т.д.);
JAM/TPi - специализированные модули интерфейса к менеджерам транзакций
(например, JAM/TPi-Server TUXEDO и т.д.);
Jterm - специализированный эмулятор X-терминала.
Ядро системы (собственно, сам JAM) является законченным продуктом и может
самостоятельно использоваться для разработки приложений. Все остальные
модули являются дополнительными и самостоятельно использоваться не могут.
Ядро системы включает в себя следующие основные компоненты:
редактор экранов. В состав редактора экранов входят: среда разработки
экранов, визуальный репозиторий объектов, собственная СУБД JAM - JDB,
менеджер транзакций, отладчик, редактор стилей;
редактор меню;
набор вспомогательных утилит;
средства изготовления промышленной версии приложения.
При использовании JAM разработка внешнего интерфейса приложения
представляет собой визуальное проектирование и сводится к созданию экранных
форм путем размещения на них интерфейсных конструкций и определению
экранных полей ввода/вывода информации. Проектирование интерфейса в JAM
осуществляется с помощью редактора экранов. Приложения, разработанные в
JAM, имеют многооконный интерфейс. Разработка отдельного экрана заключается
в размещении на нем интерфейсных элементов, возможной (но не обязательной)
их группировке и конкретизации различных их свойств, включающих визуальные
характеристики (позиция, размер, цвет, шрифт и т.п.), поведенческие
характеристики (многообразные фильтры, форматы, защита от ввода и т.п.) и
ряд свойств, ориентированных на работу с БД.
Редактор меню позволяет разрабатывать и отлаживать системы меню.
Реализована возможность построения пиктографических меню (так называемые
toolbar). Назначение каждого конкретного меню тому или иному объекту
приложения осуществляется в редакторе экранов.
В ядро JAM встроена однопользовательская реляционная СУБД JDB. Основным
назначением JDB является прототипирование приложений в тех случаях, когда
работа со штатной СУБД невозможна или нецелесообразна. В JDB реализован
необходимый минимум возможностей реляционных СУБД за исключением индексов,
хранимых процедур, триггеров и представлений (view). С помощью JDB можно
построить БД, идентичную целевой БД (с точностью до отсутствующих в JDB
возможностей) и разработать значительную часть приложения.
Отладчик позволяет проводить комплексную отладку разрабатываемого
приложения. Осуществляется трассировка всех событий, возникающих в процессе
исполнения приложения.
Утилиты JAM включают три группы:
конверторы файлов экранов JAM в текстовые. JAM сохраняет экраны в виде
двоичных файлов собственного формата. В ряде случаев (например для
изготовления программной документации проекта) необходимо текстовое
описание экранов;
конфигурирование устройств ввода/вывода. JAM и приложения, построенные с
его помощью, не работают непосредственно с устройствами ввода/вывода.
Вместо этого JAM обращается к логическим устройствам ввода/вывода
(клавиатура, терминал, отчет). Отображение логических устройств в
физические осуществляется с помощью средств конфигурирования;
обслуживание библиотек экранов (традиционные операции с библиотеками).
Одним из дополнительных модулей JAM является генератор отчетов. Компоновка
отчета осуществляется в редакторе экранов JAM. Описание работы отчета
осуществляется с помощью специального языка. Генератор отчетов позволяет
определить данные, выводимые в отчет, группировку выводимой информации,
форматирование вывода и др.
Приложения, разработанные с использованием JAM, не требуют так называемых
исполнительных (run-time) систем и могут быть изготовлены в виде
исполняемых модулей. Для этого разработчик должен иметь компилятор C и
редактор связей. Для изготовления промышленной версии в состав JAM входит
файл сборки (makefile), исходные тексты (на языке C) ряда модулей
приложения и необходимые библиотеки.
JAM содержит встроенный язык программирования JPL (JAM Procedural
Language), с помощью которого в случае необходимости можно написать модули,
реализующие специфические действия. Данный язык является интерпретируемым,
что упрощает отладку. Существует возможность обмена информацией между
средой визуально построенного приложения и такими модулями. Кроме того, в
JAM реализована возможность подключения внешних модулей, написанных на
каком-либо языке, совместимым по вызовам функций с языком C.
С точки зрения реализации логики приложения JAM является событийно-
ориентированной системой. В JAM определен набор событий, включающий
открытие и закрытие окон, нажатие клавиши клавиатуры, срабатывание
системного таймера, получение и передача управления каждым элементом
экрана. Разработчик реализует логику приложения путем определения
обработчика каждого события. Например, обработчик события "нажатие кнопки
на экране" (мышью или с помощью клавиатуры) может открыть следующее
экранное окно. Обработчиками событий в JAM могут быть как встроенные
функции JAM, так и функции, написанные разработчиком на C или JPL. Набор
встроенных функций включает в себя более 200 функций различного назначения.
Встроенные функции доступны для вызовов из функций, написанных как на JPL,
так и на C.
Промышленная версия приложения, разработанного с помощью JAM, включает в
себя следующие компоненты:
исполняемый модуль интерпретатора приложения. В этот модуль могут быть
встроены функции, написанные разработчиками на языках 3-го поколения;
экраны, составляющие само приложение (могут поставляться в виде отдельных
файлов, в составе библиотек экранов или же быть встроены в тело
интерпретатора);
внешние JPL-модули. Могут поставляться в виде текстовых файлов или в
прекомпилированном виде, причем прекомпилированные внешние JPL-модули могут
быть как в виде отдельных файлов, так и в составе библиотек экранов;
файлы конфигурации приложения - файлы конфигурации клавиатуры и терминала,
файл системных сообщений, файл общей конфигурации.
Взаимодействие с другими средствами
Непосредственное взаимодействие с СУБД реализуют модули JAM/DBi (Data Base
interface). Способы реализации взаимодействия в JAM разделяются на два
класса: ручные и автоматические. При ручном способе разработчик приложения
самостоятельно пишет запросы на SQL, в которых как источниками, так и
адресатами приема результатов выполнения запроса могут быть как
интерфейсные элементы визуально спроектированного внешнего уровня, так и
внутренние, невидимые для конечного пользователя переменные. Автоматический
режим, реализуемый менеджером транзакций JAM, осуществим для типовых и
наиболее распространенных видов операций с БД, так называемых QBE (Query By
Example - запросы по образцу), с учетом достаточно сложных взаимосвязей
между таблицами БД и автоматическим управлением атрибутами экранных полей
ввода/вывода в зависимости от вида транзакции (чтение, запись и т.д.), в
которой участвует сгенерированный запрос.
JAM позволяет строить приложения для работы более чем с 20 СУБД: ORACLE,
Informix, Sybase, Ingres, InterBase, NetWare SQL Server, Rdb, DB2, ODBC-
совместимые СУБД и др.
Отличительной чертой JAM является высокий уровень переносимости приложений
между различными платформами (MS DOS/MS Windows, SunOS, Solaris (i80x86,
SPARC), HP-UX, AIX, VMS/Open VMS и др.). Может потребоваться лишь
"перерисовать" статические текстовые поля на экранах с русским текстом при
переносе между средами DOS-Windows-UNIX. Кроме того, переносимость
облегчается тем, что в JAM приложения разрабатываются для виртуальных
устройств ввода/вывода, а не для физических. Таким образом при переносе
приложения с платформы на платформу, как правило, требуется лишь определить
соответствие между физическими устройствами ввода/вывода и их логическими
представлениями для приложения.
Использование SQL в качестве средства взаимодействия с СУБД также создает
предпосылки для обеспечения переносимости между СУБД. При условии переноса
структуры самой БД в ряде случаев приложения могут не требовать никакой
модификации, за исключением инициализации сеанса работы. Такая ситуация
может сложиться в том случае, если в приложении не использовались
специфические для той или иной СУБД расширения SQL.
При росте нагрузки на систему и сложности решаемых задач (распределенность
и гетерогенность используемых ресурсов, количество одновременно
подключенных пользователей, сложность логики приложения) применяется
трехзвенная модель архитектуры "клиент-сервер" с использованием менеджеров
транзакций. Компоненты JAM/TPi-Client и JAM/TPi-Server позволяют достаточно
просто перейти на трехзвенную модель. При этом ключевую роль играет модуль
JAM/TPi-Server, так как основная трудность внедрения трехзвенной модели
заключается в реализации логики приложения в сервисах менеджеров
транзакций.
Интерфейс JAM/CASE подобен интерфейсу к СУБД и позволяет осуществить обмен
информацией между репозиторием объектов JAM и репозиторием CASE-средства
аналогично тому, как структура БД импортируется в репозиторий JAM
непосредственно из БД. Отличие заключается в том, что в случае интерфейса к
CASE этот обмен является двунаправленным. Кроме модулей JAM/CASEi,
существует также модуль JAM/CASEi Developer's Kit. С помощью этого модуля
можно самостоятельно разработать интерфейс (т.е. специализированный модуль
JAM/CASEi) для конкретного CASE-средства, если готового модуля JAM/CASEi
для него не существует.
Мост (интерфейс) Silverrun-RDM JAM реализует взаимодействие между CASE-
средством Silverrun и JAM (перенос схемы базы данных и экранных форм
приложения между CASE-средством Silverrun-RDM и JAM версии 7.0). Данный
программный продукт имеет 2 режима работы:
прямой режим (Silverrun-RDM->JAM) предназначен для создания объектов CASE-
словаря и элементов репозитория JAM на основе представления схем в
Silverrun-RDM. В этом режиме мост позволяет, исходя из представления
моделей данных интерфейса в Silverrun-RDM, производить генерацию экранов и
элементов репозитория JAM. Мост преобразует таблицы и отношения реляционных
схем RDM в последовательность объектов JAM соответствующих типов. Методика
построения моделей данных интерфейса в Silverrun-RDM предполагает
применение механизма подсхем для прототипирования экранов приложения. По
описанию каждой из подсхем RDM мост генерирует экранную форму JAM;
обратный режим (JAM->Silverrun-RDM) предназначен для переноса модификаций
объектов CASE-словаря в реляционную модель Silverrun-RDM.
Режим реинжиниринга позволяет переносить модификации всех свойств экранов
JAM, импортированных ранее из RDM, в схему Silverrun. На этом этапе для
контроля целостности базы данных не допускаются изменения схемы в виде
добавления или удаления таблиц и полей таблиц.
Групповая работа
Ядро JAM имеет встроенный интерфейс к средствам конфигурационного
управления (PVCS на платформе Windows и SCCS на платформе UNIX). Под
управлением этих систем передаются библиотеки экранов и/или репозитории.
При отсутствии таких систем JAM самостоятельно реализует часть функций
поддержки групповой разработки.
Использование PVCS (см. подраздел 3.6) является более предпочтительным по
сравнению с SCCS, так как позволяет организовать единый архив модулей
проекта для всех платформ. Так как JAM на платформе UNIX не имеет прямого
интерфейса к архивам PVCS, то выборка модулей из архива и возврат их в
архив производятся с использованием PVCS Version Manager. На платформе MS-
Windows JAM имеет встроенный интерфейс к PVCS и действия по
выборке/возврату производятся непосредственно из среды JAM.
Среда функционирования
JAM, как среда разработки, и приложения, построенные с его использованием,
не являются ресурсоемкими системами. Например, на платформе MS-Windows
достаточно иметь 8MB оперативной памяти и 50 MB дискового пространства для
среды разработки. На UNIX-платформах требования к аппаратуре определяются
самой операционной системой.
3.2. Vantage Team Builder (Westmount I-CASE) + Uniface
3.2.1. Vantage Team Builder (Westmount I-CASE)
Vantage Team Builder [14] представляет собой интегрированный программный
продукт, ориентированный на реализацию каскадной модели ЖЦ ПО и поддержку
полного ЖЦ ПО.
Структура и функции
Vantage Team Builder обеспечивает выполнение следующих функций:
проектирование диаграмм потоков данных, "сущность-связь", структур данных,
структурных схем программ и последовательностей экранных форм;
проектирование диаграмм архитектуры системы - SAD (проектирование состава и
связи вычислительных средств, распределения задач системы между
вычислительными средствами, моделирование отношений типа "клиент-сервер",
анализ использования менеджеров транзакций и особенностей функционирования
систем в реальном времени);
генерация кода программ на языке 4GL целевой СУБД с полным обеспечением
программной среды и генерация SQL-кода для создания таблиц БД, индексов,
ограничений целостности и хранимых процедур;
программирование на языке C со встроенным SQL;
управление версиями и конфигурацией проекта;
многопользовательский доступ к репозиторию проекта;
генерация проектной документации по стандартным и индивидуальным шаблонам;
экспорт и импорт данных проекта в формате CDIF (CASE Data Interchange
Format).
Vantage Team Builder поставляется в различных конфигурациях в зависимости
от используемых СУБД (ORACLE, Informix, Sybase или Ingres) или средств
разработки приложений (Uniface). Конфигурация Vantage Team Builder for
Uniface отличается от остальных некоторой степенью ориентации на спиральную
модель ЖЦ ПО за счет возможностей быстрого прототипирования,
предоставляемых Uniface. Для описания проекта ИС используется достаточно
большой набор диаграмм, конкретные варианты которого для наиболее
распространенных конфигураций приведены ниже в таблице.
|Тип |Обозн|Vantage Team |Vantage Team |Vantage Team |
|диаграммы |ачени|Builder for |Builder for |Builder for |
| |е |ORACLE |Informix |Uniface |
|Сущность-свя|ERD |+ |+ |+ |
|зь | | | | |
|Потоков |DFD |+ |+ |+ |
|данных | | | | |
|Структур |DSD |+ |+ |+ |
|данных | | | | |
|Архитектуры |SAD |+ |+ |+ |
|системы | | | | |
|Потоков |CSD |+ |+ |+ |
|управления | | | | |
|Типов данных|DTD |+ |+ |+ |
|Структуры |MSD |+ | | |
|меню | | | | |
|Последовател|BSD |+ | | |
|ьности | | | | |
|блоков | | | | |
|Последовател|FSD | |+ |+ |
|ьности форм | | | | |
|Содержимого |FCD | |+ |+ |
|форм | | | | |
|Переходов |STD |+ |+ |+ |
|состояний | | | | |
|Структурных |SCD |+ |+ |+ |
|схем | | | | |
При построении всех типов диаграмм обеспечивается контроль соответствия
моделей синтаксису используемых методов, а также контроль соответствия
одноименных элементов и их типов для различных типов диаграмм.
При построении DFD обеспечивается контроль соответствия диаграмм различных
уровней декомпозиции. Контроль за правильностью верхнего уровня DFD
осуществляется с помощью матрицы списков событий (ELM). Для контроля за
декомпозицией составных потоков данных используется несколько вариантов их
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|