авторефераты диссертаций БЕСПЛАТНАЯ  БИБЛИОТЕКА

АВТОРЕФЕРАТЫ КАНДИДАТСКИХ, ДОКТОРСКИХ ДИССЕРТАЦИЙ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


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

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

Макунин Алексей Анатольевич ТЕХНОЛОГИЯ ПОСТРОЕНИЯ МОДУЛЬНЫХ АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ ДЛЯ СЛОЖНЫХ ПРЕДМЕТНЫХ ОБЛАСТЕЙ И ЕЕ ПРИМЕНЕНИЕ НА ПРИМЕРЕ ИНФОРМАЦИОННОЙ ПОДДЕРЖКИ СИСТЕМЫ МУНИЦИПАЛЬНОГО ЗАКАЗА ОРГАНОВ МЕСТНОГО САМОУПРАВЛЕНИЯ Специальность 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных систем»

Автореферат диссертации на соискание учёной степени кандидата технических наук

Томск – 2006 -2

Работа выполнена в Томском государственном университете.

Научный руководитель – д.т.н., доцент Скворцов Алексей Владимирович.

Официальные оппоненты:

д.т.н., профессор Янковская Анна Ефимовна;

к.т.н., доцент Гриценко Юрий Борисович.

Ведущая организация:

Сибирский государственный аэрокосмический университет.

Защита состоится 23 марта 2006 г. в 10:30 на заседании Диссертационного совета Д 212.267.08 при Томском государственном университете (634050, г. Томск, пр. Ленина, 36).

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

Отзывы на автореферат (2 экз.), заверенные печатью, высылать по адресу:

634050, г. Томск, пр. Ленина, 36, ученому секретарю ТГУ.

Автореферат разослан 7 февраля 2006 г.

Ученый секретарь диссертационного совета, д.т.н., доцент Скворцов А.В.

-3

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы. Мир вокруг нас бесконечно разнообразен и широк. Сложные предметные области содержат в себе очень большое ко личество объектов разных типов, большое число связей между ними, а также сложные процессы обработки информации. Разработка информаци онных систем для таких предметных областей также очень сложна и тру доемка. Как правило, для их построения применяется методология «свер ху-вниз», что позволяет полностью охватить всю предметную область и точнее ее формализовать, правда, потратив достаточно большое время и много других ресурсов. Такой подход к разработке не единственный — используя ряд иных методик, можно также разрабатывать самые разные информационные системы. Выбор методики зависит от задачи, от привы чек и общих условий работы коллектива авторов, а также от корпоратив ных стандартов организации-разработчика.

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

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

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

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

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

Большой вклад в развитие модульных технологий и расширяемых программ внесли Н. Вирт, М.М. Горбунов-Посадов, Д. Рамодин. Распреде ленные модели модульных программных продуктов развивались в работах К.В. Ахтырченко, В.В. Леонтьев, Д. Бокс, Е. Игумнов. Другими методами структуризации в программных системах занимались А. Бельченко, Ю.А.

Загорулько, И.Г. Попов, Л.А Калиниченко, Н.А. Колчанов, Н.Л. Подколод ный, А. Поточкин, О.И. Росеева, Дж. Майопулос, Р. Мочинг-Питрик, Х.

Такеда, М. Такаи, Т. Нишида, Т.Р. Грубер.

Еще один актуальный вопрос — это разработка принципов совмест ного использования систем хранения информации и модульных техноло гий. В развитие теории и методологии реляционных баз данных значи тельный вклад внесли Э. Кодд, Дж. Дейт, Дж. Мартин, Д. Мейер;

объект но-ориентированные базы данных развивались М. Аткинсоном, Ф. Бан сильоном, Д. ДеВиттом, К. Дитрихом, Д. Майером, С. Здоником;

над объ ектно-реляционными моделями и объектно-ориентированными базами данных наиболее плодотворно работали С. Кузнецов, Е. Григорьев, С. Са вушкин, М. Стоунбрейкер.

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

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

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

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

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

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

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

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

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

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

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

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

Теоретическая и практическая ценность:

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

-6 2. Предложенная технология построения АИС на основе О-дерева позволяет создавать масштабируемые, расширяемые и переносимые мо дульные комплексы программ для разных реляционных СУБД.

3. Предложенные эффективные алгоритмы поиска, добавления, рас крытия и удаления узлов O-дерева позволяют существенно увеличить эф фективность работы с динамически строящимися древовидными структу рами. Предложенная автором структура данных «кэш узлов О-дерева» по зволяет эффективно управлять памятью при работе с динамически строя щимися деревьями.

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

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

Внедрение результатов работы: разработанный автором комплекс программ «Муниципальный заказ» внедрен в промышленную эксплуата цию в администрации г. Томска (280 рабочих мест) и в администрации Ча инского района Томской области (с. Подгорное, 34 рабочих места).

На защиту автором выносится:

1. Новая интерпретация понятий контекста и аспекта в объектных и объектно-реляционных СУБД и схема их применения для проектирова ния и разработки АИС широкого класса.

2. Модульная архитектура и технология построения АИС, базирую щаяся на механизме O-дерева.

3. Ряд эффективных алгоритмов и структур для работы с О-деревь ями.

4. Программный комплекс для автоматизации системы муниципаль ного заказа в Российской Федерации.

Апробация работы и публикации:

Основные положения работы докладывались и были одобрены на следующих научных и специализированных конференциях:

1. Международной научно-практической конференции «Гео информатика – 2000» (Томск, 2000).

2. Всероссийской научно-практической конференции «Новые техно логии и комплексные решения: наука, образование, производство» (Анже ро-Судженск, 2001).

3. Межрегиональной конференции Ассоциации Сибирских и Дальне восточных городов «Повышение эффективности управления бюджетными ресурсами через внедрение системы муниципального заказа» (Омск, 2001).

-7 4. Всероссийской научно-практической конференции «Инфор мационные технологии и математическое моделирование» (Анжеро Судженск, 2002).

5. Научно-практическом семинаре Ассоциации Сибирских и Дальне восточных городов «Муниципальный заказ как система управления мате риальными, финансовыми и социальными ресурсами» (Томск, 2004).

По результатам выполненных исследований автором опубликовано печатных работ, в том числе 8 статей. Кроме того, автором разработаны и переданы заказчикам технические и методические материалы по про граммному комплексу «Муниципальный заказ» общим объемом в 300 стр.

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

разработанная технологическая основа (среда функционирования) должна базироваться на объектно-ориентированной парадигме;

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

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

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

функционирование даже в небольшом коллективе разработчиков;

ориентированность на сложные предметные области;

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

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

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

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

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

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

Рассмотрим приложение контекстов к объектной модели. В ней ос новными структурными элементами являются объекты. Объекты пред ставляются совокупностью своих атрибутов и набором операций. Объекты с одинаковой внутренней структурой и набором операций объединяются в классы.

Пусть {ci } — множество контекстов всей предметной области. Пусть p — понятие или категория, используемая для именования атрибутов и ме тодов объектов. Введем функцию sem и предикат SEM. Функция sem( p ) формально возвращает семантику переданного параметра p, а двуместный предикат SEM ( p, c) возвращает истину, если параметр p осмыслен в кон тексте с, и ложь в противном случае. Под семантикой будем понимать -9 формализованный смысл параметра (в общем случае понятия или катего рии).

Далее будем рассматривать внутреннюю организацию отвлеченного класса объектов O. Пусть A = {a j } — множество атрибутов класса объек тов O, а M = {mk } — множество операций с объектами.

Назовем аспектом класса объектов O в контексте c подмножество самостоятельных осмысленных атрибутов Ac и операций M c, такое, что Ac = {a j SEM( a j, c) = true} ;

M c = {mi SEM( mi, c) = true}.

Будем обозначать аспект класса объектов O в контексте c как Oc :

Oc = Ac M c.

Назовем пару атрибутов ai и a j семантически тождественными, если одинаков их смысл, т.е. семантическая нагрузка в точности совпадает, а значит, выполняется условие: sem(ai ) = sem(a j ).

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

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

Системный контекст S — частный (специальный) случай контек ста: формальное представление точки зрения системы управления базами данных, обеспечивающей механизмы идентификации объектов, их хране ния и доступа к ним.

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

O A O B OS, т.е. пересечение аспектов класса должно включать его системный аспект.

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

Концептуально все множество базовых классов, как видно на рис. 1, делится на три группы: классы для отображения единственного объекта (TEntityInstance), классы множества однородных объектов с возможным условием их отбора (TEntityClass) и классы объектов, которые отобража ют множества объектов, но ведут себя как экземпляры — контейнерные объекты (TEntityContainer).

TEntity TEntityInstance TEntityClass TEntityContainer Рис. 1. Базовые классы системы Классы для реальных предметных областей являются потомками этих трех базовых классов. Надстройка над СУБД из объектной получается объектно-ориентированной, если потомки трех базовых классов сами бу дут образовывать поддеревья с иерархией наследования.

Для каждого типа сущности реального мира создается еще один класс и соответствующая ему визуальная форма, что полностью соответст вует концепции MVC (model — view — controller). Идея концепции заклю чается в том, что сущность разделяется на три составляющие:

модель (model), которая отвечает за бизнес-логику (в нашем слу чае это не абстрактный класс-потомок TEntity);

представление (view), реализующее отображение информации;

управляющие элементы (controller) — объекты, преобразующие действия с представлением (view) в операции с моделью (model).

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

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

- 11 Уровень 1. Реляционная СУБД (эффективное хранение информации).

Уровень 2. Объектно-ориентированная надстройка (структурирован ное представление информации в виде объектов).

Уровень 3. Пользовательское приложение (выполнение требуемых задач — бизнес-логика и интерфейс).

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

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

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

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

В целом совокупность объектов отдельной предметной области ви зуально представляется в виде графа, где вершинами являются объекты, а ребрами — ссылки. Однако это неудобно для пользователя. Варианты представлений показаны на рис. 2. На рис. 2,а показан граф ссылок между объектам, на рис. 2,б показан тот же граф, но с представлением в виде де рева — остова графа (жирные дуги);

отброшенные дуги изображены пунк тиром. На рис. 2,в показан вариант представления графа в виде O-дерева, где жирными дугами показаны ребра остова, пунктирными — ребра, не вошедшие в остов, а прямоугольниками (показаны частично) обведены кратные вершины, соответствующие одним и тем же объектам.

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

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

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

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

3. При активизации узла дерева производится отображение связанно го с ним объекта в панели для форм. Для этого привлекается ассоцииро ванная с классом объекта активного узла форма (компонент view концеп ции MVC).

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

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

Узлы дерева могут находиться в трех состояниях:

неопределенно свернутом — узел не раскрывался, наличие и ко личество потомков узла неизвестно (не запрашивалось);

определенно свернутом — узел раскрывался, но был свернут, ко личество и наличие потомков известно;

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

- 13 В ходе построения дерева используются четыре типа правил (спосо бов навигации). Эти правила задают порядок и регламентируют механиз мы (в том числе и параметризованные) организации связи между объекта ми способа навигации. Перечислим возможные типы связей между узлами:

Раскрытие корня — правило, которое выполняется однократно, для организации основы — корня дерева при начале его построения.

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

Связь «множество – экземпляр» — связь определяет отношение «целое – часть», либо «есть некоторый». Связь не имеет параметров.

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

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

Раскроем значения компонентов этого кортежа:

контекст — имя контекста, в котором данная связь актуальна;

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

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

тип связи — идентификатор типа связи, соответствующего се мантике отношений между предком и потомком (из вышеперечисленного списка);

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

Для отображения объектов в виде дерева и предоставления места для визуализации форм объектов используется навигатор объектов (рис. 3).

Внешне навигатор представляет собой две панели: в левой части — O дерево (визуальная его часть), в правой — панель для форм объектов.

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

- 14 Дерево объектов (О–дерево) Панель активных объектов Рис. 3. Внешний вид навигатора объектов со схемой частей Алгоритмы. Построение полного графа для предметной области, за полненной большим количеством объектов, является очень трудоемкой за дачей, но для целей визуализации этого не требуется. Само О-дерево реа лизуется с помощью стандартного компонента TListView Borland Delphi и набора вспомогательных структур. К узлам дерева через специальное поле привязаны объекты в виде экземпляров классов потомков TEntity.

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

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

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

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

список классов объектов системы;

список правил построения дерева вида Ti P T j, где Ti — класс предок, T j — класс-потомок, а P — тип правила (способ порождения);

- 15 индексы для быстрого поиска объектов по идентификатору и классу.

Для работы с О-деревьями автором были разработаны следующие алгоритмы (в скобках указана их трудоемкость, где r – число правил, p – общее число объектов в текущем классе, k – коэффициент кратности вер шин, n – общее число объектов в БД всех классов, m – обрабатываемое (проверяемое или удаляемое) число узлов):

ПРОВЕРИТЬ_И_ОСВОБОДИТЬ ( T (m) = O(m) ).

ВЫДЕЛИТЬ_ДЛЯ_УДАЛЕНИЯ ( T (m) = O(m) ).

РАСКРЫТЬ_УЗЕЛ ( T (r ) = O(r ) ).

НАЙТИ_ОБЪЕКТ ( T ( p, k ) = O(k + log p ) ).

УДАЛИТЬ_ОБЪЕКТ ( T ( p, k ) = O(k + log p ) ).

ВИЗУАЛИЗИРОВАТЬ_ОБЪЕКТ ( T (k, n) = O(kn) ).

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

Для алгоритма ВЫДЕЛИТЬ_ДЛЯ_ УДАЛЕНИЯ автором предложен ряд эвристики, касающиеся вариантов удаления объектов.

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

В общем случае трудоемкость алгоритма в наихудшем случае со ставляет O (kn), где n — количество объектов в базе, k — коэффициент оценки кратности повторения объектов в дереве ( k 1). Для достаточно большого n это непозволительно трудоемко. Поэтому сделаем попытку проанализировать алгоритм и попытаемся применить некоторые эвристи ки, которые могли бы уменьшить трудоемкость визуализации объекта.

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

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

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

2. Цепочки сортируются в порядке возрастания их длины.

3. Цепочки сортируются, исходя из оценок количества объектов, об разующихся при их применении.

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

В случае применения эвристик выигрыш по трудоемкости достига ется за счет того, что сильно сокращается выбор возможных узлов для дос тижения требуемого объекта. Оценки трудоемкостей для первых трех ва риантов будут совпадать и составят O (mr ), где r — максимальная длина цепочек, а m — количество объектов в самом большом из используемых классов, при этом m много меньше общего количества объектов в базе данных.

Рассмотрим алгоритм поиска объекта. При поиске объектов важную роль играет принадлежность классу. Индексы кэша объектов представлены в виде сбалансированных деревьев, трудоемкость поиска с их использова нием будет O(log m), где m — мощность класса объектов. Трудоемкость поиска всех вхождений объекта в дерево составляет O(d + log m), где d — максимальное количество вхождений объектов.

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

1) конкретизация структуры предметной области (выделение кон текстов);

2) формализация бизнес-процессов и участвующих в них объектов;

3) разработка схемы данных для хранения объектов в СУБД;

4) кодирование классов объектов и их объединение в модули АИС;

5) построение правил навигации, определяющих структуру O-дерева;

6) разработка механизмов проведения метаопераций (сервисов), обеспечения настройки отдельных компонентов и создание справочной системы.

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

- 17 Загружаемые модули *.BPL База данных Модули автоматизированных База данных рабочих мест Служебная часть базы предметной данных области АРM Модуль управления АРМ объектами АРМ Borland Библиотека Основная Системный реестр Database программа ядра Windows Navigator.exe Engine Рис. 4. Общая архитектура системы частей В третьей главе дается описание принципов организации закупок для нужд органов власти, анализируется мировой опыт автоматизации бюджетных закупок и формулируются требования, условия и основные принципы разработки современной автоматизированной информационной системы автоматизации процессов муниципального заказа в Российской Федерации.

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

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

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

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

- 18 размещение этих объемов на товарных рынках региона способа ми, регламентированными и приносящими экономический эффект (эконо мия средств и развитие местной сферы производства продукции);

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

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

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

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

Разработанный автором комплекс программ функционирует под управлением операционных систем Windows 98/Me/2000/XP. Для хранения данных может быть использовано множество современных коммерческих реляционных СУБД, в т.ч. Oracle, Sybase и Paradox, а также другие систе мы, поддерживаемые протоколом BDE. Весь комплекс в настоящее время состоит из трех частей:

АИС «Заявка в муниципальный заказ»;

АИС «План муниципального заказа»;

АИС «Реестр муниципальных контрактов».

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

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

Далее информация посредством механизмов репликации данных сведения по заявке передаются в АИС «План муниципального заказа», где они проходят обработку в части сопоставления товарных наименований. В - 19 итоге получается сводный план муниципального заказа. На его основе объ являются конкурсы на позиции, чья общая стоимость превышает опреде ленный нормативно-правовой базой размер. По итогам конкурсов опреде ляются победители.

Все покупки проводятся в установленном законом порядке способа ми — либо с заключением муниципального контракта, либо посредством покупки без контракта. В обоих случаях производится их регистрация в АИС «Реестр муниципальных контрактов». С определенной периодично стью данные поступают сначала в ведомственный реестр, а затем и в го родской. В последнем средстве также производится работа по контролю и анализу фактического исполнения, по соответствию потребленных объе мов плановым величинам и пр.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ 1. Проведено исследование и разработаны структуры данных, базо вые алгоритмы и технологии, необходимых для создания АИС для широ кого класса информационных систем.

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

3. Предложен ряд алгоритмов для работы с динамическими деревь ями. Получены оценки их трудоемкости.

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

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

ОПУБЛИКОВАННЫЕ РАБОТЫ ПО ТЕМЕ ДИССЕРТАЦИИ 1. Макунин А.А., Шилов В.В. Применение модульной технологии разработки автоматизированных рабочих мест в ГИС-приложениях // Гео информатика–2000. Труды межд. научно-практ. конф. – Томск: Изд-во Том. ун-та, 2000. – С. 84–87.

- 20 2. Макунин А.А. Особенности использования иерархических клас сификаторов в реляционных СУБД // Новые технологии и комплексные решения: наука, образование, производство. Материалы Всероссийской научно-практ. конф. (19 октября 2001 г., Анжеро-Судженск). Часть VI (Информатика). – Кемерово: КемГУ, 2001. – С. 48–50.

3. Макунин А.А. Элементы объектно-ориентированной системы управления базами данных // Вестник Томского ун-та, 2002, № 275. – С.

161–163.

4. Макунин А.А., Сотникова Е.В. Автоматизация регистрации и учета исполнения муниципальных контрактов в Томске // Вестник Томско го ун-та, 2002, № 275. – С. 164–166.

5. Сотникова Е.В., Макунин А.А., Сафонов Н.Л. Об автоматизации процессов исполнения и формирования муниципального заказа города Томска // Материалы Межрегиональной конференции АСДГ «Повышение эффективности управления бюджетными ресурсами через внедрение сис темы муниципального заказа» (26-27 ноября 2001 г.). – Омск, 2001. – С.

43–47.

6. Сотникова Е.В., Макунин А.А. Автоматизация процессов муни ципального заказа города Томска // Материалы Всероссийской научно практической конференции «Информационные технологии и математиче ское моделирование» (10 ноября 2002 г., г. Анжеро-Судженск). – Томск:

«Твердыня», 2002. – С. 304–305.

7. Сотникова Е.В., Макунин А.А. Комплекс информационных сис тем «Муниципальный заказ» // Материалы Всероссийской научно-практи ческой конференции «Информационные технологии и математическое мо делирование» (10 ноября 2002 г., г. Анжеро-Судженск). – Томск: «Тверды ня», 2002. – С. 306–307.

8. Макунин А.А., Сотникова Е.В. Комплекс программ по управле нию бюджетными и материальными ресурсами муниципального образова ния // Теоретическая и прикладная информатика / Под ред. А.Ф. Терпуго ва. – Томск: Изд-во Том. ун-та, 2004. – Вып.1. – С. 43–49.

9. Сотникова Е.В., Макунин А.А. Практика ведения информацион ной базы системы муниципального заказа в г. Томске // Общественный контроль за конкурсным распределением государственных и муниципаль ных заказов: Сборник статей. – Томск: Изд-во Том. ун-та, 2004. – С. 33–39.



 




 
2013 www.netess.ru - «Бесплатная библиотека авторефератов кандидатских и докторских диссертаций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.