Объектно-ориентированная технология моделирования предметной области на ПК
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ ТЕХНОЛОГИЯ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ НА ПРОГРАММНОМ КОМПЛЕКСЕ "COBRA++"
Трехуровневая технология разработки баз данных была создана в ХХ веке, под соответствующие тому времени технические и программные средства. Сегодня технические средства информационных систем далеко ушли в плане производительности, надежности, эргономичности и т.д. Программные же средства в области создания и сопровождения баз данных имеют меньший прогресс. Например, существующие CASE-средства не позволяют увеличить производительность труда в разы при создании информационных систем. В основном происходит совершенствование инструментов разработки баз данных в рамках конкретной СУБД. Это ориентировано только на улучшение условий труда программиста, не затрагивая самой сути проектирования информационной системы управления предприятием. Существующие реляционные СУБД основаны на определенной модели данных. Модель данных должна быть отображена в компьютерно-ориентированную даталогическую модель. Реляционные модели данных, наряду с общепризнанными достоинствами, обладают и рядом недостатков:
· низкая гибкость структур взаимосвязанных таблиц для изменяющихся со временем информационной потребности в базах данных (БД);
· затруднения в построении концептуальной модели для объектов с многочисленными связями “многие-ко-многим”;
· неестественность табличного представления для восприятия пользователем массивов данных.
Причина неэффективности традиционных СУБД состоит в противоречии между результатами проектирования на платформе СУБД модели предметной области и реальными потребностями пользователей, отражающими состояние предметной области в ее динамике.
Следствием попыток овладеть с помощью реляционного подхода достаточно сложных проектов приводит в конечном итоге к системному кризису. Это хорошо проявилось при внедрении таких программных продуктов как «Парус», «Галактика» и другие. Дело в том, что с помощью плоских таблиц невозможно формализовать семантические взаимосвязи. Предметная область состоит из сложных объектов и связей, которые могут с течением времени изменяться. Современные СУБД, такие как Oracle, D3, CACHE дают возможность работать с многомерными данными [1-3]. Такая технология объединяет подходы, предложенные в реляционной и иерархической модели данных, при описании предметной области [1-3]. Недостатками таких систем является высокая сложность программного кода при описании модели предметной области. Приложения, написанные таким способом, обладают низкой гибкостью, так как при каких-либо изменениях возникает потребность корректировки исходных текстов программ.
Нами предлагается новая технология разработки автоматизированных систем управления предприятием. Система строится на основе объектного подхода. Различают модели процессов и модели объектов. Процесс моделируется как логическая последовательность действий и имеет свою систему нотаций. Процесс проектируется в виде сетевой структуры. На первом этапе подготовки шаблона процесса необходимо определить организационную структуру предприятия или отдела, на основе которой будет строиться бизнес-процесс. Роль или позиция в организационной структуре определяет уровень доступа и режим работы с информацией во время работы процесса.
Рис.1. Окно дизайнера процессов.
Каждый этап проектируемого процесса является центром ответственности за ресурс и определятся должностью из организационной структуры предприятия, для которой необходимо выбрать соответствующий информационный объект и построенную на его основе экранную форму. Также необходимо задать критерий оценки исполнения каждого этапа бизнес-процесса. При проектировании структуры бизнес-процесса определяются регламенты передачи информации, нормы контроля исполнения отдельных этапов, специфику прохождения информационных потоков. В возможностях построения сети процесса система имеет гибкость вариантов и порядка настройки сети процесса.
В каждом центре процесса присутствуют информационные ресурсы, которые представляются информационными объектами, их структурой и наполнением. Каждый информационный объект это отражение какой-либо реальной сущности внешнего мира. Для описания его характеристик применяются три типа свойств: числовой, символьный и временной. Все остальные объекты являются производными от этих типов. Построение подчиненных объектов осуществляется на основе механизма каскадного проектирования. Для управления изменениями информационных объектов в системе поддерживается версионность их структур.
Объект в системе «Cobra++» проектируется в визуальной среде программирования «Дизайнер информационных объектов». Данный модуль представляет собой инструмент визуального проектирования, главное назначение которого – формирование коллекции объектов предметной области. Он позволяет определить состав объектов и их структуру. Поддерживается возможность группировки объектов, по какому либо критерию. Существенным моментом является то обстоятельство, что коллекция информационных объектов создается не в виде плоского набора сущностей, а в виде иерархии. Рисунок 2 демонстрирует процесс каскадного построения объекта в модуле «Дизайнер информационных объектов».
Рис.2. Окно проектирования объекта в модуле
«Дизайнер информационных объектов».
Существующие методы работы с экземплярами информационных объектов, реализуемые модулями системы «Cobra++», позволяют обрабатывать коллекцию экземпляров либо по одному – через экранные формы, либо группой, в виде плоских таблиц, полученных в результате выполнения запроса к хранилищу данных. Однако, данный функционал явно недостаточен для реальных практических задач, поскольку не даёт возможность обрабатывать группу экземпляров, рассматривая их в различных проекциях и срезах.
Для устранения этих недостатков разработан модуль, интегрированный в программный комплекс «Cobra++» - «Объектные таблицы», которая на основе визуальных технологий реализует групповые методы обработки экземпляров информационных объектов. Модуль предоставляет функции просмотра, редактирования и создания экземпляров объектов. Экземпляры загружаются в виде коллекции, выбранной из хранилища данных путем запроса по определенным критериям, и представляются в виде проекции на выбранные свойства. Критерии отбора коллекции определяются пользователем, путем построения информационного запроса. Таким образом, данный модуль реализует следующие функции:
1. Функции группового представления данных,
2. Функции анализа коллекции экземпляров на основе операции проекции на мерности,
3. Функции табличной обработки данных.
Область применения подобного функционала широкая, и включает в себя возможности оперативной обработки массивов данных сотрудниками, выполняющими функции диспетчеров различных организаций, от машиностроительного производства, до автотранспортных предприятий. Важно отметить аналитические функции, предоставляемые данным программным модулем. Проекция массива данных на различные мерности является одной из основных функции для систем оперативного анализа данных – OLAP. Кроме того, модуль поддерживает обработку экземпляров через экранные формы системы «Cobra++». Это дает возможность сочетать методы групповых операций над данными, с обработкой каждого отдельно экземпляра информационного объекта, что существенно повышает гибкость системы обработки данных комплекса «Cobra++».
На рисунках 3 и 4 изображен внешний вид описываемых модулей.
Рис. 3. Процесс обработки экземпляров информационного объекта.
С введением описываемого модуля в контур обработки данными о предметной области системы «Cobra++», процесс обработки информации представляется следующим образом:
1. Информационный объект, отражающий характеристики сущности предметной области, создается в модуле «Дизайнер информационных объектов».
2. Для созданного объекта проектируется экранная форма в программе «Дизайнер форм».
3. Далее, через созданную форму можно создавать и редактировать коллекцию экземпляров информационных объектов. Созданная коллекция становится доступной для обработки в модуле «Объектные таблицы».
Рис. 4. Процесс обработки экземпляров объекта.
Модуль «Объектные таблицы» поддерживает общую для всего программного комплекса «Cobra++» идеологию отказа от программирования на каком-либо языке. Работа пользователя осуществляется через диалоговые окна, где он определяет параметры, необходимые для загрузки и обработки экземпляров объекта. По выбранному из списка объекту и его версии из хранилища данных системы «Cobra++» загружается древовидная структура. Используя операции Drag&Drop, пользователь распределяет объектные свойства по осям таблицы. После этого происходит загрузка и обработка массива данных, с целью представления его в виде двумерной таблицы. Модуль позволяет налету менять оси проекций, выбирая соответствующее свойство из дерева объекта, а также выбирать свойство для редактирования и обработки.
Описанный механизм обладает рядом преимуществ по сравнению с традиционными системами обработки данных. Во-первых, данный модуль интегрирован в программный комплекс «Cobra++», что наделяет его всеми преимуществами данной системы, а именно: высокая степень масштабируемости, надежность при обработке и поддержке целостности данных, гибкость при изменении модели данных. Во-вторых, модуль «Объектные таблицы» позволяет «налету» формировать структуру таблицы, исходя из состава свойств информационного объекта, благодаря чему становится возможным использовать данный программный модуль в задачах оперативной обработки и анализа данных, чего не поддерживают другие системы табличной обработки информации. В-третьих, модуль «Объектные таблицы» представляет пользователю удобный и простой интерфейс при изменениях модели данных, что делает этот инструмент простым для пользователей.
Литература
1. Т. Кайт. Oracle для профессионалов: архитектура, методики программирования и основные особенности версий 9i и 10g.:Пер. с англ. – М.:ООО «И.Д.Вильямс»,2007.-848 с.:ил.
2. Виноградов, С. А. Моделирование иерархических объектов [Электронный ресурс] / С. А. Виноградов. – CitForum. - http://www.citforum.ru/database/articles/tree.shtml
3. Поляков, А.О. Представление знаний и объектно-ориентированная СУБД Cache’ [Электронный ресурс] / А.О. Поляков, И.А. Семёнов - CitForum - http://www.semenov.webservis.ru/it/articles/ar5.html