|
| ||||||||||||
| ||||||||||||
Методология DATARUN и CASE-система SILVERRUNС. Панащук, Компания Аргуссофт При разработке крупных информационных систем необходим как единый методологический подход к процессу проектирования, так и средства автоматизированной поддержки этого подхода. Методология DATARUN и CASE-система SILVERRUN обеспечивают эти требования на уровне, соответствующем современному состоянию развития программной инженерии. Фирма-производитель
Американская фирма Computer Systems Advisers, Inc. (CSA) является поставщиком средств
проектирования и создания информационных систем архитектуры "клиент-сервер", а также занимается
консалтингом в области информационных технологий. Продукты фирмы используются в более 5000 мест
по всему миру. Среди пользователей - известнейшие представители компьютерного бизнеса (Apple, Cray,
Data General, IBM, Intel, Lotus Development, Texas Instruments), финансовой сферы (American Express,
Citibank, Morgan Guarantee Trust, World Bank), производители массовых товаров и услуг (General
Electric, Pepsicola, Pizza Hut, Polaroid), университеты (Harvard, Stanford, Yale), кинокомпании (MCI,
Walt Disney). Методология DATARUN
Высокая динамичность рынка требует от организаций быстрого развития информационно-
технологической инфраструктуры. Одной из ее наиболее важных и дорогостоящих составляющих
является информационная система, для реализации которой применяются современные технологии:
архитектура клиент/сервер, распределенные базы данных, сложные сети коммуникаций, развитые
интерфейсы пользователя. Все это ставит перед разработчиком проблему выбора инструментальных
средств и технологий для ведения проекта.
Такой автоматизированный комплекс поддержки выполнения проектов, основанный на современной методологии проектирования и эффективном CASE-средстве, создает все необходимые условия для быстрого создания сложных информационных систем с высоким качеством. Основные этапы методологии DATARUN
Строится функциональная (DFD) и информационная (ER) модели предметной области. При построениии
функциональной модели выявляются первичные структуры данных, которые преобразуются в сущности
ER-модели. Результат: Модель бизнес-процессов, содержащая Первичные структуры данных, и
Концептуальная модель данных.
Принимается решение, из каких приложений (подсистем) будет состоять система. Анализируются
существующие системы. Архитектура системы документируется в виде DFD, где функции представляют
компоненты приложений с указанием используемой информации (путем ссылки на сущности и связи ER-
модели). ER-модель также делится на группы сущностей, обрабатываемых приложениями. Результат:
Архитектура информационной системы.
На основе концептуальной ER модели строится реляционная модель данных. Части ER-модели,
соответствующие различным приложениям, оформляются как подсхемы базы данных. Для каждого
приложения создается (возможно, разными группами разработчиков) детальный проект. Строится модель
системных процессов (программных функций) и подсхемы базы данных для каждой функции
(спецификация интерфейса). Поскольку все приложения работают с подсхемами одной базы данных,
обеспечивается их совместная работа. Результат: Реляционная модель данных. Для каждого приложения -
Модель данных приложения, Модель системных процессов. Для каждого интерфейса в приложении -
Спецификация интерфейса.
Из модели базы данных генерируется код для ее создания на сервере. Программируются системные
процессы. При этом возможно разнесение процессов по узлам распределенной системы (часть процессов
реализуется как хранимые процедуры на сервере, часть как сервисы монитора транзакций, часть - как
программы клиентской части). Интерфейс приложений (обычно составляющий до 70-80% всей системы)
может быть быстро создан перенесением соответствующей ему подсхемы базы данных в среду языка 4-го
поколения).
Созданные приложения объединяются в единую среду и тестируются на совместимость. Поскольку все
приложения строились на основе общей глобальной модели данных, достигается высокая степень
интеграции. CASE-система SILVERRUN
CASE-система SILVERRUN американской фирмы Сomputer Systems Advisers, Inc. (CSA) используется для
инструментального обеспечения анализа и проектирования информационных систем бизнес-класса. Она
применима для поддержки любой методологии, основанной на раздельном построении функциональной и
информационной моделей (диаграмм потоков данных и диаграмм "сущность-связь").
SILVERRUN состоит из трех основных подсистем: модуля построения диаграмм потоков данных BPM
(Business Process Modeler) и двух модулей построения диаграмм "сущность-связь": концептуальных
моделей - модуль ERX (Entity Relationship eXpert) и реляционных моделей - модуль RDM (Relational Data
Modeler). Каждый модуль является самостоятельным продуктом и может приобретаться и использоваться
отдельно. Для интеграции подсистем в единое целое служит менеджер репозитория WRM (Workgroup
Repository Manager).
Проектные данные могут быть представлены множеством способов. Это спецификации функций, файлов
баз данных, экранов ввода информации, бланков документов и картотек. Что же общего между этими
столь разными представлениями? Это содержащиеся в них данные. В конечном счете, информационная
система - это система хранения и обработки информации. Поэтому в SILVERRUN основой всех
представлений являются данные. Они являются общей частью всех формализмов (типов описаний) и
универсально обрабатываются всеми модулями.
Диаграммы потоков данных, создаваемые в SILVERRUN, соответствуют современному развитию
принципов структурного анализа. В системе имеется возможность изменять внешний вид символов
диаграмм и выбирать отображаемые в них дескрипторы, включая определяемые пользователем. На рис. 1 показан экран определения нотации модуля BPM. Также можно выбирать
набор правил, проверяемых процедурой анализа корректности модели. В SILVERRUN встроено
несколько предопределенных нотаций и наборов правил, соответствующих наиболее известным методам
построения DFD: Gane/Sarson, Yourdon/DeMarco, Merise, Ward/Mellor.
Рис. 1. Экран определения нотации модуля BPM
К специфическим особенностям системы относится возможность использования символьных
иерархических идентификаторов процессов вместо числовых, а также удобные функции автоматической
перенумерации объектов диаграмм в порядке расположения на схеме или в указанной пользователем
последовательности. Система может строить дерево процессов и дает возможность переопределять их
иерархическую вложенность перемещением процессов из одних узлов дерева в другие.
В процессе первичного анализа данных, собранных из разных источников, необходимо выявить основные
информационные понятия (сущности) и их взаимосвязи. Эта деятельность поддерживается модулем ERX, в
который встроена экспертная система, помогающая реструктурировать "сырую" информацию и привести
ее к виду, допускающему реализацию в реляционной СУБД. На рис. 2 показана структура данных, а нa
рис. 3 - модель "сущность-связь" в третьей нормальной форме, автоматически
построенная модулем ERX из этой структуры и нормализованная в процессе ответов пользователя на
задаваемые системой вопросы.
Data structure
Name : Заказ
Composition :
Заказ Номер
Заказ Дата
Покупатель Имя
Покупатель Адрес
Продукт
Продукт Название
Продукт Цена
Продукт Количество
Продукт Стоимость
Заказ Стоимость
Рис. 3. Модель "сущность-связь", автоматически построенная модулем ERX
Рис. 4. Модель базы данных в модуле RDM Структура данных, на основе которой будет строится ER-модель
Любые комбинации столбцов таблиц и связей можно выделить для генерации индексов. SILVERRUN
сама может сгенерировать индексы для первичных и альтернативных ключей, а также операторы
контроля ссылочной целостности на основе характеристик связей.
Рис. 5. Экран выбора символов для характеристик связей
Различные группы пользователей имеют доступ к разным подмножествам базы данных и к ограниченному
набору операций над ними. Для моделирования пользовательских (внешних по терминологии ANSI
SPARC) представлений в модуле RDM используется механизм подсхем. Подсхема - это подмножество
модели данных, доступное конкретному приложению или группе пользователей. SILVERRUN позволяет
управлять "прозрачностью" границы между схемой и подсхемой, а также по требованию интерактивно
переносить изменения из схемы в подсхему и наоборот. Число уровней подсхем не ограничено: можно
создавать подсхемы подсхем.
Спецификации схемы (или подсхемы) можно перенести через соответствующий мост в среду разработки
приложений или сгенерировать схему базы данных для СУБД.
--
================================================
===
-- table: Order
--
================================================
===
create table Order
(
OrderNum INTEGER not null,
OrderDate DATE default TODAY not null,
OrderCost MONEY not null,
CustomerName CHAR not null,
primary key (OrderNum)
)
;
--
================================================
===
-- referential integrity triggers section
--
================================================
===
-- =======================================
-- Procedure raise_exception for errors messages
-- =======================================
create procedure
messages_errors(errno INTEGER, isam INTEGER, errmsg char(255))
raise exception errno, isam, errmsg;
end procedure;
--
================================================
===
-- Controls the INSERT action on table Order.
-- Rule : CHILD INSERT RESTRICT
-- Parent : Customer
-- Child : Order
-- Direction : Order_Customer
--
================================================
===
create trigger tr_ins_Order insert on Order
referencing NEW as inserted
for each row
when
(
(select count(*) from Customer
where
inserted.CustomerName = Customer.CustomerName
) = 0
)
(
execute procedure messages_errors
(
-746,
0,
'Insert of "Order" denied: corresponding "Customer" does not
exist.'
)
)
;
--
================================================
===
-- Controls the DELETE action on table Customer.
-- Rule : PARENT DELETE RESTRICT
-- Parent : Customer
-- Child : Order
-- Direction : Customer_Order
--
================================================
===
create trigger tr_del_Customer delete on Customer
referencing OLD as deleted
for each row
when
(
exists
(
select * from Order
where
Order.CustomerName = deleted.CustomerName
)
)
(
execute procedure messages_errors
(
-746,
0,
'Delete of "Customer" denied: referencing "Order" exists.'
)
)
;
SILVERRUN постоянно развивается. Регулярно выпускаются новые версии системы и постоянно
обновляются мосты, что позволяет работать с самыми последними версиями поддерживаемых продуктов.
Динамичность развития системы показывает, что SILVERRUN находится на передовом рубеже среди
высокотехнологичных систем. |
|
CITForum © 1997–2025