Научная статья на тему 'Модели представления данных сложных производственных проектов в автоматизированных информационных системах промышленных предприятий'

Модели представления данных сложных производственных проектов в автоматизированных информационных системах промышленных предприятий Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1063
171
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
производственный проект / модель проектных данных / управление проектами / автоматизиро-ванная информационная система / industrial project / project data model / project management / computer-based information service

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — М И. Дли, О В. Стоянова, А Ю. Белозерский

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPLEX INDUSTRIAL PROJECTS DATA REPRESENTATION MODELS IN AUTOMATED INFORMATION SYSTEMS OF INDUSTRIAL INSTITUTIONS

A great number of various information systems is used during the process of complex industrial projects management. Each of them solves independent projects data processing tasks. Thus, as for new production setup projects, product information is distributed between computer-aided design systems (CAD) and automated process control sys-tems (APCS), information about necessary resources is distributed between APCS, management information system (MIS), automated project management system (APMS), etc. Project data exchange between stated systems is compli-cated by using different hardware and software, data formats, data representation models. The article considers object and relation data representation models of complex industrial projects. The first type of model is used as base of data processing using object-oriented programming languages. The relation model is necessary for data storage in industrial institutions databases. This situation is caused by information technologies evolution, i.e. data processing application development using object-oriented programming and relation DBMS dominance. Different units of information systems use different data models. This requires decision-making on transforming data representations. There is no one-stop solution for the stated task for now. The paper considers the example of such transformation for an object model in Java and for a relation model in DBMS Oracle.

Текст научной работы на тему «Модели представления данных сложных производственных проектов в автоматизированных информационных системах промышленных предприятий»

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

004.043 Дата подачи статьи: 30.09.15

DOI: 10.15827/0236-235X.112.210-218

МОДЕЛИ ПРЕДСТАВЛЕНИЯ ДАННЫХ СЛОЖНЫХ ПРОИЗВОДСТВЕННЫХ ПРОЕКТОВ В АВТОМАТИЗИРОВАННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ ПРОМЫШЛЕННЫХ ПРЕДПРИЯТИЙ

(Работа выполнена при финансовой поддержке РФФИ, проект № 15-07-02935 А)

М.И. Дли, д.т.н., профессор, midli@mail.ru;

О.В. Стоянова, к.э.н., доцент, ovstoyanova@ list.ru (Смоленский филиал Национального исследовательского университета МЭИ, Энергетический проезд, 1, г. Смоленск, 214013, Россия);

А.Ю. Белозерский, д.э.н., профессор (Российский химико-технологический университет им. Д.И. Менделеева,

]Миусская пл., 9, г. Москва, 125047, Россия)

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

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

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

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

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

В свою очередь, в классе АСУ принято выделять АСУ технологическими процессами (АСУ ТП) (SCADA), АСУ производством (АСУ П) (MES), АСУ предприятиями (АСУП) (ERP).

SCADA-системы (Supervisory Control and Data Acquisition, диспетчерское управление и сбор данных) предназначены для управления удаленными техническими объектами в режиме реального времени. Данные SCАDA-систем собираются в оперативных БД предприятия и анализируются в процессе управления производством, в том числе с использованием MES-систем (Manufacturing Execution System, система управления производственными процессами).

MES-система позволяет решать задачи координации, синхронизации, анализа и оптимизации процессов выпуска продукции [1, 2]. MES-системы получают задания на планирование процессов от

ERP-систем (Enterprise Resource Planning, системы управления ресурсами предприятия).

ERP-системы предназначены для управления всеми видами ресурсов предприятия. Наиболее распространенными среди таких систем являются BAAN (компания BAAN), R/3 (SAP), Oracle Applications (Oracle), SAS System (SAS Institute), Галактика (корпорация «Галактика»), 1C: Управление производственным предприятием («1С»), М-3 (К-Т-С). Функции ERP-систем могут быть расширены за счет интеграции с другими системами управления предприятием, например, SCM - планирование цепочек поставок, SSM - продажи и управление сервисом.

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

На основании таблицы можно сделать следующие выводы:

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

- некоторые задачи решаются с применением данных систем лишь частично, например, планирование работы может быть выполнено с использова-

210

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

нием MES-системы лишь для производственных работ;

- ряд задач проектного управления невозможно решить посредством перечисленных систем, они требуют использования ИСУП, ИАС и ИСППР.

Таблица 1

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

Table 1

Projects management functions implementation in enterprise automated systems

Функция Класс систем, подсистемы

Планирование работ проекта MES, Оперативное/Детальное планирование производства (ODS)

Планирование и контроль материальных ресурсов проекта MES, Контроль состояния и распределение производственных ресурсов (RAS) MES, Управление производственными фондами (техобслуживание) (MM)

Распределение работ между исполнителями MES, Управление персоналом (LM) ERP, Управление человеческими ресурсами (HR)

Планирование организационной структуры управления проектом ERP, Управление человеческими ресурсами (HR)

Планирование и контроль исполнения бюджета ERP, Управление финансами (FM)

Контроль качества продукции и процессов MES, Управление качеством продукции (QM)

Анализ рисков -

Анализ сценариев проекта -

ИСУП (PMS - Project Management System) предназначены для планирования и мониторинга проектов различных типов.

Существует множество программных средств PMS, ориентированных как на решение отдельных задач проектного управления, таких как планирование бюджета, контроль выполнения плана и т.д., так и на весь жизненный цикл проекта. Стабильно на российском рынке присутствуют около 10 систем. Среди лидеров такие общепризнанные решения, как Microsoft Enterprise Project Management Solution (EPM), Oracle Primavera, Deltek Open Plan. Есть и отечественные разработки, в том числе Spider Project от компании «Технологии управления Спайдер», Project Kaiser компании Triniforce. Сравнительный анализ данных систем приведен в работе [3].

Для решения аналитических задач проектного управления возможно использование систем OLAP (Online Analytical Processing, аналитическая обработка в реальном времени) и BI (Business Intelligence, бизнес-аналитика), однако подобные си-

стемы пока не получили широкого распространения на отечественных промышленных предприятиях, хотя примеры их использования существуют [4].

В последнее время большое внимание уделяется интеграции систем АСУ и САПР. Это связано с тем, что в числе наиболее важных исходных данных для MES-систем технологические процессы производства [5, 6].

В соответствии с ГОСТ 23501.101-87 «Системы автоматизированного проектирования. Основные положения», САПР - это организационно-техническая система, входящая в структуру проектной организации и осуществляющая проектирование при помощи комплекса средств автоматизированного проектирования.

В зависимости от разных признаков классификации можно выделить несколько классов систем САПР [7]. Наиболее часто применяемый признак целевого назначения данных систем разделяет их по аспектам проектирования на CAD (двумерное и/или трехмерное геометрическое проектирование, создание конструкторской и/или технологической документации), CAE (системы автоматизации инженерных расчетов, анализа, симуляции физических процессов, динамического моделирования, проверки и оптимизации изделий), CAM (системы автоматизации программирования и управления оборудованием с ЧПУ или ГАПС) и CAPP (системы автоматизации планирования технологических процессов).

Обеспечить преемственность конструкторских и технологических решений в САПР позволяет использование PDM-систем (Product Data Management, управление данными о продукции). Это системы управления информацией об изделии, включая инженерные и технические данные.

Примерами российских и западных PDM-систем являются 1С: Интегратор, 1С: PDM Управление инженерными данными, Lotsia PDM Plus, T-FLEX DOCs, TechnologiCS, Windchill, Smar-Team, IDPM CADISON PDM, SolidWorks Enterprise PDM.

В последнее время в сфере промышленной автоматизации наблюдается переход на интегрированные платформы PLM (Product Lifecycle Management, управление жизненным циклом продукции). При функционировании PLM опирается на использование совокупности рассмотренных выше информационных систем. Лидерами на рынке PLM являются Teamcenter (Siemens PLM Software), Agile PLM (Oracle), решения от Dassault Systemes. Данные решения являются дорогостоящими, поэтому область их внедрения ограничивается на сегодняшний день крупными предприятиями и концернами.

На основании представленного описания можно выделить следующие особенности автома-

211

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

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

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

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

- дублирование ряда функций или наличие нескольких их реализаций;

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

- использование различных представлений одних и тех же данных и необходимость их согласованного изменения.

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

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

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

цессах, целях, событиях, мероприятиях, а также о результатах, получаемых на каждой стадии проекта [8].

Данная информация хранится в БД автоматизированной информационной системы, поэтому при проектировании ее структуры необходимо принимать во внимание тип СУБД, используемой на предприятии. В зависимости от используемой модели данных выделяют пять видов СУБД: иерархические, сетевые, реляционные, объектные и объектно-реляционные. Несмотря на широкие возможности СУБД последних двух типов, самыми используемыми на отечественных предприятиях являются реляционные СУБД, такие как Microsoft SQL Server, Oracle Database, Teradata Database, DB2 и др.

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

Как видно из рисунка 1, между многими сущностями существует связь «многие-ко-многим», то есть одному элементу первой сущности соответствует множество элементов второй и наоборот. Данный вид связи является естественным для производственных проектов, однако ее нельзя отра-

Наступившее событие

1омер наступившего события Номер события (FK)

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

Затраты на персонал по отдельному мероприятию

Затраты на оборудование по отдельному мероприятию

Плановое мероприятие

Событие

^^омер события

Название события Т ип

Эффект

73

Номер планового мероприятия

Номер события (FK) Название мероприятия Плановая дата начала мероприятия Плановая длительность Количество персонала

Номер проекта

Название проекта

Оборудование

■1омер оборудования

Название

оборудования

Производитель

Стоимость

Мощность

Наличие

Сотрудник

Номер сотрудника!

Квалификация

Зарплата

Цель

KJ

Номер цели

Название цели 1омер проекта (FK) Минимальное время Максимальное время Достижимость

Показатель

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Номер показателя

Название идентификатора Мера измерения Плановое минимальное значение

Плановое максимальное значение

Фактическое минимальное значение

Фактическое максимальное значение

Номер процесса

Название процесса Плановая дата начала процесса Плановая длительность процесса

Фактическая длительность процесса

Фактическая дата начала процесса

Суммарный разброс

Номер работы

Название работы Стандартная длительность Стандартный разброс Плановая дата начала работы Плановая длительность Фактическая длительность Фактическая дата начала работы Тип

Минимальный разброс по типу работы Максимальный разброс по типу работы

Количество персонала

Результат

_цНомер результата

Название изделия

Количество деталей

Заготовка

Количество узлов

Деталь

Узел

Количество результатов

Документация

Номер документа

Название

документа

роцесс

роект

Работа

Рис. 1. Логическая модель данных производственного проекта Fig. 1. Industrial project data logical model

212

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

зить в БД. В связи с этим физическая модель реляционной БД (рис. 2) отличается от логической.

Таблица 2

Сущности логической модели данных

Table 2

Data logical model entities

Название Описание

Проект Информация обо всех производственных проектах

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

Показатель Перечень показателей, по которым оценивается достижимость целей

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

Наступив- шее событие Информация о реально наступивших событиях, степени влияния события на цель и затраты, связанные с ним

Мероприя- тие План мероприятий, которые могут быть проведены в случае наступления какого-то конкретного события

Процесс Перечень процессов, которые необходимо выполнить для достижения целей

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

Результат Вид и перечень результатов, которые могут быть получены при выполнении разных работ

Оборудова- ние Перечень оборудования, задействованного в конкретной работе

Сотрудник Перечень сотрудников, задействованных в конкретной работе

Документа- ция Сопроводительная документация по работам производственного проекта

Как видно из рисунка 2, для организации связи «многие-ко-многим» дополнительно создаются связующие таблицы, такие как REAL_EVENT_ MER, AIM_EVENT_MEROPRIYT, AIM_PRO-CESS, PROC_WORK, WORK_PERSON, WORK_ EQUIPMENT, PERSON_MEROPR, EQUIPMENT_ MEROPR. Кроме этого, создаются еще две справочные таблицы, отражающие тип события и тип работы: EVENT_TYPE и WORK_TYPE.

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

Объектная модель данных производственного проекта

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

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

Объектная модель данных производственного процесса, ориентированная на создание программных средств на языке Java, приведена на рисунке 3. Данная модель представляет собой диаграмму классов в соответствии с методологией UML.

На диаграмме видим, что между классами существуют четыре вида отношений.

Отношения обобщения (заканчиваются стрелкой) отражают факт наследования классов Real_ event, Indicator_Value и Result от родительских и их расширения от него. Расширение реализуется через ключевое слово «extends». Такая организация позволила использовать объекты класса-потомка как отдельно, так и включая в объекты класса-предка.

Агрегатные отношения (заканчиваются незакрашенным ромбом) реализуют логику включения одних классов в виде части целого в другой класс. Например, в классе Project (проект) должны быть установлены цели конкретного проекта, соответственно он должен включать в себя объекты класса Aim (цель). Аналогично связаны классы Aim-Process (цель-процесс), Process-Work (процесс-работа), Work-Result (работа-результат). Такое построение модели наглядно отражает логику описания проекта и гарантирует включение всех его необходимых элементов. Отношение Work-Result (работа-результат), изображенное на рисунке с закрашенным ромбом, является частным случаем агрегации - композицией. Суть данного отношения заключается в большей степени зависимости составных частей и целого, когда каждый результат выполнения тех или иных задач может быть связан только с конкретной работой.

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

Из рисунка 3 видно, что количество классов в данном случае меньше количества таблиц в БД, при этом пять из них - это классы-наследники, работа с которыми облегчается за счет наличия в объектном программировании механизма наследования [9]. Таким образом, применение объектного подхода к представлению информации о производственном проекте дает возможность сократить ее объем, что, в свою очередь, позволяет повысить производительность алгоритмов обработки.

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

Существует несколько технологий для разработки схемы обмена данными (маппинга) между

213

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

EVENT

REAL EVENT

EVENT_TYPE

REAL EVENT MER

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

Fig. 2. Industrial project relation data model

объектами прикладного решения и таблицами реляционной БД. На основании проведенного анализа для организации преобразования объектов Java в реляционную структуру была выбрана технология JPA (Java Persistence API). Пример реализации данной технологии был выполнен с использованием библиотеки Hibernate JPA [10].

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

позволяя легко организовывать связь между классами Java и таблицами БД и типами данных Java и Oracle. Кроме этого, Hibernate обладает средствами автоматического создания запросов и извлечения данных [11].

Визуально процесс взаимодействия Java и реляционных данных посредством Hibernate можно представить в виде, показанном на рисунке 4.

Полный набор файлов приложения для полноценного функционирования системы:

- descriptionjar - пакет классов, определяющий основные рабочие классы приложения и методы доступа к их атрибутам;

214

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

-id_event: int -name_event: string -type_event: event_type

+addEvent()

+deleteEvent()

+updateEvent()

+getEvent()

+findEvent()

+sortEvent()

MEROPR

-id_mer: int -name: string -plan_d_mer: date -plan_dur_mer: int -tool_mer: map<tool> -pers_mer: map<personel>

+addMeropr()

+deleteMeropr()

+updateMeropr()

+getMeropr()

+fin dMerop r() +sortMeropr() +getZtPers() +getZtEq()________

REAL_EVENT_MEROPR

-id_rev_mer: int -real_mer: array)ist<meropr> -r event: real event

+addREM()

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

+deleteREM()

+updateREM()

+getREM()

+findREM()

+sortREM()

J

-sum_zp: double -sum_zeq: double -r_effect: double -real_date: date

-id_pme:int -n_ev: event

-plan_mer: arraylist<meropr>

-id_project : int -name_proj : string -t_aim: arraylist<aim>

+add Proj()

+deleteProj()

+UpdateProj()

+findProj()

+compare()

+endDate()

+getPP()

+sortProj()

+getProj()

О

PLAN_MER_EFFECT

+addPlanMerEffect() +deletePlanMerEffect() +updatePlanMer€ffect() +getPlanMerEffect() +findPlanMerEffect() +sortPla nMerE ffect() +getSummPers() +getSummEq()_____________

I

+addRealEvent()

+deleteRealEvent()

+updateRealEvent()

+getRealEvent()

+findRealEvent()

+sortRealEvent()

+getSummPers()

+getSummEq()

+nationsE ffect()

PROCESS

id_process: int name_process: string w_proc: alraylist<work> plan_start:date fact_start_d ate plan_proc: double fact_proc: double proc_deviat: int

P-

+addProc()

+deleteProc()

+updateProc()

+getProc()

+findProc()

+sortProc()

+getDeviat()

+getPlanProc()

+nationFactDat()

AIM

-id_aim: int -name_aim: string -time_stemp_max: double -ind: map<indicator> -proc_aim: array! ist<process> -ev_aim: map<event> -accessibility_aim: double

+addAim()

+deleteAim()

+updateAim()

+getAim()

+findAim()

+sortAim()

+getAccess()

EVENT_TYPE

-id_eve_type: int -name_eve_type: stri +addTypeEvent() +deleteTypeEvent() +updateTypeEvent()

id_indicator: int name_indicator: string measure: indicator_measure

+addInd()

+deleteInd()

+updateInd()

+getInd()

+findInd()

+sortInd()

+nationInd()

INDICATOR_M EASURE

1 * -id measure: int

-name measure: string

+addMes()

+deleteMes()

+updateMes()

-id_rezult: int -name_rez: string -count_rez: int

+addRezul() +deleteR ezult() +updateRezult() +sortRezult() +findRezult() +getR ezult()

WORK

id_work: int work_name: string •name_type_wori<: wort<_type plan_duration_w: int stand_deviation: int •plan_st_wori<: date fact_duration_w: int •fact_st_wori<:date work_group: map<personel> tool_group: arraylist<toll> rad_group: arraylist<rezultrad>

+addWori<()

+deleteWork()

+updateWb^()

+findWork()

+sortWori<()

+getWori<()

+getPlan()

+nationDev()

+nationPlanFact()

+sumPersWork()

+sumEqWjrk()

WORK_TYPE

id_work_type: int name_work_type: string spread_min: int spread_max: int

+addTypeWbri<()

+deleteTypeWori<()

+updateTypeWork()

INDICATOR VALUE

+min_value_p: double +max_value_p: double +min_value_f: double +max_value_f: double

+Add()

+Delete()

+Update()

-id_person: int -position: string -salary: int

rezult Product 1

-rez prod: map<rezultnode> rezult_deTail REZULT NODE

-rez det: map<rezultdetail> -det: rezult -rez node: map<rezultdetail>

+coutDet() +countDet()

1..* TOOL

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-id_tool: int -name_tool: string

1..* -manufacture: string -costs: double

-power: double

-stock: string

+addEq() +deleteEq() +updateEg() +findEq() +sortEq() +getEq()

+addPers()

+deletePers()

+updatePers()

+findPers()

+sortPers()

+getPers()

REZULT RAD

version: string remarks_kpp: int remarks_tpp: int remarks_test: int correction_kpp: int rrection_tpp: int rrection_test: int

EVENT

REAL EVENT

INDICATOR

1..*

PROJECT

PERSONEL

1..*

REZULT

Рис. 3. Диаграмма классов производственного проекта Fig. 3. Industrial project class diagram

- core.jar - набор классов, реализующих бизнес-логику приложения;

- Hibernate Library.jar - подключаемая библиотека, содержащая набор пакетов и классов для реализации технологии Object-Relational Mapping;

- condb.jar - набор файлов, отвечающих за ассоциирование java-классов приложения с таблицами БД Oracle;

- JRE System Library.jar - пакет, включающий в себя стандартный набор библиотек, необходимых для работы приложения;

- ojdbc7.jar - подключаемая библиотека, содержащая набор классов для подключения приложения к серверу с использованием драйвера JDBC.

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

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

В классах пакета description методы получения и внесения данных по каждому атрибуту класса реализованы в соответствии с логикой объектно-ориентированного программирования и отвечают их

215

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

Рис. 4. Взаимодействие Java-приложения с БД посредством Hibernate

Fig. 4. Interaction between Java-application and a database via Hibernate

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

Двусторонней стрелкой на рисунке отражена связь приложения с БД через драйвер JDBC. Линии, завершающиеся точками, отражают связь mapping-файлов пакета condb.jar с объектами приложения.

Организация связи с БД в приложении осуществляется в соответствии с технологией Object-Relational Mapping (ORM), которая предназначена для преобразования данных из реляционных СУБД в привычную для языка Java объектную форму. Реализует данную технологию механизм, описывае-

мый подключаемой библиотекой Hibernate Library.jar [Хемранж].

Работа с механизмом Hibernate включает в себя следующие этапы.

• Установка параметров соединения с БД. За соединение с БД системы отвечает конфигурационный файл hibemate.cfg.xml (см. http://www.swsys. ru/uploaded/image/2015-4-dop/5.jpg), который содержит в себе необходимые сведения и параметры для подключения к БД и описывает связанные с базой классы. Для организации соединения используется технология Java DataBase Connectivity (JDBC). Необходимый драйвер загружается из подключаемой библиотеки ojdbc7.jar.

• Инициализации механизма Hibernate.

В связи с тем, что работа с БД осуществляется с помощью транзакций в пределах сессии, необходимо создать фабрику сессий (см. http://www. swsys.ru/uploaded/image/2015-4-dop/6.jpg).

Механизм активируется с помощью служебного класса HibernateUtil.java (см. http://www. swsys.ru/uploaded/image/2015-4-dop/7.jpg). При загрузке данного класса создается специальный объект sessionFactory, который считывает данные из файла hibernate.cfg.xml и осуществляет подключение к БД.

• Отображение классов на таблицы.

• Описание отношений между классами.

Соотношения классов приложения с таблицами

БД, а также отношения между классами описываются в файлах вида name_class.hbm.xml. Пример отображения класса на таблицы БД представлен на рисунке 6.

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

216

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

public class EVE NT

- id event: int - name event: S' - type event: Ev

ring ent type

EVENT

i D_EVENT :NUMBER(3) NAME_EVENT :VARCHAR2(70) TYPE_EVENT :NUMBER(2) (FK) 1

Т

Рис. 6. Отображение класса на структуру БД Fig. 6. Class mapping on a database structure

Затем для организации непосредственно работы с БД создаются базовые классы DAO, которые содержат методы работы с Hibernate. Кроме этого, здесь описывается ряд аннотаций, перечень которых приведен в таблице 3.

Таблица 3

Перечень аннотаций

Table 3

Annotation list

Аннотация Описание

@Entity Сообщает Hibernate о взаимодействии класса с Hibernate

@Table Явно указывает название таблицы, к которой обращаются

@Column Указывает название атрибута таблицы, с которым осуществляется работа

@Id Указывает первичный ключ Primary-ключа

@Gene- rated-Value Обеспечивает автоматическую генерацию при добавлении нового объекта в базу

@Many- ToOne Используется при работе с полем в случае, когда таблица связана с другой типом связи «один-ко-многим»

@Join- Column Имя поля таблицы, по которому осуществляется связь «один-ко-многим» с другой таблицей

@Many- ToMany Используется при работе с полем в случае, когда таблица связана с другой типом связи «многие-ко-многим»

Использование данных классов и аннотаций в них обеспечивает быструю и простую работу с БД.

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

Эффективная автоматизация управления сложными производственными проектами возможна только при наличии достоверной, актуальной и непротиворечивой информации. Задача поддержания ее в таком состоянии осложняется наличием нескольких представлений: реляционного - для хранения в БД, объектного - для обработки. В статье предложены реляционная и объектная модели данных по проектам, которые могут использоваться в автоматизированных информационных системах промышленных предприятий для решения задач проектного управления. Пример преобразования данных из объектов Java в таблицы СУБД Oracle, выполненный с применением библиотеки Hibernate, служит иллюстрацией преобразования моделей данных различных типов. Он может быть взят за основу при разработке модулей обмена данными между реляционными БД и прикладными программами, созданными с помощью объектных языков программирования.

Литература

1. Загидуллин Р.Р. Управление машиностроительным производством с помощью систем MES, APS, ERP. Старый Оскол: ТНТ, 2011. 372 с.

2. Фролов Е.Б., Загидуллин Р.Р. MES-системы, как они есть, или эволюция систем планирования производства // Металлообрабатывающее оборудование. 2008. № 10 (55). С. 31-37.

3. Стоянова О.В. Оценка соответствия существующих информационных систем управления проектами особенностям проектного управления в наноиндустрии // Программные продукты и системы. 2013. № 3. С. 193-199.

4. Палюх Б.В., Бурдо Г.Б. Метод интеллектуальной оценки решений при проектировании технологии в многономенклатурных производствах // Вестн. Тамбовского гос. технич. ун-та. 2011. Т. 17. № 2. С. 342-350.

5. Бурдо Г.Б., Стоянова О.В. Автоматизированная система управления процессами создания наукоемких машиностроительных изделий // Программные продукты и системы. 2014. № 2. С. 164-170.

6. Гришина Т.Г. Моделирование и оптимизация циклов выработки решений при управлении автоматизированным производством // Инженерный вестник Дона. 2012. № 3 (21). С. 390-394.

7. Андреев В.В., Тесленко Е.В., Хранилов В.П. Динамиче-

217

Программные продукты и системы /Software & Systems

№ 4 (112), 2015

ская модель управления конструкторско-технологическим взаимодействием в САПР // Науч.-технич. вестн. Поволжья. 2013. № 3. С. 64-67.

8. Туровец О.Г., Родионов В.Б., Бухалков М.И. Организация производства и управление предприятием. М.: Инфра-М, 2013. 3-e изд. 506 с.

9. Хабибуллин И.Ш. Java 7: Наиболее полное руковод-

ство. СПб: БХВ-Петербург, 2012. 768 с.

10. Хемраджани А. Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse; [пер. с англ. В. Коваленко]. М.: Вильямс, 2008. 352 с.

11. Браусоу К. Hibernate упрощает преобразование наследования. IBM developerWorks. URL: http://www.ibm.com/ devel-operworks/ru/library/j-hibernate/ (дата обращения: 28.09.2015).

DOI: 10.15827/0236-235X.112.210-218 Received 30.09.15

COMPLEX INDUSTRIAL PROJECTS DATA REPRESENTATION MODELS IN AUTOMATED INFORMATION SYSTEMS OF INDUSTRIAL INSTITUTIONS

(The work has been done with financial support from RFBR within the research projects no. 15-07-02935 А)

Dli M.I., Dr.Sc. (Engineering), Professor, midli@ mail.ru;

Stoyanova O.V., Ph.D. (Economics), Associate Professor, ovstoyanova@ list.ru (Smolensk Branch of the Moscow Power Engineering Institute,

Energeticheskiy proezd 1, Smolensk, 214013, Russian Federation);

Belozersky A.Yu., Dr.Sc. (Economics), Professor (D. Mendeleev University of Chemical Technology of Russian Federation,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Miusskaya Sq. 9, Moscow, 125047, Russian Federation)

Abstract. A great number of various information systems is used during the process of complex industrial projects management. Each of them solves independent projects data processing tasks. Thus, as for new production setup projects, product information is distributed between computer-aided design systems (CAD) and automated process control systems (APCS), information about necessary resources is distributed between APCS, management information system (MIS), automated project management system (APMS), etc. Project data exchange between stated systems is complicated by using different hardware and software, data formats, data representation models. The article considers object and relation data representation models of complex industrial projects. The first type of model is used as base of data processing using object-oriented programming languages. The relation model is necessary for data storage in industrial institutions databases. This situation is caused by information technologies evolution, i.e. data processing application development using object-oriented programming and relation DBMS dominance. Different units of information systems use different data models. This requires decision-making on transforming data representations. There is no one-stop solution for the stated task for now. The paper considers the example of such transformation for an object model in Java and for a relation model in DBMS Oracle.

Keywords: industrial project, project data model, project management, computer-based information service.

References

1. Zagidullin R.R. Upravlenie mashinostroitelnym proizvodstvom s pomoshchyu sistem MES, APS, ERP [Machine-building industry management using MES, APS, ERP]. Stary Oskol, TNT Publ., 2011, 372 p.

2. Frolov E.B., Zagidullin R.R. MES as they are or production scheduling systems evolution. Metallo-obrabatyvayushchee oborudovanie [Metal-working Equipment]. 2008, no. 10 (55), pp. 31-37 (in Russ.).

3. Stoyanova O.V. Project management information systems and their using in the field of nanoindustry. Pro-grammnyeprodukty i sistemy [Software & Systems]. 2013, no. 3, pp. 193-199 (in Russ.).

4. Palyuch B.V., Burdo G.B. Intellectual decisions estimation method in technology design of multiproduct productions. Vestn. Tambovskogo gos. tekhnich. un-ta [Transactions of the TSTU] 2011, vol. 17, no. 2, pp. 342-350 (in Russ.).

5. Burdo G.B., Stoyanova O.V. Automated control system for science-based mechanical engineering product development. Programmnyeprodukty i sistemy [Software & Systems]. 2014, no. 2, pp. 164-170 (in Russ.).

6. Grishina T.G. Modeling and optimization of decisions making cycle in automated production. Inzhenerny vest-nikDona [Engineering Journ. of Don]. 2012, no. 3 (21), pp. 390-394 (in Russ.).

7. Andreev V.V., Teslenko E.V., Khranilov V.P. Dynamic management model of CAD design-technological interaction. Nauch.-tekhnich. vestn. Povolzhya [Scientific and Technical Volga region Bulletin]. 2013, no. 3, pp. 64-67 (in Russ.).

8. Turovets O.G., Rodionov V.B., Bukhalkov M.I. Organizatsiyaproizvodstva i upravleniepredpriyatiem [Production Organization and Enterprise Management]. 3rd ed. Moscow, Infra-M Publ., 2013, 506 p.

9. Khabibullin I.Sh. Java 7: Naiboleepolnoe rukovodstvo [Java 7: the Most Complete Manual]. St.-Petersburg, BHV -Peterburg Publ., 2012, 768 p.

10. Khemrajani A. Agile Java Development with Spring, Hibernate and Eclipse. Sams Publ., 2006, 360 p. (Russ. ed.: V. Kovalenko, Moscow, Vilyams Publ., 2008, 352 p.).

11. Coulon X., Brousseau Ch. Hibernate simplifies inheritance mapping. Available at: http://www.ibm.com/de-veloperworks/java/library/j-hibernate/ (accessed September 28, 2015).

218

i Надоели баннеры? Вы всегда можете отключить рекламу.