Содержание к диссертации
Введение
Глава 1. Обзор моделей данных для построения информационных систем управления предприятием 10
1.1. Эволюция представлений о моделировании данных 11
1.2. Временные базы данных и их практическое значение 17
1.3. Расширяемые системы управления базами данных 22
1.4. Направления исследований, связанных с концептуальным моделированием данных 24
1.5. Семантическая объектная модель данных 26
1.6. Сравнение семантической объектной модели и модели «сущность-связь» 28
1.7. Сложности преобразования концептуальной модели для ее представления в СУБД 30
1.8. Проблемы анализа и синтеза структуры сложных систем 31
1.9. Постановка цели и задачи диссертационной работы 33
Глава 2. Информационная модель предметной области 35
2.1. Определение характеристик модели данных и выбор средств для ее описания 36
2.2. Теоретико-множественные понятия теории общих систем 40
2.3. Определение дополнительных элементов модели 41
2.4. Представление информации о времени в модели данных 44
2.5. Представления объектов посредством программных структур данных 48
2.6. Определение функциональности объектов системы 57
2.7. Выводы по второй главе 63
Глава 3. Интегрированная среда для автоматизированного проектирования и создания базы данных информационной системы 65
3.1. Операторы SQL-92, лежащие в основе методов Add и Modify объектов 65
3.2. Описание элементов семантической объектной модели данных средствами новой модели данных 71
3.3. Алгоритм метода поиска экземпляров объекта 81
3.4. Выводы по третьей главе 83
Глава 4. Использование интегрированной среды разработки информационных систем 85
4.1, Программная реализация интерфейса разработчика модели предметной области 85
4.2, Реализация графического интерфейса пользователя системы, 90
4.3, Практический пример базы данных, реализованный в разработанной программной среде 96
4.4. Выводы по четвертой главе 101
Заключение 103
Литература 105
Приложения 112
- Эволюция представлений о моделировании данных
- Определение характеристик модели данных и выбор средств для ее описания
- Операторы SQL-92, лежащие в основе методов Add и Modify объектов
- Программная реализация интерфейса разработчика модели предметной области
Введение к работе
Постоянное совершенствование технологий, освоение новых видов
* изделий, высокие требования к качеству продукции ставят перед
предприятием ряд проблем. Одной из задач является совершенствование
S системы управления предприятием. Традиционные системы управления
инерционны по отношению к возмущающим воздействиям. Предприятие же постоянно находится в динамичной и быстро меняющейся рыночной среде. Этот фактор необходимо учитывать во всех аспектах его деятельности. Чтобы приспосабливаться к изменяющимся условиям, необходимо иметь адаптивную, быстро настраиваемую на решение новых задач информационную систему управления, которая должна обладать свойством гибкости; позволять отслеживать технико-экономические показатели производства; обеспечивать интеграцию информационных ресурсов и
> своевременную поставку информации.
, Результаты исследований в данном направлении отражены в работах
Баронова В.В., Гаврилова Д.А., Зиндера Е.З., Калянова Г.Н., Рубцова СВ., Титовского И.Н. и др. На рынке имеется ряд программных продуктов (например, «Галактика», «Парус», «БЭСТ-про», SAP R3, BAAN IV), которые решают задачи автоматизированного управления предприятием. Однако модели данных, лежащие в основе этих систем не позволяют обеспечить в полном объеме гибкость и адаптивность информационных систем управления предприятием.
На протяжении всей истории применения компьютерных систем в коммерческой деятельности, имелась некоторая степень разобщения между
ь самими информационными системами и конструкциями реального мира, для
поддержки которых они разрабатывались, например, множество приложений, которые требуют многократное повторение ввода значительного объема информации на бумажных носителях, совместно используемой пользователями в различных областях коммерческой
деятельности; сам процесс разработки программного обеспечения и систем с его базовыми методологиями и моделями, которые требовали затруднительного и чреватого ошибками отображения между фазой концептуального проектирования и реализацией приложений и систем.
Совершенствованием способов представления предметной области на концептуальном уровне занимались такие ученые как: Чен П., Кодд Э., Когаловский М.Р., Кузнецов С.Д., Верников Г.Г., Цикритзис Д., Лоховски Д., Бен-Зви Я., Саймон А.Р., Smith J.M. and Smith D.C.P., Roddick J.F., Christian S. Jensen и другие. Однако не все проблемы являются до конца решенными, в частности, задачи поддержки временных характеристик базы данных, поддержки эволюции ее схемы и повышения семантики моделей данных для построения на их основе автоматизированных систем проектирования, создания и сопровождения информационных систем является актуальной.
Объект исследования: машиностроительное предприятие.
Предмет исследования: информационная система промышленного предприятия.
Цель диссертационной работы: повышение эффективности процессов проектирования, создания и сопровождения информационной базы данных промышленного предприятия, за счет использования в автоматизированной системе, обеспечивающей эти процессы, оригинальной временной модели данных и современных объектно-ориентированных технологий.
В работе поставлены и решены следующие задачи:
Проведение исторического обзора существующих моделей данных и современных подходов к моделированию данных, определение перспективных направлений в области моделирования данных.
Получение описания основных и вспомогательных элементов модели данных, их свойств и характеристик посредством
математического аппарата теории множеств, а также ее временных характеристик.
Определение программных объектов, для представления информации о моделируемой системе и самих данных системы в ЭВМ.
Определение реляционных отношений для сохранения объектов системы, их значений, а также связей между ними в реляционной базе данных.
Создание программной реализации среды проектирования, создания и сопровождения базы данных, реализованной на предложенной в работе модели данных.
Методы исследования.
Для решения указанных задач использовались: методы системного анализа, теория предикатов первого порядка, теория множеств, теория реляционных баз данных, объектных баз данных и теория временных баз данных.
Для практической реализации использовались: технология Microsoft ADO, РСУБД Oracle, РСУБД MS Access, язык информационных запросов SQL, система автоматизированной разработки приложений Delphi, ОС Windows 2000, ОС Linux.
Научная новизна работы заключается в следующем:
Выполнено научное обоснование предложенной модели данных, обладающей свойствами, обеспечивающими гибкость и оперативность внесения изменений в систему описания объектов этой модели.
Разработана система объектов для описания предложенной модели данных в ЭВМ, а также методы для работы с этими объектами.
3. Разработана система долговременного хранения объектов предложенной модели данных, отличающаяся инвариантностью структуры физического представления информации в ЭВМ.
Практическая ценность работы. Разработана система управления базой данных, в основе которой лежит предложенная в работе модель данных. Фрагменты базы данных построены при помощи созданной среды разработки, и представляют решения задач классификации объектов управления производством, учета кадров (графики работ, табель учета рабочего времени, автоматизированный контроль за исполнением графика работ) и представления конструкторско-технологической информации.
Элементы системы управления предприятием на новой модели данных были реализованы на: ОАО «Костромской завод автоматических линий и специальных станков», ГУП учреждения ОТ-15/1 и ООО «Электрограф-Инжиниринг», что подтверждено соответствующими документами.
Промышленная эксплуатация программных продуктов показала обоснованность принятых в диссертационной работе решений.
Апробация работы. Работа заслушана на кафедрах: технологии машиностроения и кафедре вычислительной техники в КГТУ; на научных конференциях КГУ в 2000 и 2003 году, в КГТУ в 2001-2002 году, Международной научно-практической конференции «200-летие высшей школы», Ярославль, 2002 г.; на научно-методических семинарах кафедры вычислительной техники Костромского государственного технологического университета и кафедре МПО ЭВС Рыбинской государственной авиационной технологической академии.
Публикации. По материалам диссертации опубликованы следующие печатные работы:
1. Иванов Д.А., Шведенко В.Н. Новая модель данных для структурирования информации // Сб. тр. Костр. гос. технол. универ.
Системный анализ. Теория и практика. - Кострома: КГТУ, 2001, с. 33-37.
Иванов Д.А., Шведенко В.Н. Новый подход к моделированию данных в информационных системах // Практика системного анализа (тематический сб. науч. трудов). - Кострома: 2002, с. 50-56.
Иванов Д.А., Шведенко В.Н. Компьютерная модель процесса изнашивания твердосплавного резца // Вестник Костромского технологического университета: Периодический научный журнал. -Кострома: КГТУ, 2001.-№3, с. 74-76.
Иванов Д.А., Шведенко В.Н. Метод построения информационной модели производственного процесса // Экономическая наука -хозяйственной практике: Тез. докл. Молодежной межвуз. научно-практической конф. - Кострома, 2001, с. 8.
Свидетельство «Об официальной регистрации программы для ЭВМ» № 2000610932. Компьютерная модель процесса изнашивания твердосплавных резцов. / Иванов Д.А., Шведенко В.Н.; Копков С.Д. заявл. 06.09.00, опубл. 20.09.00.
Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка используемых источников (84 наименования), и приложения. Работа содержит 111 страниц машинописного текста, 27 рисунков, 15 таблиц.
На защиту выносится:
Временная модель данных, отражающая динамику изменения структуры объектов предметной области;
Структура объектов модели данных для представления ее в памяти ЭВМ;
Методы работы со структурными элементами модели данных;
4. Программная реализация среды проектирования, создания и сопровождения базы данных, реализованной на предложенной в работе временной модели данных.
Эволюция представлений о моделировании данных
Основополагающую роль в разработке информационных систем играет методология построения систем баз данных. Одним из ее ключевых элементов является концепция модели данных. В научной литературе рассматриваются следующие модели данных: сетевая, иерархическая, реляционная и объектная [8]. Сетевая модель данных. Наибольший вклад в разработку сетевой модели был внесен американским ученым Ч. Бахманом. Эта модель данных определяет множества записей, которые могут быть владельцами или членами групповых отношений. Связь между записью-владельцем и записью-членом имеет вид один ко многим. Запись может быть членом более чем одного группового отношения. Каждое групповое отношение именуется и затем проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа. Спецификация сетевой модели данных была разработана группой CODASYL и была опубликована в 1969 году в [9]. Согласно указанной спецификации кроме самой модели данных был представлен язык определения схемы данных и язык манипулирования данными применительно к языку COBOL. Одна из последних версий спецификации определяет концепцию целостной архитектуры системы управления базами данных и была опубликована в 1978 в [10]. В этой работе сформулированы основополагающие принципы, как отделение описания данных от прикладной программы и введение концепции схемы базы данных, строгое разграничение «логического» и «физического» представления данных, концепции защиты целостности данных и управления доступом. К недостаткам сетевой модели можно отнести: навигационный способ доступа к данным, жесткую привязанность структур данных к конкретной реализации базы данных, высокую сложность и трудоемкость реорганизации базы данных при изменении информационной модели предметной области.
Иерархическая модель данных. Одновременно с подходом CODASYL сформировался иной подход к созданию систем баз данных. Компания North American Rockwell предложила иерархическую модель данных с языком DL/1 [11]. Согласно концепции этой модели, информация представляется отношениями «один-ко-многим» от родительской к подчиненной. Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой до требуемой по иерархическому пути. Для запоминания любой некорневой записи в базе данных должна существовать ее родительская запись. К недостаткам иерархической модели данных следует отнести: отсутствие поддержки парных записей входящих в разные иерархии, что приводит к необходимости дублирования информации, навигационный способ доступа к данным, высокую сложность проектирования структуры данных и трудоемкость внесения изменений в имеющиеся структуры данных.
Реляционная модель данных. На смену иерархическим и сетевым СУБД, после публикации Э.Ф.Кодда [12], пришли реляционные СУБД. Большое количество работ посвящено исследованиям в этом направлении [13, 14, 15, 16, 17, 18, 19, 20, 21] и др. Реляционная модель данных, лежащая в основе таких СУБД имеет формализованную структуру хранения информации в виде отношений, а также лингвистические средства для описания и манипулирования данными. Появление реляционных СУБД стало большим шагом вперед по сравнению с иерархическими и сетевыми СУБД. В реляционных системах стали использоваться непроцедурные языки манипулирования данными, и была достигнута значительная степень независимости данных от обрабатывающих программ. Наиболее важную роль в развитии реляционного подхода сыграли новаторские исследовательские проекты, выполненные компанией IBM и группой М. Стоунбрекера из Калифорнийского университета. К недостаткам, вызванным несовершенством самой реляционной модели данных можно отнести следующие: реляционная модель данных не допускает естественного представления данных со сложной (иерархической) структурой, поскольку в ее рамках возможно моделирование лишь с помощью плоских отношений. Все отношения принадлежат одному уровню, многие значимые связи между данными теряются, или их поддержку приходится осуществлять в рамках конкретной прикладной программы; в реляционной модели поля кортежа могут содержать лишь атомарные значения. Однако, в таких приложениях как системы автоматизированного проектирования, геоинформационные системы, искусственный интеллект и другие, системы оперируют со сложно-структурированными данными. В том случае, когда сложный объект удается описать средствами реляционной модели, его данные распределяются, как правило, по многим таблицам. Соответственно, извлечение каждого такого объекта требует выполнения многих операций соединения, что значительно замедляет работу СУБД.
Определение характеристик модели данных и выбор средств для ее описания
Как следует из обзора исследований в области моделирования данных, проведенного в первой главе, модели данных можно разделить на две группы по возможностям построения описания предметной области в терминах близких к терминам проблемной области. К первой группе можно отнести универсальные модели данных, например, такие как иерархическая, сетевая, реляционная, позволяющие решать широкий круг задач, но при этом высокой ценой за их универсальность, является малое смысловое содержание основных описательных элементов этих моделей данных. Ко второй группе отнесем модели, обеспечивающие представление информации на уровне близком к представлениям специалистов предметной области, которых не интересует, каким образом представляются данные и взаимосвязи этих данных физически. К моделям данных этой группы можно отнести модель «Сущность-связь», «Семантическую объектную модель», а также ряд других моделей. Традиционно, существует разделение на построение концептуальной модели предметной области и проектирование реализации базы данных.
Для решения сложных задач, например, создания информационной системы промышленного предприятия проектирование при помощи моделей первой группы потребовало бы глубокой аналитической работы, направленной на организацию и обеспечение взаимодействия некоторых элементарных структур — элементов соответствующей модели данных. Так, например, в реляционной СУБД для решения задачи учета материальных ценностей некоторого предприятия потребуется проведение декомпозиции прикладной задачи до некоторого набора отношений и определения реляционных связей между ними. Так как процесс декомпозиции для решения задачи является творческим, то конечный результат может представляться различными вариантами схемы базы данных. Достоверная информация об эффективности того, или иного решения, может быть оценена, в основном, экспериментальным путем посредством создания и заполнения информацией базы данных, исследуя и анализируя систему на быстродействие (время поиска информации), масштабируемость, избыточность информации, аномалии и т.п. Решение задачи на концептуальном уровне, позволяет описывать предметную область в понятных практику терминах и снижает трудоемкость этого этапа работ, но большинство средств, для такого проектирования, не позволяют создавать непосредственно практическую реализацию базы данных. Проецирование концептуальной модели предприятия на модель СУБД становиться отдельной не тривиальной задачей, которая имеет множество вариантов решения, а процесс перехода может быть весьма трудоемким и длительным [69].
Существуют средства для получения схемы базы данных под определенные СУБД на основе ее концептуальной модели. Но такие системы, не всегда позволяют учитывать изменения, вносимые на уровне концептуальной модели данных, в ее практической реализации. Это приводит к трудоемкому отражению изменений уже на уровне модели данных, посредством инструментальных средств используемой СУБД.
Как следует из рассмотренных в первой главе вариантов преодоления этого препятствия может служить применение расширяемых решений. Но при детальном рассмотрении становиться видно, что предоставляемые этими системами возможности существенны только на стадии проектирования и несостоятельны на стадии внесения изменений в функционирующую систему. Таким же недостатком обладают и многие CASE-средства. В решении обозначенных задач могут помочь системы управления временными базами данных с поддержкой версий схемы базы данных.
Проектирование информационных систем управления предприятием является сложной задачей как с позиций количества объектов и свойств, моделирующих эту предметную область, так и с позиций проведения самой декомпозиции предметной области.
Задачи моделирования структуры сложных информационных систем, требуют разработки математических методов формализации элементов и их взаимодействия в системе. В зависимости от конкретных требований при анализе и синтезе структуры систем могут использоваться различные модели данных и методы. Наибольшее распространение получили методы математического программирования, теории графов и последовательные процедуры квазиоптимизации. Для формализованного описания элементов системы и их взаимосвязей используются методы теории графов, широкое применение находят альтернативные графы, сети, деревья, гиперграфы и др. Функционирование системы в этом случае задается в виде направленных потоков, либо специальных логических правил и условий функционирования элементов системы.
В качестве удобного аппарата для описания элементов сложных систем используются автоматы, при формализации технических устройств; динамические элементы для описания систем автоматического регулирования, логико-динамические элементы; для формализации элементов экономики: элемент экономики (бизнес-процесс), активный элемент и другие.
Теоретической основой для определения элементов модели данных для описания информационных систем, может служить общая теория систем, которая представляет собой научную дисциплину, изучающую различные явления, отвлекаясь от их конкретной природы, и основывается на формальных взаимосвязях между различными составляющими их факторами и на характере их изменений под влиянием внешних факторов. Большой вклад в развитие этого научного направления внесли Людвиг фон Берталанфи [70,71], Норберт Винер [72,73], Герберт Саймон [74,75] и другие ученые [76,77,78]. Эта теория в равной степени относиться и к описанию систем, основанному на предположении о целенаправленности их поведения (и использующему понятия принятия решений и управления), и к их феноменологическому описанию, фиксирующему характер (причинно-следственных) преобразований входных воздействий в выходные величины. Данная теория одной из основных ее конечных целей несет достижение возможности изучения иерархических, многоуровневых систем принятия решений.
Операторы SQL-92, лежащие в основе методов Add и Modify объектов
В материале предыдущей главы рассматривались операторы лежащие в основе метода Search для объектов системы. Ниже определим операторы, лежащие в основе методов добавления и изменения, относящиеся к классам TOSD, TPOSD, TPSD, TInst. Рассмотрим каждый метод поочередно для всех перечисленных классов объектов системы. Оператор языка SQL-92 для метода добавления нового объекта Add для класса TOSD имеет следующий вид: Insert Into OSD (IDjObj, Name, DateFrom, DateBefore) ValuesfCI, C2, C3, C4), где OSD - таблица хранящая информацию об объекта системы; С!, С2, СЗ, С4 - непосредственно сохраняемые значения ID, Name, StartTimc, EndTime. Параметры передаются через значения соответствующих свойств объекта. Для внесения изменений в описание объектов используется метод Modify. В его составе лежит следующий оператор на языке SQL-92; Update OSD Set №те=С2, ОаіеВфге=С4 Where (ID_Obj=Cl) And (DateFrom=C3), где OSD-таблица хранящая информацию об объекта системы; С2, СЗ, С4 - новые значения для модифицируемых свойств Name, StartTimc, EndTime. СІ - идентификатор объекта, который подлежит изменению. Параметры, как и в предыдущем методе, передаются через значения соответствующих свойств объекта. Пример таблицы OSD, хранящей информацию об объектах системы, приведен на рис. 3.1. Оператор языка SQL-92 для метода добавления нового свойства объекту Add, реализованный в классе TPOSD имеет следующий вид: Insert Into POSD (IDjObj, ID_Prop, Multivalence, DisplayOrder, DateFrom, DateBefore) Values(Cl, C2, C3, C4, C5), где POSD - таблица содержащая информацию о свойствах определенных для каждого объекта системы; С1, С2, СЗ, С4, С5 - непосредственно сохраняемые значения ID, ID_Prop, Multy, Order, StartTime, EndTime. Параметры для объекта передаются через значения соответствующих его свойств. Для внесения изменений в состав свойств объектов используется метод Modify. В его составе лежит следующий оператор на языке SQL-92: Update POSD Set Multivalence =C3, DisplayOrder =C4, DateBefore=C6 Where (ID_Obj=Cl) And (ID_Prap=C2) And (DateFrom=C5), где POSD - таблица, содержащая информацию о свойствах определенных для каждого объекта системы; СЗ, С4, С6 - новые значения для модифицируемых свойств Mully, DisplayOrder, EndTime. С! идентификатор объекта, который модифицируется; С2 - идентификатор свойства объекта, параметры которого модифицируется; С5 — время начала жизни версии для свойства объекта, которое требуется модифицировать. Параметры, как и в предыдущем методе, передаются через значения соответствующих свойств объекта. Множество свойств системы, как говорилось в предыдущей главе, описывается объектами, принадлежащими классу TPSD. Метод поиска элементов этого класса ранее также рассматривался. Остановимся на методах добавления и изменения информации об элементах этого класса. Оператор языка SQL-92 для метода добавления нового свойства Add для класса TPSD имеет следующий вид: Insert Into PSD (ID_Prop, Name, PSDType, IDJDbj, DateFrom, DateBefore) Values(Cl, C2, C3, C4, C5, Сб), где PSD - таблица содержащая информацию о всех свойствах определенных в системе; С1, С2, СЗ, С4, С5, Сб - непосредственно сохраняемые значения ID, Name, PSDType, ID_Obj, StartTime, EndTime. Параметры для объекта передаются через значения соответствующих его свойств.
Программная реализация интерфейса разработчика модели предметной области
Для практической апробации и проверки работоспособности предложенной в этой работе модели данных, разработана автоматизированная система моделирования предметной области и создания базы данных для модели, полученной в процессе декомпозиции решаемой задачи. Для хранения информации об объектах, описывающих модель данных и экземпляров пользовательской информации, создана база данных, имеющая структуру, предложенную во второй главе настоящей работы. Программная реализация была выполнена для двух СУБД: настольной системы MS Access фирмы Microsoft и СУБД Oracle фирмы Oracle Corporation. Взаимодействие между базой данных и приложением, ее использующим, осуществляется по технологии «клиент-сервер». Для организации обмена информацией используется технология фирмы Microsoft ADO. В работе для удобства изложения материала главы, иллюстрации приводятся на примере реализации базы данных для СУБД MS Access.
Таким образом, в этой главе рассматривается структура и принципы работы в программной среде для проектирования и создания базы данных предметной области, а также приведен пример базы данных, иллюстрирующий возможности этой среды.
В разработанной программной системе предусмотрено два интерфейса: интерфейс разработчика и интерфейс пользователя. Структурная схема автоматизированной системы разработки модели предметной области приведена на рисунке 4.1. Как видно из рисунка, взаимодействие между базой данных, выполненной в реляционной СУБД и клиентским приложением, осуществляется посредством промежуточного интерфейса, обеспечивающего временные характеристики базы данных и доступ к хранимой информации при помощи программных объектов. Кроме того, этот интерфейс обеспечивает поддержание целостности данных.
Рассмотрим клиентский интерфейс разработчика модели предметной области и основные его возможности. Для удобства демонстрации, остановимся на графической его реализации. Пример рабочего окна для построения модели данных, определения свойств, состава объектов и значений типа «перечисление», приведен на рис. 4.2.
В левой части окна располагается иерархическая структура объектов проектируемой модели, в средней части формы выводиться информация о выбранном объекте предметной области, а также приводиться его название, действительное время в базе данных, а в блоке, расположенном под ним, содержится информация об определенных для него свойствах и их характеристиках с указанием действительного времени присутствия свойства у объекта. В правой части окна проектирования базы данных представлен список всех свойств предметной области и их характеристик, определенных в разрабатываемой модели также с указанием их действительного времени, и, наконец, в центральной нижней части отображается список значений для свойств типа «перечисление» с указанием действительного времени для его значений. Для каждого функционального фрагмента окна предусмотрены панели инструментов, контекстные меню и функциональные клавиши быстрого доступа. Эти элементы управления, а также функциональные клавиши, во многих случаях дублируют функции, которые они вызывают, что позволяет выполнять операции над объектами системы посредством различных способов при работе с графическим интерфейсом. Реализация интуитивно понятного интерфейса разработчика ускоряет и облегчает проектирование модели системы. Рассмотрим основные функции для работы с объектами системы.