Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Олейник, Павел Петрович

  • Олейник, Павел Петрович
  • кандидат технических науккандидат технических наук
  • 2007, Ростов-на-Дону
  • Специальность ВАК РФ05.13.11
  • Количество страниц 218
Олейник, Павел Петрович. Разработка методики построения унифицированных трехзвенных объектно-ориентированных приложений: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Ростов-на-Дону. 2007. 218 с.

Оглавление диссертации кандидат технических наук Олейник, Павел Петрович

ВВЕДЕНИЕ.

ГЛАВА 1. ОСОБЕННОСТИ РЕАЛИЗАЦИИ КОРПОРАТИВНЫХ ПРИЛОЖЕНИЙ.

1.1. модели баз данных и реализации СУБД.

1.2. подходы к организации приложений управления данными.;.

1.3. преимущества объектно-ориентированного программирования.

1.4. Объектно-реляционное несоответствие.

1.5. Методы объектно-реляционного отображения.

1.6. выводы по главе.

ГЛАВА 2. ОРГАНИЗАЦИЯ ОБЪЕКТНОЙ СИСТЕМЫ В РБД.

2.1. Организация объектной метамодели на основе реляционной СУБД MS SQL Server

2.2. Организация хранения значений атрибутов в РБД.

2.3. Представление истории изменения объектов.

2.4. Методика построения унифицированных хранимых процедур выборки данных.

2.5. выводы по главе.

ГЛАВА 3. АРХИТЕКТУРА КОРПОРАТИВНОГО СЕРВЕРА ПРИЛОЖЕНИЙ, ПОДДЕРЖИВАЮЩЕГО

ДИНАМИЧЕСКОЕ РАСШИРЕНИЕ ФУНКЦИОНАЛЬНОСТИ.

3.1. Общая архитектура СП.

3.2. Иерархия классов, выполняющих запросы к БД.

3.3. Модель классов преобразования реляционного набора в объекты переноса данных.

3.4. Применение шаблонов проектирования при реализации корпоративного СП.

3.5. Выводы по главе.

ГЛАВА 4. УНИФИЦИРОВАННАЯ АРХИТЕКТУРА КЛИЕНТСКОГО ПРИЛОЖЕНИЯ.

4.1. Базовые классы предметной области.

4.2. Методика преобразования объектов, полученных от СП в объекты предметной области

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

4.4. Выводы по главе.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

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

Актуальность темы.

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

Учитывая различие в назначении реляционных баз данных (РБД) и ООЯП, возникает так называемое объектно-реляционное несоответствие (ОРН). Данный термин был введен С. Амблером для описания проблем, возникающих при построении корпоративных информационных систем (КИС) [80]. Один из известных подходов, позволяющих частично исключить последствия ОРН, получил название «методы объектно-реляционного отображения» (ОРО). Все методы отображения были условно поделены нами на две категории. К первой относятся методы, не имеющие таблиц в базе данных (БД), содержащих метаинформацию системы. Данные методы подробно описаны в работах С. Амблера и М. Флауера [73, 80-81].

Учитывая тенденцию добавления метаинформации в ООЯП, мы считаем, что более перспективными являются методы, поддерживающие метаинформацию в БД. Данный подход был использован в исследовании при проектировании объектного ядра в РСУБД. В настоящее время практически полностью отсутствуют работы, посвященные ОРО, поддерживающим метаинформацию. Из имеющихся работ можно выделить два цикла статей: первый принадлежит украинскому учённому В. Костра [28-89], а второй -профессору США (и Канады) Надкарни [104-105]. Оба этих цикла посвящены применению разработанной ими модели для хранения данных в медицинских КИС. Модель получила название «Сущность-Атрибут-Значение (EAV)».

Проанализированные реализации инструментов ОРО, использующие РСУБД в качестве хранилища информации, были разделены на два класса. К первому нами отнесены инструменты, позволяющие организовать объектную систему на основе РСУБД. Здесь можно выделить два известных инструмента: 1) компоненты BOLD for Delphi , 2) реализация технологии ECO [19, 103]. К сожалению, в данных инструментах не задействованы многие широко используемые средства, имеющиеся в СУБД. При этом не предполагается использование таких элементов БД как представления, хранимые процедуры (ХП) и функции. При выборке данных происходит динамическая генерация запросов, что снижает производительность информационной системы (ИС).

Другой класс инструментов ОРО описывает взаимосвязь с таблицами БД на уровне объявления классов в клиентском приложении (КП), т.е. непосредственно с помощью внутренних средств языка программирования. Данный недостаток присущ рассмотренным системам Hibernate [83,102] и EJB 3.0 [91]. При этом метаинформация об объектной системе недоступна в БД. Как следствие, часть общих процедур, манипулирующих метаинформацией, невозможно перенести в среду БД.

При обсуждении ОРН С. Амблер указывает на то, что РСУБД оперируют понятиями нормализованных отношений и возвращают данные в виде кортежей [80]. В свою очередь ООЯП рассматривают объекты как экземпляров классов, написанных на ОО-языке программирования. В связи с этим возникает необходимость трансформации данных из кортежей в объекты. Одним из вариантов решения проблемы является разработка иерархии преобразователей данных (ПД) для соответствующих классов. Данное решение наиболее полно описано у М. Фаулера [73]. При этом в качестве примера рассматривалось клиент-серверное приложение.

Анализ существующих архитектур ИС показал, что доминирующей является трёхзвенная [35, 73]. В связи с этим подход, основанный на ПД, нельзя считать оптимальным, поскольку он связан с необходимостью реализовать механизм передачи объектов с сервера приложений (СП) на клиентское приложение.

В литературе уделяется мало внимания проблеме реализации базовых классов предметной области. Наиболее полным руководством по данному вопросу можно считать монографию Р. Хотки [93], в которой описывается применение обобщений языка С# на платформе .Net Framework 2.0. Однако описываемые реализации подходят лишь для их применения в клиент-серверных приложениях и поэтому они привязаны к графическому отображению. Кроме того, описанная иерархия классов не является последовательной. Так базовые классы системы спроектированы как параметрированные, а производные - созданы с подстановкой типов. При этом не решен вопрос как создать дочерний класс, унаследованный от последнего. В данной работе часть классов предметной области представляют собой коллекции объектов, параметрированные типом соответствующего класса-элемента. В диссертационном исследовании выделено две иерархии классов, представляющих объект как на СГГ, так и в КП, что позволяет на основе разработанной методики проектировать КИС на основе трёхзвенной архитектуры.

При проектировании ИС очень часто применяют плагиную архитектуру, суть которой заключается в возможности проектирования единого модуля загрузки плагинов, в которых реализована бизнес-логика приложения. Чаще всего плагины представляют собой скомпилированные dll-библиотеки и загрузка выполняется непосредственно при загрузке основного приложения [73, 86, 106]. Этот подход нельзя использовать для СП, так как он требуется физического перезапуска системы, что приводит к прерыванию выполнения клиентских запросов. В данной работе предложен альтернативный подход к реализации плагинов, которые в нашем случае представляют текстовые файлы с описанием классов на ООЯП. ЭтсУг подход требует наличия в системе (на СП) классов, позволяющих компилировать программный код в момент выполнения приложения.

Современные языки программирования, например, С# и Java предоставляют данную возможность [42, 58-59, 107]. Имеющиеся работы, описывающие возможность динамической компиляции кода не предполагают её использование при проектировании СП. Это связано с тем, что на момент компиляции и загрузки кода в память, требуется поступающие от клиентских приложений запросы ставить в очередь и начинать их выполнение только после окончания компиляции. В свою очередь при поступлении запросов на перекомпиляцию кода в момент выполнения клиентских запросов требуется ставить в очередь процесс компиляции. Т.е. необходимо реализовать модуль синхронизации доступа, что является нетривиальной задачей.

В современной литературе уделяется недостаточно внимания принципам разработки графических интерфейсов КП, особенно процессу наследования таких элементов как форма. В частности, в работах Дж. Рихтера и Э. Троелсена [58, 70], посвященных языку программирования С# 2.0 и новейшей среде разработки Microsoft Visual Studio 2005 указывается на возможные проблемы при использовании наследования форм. Ряд сторонних фирм-разработчиков компонентов предоставляют возможность наследования. Одной из таких фирм является Developer Express (сайт компании расположен по адресу http://www.devexpress.com/), компоненты которой применялись при разработке графического интерфейса. Все выделенные классы, используемые в КП, подробно рассмотрены в диссертационной работе. Иерархия классов может быть реализована на любом ООЯП с соответствующей заменой необходимых базовых классов, предоставляемых системой.

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

Объектом исследования являются трёхзвенные приложения, разрабатываемые на ООЯП и манипулирующие данными, получаемыми из РСУБД.

Предметом исследования являются:

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

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

• организация объектной системы на основе реляционной БД;

• принципы построения графического интерфейса, отображающего данные.

Методика исследования. Метамодель объектной системы реализована в среде целевой СУБД Microsoft SQL Server 2005. Для реализации СП и клиентского приложения использован основной язык программирования платформы .Net Framework 2.0 С#

Цель и задачи работы.

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

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

• разработка методики построения объектной оболочки на основе РСУБД;

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

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

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

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

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

• реализация механизма преобразования данных, получаемые СП.

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

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

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

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

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

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

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

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

8. Разработаны и реализованы иерархии классов на ООЯП:

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

• позволяющая представлять данные в КП и отличающаяся от известных тем, что классы не содержат в своём составе методов, необходимых для извлечения данных из БД, что решает важную проблему разработки программного обеспечения (ПО), заключающуюся в зависимости между собой отдельных элементов кода;

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

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

В работе рассмотрена реализация всех элементов трёхзвенной архитектуры. При проектировании СП и КП использован язык программирования С# 2.0. Для построения структуры БД применена СУБД Microsoft SQL Server 2005. Разработанная методика может быть применена к другим ООЯП, поддерживающим метаинформацию, например, к Java. Объектная метамодель системы может быть реализована в любой современной РСУБД, например, в Oracle и DB2.

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

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

Разработанный СП может быть использован в любой КИС, для которой критичен простой и требуется высокая производительность.

На основе и с использованием предложенной методики созданы три информационные системы:

1. «ПайУголь» - программный комплекс, выполняющий учёт и распределение пайкового угля для жителей Ростовской области;

2. «AxSilo» - программно-аппаратный комплекс автоматизированного приёма и учёта сельскохозяйственной продукции.

3. «Фурнитура» - программный комплекс, учитывающий номенклатуру фурнитуры, используемой при пошиве джинсовой одежды.

Проведенные исследования подтверждаются 3 актами о внедрении разработанной методики. Результаты, полученные в ходе диссертационного исследования, частично использованы в курсе «Информационные технологии» в Педагогическом институте ЮФУ.

Работа выполнена в соответствии с паспортом специальности 05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей» в рамках следующих пунктов: п. 1 «Модели и методы проектирования и анализа алгоритмов и программ, их эквивалентных преобразований и верификаций», использовался при проектировании и реализации алгоритма унифицированных хранимых процедур выборки данных, а также при реализации механизма преобразования реляционного набора данных в объекты предметной области; п. 2 «Синтаксис и семантика языков программирования, построение и оптимизация трансляторов, создание и реализация языков программирования» использовался при реализации структуры XML документа, применяемого в качестве синтаксиса языка разметки при фильтрации наборов данных; п. 3 «Организация баз данных и знаний, построение систем управления базами данных и знаний» применялся при проектировании базы данных объектного ядра на основе РСУБД, а также при организации представлений, хранимых процедур и функций на основе структуры таблиц БД; п. 5 «Разработка и исследование человеко-машинных интерфейсов, программных средств распознавания образов и визуализации, мультимедийного общения» применялся при выделении базовых классов графических форм, используемых для создания человеко-машинных интерфейсов клиентского приложения; п. 6 «Организация распределенных и параллельных систем, разработка и исследование эффективных алгоритмов для управления параллельными процессами, создание языков и инструментальных средств параллельного программирования» использован при проектировании многопоточного корпоративного сервера приложений, поддерживающего динамическое расширение функциональности и при синхронизации доступа со стороны клиентского приложения и приложения администратора; п. 8 «Создание и исследование новых технологий проектирования, анализа, оценки качества, стандартизации и сопровождения программных систем» использован при разработке методики проектирования и реализации унифицированных трёхзвенных объектно-ориентированных приложений.

Апробация результатов работы.

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

• IV Всероссийская научно-практическая конференция студентов «Молодежь и современные информационные технологии» (Томск, ТПУ, 2006);

• X Всероссийская научно-практическая конференция «Научное творчество молодёжи» (Анжеро-Судженск, 2006);

• IV Международная научно-практическая конференция «Теория, методы проектирования, программно-техническая платформа корпоративных информационных систем» - 2 доклада (Новочеркасск, ЮРГТУ, 2006);

• I Международная научно-практическая конференция «Передовые научные разработки - 2006» (Днепропетровск, 2006);

• VII Международная научно-практическая конференция «Компьютерные технологии в науке, производстве, социальных и экономических процессах» - 2 доклада (Новочеркасск, ООО НПО «Темп», 2006);

• VII Международная научно-практическая конференция «Моделирование. Теория, методы и средства» (Новочеркасск, ЮРГТУ, 2007).

Публикации. Основные результаты диссертации опубликованы в 13 работах - научных журналах и сборниках конференций общим объемом 4,5 п.л., в том числе 5 статей объемом 2,7 п.л. в научных журналах, рекомендованных ВАК РФ для опубликования основных результатов докторских диссертаций. Имеется 1 свидетельство об официальной регистрации программы для ЭВМ.

Структура и объём диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка использованных источников из 114 элементов и 6 приложений. Основной текст диссертационной работы изложен на 218 машинописных страницах, включая 84 рисунка и 4 таблицы.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Олейник, Павел Петрович

4.4. Выводы по главе

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

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

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

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

Список литературы диссертационного исследования кандидат технических наук Олейник, Павел Петрович, 2007 год

1. Алифанов А., Использование атрибутов в среде .NET, http://vwwv.rsdn.ru/article/dotnet/attributes.xml

2. Амблер С., Гибкие технологии: экстремальное программирование и унифицированный процесс разработки. Библиотека программиста. СПб.: Питер, 2005.-412 е.: ил.

3. Ахо А., Сети Р., Ульман Дж., Компиляторы: принципы, технологии и инструменты.: Пер. с англ. — М.: Издательский дом "Вильяме", 2003. — 768 с.: ил. — Парал. тит. англ.

4. Багуи С., Объектно-ориентированные базы данных: достижения и проблемы, http://www.osp.ru/os/2004/03/184042/

5. Бек К., Фаулер М., Экстремальное программирование: планирование. СПб.: Питер, 2003.144с.

6. Бек К., Экстремальное программирование. СПб.: Питер, 2002,224с.: ил.

7. Берк П. Дж. и др., SQL Server 2000 XML, Пер. с англ.; Под ред. С.М. Молявко. -М.:Бином. Лаборатория знаний, 2003. 638 е., ил.

8. Боуррет P., XML и базы данных, http://xml.nsu.ru/pdf/database.zip

9. Буч Г., Якобсон А., Рамбо Дж., Унифицированный процесс разработки программного обеспечения.- СПб.: Питер, 2002.-496 е.: ил.

10. Виноградов С. А., Моделирование иерархических объектов, http://www.citforum.ru/database/articles/tree.shtml

11. Гамма Э. и др, Приёмы объектно-ориентированного проектирования. Паттерны проектирования, СПб: Питер, 2001. 368 е.: ил. (Серия «Библиотека программиста»),

12. Гладченко А., Деревья в поддерживающих стандарты SQL базах данных, http://www.sql.rii/articles/mssql/2005/061904TreesInSQLdatabases.slitml

13. Голованов М., Иерархические структуры данных в реляционных БД, http://www. rsdn.ru/article/db/Hierarchv. xml

14. Гома X., UML. Проектирование систем реального времени, параллельных и распределённых приложений: Пер. с англ. М.: ДМК Пресс, 2002. - 702с.: ил.

15. Гранд М., Шаблоны проектирования в Java, Пер. с англ. С. Беликовой. М.: Новое знание, 2004. - 559с.: ил.

16. Грейв М., Проектирование баз данных на основе XML, Пер. с англ. М.: Издательский дом «Вильяме», 2002. - 640 е.: ил. - Парал. тит. англ.

17. Грофф Дж., Вайнберг П., SQL: Полное руководство, Пер. с англ. -2-е изд., перераб. и доп. К.: Издательская группа BHV, 2001.-816 е., ил.

18. Грэхем И., Объектно-ориентированные методы. Принципы и практика. 3-е издание.: Пер. с англ. М.: Издательский дом «Вильяме», 2004. - 880 е.: ил. - Парал. тит. англ.

19. Даниленко Е., Разработка приложений ЕСО в Borland C#Builder и Borland Delphi 8 for the Microsoft .Net Framework, http://rsdn.ru/article/devtools/ecodev.xm 1

20. Дейт К. Дж., Введение в системы баз данных, 7-е издание.: Пер. с англ. М.: Издательский дом «Вильяме», 2001. - 1072 с.: ил. - Парал. тит. англ.

21. Дейтел X., Дейтел П., Как программировать на С++: Пер. с англ. М.: ЗАО «Издательство БИНОМ», 1999 г. -1024 е.: ил.

22. Дейтел Х.М., Дейтел П.Дж. и др., Как программировать для Internet и WWW, М.: Бином, 2003. 1184., ил - Парал. тит. англ.

23. Дейтел Х.М., Дейтел П.Дж. и др., Как программировать на XML, М.: Бином, 2001. -944., ил Парал. тит. англ.

24. Джордан Д., Обработка объектных баз данных в С++. Программирование по стандарту ODMG, Пер. с англ.: Уч. пос. М.: Издательский дом «Вильяме», 2001. -384с.: ил. - Парал. тит. англ.

25. Дубина О., Обзор паттернов проектирования, http://citforum.ni/SE/proiect/pattern/

26. Коннолли Т., Бегг К., Страчан А., Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд. /: Издательский дом «Вильяме», 2000. -1120 е.: ил. Парал. тит. англ.

27. Корявченко A., .Net. Использование Remoting в multitier приложениях // RSDN Magazine. 2002. №1

28. Костра В. В., Прокопчук Ю. А. Модели хранения первичных данных в медицинской информационной системе // Вестник ХГТУ. 2003. №2(18). С. 254-259

29. Костра В.В., Алпатов А.П., Прокопчук Ю.А., Госпитальные информационные системы: архитектура, модели, решения. Днепропетровск: УГХТУ, 2005. - 257 с.

30. Крёнке Д., Теория и практика построения баз данных. 9-е изд. СПб.: Питер, 2005 -859 с.:ил. - (Серия «Классика computer science»).

31. Кривонос Н., Журналирование изменений структуры БД и данных, http://www.sql.ru/articles/mssql/2005/03070 lChangesLotzuing.shtml

32. Кузнецов С., Дискуссия об архитектурах объектно-ориентированных СУБД, http://citfomm.ru/database/articles/oodbmsarchitectures/

33. Кузнецов С., Наиболее интересные новшества в стандарте SQL:2003, http://citforum.ru/database/sql/sql2003/

34. Кэй М., XSLT. Справочник программиста, 2-е изд., М.: Символ-Плюс, 2002. 1016., ил.- Парал. тит. англ.

35. Лейнекер P., СОМ+. Энциклопедия программиста, Пер. с англ.: СПб.: ООО «ДиаСофтЮП», 2002. 656с.

36. Маклин С., Нафтел Дж., Уильяме К., Microsoft .Net Remoting, Пер. с англ. М.: Издательско - торговый дом «Русская редакция», 2003. - 384 е.: ил.

37. Мамаев Е., Шкарина JL, Microsoft SQL Server 2000 для профессионалов СПб: Питер, 2001,- 1088с.: ил.

38. Меркульев А., Архитектура разработки приложений реляционных баз данных и инструмент для генерации кода приложения, http://dvakovkm.tripod.com/am/orc.htm

39. Меркульев А., Объектно-компонентная платформа создания приложений БД, http://www.dotsite.spb.ru/Publications/Publicationl57.aspx

40. Мюллер Р. Дж., Базы данных и UML проектирование : Пер. с англ. М.: Лори, 2002. - 420с.: ил. - Парал. тит. англ.

41. Нейгел К., Ивьен Б., Глинн Дж. и др., Язык программирования С# 2005 для профессионалов. Си шарп: Пер. с англ. М: Компьютерное издательство "Диалектика", 2006 г. -1376 е.: ил.

42. Ноутон П., Шилдт Г., Java 2: Пер. с англ. СПб.: БХВ-Петербург, 2001. -1072 е.: ил.

43. Ньюкомер Э., Веб-сервисы. Для профессионалов, СПб.: Питер, 2003. 256с.: ил.

44. Олейник П.П., Декларативный подход к реализации шаблона проектирования Singleton // Информационные технологии и вычислительные системы. 2006. №4. С. 4551.

45. Олейник П.П., Многопоточный сервер приложений, поддерживающий динамическую компиляцию модулей расширений (SharpArchitect Application Server), Свидетельство об официальной регистрации программы для ЭВМ № 2006613503,9 октября 2006 г.

46. Олейник П.П., Организация метамодели объектной системы на основе реляционной СУБД// Научное творчество молодёжи: Материалы X Всероссийской научно-практической конференции (21-22 апреля 2006 г.) Ч. 1. Томск: Изд-во Том. ун-та, 2006. С. 87-88

47. Олейник П.П., Практические аспекты реализации многопоточного сервера приложений // Информационные технологии. Теоретический и прикладной научно-технический журнал. 2007. №1. С. 47-50.

48. Олейник П.П., Представление метамодели объектной системы в реляционной базе данных // Известия высших учебных заведений. Северо-Кавказский регион. Спецвыпуск «Математическое моделирование и компьютерные технологии» 2005. С. 3-8

49. Олейник П.П., Применение параметрированных типов при реализации базовых классов предметной области // Информационные технологии. Теоретический и прикладной научно-технический журнал. 2007. № 8. С. 14-17.

50. Олейник П.П., Проблема выбора оптимального языка программирования для реализации программного продукта // Матер1али V М1жнарод-ноУ науково-практично'1 конференцп "Динамжа наукових дослщжень 2006". Том 7. Дшпропетровськ: Наука i ocBiTa, 2006. С.67-69.

51. Рамбо Дж. и др., UML: специальный справочник, СПб.: Питер, 2002. 656с.: ил.

52. Рихтер Дж., CLR via С#. Программирование на платформе Microsoft .NET Framework 2.0 на языке С#. Мастер-класс. / Пер. с англ. — М.: Издательство «Русская Редакция»; СПб.: Питер, 2007. — 656 стр.: ил.

53. Робинсон С. и др., С# для профессионалов, в 2-х т., Пер. с англ. М.: Лори, 2003. -1002 с. :ил. - Парал. тит. лист.

54. Рыков А.С., Методы системного анализа: многокритериальная и нечёткая оптимизация, моделирование и экспертные оценки. М.: Экономика, 1999. - 316с.: ил.

55. Савитч У., Язык С++. Курс объектно-ориентированного программирования, 3-е изд.: Пер. с англ. М.: Издательский дом «Вильяме», 2001. - 704 с.: ил. - Парал. тит. англ.

56. Свириденков А., Применение XML в реляционных БД для хранения объектов сложной структуры, http://ibase.ru/devinfo/xmldb.htm

57. Сеппа Д., Microsoft ADO.Net, Пер. с англ. М.: Издательско-торговый дом «Русская редакция», 2003. - 640с.: ил.

58. Сидельников В.И., Олейник П.П., Метод представления истории изменения данных, Информационные технологии. Теоретический и прикладной научно-технический журнал. 2006. №7. С. 37-48.

59. Смирнов А., Протоколирование действий пользователей и версионность записей // RSDN Magazine. 2004. №2

60. Степаненко В., Обзор SQL Server 2005 для разработчика баз данных, http://www.sql.ru/articles/mssql/2005/042401OverviewSOLServer2005forDatabaseDevelop er.shtml

61. Степаненко В., Поддержка XML в Microsoft SQL Server 2005, httD://www.sql.ru/articles/mssql/2005/020901XMLSupportInMicrosoftSQLServer2005.shtm 1

62. Тенцер А., Естественные ключи против искусственных ключей, hUpV/www.ibase.nj/devinfo/NaturalKevsVersusAtrincialKevsBvTentser.html

63. Топп У., Форд У., Структуры данных в С++, М.: Бином, 2001. 816., ил.- Парал. тит. англ.

64. Троелсен Э., Язык программирования С# 2005 и платформа .Net 2.0.3-е издание.: Пер. с англ. М.: ООО "И.Д. Вильяме", 2007. - 1168 с.: ил. - Парал. тит. англ.

65. Усов А.С., Объектное представление о реляционной модели, http://www.alexus.ru/russian/articles/acrobat/OOP RM.pdf

66. Фаронов В.В., Шумаков П.В., Delphi 5. Руководство разработчика баз данных, М.: «Нолидж», 2001. 640., ил.

67. Флауер М., Архитектура корпоративных программных приложений, Пер. с англ. М.: Издательский дом «Вильяме», 2004. - 544 е.: ил. - Парал. тит. англ.

68. Холзнер С., XML. Энциклопедия, 2-е изд. СПб.: Питер, 2004. -1101с.: ил.

69. Чанг Б., Скардина М. и др., Oracle9i XML. Разработка приложений электронной коммерции с использованием технологии XML, М.: Лори, 2003. 492., ил.

70. Чистяков В., Нововведения в С# 2.0 // RSDN Magazine. 2003. № 6

71. Шаллоуей А., Трот Дж., Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию, Пер. с англ.:- М.: Издательский дом «Вильяме», 2002. 288с.: ил. - Парал. тит. англ.

72. Шилдт Г., Полный справочник по С#, Пер.с англ. М.: Издательский дом «Вильяме», 2004. - 752 с. ил. - Парал. тит. англ.

73. All popular programming languages, for each one the description and why to choose it, http://www.scriptol.orp/choose.php

74. Ambler S., Agile Database Techniques: Effective Strategies for the Agile Software Developer, John Wiley & Sons, 2003,373p.

75. Ambler S.W., Mapping objects to relational databases. What you need to know and why, http://www-106.ibm.com/developerworks/webservices/library/ws-mapping-to-rdb/

76. Bacon D., Double-Checked Locking is Broken Declaration, http://www.cs.umd.edu/-pugh/iava/memoryModel/DoubleCheckedLocking.html

77. Bauer C., King G., Hibernate in Action, Manning Publications, 2005,431 p.

78. Ben-Gan I., Wolter D., Inside Microsoft SQL Server 2005: T-SQL Programming, Microsoft Press, 2006,532p.

79. Blake C., Run Time Compiler, Ьир:/Ду\у\у.с-5Ьафсог-ner.comAJploadFile/ChrisBlake/RunTimeComDilerl2052005045037AM/RunTimeCompiler. aspx

80. Boland D., Pluggable Remote Object Hosting, http://www.codeproiect.com/csharp/dbremoteplugins.asp

81. Fussell M.L., Foundations of Object Relation Mapping, http://w\vw.chimu.com/publications/obiectRe1ational/obiectRelational.pdf

82. Golding Т., Professional .NET 2.0 Generics, Wiley Publishing, Inc., 2005,410p.

83. Gross Ch., Foundations of Object-Oriented Programming. Using .Net 2.0 Patterns, Apress, 2006,358p.

84. IBM Corp., Книга no DB2 и XML, http://www.ibm.com/developerworks/ru/library/db2xml-intro/contents.html?S TACT=105AGX99&S CMP=GR01GR01

85. Keith M., Schincariol M., Pro EJB 3. Java Persistence API, Apress, 2006,480p.

86. Klein S., Professional SQL Server 2005 XML, Wiley Publishing, 2006,549p.

87. Lhotka R., Expert C# 2005 Business Objects, Second Edition, Apress, 2006,695p.

88. MacDonald M., Pro .NET 2.0 Windows Forms and Custom Controls in C#, Apress, 2006, 1081p.

89. McCaffrey J., The Analytic Hierarchy Process, http://msdn.microsoft.com/msdnmag/issues/05/Q6/TestRun/default.aspx

90. McCown F., Remoting with GUIs, http://codeproiect.com/csharp/remotinggui.asp

91. Microsoft Corp., BindingList Generic Class, http://msdn2.microsoft.com/en-us/librarv/msl32679.aspx

92. Microsoft Corp., Designing Data Tier Components and Passing Data Through Tiers, http://msdn.microsoft.com/librarv/default.asp?url=/library/en-us/dnbda/litml/BOAGag.asp

93. Microsoft Corp., IEditableObject интерфейс, http://msdn.microsoft.com/librar\yrus/default.asp?url=/library/njs/cpref/html/frlrfsvstemcom ponentmodelieditableobiectclasstopic.asp

94. Microsoft Corp., Proxy Attribute класс, http://msdn.microsoft.com/librarv^s/default.asp?url-/librarv/ms/cpref/html/frlrfsystemrunti meremotingproxiesproxyattributeclasstopic.asp

95. Microsoft Corp., ReaderWriterLock класс, http://msdn.microsoftxom/library^s/default.asp?url=/library/RUS/cpref/html/frlrfSvstemTh readinpReaderWriterLockClassTopic.asp

96. Minter D., Linwood J., Pro Hibernate 3, Apress, 2005,264p.

97. Mukerji J., Miller J., MDA Guide VI.0.1. http://www.omg.org/cgi-bin/apps/doc7omg/03-06-01.pdf

98. Poore E., C# Script for .NET 2.0, http://codeproiect.com/csharp/CSharpScript.asp

99. Rector В., Comparing .NET Generics and С++ Templates, http://www.codeguru.com/csharp/.net/cppmanaged/windowsservices/article.php/c7423/

100. Silva P., Design Pattern: Singleton in C#, http://www.devhood.com/Tutorials/tutorial details.aspx?tutorial id=486&printer=t

101. Snodgrass R. Т., Developing Time-Oriented Database Applications in SQL, San Francisco, California, «Morgan Kaufmann Publishers», 2000

102. Snodgrass R., Temporal Support in Standard SQL, http://www.dbpd.com/vault/9810snod.html

103. Straughan A., Dynamically Loading an Assembly, http://www.c-sharpcorner.com/Code/2002/April/LoadingAssemblvInfo.asp

104. TIOBE Programming Community Index for May 2006, http://www.tiobe.com/tpci.htm 1 KZografos K. G., Analytic Hierarchy Process (AHP): ITS APPLICATION IN FTS

105. BUSINESS MODEL ASSESSMENT,http://projectapps.vtt.fi/Connect/Rainbow/Documents/connect/2%5Eday3%20sessionZog rafos.pdf

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