Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Диплом К

.pdf
Скачиваний:
17
Добавлен:
23.03.2016
Размер:
1.22 Mб
Скачать

Выше перечислены три основных компоненты, из которых состоит разработан-

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

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

стем обработки документов, построенных по архитектуре клиент-сервер. Разработанные СОД могут работать в одноранговой сети, хранить в базах данных документы различ-

ных форматов, давать возможность одновременного доступа к одной базе данных не-

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

возможностью содержательного поиска по естественно-языковым запросам.

Характеристики разработанного программного комплекса позволяют сделать вы-

вод о повышении качества автоматизации документооборота по сравнению с суще-

ствующими подобными системами на базе реляционных СУБД и о повышении качества поиска в текстовых полях документов по сравнению с традиционными средствами по-

иска по ключевым словам.

3. КОНСТРУКТОРСКАЯ ЧАСТЬ.

3.1. Информационные системы.

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

работки информации. Программные комплексы, решающие задачи обработки информа-

ции стали называть информационными системами. Класс информационных задач чрез-

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

3.1.1. Информация и проблемы ее обработки.

В дальнейшем под информацией будем понимать совокупность данных, обраба-

тываемых программной системой. Основные типы данных, обрабатываемых в настоя-

щий момент с помощью компьютеров, представляют числовую, символьную, тексто-

вую, графическую и звуковую информацию. Под обработкой информации будем пони-

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

Перечисленные основные типы данных имеют существенные различия между со-

бой. Эти различия связаны как с разным физическим представлением (например, тек-

стовых и графических данных), так и с разным набором операций обработки (например,

для числовых и звуковых данных). Поэтому, программные продукты, созданные в нача-

ле масштабного внедрения компьютеров в сферу обработки информации, работали только с каким-то одним типом информации.

Так, например, было создано целое множество программ, обрабатывающих гра-

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

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

ных. Для работы с текстовой информацией появились полнотекстовые системы, для об-

работки звука – звуковые синтезаторы, для числовых данных – электронные таблицы, а

для символьных – системы управления базами данных.

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

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

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

например, новые текстовые редакторы “научились” включать в текст таблицы и изоб-

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

Однако это не решило проблему полностью. Так, СУБД по прежнему плохо при-

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

Дальнейшее развитие в этом направлении – технология, получившая название multimedia. Эта технология не что иное, как обработка в рамках одного документа всех перечисленных типов информации, и единые механизмы хранения ее в общей базе дан-

ных. На текущий момент полноценных multimedia-программ еще очень и очень мало,

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

Взлет интереса к multimedia связывается с развитием новой объектно-

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

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

мах.

3.1.2. Базы данных и системы управления базами данных.

Ядром всех систем обработки информации является база данных (БД). База дан-

ных – это совокупность данных, обладающих следующими качествами:

структурированностью;

взаимосвязанностью;

независимостью описания данных от прикладных программ.

Формат хранения данных непосредственно в файлах БД получил название физиче-

ского представления данных. Оперировать физическим преставлением данных было очень неудобно, так как сразу появилось много версий БД, созданных разными фирма-

1Например, поля типа BLOB в Interbase 4.0 и типа MEMO в dBase III.

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

Приведем простой пример: пользователю надо организовать базу данных работ-

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

ными форматами хранения информации. Появилось понятие логического представления

данных. В нашем примере это совокупность двух полей символьного типа – фамилии и должности.

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

позволяющий:

предоставить пользователям набор основных операций над записями БД (добав-

ление, удаление, позиционирование, чтение и т.д.);

обеспечить защиту данных от несанкционированного доступа;

разрешать конфликты при работе нескольких пользователей с одной БД в сети

(обеспечивать целостность данных);

отделить описание прикладных программ от описание форматов хранения дан-

ных.

Именно СУБД, имея на входе логическое представление данных связывала его с конкретным физическим, таким образом делая последнее прозрачным для пользователя.

Понятно, что количество различных СУБД было равно числу различных баз данных. С

момента ввода СУБД логическая структура (или просто структура) базы данных стала ее неотъемлемым атрибутом.

Активно стали развиваться теоретические исследования по моделированию раз-

личных логических представлений. Результатом явилось выделение нескольких моде-

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

реляционной;

сетевой;

иерархической.

Здесь они не будут подробно рассматриваться – это исчерпывающе сделано,

например, в [8].

3.1.3. Объектные базы данных.

Несомненно, что появление СУБД и отделение логической структуры базы дан-

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

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

ответствуют процедурной технологии программирования.

Мы позволим себе сделать вывод, что существование жесткой логической струк-

туры баз данных является сдерживающим фактором для информационных систем. Се-

годня актуальная задача – хранение в базах данных объектов. Чем отличается хранение объектов от хранения записей? В соответствии с принципами объектно-

ориентированного проектирования, при хранении объектов вне программы должны со-

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

ми или базами объектов.

Несомненно, что в базах данных с логической структурой можно организовать хранение объектов (в виде записей с полем, специально выделенным под тип). Но при этом возникают трудно разрешаемы противоречия, а именно:

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

объекты вступают в отношения между собой1, через механизмы наследования2 ,

что приводит к скрытому различию в их структурах, а одна БД может иметь

1В технологической части выделяются и подробно рассматриваются два вида отношений между

объектами – включения и использования.

2Есть и другие механизмы реализации отношений – они также описаны в технологической части.

только одну структуру, поэтому для представления объектов приходится вводить несколько БД и связывать их, например, реляционными отношениями.

Эти проблемы не фатальны, но их решение требует больших затрат, а получаемые ха-

рактеристики далекими от желаемых.

3.1.4. Сетевые баз данных.

Информация, в большей своей части, является продуктом коллективного потреб-

ления, средствами, организующими коллективную работу пользователе с компьютера-

ми, являются вычислительные сети. Естественно, что активно развиваются сетевые ин-

формационные системы, ядром которых являются сетевые СУБД.

Сетевые СУБД дополнительно решают задачи организации множественного до-

ступа нескольких пользователей к одной БД. Необходимо обеспечить параллельную ра-

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

Существует две архитектуры (две технологии) сетевых СУБД:

ориентированной на локальную вычислительную сеть1;

клиент-сервер.

Эти архитектуры не зависят от типа логической организации БД, но существенно раз-

личаются в плане разработки и функционирования.

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

выполняется с рабочих станций. По мере роста числа пользователей, работающих с од-

ной БД, производительность сетевых СУБД этого типа резко падает. Обычно СУБД,

ориентированные на ЛВС, применяют для обслуживания не более 8-10 пользователей,

имеющих ограниченный опыт работы с вычислительной техникой.

1Далее по тексту ЛВС.

2В том числе блокирование записей и многопользовательских файлов.

Основной недостаток – совмещение операций взаимодействия с пользователем и работа с БД на каждой рабочей станции, что снижает производительность при работе нескольких пользователей с одной БД. Основная причина применения – наличие широ-

кого ассортимента таких СУБД и их доступность на рынке программ. К этой категории относятся все клоны dBase, Paradox, Clipper, FoxPro и другие. Широта ассортимента связана с более ранним существованием несетевых версий этих СУБД, которые были затем доработаны по наиболее дешевому варианту.

СУБД, построенная по архитектуре клиент-сервер, по другому организует процесс доступа к БД. Она разделяет процессы обработки данных в БД и процесс взаимодей-

ствия с пользователем. Операции с БД выполняются отдельной программой, называе-

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

чей станции, и называемая клиентом.

Важно понимать, что понятия сервер и клиент в архитектуре клиент-сервер на свя-

заны с конкретными компьютерами, как в архитектуре СУБД, ориентированных на ЛВС. Эти понятия относятся к программам и отражают тип задач, выполняемых ими.

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

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

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

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

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

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

1Имеется в виду компьютер, где будет функционировать программа-сервер БД.

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

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

К этой категории относятся программные продукты Oracle, Interbase и другие.

Обычно это очень большие программные комплексы, так первые их версии делались на

UNIX-платформе и довольно недавно появились версии для персональных компьюте-

ров.

3.1.5. Системы обработки документов.

В большом числе областей информация фиксируется в документальном виде:

формируются формы документов для ввода, поиска и просмотра информации. Это до-

вольно удобный механизм, концентрирующий данные по объекту в одном месте и в единой форме представления. Большинство реальных документов имеют в своем соста-

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

Как уже отмечалось, для обработки фактографической информации (числовые и символьные поля) применяют различные СУБД, а для обработки текстовой – специали-

зированные полнотекстовые системы. Однако, СУБД не приспособлены для обработки текстовой информации, а полнотекстовые системы не имеют средств выделения факто-

графических реквизитов из текстов и поиска по ним.

Вполне закономерно, поэтому, ожидать появления программных продуктов ори-

ентированных на обработку документов с разнородным содержанием. В компьютерной прессе уже введена отдельная категория классификации для программных продуктов этого типа – системы обработки документов (СОД).

Основным отличием СОД от СУБД является отсутствие процедурного языка про-

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

1Введен даже специальный термин – Compound Document. Соответствующие отечественные тер-

мины: разнородные документы, сложные документы.

это или на описательном языке или в интерактивном режиме. СОД, на основании струк-

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

воря, любая СОД содержит внутри себя СУБД, но пользователь ее не “видит”, а работа-

ет с формами документов, вместо записей базы данных.

Из зарубежных продуктов этой категории нам известен только Lotus Notes.

3.2.Архитектура комплекса.

Входе дипломного проектирования мы сделали попытку создать инструмент для разработки СОД, с рядом уникальных особенностей.

3.2.1. Отличительные черты.

Разработанная “Среда создания СОД” представляет собой платформу, построен-

ную по архитектуре клиент-сервер, и, предназначенную для прикладных программ класса СОД, функционирующих в операционной среде Windows 3.0 и выше. Для реали-

зации сетевых возможностей поддерживается сетевая операционная среда Windows for workgroups 3.1 и выше.

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

можностей, а именно:

хранение в одной БД содержимого документов разного формата;

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

иполноценного поиска по естественно-языковым запросам;

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

расширение набора типов полей;

изменение одного документа несколькими пользователями одновременно с со-

хранением актуальности содержимого этого документа в любой момент време-

ни.

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

3.2.2. Модульная диаграмма.

На рисунке 1 приведена схема основных модулей системы и взаимодействие меж-

ду ними.

СЕРВЕР

ËÂÑ

Ê ËÈ ÅÍ Ò

 

 

 

È í òåðô åéñ

Дисп етчер

 

Дисп етчер

тран закций

 

тран закций

о п ерато ра

 

сервера

 

клиен та

 

 

Ñï èñî ê ÁÄ í à

 

СУБД клиен та

сервере

 

 

 

 

 

Библио тека

СУБД сервера

 

п о льзо вательско го

 

èí òåðô åéñà

 

 

 

Ф айл дан н ы х Ф айл ин дексо в

 

 

Рис. 1. Укрупненная модульная диаграмма системы.

На диаграмме хорошо видно разделение системы на две части, выполняющие раз-

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

Модули “Файл данных” и “Файл индексов” содержат реализацию соответственно файлов данных и индексов БД.

Модуль “СУБД сервера” реализует функции системы управления одной БД, из расположенных на сервере.

Модуль “Список СУБД на сервере” реализует список СУБД, так как на одном уз-

ле сети может располагаться несколько баз данных.

Модуль “Диспетчер транзакций сервера” принимает и распределяет транзакции,

поступившие на сервер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]