ISSN 0236-235X (P)
ISSN 2311-2735 (E)
4

09 Сентября 2024

Структура приложения для работы с базами данных


Масюков В.А. () - , Литвинов Ю.С. () -
Ключевое слово:
Ключевое слово:


     

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

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

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

Строение и назначение структурных уровней Структура таблиц БД. Разработка структуры БД производится общепринятыми способами проектирования реляционных БД.

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

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

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

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

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

Данные категории не являются равноценными, практика показывает, что наибольший объем приходится на 1 категорию (примерное соотношение 90% к 10%), это означает, что автоматизация процесса проектирования стандартных действий приводит к ощутимому выигрышу в процессе разработки и эксплуатации системы в целом. Для этих целей был выработан специальный формат хранимых процедур, обеспечивающих стандартные действия, и реализовано case-средство для их автоматической гене- рации.

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

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

Программные объекты для работы с таблицами. Хранимые процедуры располагаются непосредственно в БД на сервере, в то время как доступ к их возможностям и результату работы осуществляется в приложении на компьютере клиента. Кроме того, для работы с объектами «Таблица» и «Хранимая процедура» сервер предполагает использование специализированного языка (SQL), а для обеспечения комфортной работы конечного пользователя предоставляются стандартные визуальные средства манипулирования данными.

·                             Отображение набора данных в соответствии с заданным набором входных параметров в таблице или в другом виде, отвечающем условию задачи.

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

·                             Сортировка данных по любому заданному полю или их комбинации.

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

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

·                             Сохранение визуального и параметрического составов объекта между сеансами в связи с предпочтениями конкретного пользователя.

·                             Полноценная возможность использования режимов ручного ввода и с помощью мыши.

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

·                             Обеспечение независимости (!) программного объекта от изменения структуры данных таблицы.

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

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

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

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

·                             Размещение без дополнительного программирования на одной форме различных объектов и организация их совместной работы.

·                             Изменение внешнего вида объектов с целью соответствия новым условиям.

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

·                             Обеспечение рассылки и обработки сообщений между независимыми объектами. С этой целью были разработаны две методики:

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

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

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

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

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

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

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

·                             Резкое сокращение сроков разработки.

·                             Резкое сокращение объема программного кода (в разы!) без потери его функциональности.

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

·                             Обеспечение свойств самодокументированности программного кода.

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

·                             Создание «синтетических» сборных объектов из набора независимых объектов с обеспечением их синхронной работы.

·                             Автоматическая реконфигурация програм-мных объектов адекватно изменению структуры данных, в том числе изменению числа параметров объектов любого уровня и их типа.

·                             Достижение высокой стандартности кода и доступности сторонним разработчикам.

·                             Возможность создавать распределенные приложения.

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



http://swsys.ru/index.php?id=768&lang=%29&page=article


Perhaps, you might be interested in the following articles of similar topics: