автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.16, диссертация на тему:Разработка системы словаря данныхдля проектирования гибких информационныхприложений

кандидата физико-математических наук
Ермолаев, Вадим Анатольевич
город
Запорожье
год
1994
специальность ВАК РФ
05.13.16
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка системы словаря данныхдля проектирования гибких информационныхприложений»

Автореферат диссертации по теме "Разработка системы словаря данныхдля проектирования гибких информационныхприложений"

Запорожский государственный университет

На правах рукописи

РГ6 ОД УДК 519.7+ 681.518

Ермолаев Вадим Анатольевич

Разработка системы словаря данных д ля проектирования гибких информационных приложений

Специальность 05.13.16 - Применение вычислительной техники,

математических методов, математического моделирования в научных исследованиях

Автореферат

диссертации на соискание ученой степени кандидата физико - математических наук

Запорожье 1994

Работа выполнена на кафедре Прикладной математики Запорожского государственного университета.

Научный руководитель - доктор технических наук, профессор Толок В.А.

Официальные оппоненты - доктор технических наук, профессор Шейко Т.И.

- доктор физико - математических наук, профессор Перепелица В.А.

Ведущая организация - Днепропетровский государственный университет

Защита состоится в-1994 г. в ^У~час. ¿>0 мин.

в ауд. ¿у5~~ на заседании специализированного Совета К 068.52.02 Запорожского государственного университета по адресу: 330600, ГСП - 41, Запорожье, ул. Жуковского, 66.

С диссертацией можно ознакомиться в библиотеке университета.

Отзывы в двух экземплярах, заверенные печатью, просим направлять на имя ученого секретаря специализированного Совета по адресу: 330600, ГСП - 41, Запорожье, ул. Жуковского, 66.

Автореферат разослан " 1994 г.

Общая характеристика работы

Актуальность работы

Компьютерные информационные системы в настоящее время внедряются практически во все отрасли науки, производства, социальной сферы. Одной из важнейших характеристик информационной системы является её гибкость по отношению к потребностям пользователя, а следовательно, и постоянное изменение, совершенствование в её жизненном цикле.

Информационные системы, построенные с применением традиционных методов проектирования, являются объектами достаточно статичными. Их модификация в процессе жизненного цикла требует постоянных усилий квалифицированного персонала. Именно этот факт является одной из основных причин существования служб сопровождения информационных систем. Кроме того, выполнение модификаций информационных систем требует значительных затрат по переработке программного обеспечения. Для снижения трудоемкости проектирования и сопровождения информационных систем применяются словари данных. Существующие словари данных предназначены для хранения описаний данных информационной системы в своих таблицах и используются в качестве средства для ведения структур данных. Такая локализация описания данных, к сожалению, не дает возможности избавиться от недостатков, заложенных в традиционных методах проектирования и реализации информационных систем. Причиной этого является жёсткая зависимость функциональных блоков программной системы от конкретного набора атрибутов объектов, составляющих информационную модель, которая вызывает переделку программ информационной системы при любом изменении модели данных.

Достичь желаемой гибкости функциональных блоков информационной системы можно усилив традиционные системы словаря данных включаемыми в программы приложения средствами описания данных, примитивами обработки объектов, отношений и атрибутов модели данных предметной области и другими элементами, реализующими инвариантные к специфике приложения структурные ¿¡.'¡»менты информационной системы. Изменения в модели данных, таким образом, будут сведены к выполнению модификаций в управляющих таблицах словаря данных к. возможно, к некоторым изменениям в той части программного обеспечения, которая зависит от специфики приложения. Это позволит существенно увеличить гибкость приложения, существенно снизить затраты на сопровождение системы, повысив её надёжность.

Поэтому задача построения такой системы словаря данных и гибкого программного конструктора информационных приложений на основе развития идей, заложенных в системы словаря данных, а также задача определения разумных границ адаптивности примитивов обработки информационных объектов, представляется весьма актуальной. Создание программного конструктора информационных приложений позволяет существенно снизить удельный вес эта-

пов программирования, отладки, тестирования программных систем обработки данных в цикле их проектирования, сопровождения и развития и использовать технологию оперативной сборки и настройки системы на выбранную предметную область в соответствии с пожеланиями пользователя.

Использование универсальных компонент в разрабатываемом приложении вызывает некоторое увеличение накладных расходов на выполнение функций приложения, что является платой за гибкость и надежность прикладных программ. Важным, тем не менее, является то, что при небольшом утяжелении прикладных программ удается получить качественный выигрыш за счет:

• автоматического соблюдения правил обеспечения целостности данных;

• эффективного использования готовых унифицированных программных интерфейсов обработки информационных объектов;

• получения дополнительных возможностей управления режимами приложения при помощи данных;

• значительного снижения объемов (а, следовательно, и затрат) программирования.

Утяжеление прикладных программ будет незначительным, поскольку при разработке любого приложения так или иначе приходится создавать специальные программы для обеспечения целостности данных, работа которых требует практически тех же затрат, что и функционирование универсальных компонент системы словаря данных.

Цель работы

Целью настоящей работы является разработка и создание эффективного аппарата проектирования и создания гибких информационных приложений на базе системы словаря данных, включающей как автономные, так и погружаемые в приложение компоненты, использование этого аппарата для проектирования информационных систем "Учет путевых листов" и "Абитуриент".

Достижение цели работы

Достижение цели данной работы предполагает решение следующих основных задач:

• исследование принципов построения информационных систем, их структуры и разработка концепции взаимодействия структурных компонент информационных систем;

• разработка концепции построения системы словаря данных реализующей инвариантные по отношению к предметной области структурные компоненты информационной системы;

• разработка средств описания информационных объектов, их атрибутов и взаимосвязей на основе методов реляционной алгебры;

• разработка функционально полного множества примитивов обработки информационных объектов, основанного на реляционных принципах;

• разработка системы словаря данных, содержащей в себе средства, реализующие те компоненты информационных систем, которые не зависят от специфики предметной области;

• разработка программного конструктора информационных систем на базе системы словаря данных;

• разработка технологии проектирования и построения информационных приложений на базе системы словаря данных и программного конструктора приложений;

• сравнительный анализ затрат на разработку информационной системы и её характеристик при проектировании по традиционной технологии и с использованием разработанной технологии.

Методы исследования

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

Научная новизна

Научная новизна диссертационной работы заключается в следующих результатах, выносимых на защиту:

• сформулирована концепция системы словаря данных для разработки информационных приложений, определена структура системы словаря данных;

• разработаны новые управляющие структуры, алгоритмы описания информационной модели и манипуляции данными информационного приложения, разработан аппарат обеспечения связей между отношениями на базе атрибутов - связок, доказаны леммы о видах связей и ограничениях целостности данных, разработаны принципиально новые средства обеспечения связей между программами и данными информационной системы, разработаны гибкие средства обеспечения различных представлений таблиц данных и стратегий их обработки;

• разработан набор функциональных примитивов обработки реляционных отношений, доказана теорема о его функциональной полноте;

• на базе полученных теоретических результатов реализована система словаря данных для СУБД Clipper;

• на базе разработанной системы словаря данных построен программный конструктор информационных приложений для СУБД Clipper, содержащий в своем составе компоненты для реализации полноэкранного табличного

интерфейса обработки отношений, подсистемы поддержки архива данных приложения, подсистемы разграничения доступа и организации пользовательских представлений данных и др., разработана методика проектирования и создания гибких информационных приложений на основе системы словаря данных и программного конструктора информационных приложений.

Практическая ценность

Разработанный в диссертации теоретический аппарат описания и манипуляции данными информационной системы явился базой создания системы словаря данных для одной из наиболее широко используемых в практической работе СУБД Clipper. Разработанная система словаря данных качественно улучшила характеристики СУБД Clipper как среды разработки информационных приложений, а также характеристики гибкости и надежности разрабатываемых прикладных информационных систем.

На базе системы словаря данных разработан программный конструктор информационных систем, позволяющий существенно повысить эффективность проектирования и создания информационных приложений.

Разработанные в диссертации методы, подходы, программные и структурные компоненты могут быть применены для организации работы с данными любой природы. В качестве примеров областей приложений можно предложить:

• использование в системах САПР для организации хранения и манипуляции библиотек различных графических элементов, формообразующих компонент;

• использование в системах аналитических вычислений для организации хранения, использования аналитических выражений, их взаимодействия с функциональными компонентами программ выполнения расчетов;

• применение в программах обработки экпериментальных данных для хранения, обработки информации, выполнения выборок, отчетов;

• использование в информационных системах АСУ, АСУТП;

• применение при разработке систем искусственного интеллекта.

Реализация результатов работы

Разработанные в диссертации система словаря данных, программный конструктор информационных приложений, методика проектирования и создания информационных систем эффективно использованы при реализации информационных систем "Учет путевых листов" и "Абитуриент", что нашло отражение в работе.

Апробация работы

Апробация результатов диссертационной работы проводилась:

• на научной конференции ЗГУ (Запорожье, 1993 г.);

• на конференции "Новые информационные технологии" КПИ (Киев, 1993 г.);

6

• на семинаре в центре компьютерных информационных систем муниципалитета г. Эрншельдсвик (Швеция, 1993 г.);

• на семинаре в отделении обработки данных факультета компьютерных систем университета

г. Умеа (Швеция, 1993 г.);

• на заседании кафедры Прикладной математики ЗГУ (1993 г.), научном семинаре этой кафедры (1993 г.).

Структура и объем работы

Работа состоит из введения, трех глав, заключения, библиографии, приложений. Она содержит 18. е., из них 106 с. машинописного текста, 19 рисунков,библиографический список из 47 наименований, 7 приложений на 78 с.

Краткое содержание работы

Во введении отмечена актуальность темы диссертации, формулируется цель работы, задачи и излагаются основные положения диссертации.

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

В параграфе 1.2 рассматриваются и анализируются особенности проектирования, построения информационных приложений. Особое внимание уделяется обеспечению изменений программного обеспечения в процессе его жизненного цикла, поскольку необходимость таких изменений диктует серьезные требования к гибкости и надежности программного обеспечения. Указанные требования, приемы организации работ по сопровождению информационных систем исследованы, например, в работах Ш. Атре, Дж. Уэлдона, Дж. Мартина, В.М. Савинкова, О.М. Вейнерова, М.С. Казакова, А.Н. Наумова, В.И. Саликовского, В.П. Тихомирова, В.Н. Цоя, Б. Десаи. В параграфе также анализируются накопленный опыт использования систем управления базами данных (СУБД) для разработки информационных систем, рассматриваются компоненты функционально полной СУБД, обосновывается выбор реляционной модели данных, впервые предложенной в работах Е. Кодда, для проектирования модели данных информационного приложения.

Параграф 1.3 посвящен рассмотрению существующих словарей данных, сравнительному анализу их функций и возможностей. Анализ выполнен на примере трех широко распространенных разработок словарей данных: словаря данных СУБД DB2, словаря данных СУБД ADABAS и словаря данных СУБД ВЕРА. Результатом этого анализа является вывод о том, что существующие словари данных предназначены только для хранения описаний баз данных и используются

как сервисные средства администратора баз данных. Вместе с тем высказывается идея о том, что развитие концепции системы словаря данных, придание ей дополнительных функций обработки элементов модели данных, позволить использовать систему словаря данных в качестве эффективного аппарата построения информационных прикладных систем.

В параграфе 1.4 исследуется общая структурная схема информационной системы. На основе структуры информационной системы, предложенной Дж. Мартином, выполняется анализ компонент, блоков структуры, выделяются компоненты интерфейса между программами и базой данных. Программная компонента информационной системы структурно подразделяется на ту ее часть, которая зависит от специфики приложения, и компоненты, инвариантные по отношению к специфике прикладных алгоритмов, выполняется структурирование универсальных программных компонент по функциям и уровням интерфейсов. В параграфе развивается идея использования в качестве интерфейса между программами и данными информационной системы управляющих блоков и таблиц системы словаря данных, являющихся отображением модели данных предметной области, выполняется структурирование компонент модели данных. Результатом параграфа является разработанная детальная структурная схема информационной системы (см. рис 1).

Программы информационной системы

\ Компоненты, инвариантные к схемам отношении

1 Примитивы обработки отношении

Часть системы, зависящая от приложения

Компоненты обеспечения целостности данных и их связей с программами

Модель данных

Схемы отношений

Функционал связи атриб;

ьные атрибутов

„ Стратегии обработки таблиц

Управление программами приложения

Компоненты системы словаря данных

Компоненты, разрабатываемые на базе системы словаря данных

рис. 1

Задачи разработки элементов системы словаря данных ставятся в параграфах 1.5 - 1.9. Этими задачами являются:

• разработка аппарата представления связей между различными информационными объектами данных;

• разработка механизмов обеспечения различных представлений таблиц базы данных и соответствующих этим представлениям стратегий обработки таблиц;

• разработка функционально полного набора универсальных реляционных примитивов обработки данных;

• разработка аппарата обеспечения независимости программ приложения от управляющих данных;

• разработка универсальных средств обеспечения целостности данных.

Результаты проделанного в главе анализа и постановки задач разработки структурных компонент системы словаря данных подводятся в параграфе 1.10, который посвящен формулировке требований к системе словаря данных и разработке ее структуры. На основании анализа, проведенного в главе, сформулированы следующие требования к системе словаря данных:

Система должна содержать средства для описания модели данных предметной области, включающие:

• описание объектов, атрибутов данных;

• описание отношений, использующее механизм цепочек связи между первичными и порожденными атрибутами;

• описание стратегий обработки таблиц;

• описание пользовательских представлений данных;

• описание управляющих атрибутов и связей между их значениями и программами приложения.

Система должна предоставлять полный реляционный набор программных примитивов манипуляции данными, обладающих следующими свойствами:

• инвариантностью по отношению к структурам обрабатываемых объектов данных;

• инвариантностью по отношению к набору стратегий обработки таблиц данных;

• обеспечением механизма каскадирования при обработке значений первичных и порожденных атрибутов;

• обеспечением механизмов обработки транзакций.

Система должна содержать как автономные, так и встраиваемые в приложение программные средства обеспечения целостности данных.

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

Структура системы словаря данных приведена на рис. 2.

Таблицы словаря данных

Объекты

Индексы

Атрибуты

Связи

"Связи с ПО

Фильтры

Описание информационных объектов

Описание индексов

Расширенное описание атрибутов и обратных связей в отношениях

Описание связей между объектами

Описание связей управляющих данных и программ

Описание пользовательских представлений данных

Подсистема обеспечения целостности данных

Автономные программы проверки и обеспечения целостности данных

Управляющие блоки

Включаемые в приложение программы: инициализация, открытие таблиц, проверка полномочии

Набор программных примитивов обработки данных

| - | Элементы, частично реализованные в существующих словарях данных | - | Компоненты системы, работающие в составе приложения

рис.2

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

В параграфе 2.1 расширяются и уточняются классические определения основных структурных элементов модели данных: схемы отношения, кортежей отно-

шения, активных доменов атрибутов отношения. Так, например, определение схемы отношения формулируется следующим образом:

Схемой И отношения г будем называть 4-х местный кортеж

К=(1,А,0,Т),

где:

I - заголовок схемы отношения,

А= 1 А1,А2,..., Ак I. -множество дескрипторов атрибутов,

I " ¡ = 1.....к,

0= ^>1,02,«., Вк|. - множество доменов атрибутов, 13]=с!ош(а]), '¡ = 1,..., к, Т= ^Т1,Т2,.... Тк|. - множество типов атрибутов,

к - количество атрибутов в отношении.

В отличие от традиционного определения схемы отношения, сформулированного в ряде работ, посвященных теории реляционной алгебры (напр. Д. Мейера), приведенное определение усилено элементом Т (множество типов атрибутов), в определении вместо множества атрибутов введено множество дескрипторов атрибутов, содержащее информацию о типе данного и длине атрибута.

В параграфе разрабатываются структуры управляющих таблиц словаря данных "Объекты" и "Атрибуты", управляющих блоков "МОДЕЛЬ" и "ОБЪЕКТ", а также механизмы их связи и взаимодействия.

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

• сформулированы формальные определения для каждого из трех существующих видов связей - один к одному, один ко многим и многие ко многим;

• доказано, что связи между отношениями могут быть описаны при помощи связи вида один ко многим между атрибутами этих отношений;

• введены понятия первичного и порожденного атрибутов-связок, исследованы их свойства, вытекающие из ограничений реляционной теории для целостности объектов и связей;

• на базе разработанных положений об атрибутах-связках создан аппарат реализации реляционных операций над кортежами: добавления кортежа, модификации кортежа, удаления кортежа, учитывающий связи между объектами данных и ограничения целостности, разработаны алгоритмы для реализации каждой операции;

1 разработаны структуры управляющей таблицы "Связи" и управляющего блока "СВЯЗИ" системы словаря данных для поддержки средств описания и обработки связей между объектами данных.

Структура управляющего блока "СВЯЗИ" приведена на рис. 3.

Идентификатор первичного атрибута

Идентификатор отно- _ шения с порожденными атрибутами

рис. 3

Идентификатор, порожденного атрибута

Параграф 2.3 посвящен разработке новых средств организации взаимодействия между программами приложения и данными. Разработанный в параграфе аппарат позволяет избавиться от необходимости внесения изменений в программы при изменении тех значений некоторых атрибутов данных, которые используются для управления режимами работы программ и при использовании традиционной технологии непосредственно кодируются в теле программы. Такие атрибуты квалифицируются в параграфе как управляющие атрибуты. Они подразделяются на две категории по виду связи с программами. Если V - множество переменных в программах приложения, связанных с некоторыми значениями некоторых управляющих атрибутов

V = ..., Ур|., то:

Атрибут а} отношения г1 со схемой 1?' будем называть управляющим атрибутом I категории, если в отношении г'существует кортеж С^ такой, что = у1>где:

- значение атрибута а] в кортеже с'',

VI 6у, 1=1.....р.

Атрибут а] отношения г1 со схемой Е1 будем называть управляющим атрибутом

! к

II категории, если в отношении г существует кортеж С и существует взаимно

однозначное семантически определенное приложением отображение f, такое, что

В параграфе исследуются правила выполнения модификаций значений управляющих атрибутов, строится отображение f в виде реляционной таблицы соответствий, доказывается следующая лемма:

Ограничение целостности для модификации управляющего атрибута II категории aj отношения г' будет выполнено, если между атрибутами f3 (отношения f) и aj (отношения г') будет установлена связь вида один ко многим, в которой атрибут ГЭ будет первичным, а атрибут aj - порожденным атрибутом.

Таким образом, для создания аппарата поддержки гибких связей между управляющими атрибутами и программами можно использовать уже разработанные средства поддержки связей между атрибутами данных.

В параграфе реализован такой аппарат в виде управляющей таблицы "Связи с ПО", управляющего блока "СВЯЗИ с ПО". В параграфе также разработан алгоритм модификации для программ, реализующих реляционные операции обработки кортежей, разработанных в параграфе 2.2.

Разработке гибких средств представления и использования различных представлений таблиц данных и соответствующих стратегий их обработки посвящен параграф 2.4. В параграфе вводится новое физическое представление таблицы данных в виде двумерного массива М [i, j ] в оперативной памяти.

В параграфе формулируется определение стратегии обработки таблицы Т, соответствующей реляционному отношению г, разрабатывается аппарат поддержки виртуальной таблицы, обеспечивающий доступ к элементам отношения г, инвариантный по отношению к виду физического представления таблицы Т, выполняется практическая разработка программных и описательных элементов этого аппарата для СУБД Clipper, разрабатывается укрупненный алгоритм реализации программных примитивов манипуляции данными, включающий в себя гибкий интерфейс, инвариантный к стратегии обработки таблицы.

В параграфах 2.1 - 2.4, таким образом, разработаны все средства, необходимые для создания набора универсальных реляционных примитивов обработки объектов данных. Решению этой задачи посвящен параграф 2.5. В параграфе разрабатывается такой набор примитивов и указываются следующие свойства примитивов:

• они инвариантны по отношению к схемам обрабатываемых отношений, поскольку используют средства системы словаря данных для представления структур отношений;

id( v|) - идентификатор переменной vi, vl GV, 1=1.....p.

• они удовлетворяют правилам целостности реляционных отношений и связей, поскольку используют аппарат системы словаря данных для обработки первичных и порожденных атрибутов;

• они позволяют избежать жестких связей программ и данных, поскольку используют технологию системы словаря данных по обработке значений управляющих атрибутов;

• они поддерживают унифицированный интерфейс поддержки различных стратегий обработки таблиц системы словаря данных.

В параграфе также доказана следующая теорема о функциональной полноте разработанного набора программных примитивов.

Множество программных примитивов манипуляции элементами отношений

Р - {ex_Select, ex_Zap, ex_Append, ex_Delete, ex_Replace, ex_Locate, ex_Continue, ex_Skip, ex_Gotop, ask_Eor, ask_Found}

является функционально полным.

Доказательство теоремы основано на реализации всех операций манипуляции отношениями реляционной алгебры только при помощи элементов разработанного набора.

Параграф 2.6 посвящен разработке на базе результатов параграфов 2.1 - 2.5 подсистемы обеспечения целостности данных для СУБД Clipper, решающей следующие задачи:

• обеспечение соответствия структуры индексов ключевым выражениям;

• обеспечение соответствия структур таблиц модели данных;

• обеспечение средств отката и восстановления данных.

В параграфе 2.7 завершается разработка структур управляющих таблиц и управляющих блоков системы словаря данных, выполняется их увязка и компоновка.

Эта работа завершает разработку системы словаря данных, структура которой была разработана в главе 1 и приведена на рис. 2.

В третьей главе работы рассматриваются вопросы практического использования системы словаря данных для разработки программного конструктора информационных приложений, разработки методики проектирования и создания информационных систем на базе системы словаря данных и программного конструктора приложений. В главе также рассматривается реализация конкретных информационных систем "Учет путевых листов" и "Абитуриент", анализируется эффективность созданных в работе методов и средств для проектирования и разработки информационных приложений.

Параграф 3.1 посвящен разработке программного конструктора приложений для СУБД Clipper , состоящего из универсальных программных блоков, реализующих компоненты прикладной системы, не зависящие от специфики приложения (см.

рис. 1). Для реализации программных блохов конструктора использован аппарат системы словаря данных. Это позволило устранить жесткие связи программ с данными предметной области и, таким образом, добиться требуемых гибкости и универсализма. Наиболее важными из разработанных блоков конструктора являются:

• программы обеспечения полноэкранного табличного интерфейса обработки отношений;

• программы обеспечения пользовательских представлений и фильтров над отношениями;

• подсистема поддержки архива данных информационной системы.

Разработанный универсальный программный блок полноэкранного табличного интерфейса использует следующие возможности, предоставляемые системой словаря данных:

• при работе с отношением использует средства описания схем отношений;

• при модификации значений связанных атрибутов использует аппарат обработки связей;

• при модификации значений управляющих атрибутов использует средства обработки связей с программами приложения;

• при обработке отношений использует унифицированный интерфейс представлений таблиц и связанные с представлением стратегии обработки.

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

Универсальный блок поддержки архива данных приложения использует аппарат описания схем отношений системы словаря данных. Это позволяет реализовать функции сохранения в архиве и восстановления из архива базы данных любой прикладной системы.

В рамках конструктора информационных приложений разработаны также и дополнительные сервисные программные блоки: оболочка работы в среде DOS, программа настройки цветовой палитры приложения, программа установки режимов работы прикладной системы.

Параграф 3.2 посвящен разработке методики проектирования информационных систем на базе системы словаря данных и программного конструктора приложений. Разработанная методика является развитием общепринятого подхода к проектированию программных систем, носящего название "сверху вниз".

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

• проектирование информационной модели и общей структуры программного обеспечения;

• включение стандартных программных компонент конструктора приложений в разрабатываемую систему;

• разработка программ, реализующих специфические функции приложения;

• завершение разработки и тестирование информационной системы.

Для каждого из этапов приводится список мероприятий, определяются его промежуточные результаты.

В параграфе 3.3 анализируется эффективность применения разработанных в диссертации системы словаря данных, программного конструктора приложений и методики проектирования информационных систем при реализации автоматизированной информационной системы "Учет путевых листов". В параграфе показан процесс создания информационной системы, приведены результаты выполнения этапов проектирования. Структура программного обеспечения системы приведена на рис. 4.

+ - режим реализован блоком конструктора приложений рис. 4

+П - режим реализован на основе блока конструктора приложений

Как видно из схемы, приведенной на рис. 4, при разработке информационной системы активно использовались элементы системы словаря данных и программного конструктора приложений. Результаты применения системы словаря данных и конструктора приложений в рассматриваемой разработке можно проиллюстрировать следующими цифрами:

Всего Реализовано блоками конструктора %

полностью частично

• Функциональные режимы 19 б 9 79

приложения

• Объем программного кода (Килобайт 805 320 40

исходного текста)

• Программные единицы 217 62 29

Компоненты системы словаря данных в общем объеме программного кода составили 5%. При помощи 45% готового программного кода реализованы 79% функций информационной системы. Из 155 разработанных для приложения программных единиц 25 были функциями пользовательского выхода для блока программ полноэкранного табличного интерфейса. Их объем составил 186 килобайт (37.5% от объема разработанных программ). Полученные результаты позволяют говорить о существенном увеличении эффективности разработки в результате применения разработанной методики построения приложений, системы словаря данных и программного конструктора приложений.

Одним из выводов, который можно сделать на основании полученного фактического материала, является вывод о возможности создавать простые приложения без разработки новых программ. Используя элементы программного конструктора, можно перейти к технологии оперативной сборки информационной системы из готовых программных компонент и настройки их на специфические требования пользователя при помощи интерфейса пользовательских программ выхода.

Кроме значительного выигрыша, выражающегося в увеличении эффективности проектирования и программирования приложений, использование системы словаря данных позволяет получить качественно новые результаты, недоступные при использовании стандартных средств разработки информационных систем. Такое новое качество разработки продемонстрировано в параграфе 3.4 на примере создания информационной системы "Абитуриент".

Для проектирования программного обеспечения, гибко настраивающегося на изменение правил приема в ВУЗ в системе "Абитуриент" использован аппарат связей с ПО системы словаря данных.

Использованный аппарат системы словаря данных позволил организовать хранение правил приема в ВУЗ в виде расчетных формул и указателей режимов расчета в базе данных информационной системы. Это позволило

обходиться без изменения программ расчета общей суммы баллов и некоторых других функциональных компонент системы "Абитуриент" при любом изменении правил. Изменения свелись к модификации таблиц базы данных информационной системы и управляющей таблицы "Связи с ПО" словаря данных.

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

В приложениях диссертационной работы приведены:

• тексты программ преобразования представлений таблиц для различных стратегий обработки;

• тексты программ функциональных примитивов обработки объектов данных;

• тексты программ подсистемы контроля целостности данных;

• тексты программ, реализующих полноэкранный табличный интерфейс обработки отношений;

• тексты программ подсистемы поддержки фильтров;

• тексты программ архивной подсистемы;

• содержимое управляющих таблиц, системы словаря данных для информационной системы "Учет путевых листов".

В заключении приведены основные результаты диссертационной работы:

• исследованы принципы построения гибких информационных приложений, определены механизмы взаимодействия структурных компонент информационной системы, интерфейсы взаимодействия программ и данных, способы устранения жестких взаимосвязей по каждому из интерфейсов;

• определены базовые средства для построения оригинальной концепции проектирования гибких информационных систем, отмечены основные критерии гибкости и функциональной полноты информационных приложений;

• сформулирована концепция системы словаря данных для разработки информационных приложений, определена структура системы словаря данных;

• разработаны новые управляющие структуры, алгоритмы описания информационной модели и манипуляции данными информационного приложения;

• разработан аппарат обеспечения связей между отношениями на базе атрибутов - связок, доказаны леммы о видах связей и ограничениях целостности данных;

• разработаны принципиально новые средства обеспечения связей между программами и данными информационной системы;

• разработаны гибкие средства обеспечения различных представлений таблиц данных и стратегий их обработки;

• разработан набор функциональных примитивов обработки реляционных отношений, доказана теорема о его функциональной полноте;

• на базе полученных теоретических результатов реализована система словаря данных для СУБД Clipper;

• на базе разработанной системы словаря данных построен программный конструктор информационных приложений для СУБД Clipper, содержащий в своем составе компоненты для реализации полноэкранного табличного интерфейса обработки отношений, подсистемы поддержки архива данных приложения, подсистемы разграничения доступа и организации пользовательских представлений данных и др.;

• разработана методика проектирования и создания гибких информационных приложений на основе системы словаря данных и программного конструктора информационных приложений.

По теме диссертации опубликованы следующие работы:

• Ермолаев В.А., Мухин В.В. "Принципы построения системы словаря данных" .Запорожский ун-т, Запорожье, 1993.

• Ермолаев В.А. "Организация многопользовательского интерактивного режима работы с СУБД"; Запорожский ун-т. - Запорожье, 1992 - 17 е., Деп. в ГНТБ Украины 26.07.93 г., № 1616 - Ук93.