Под различными способами организации ядра КИС в данной статье понимается использование различных моделей данных при реализации ядра в виде совокупности баз данных. Было решено остановить выбор на среде разработки СУБД ADABAS и Natural, как одной из самых эффективных для лесопромышленного предприятия [1]. СУБД ADABAS (Software AG, Германия) является профессиональной промышленной СУБД. В СУБД ADABAS можно проектировать БД с использованием практически любой модели данных. Это становится возможным благодаря тому, что ADABAS обеспечивает поддержку следующих моделей данных [5, 6]:
Структура функционального ядра КИС лесопромышленного предприятия определяется видами производств в составе предприятия, спецификой управления и используемых технологий. В общем виде (предположив, что на неком абстрактном предприятии используются все виды производств) ядро КИС может быть представлен как совокупность следующих компонентов:
1. Модуль «Планирование». Модуль может основываться как на одном из следующих принципов, так и на обоих принципах одновременно:
2. Модуль «Производство». Значения части переменных модуля определяется модулем «Планирование». Перечень переменных и специфика формирования учетных записей модуля «Производство» представлены в [7, 8]. Включает следующие подсистемы:
Модуль «Переработка отходов».
3. Модуль «Основные фонды». Значения части переменных модуля определяются модулем «Планирование» и составом модуля «Производство».
4. Модуль «Склад». Значения части переменных модуля определяются и в определенных случаях ограничиваются составом модуля «Производство» и видами основных средств в составе модуля «Основные фонды». Служит для учета сырья (древесина на определенной стадии обработки), готовой лесопродукции, дополнительных видов сырья и материалов, запчасти, незавершенное производство. Включает подсистемы:
5. Модуль «Заказы». Максимальные значения объемов заказов по видам лесопродукции определяются модулем «Склад».
Производит учет вида заказываемой лесопродукции, количества продукции, информации о заказчике, стоимости заказа, способе оплаты, способе погрузки, дате заказа, дате исполнения заказа, дате оплаты заказа, прочей сопутствующей информации.
6. Модуль «Учет». Значения части переменных модуля формируются модулями «Производство», «Основные фонды», «Склад» и «Заказы». Помимо учета данных перечисленных видов деятельности осуществляет налоговую отчетность; управление финансовой деятельностью (включая управление кредиторской и дебиторской задолженностью); кадровый учет и учет заработной платы; прочую учетную деятельность.
Взаимосвязи программных модулей ядра КИС лесопромышленного предприятия могут быть показаны в виде схемы (рисунок). На рисунке для редактируемых модулей (показанных входящими стрелками) также представлен перечень переменных, значения которых определяются редактирующими модулями (показанными исходящими стрелками).
На рисунке введены следующие обозначения переменных программных модулей:B - калькулируемый объект (изделие, сортимент); Bдет - наименование объекта (изделия, сортимента); F - группа лесов; R - категория рубки; TS - тип транспорта; Tt – тип технологического процесса лесо- заготовки; Sf – схема разработки лесосеки; Sp – схема разработки пасеки; Mv – тип ва- лочной машины; St – способ трелевки; Ms – тип трелевочной машины; Mc – тип сучко- резной машины; Ml – тип погрузчика; Mt – тип технологического комплекта оборудо- вания заготовки сортиментов; Sr – способ раскряжевки; Mr - метод раскряжевки; Mf - тип технологического комплекта лущильного оборудования; Mp - тип технологического комплекта клеильного оборудования; Mg – тип транспортного сред- ства; A – вид материала; Avi – вид i-й запча- сти валочной машины; Asi – вид i-й запчасти трелевочной машины; Aci – вид i-й запчасти сучкорезной машины; Ali – вид i-й запчасти погрузчика; Ati – вид i-й запчасти оборудова- ния заготовки сортиментов; Afi – вид i-й зап- части лущильного оборудования; Aei – вид i-й запчасти сушильного оборудования; Api – вид i-й запчасти клеильного оборудования; Agi – вид i-й запчасти транспортного средства; N – количество единиц оборудования или количество единиц запчастей; Vот – количе- ство отпрессованных (отлитых) плит; Vоб – количество обрезанных и сданных на склад плит; Q – объем заготовленного материала, м3; n – количество заготовленного материала, шт; V – количество произведенного изделия (сортимента); p – древесная порода; α – на- значение изделия (специальное); γ – способ распиловки; β – сорт изделия; l – длина из- делия, мм; a – толщина изделия, мм; b – ши- рина изделия, мм; d – диаметр изделия, мм; g – категория качества лесоматериалов; Io – информация о заказчике; Po – стоимость за- каза; Do – дата заказа.
Взаимосвязи компонентов ядра КИС лесопромышленного предприятия
Проектирование структуры модулей ядра КИС в рамках СУБД ADABAS производится при помощи объявления компонентов (полей), указания уровней компонентов, задания внутрисистемных связей (объединения полей в группы и периодические группы). Задание внутрисистемных связей компонентов производится объявлением вспомогательного компонента определенного уровня группой или периодической группой в рамках создаваемой таблицы определения данных (таблица FDT).
Каждой строкой определяется один компонент структуры ядра КИС. Каждая строка состоит из следующих базисных характеристик:
1, A1, 20, A, где
1 - номер уровня элемента;
A1 - наименование элемента (всегда двухбайтное);
20 - длина элемента (в байтах);
A - формат (в данном случае - алфавитно-цифровой; также существуют двоичный, шестнадцатеричный, упакованный и другие форматы).
Ниже показан пример объединения полей в группы [2]:
1, AA
2, A1, 1, A
2, A2, 4, A
В данном примере элемент группы AA имеет первый уровень, т.е. элементы 2-го уровня A1 и A2 являются элементами группы AA. Ниже приведены примеры реализации базы данных об отделах, сотрудниках, заказчиках и контрактах в СУБД ADABAS с использованием различных моделей данных.
Реляционная структура ядра
В СУБД ADABAS реляционная структура задается посредством создания одного файла БД для основного отношения (для хранения информации о контракте) и создания дополнительных файлов (для хранения справочной информации об отделах, сотрудниках, заказчиках):
File 1 - основное отношение:
1, A1, 2, A, DE - номер отдела
1, B1, 10, A, DE - табельный номер
1, F1, 50, A, DE - имя заказчика
1, D1, 10, A, DE - номер контракта
1, H1, 8, A - дата
1, I1, 10, U - сумма
File 2 - для хранения справочной информации об отделах:
1, A1, 2, A, DE - номер отдела
1, A2, 40, A - наименование отдела
File 3 - для хранения справочной информации о сотрудниках:
1, B1, 10, A, DE - табельный номер
1, C1, 50, A - имя
File 4 - для хранения справочной информации о заказчиках:
1, F1, 50, A, DE - имя заказчика
1, G1, 50, A - адрес заказчика
Иерархическая структура ядра
Основная единица обработки - запись. К основным понятиям иерархической структуры относятся уровень, элемент (узел), связь.
Узел - это совокупность атрибутов данных, описывающих некоторый объект. К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
В рамках СУБД ADABAS иерархическая модель БД реализуется следующим способом:
File 1 (реализующий связь ОТДЕЛЫСОТРУДНИКИ-ИСПОЛНИТЕЛИ):
1, A1, 2, A, DE - номер отдела
1, A2, 40, A - наименование отдела
1, АА - группа СОТРУДНИКИ (2-й уровень)
2, B1, 10, A, DE - табельный номер
2, B2, 50, A - имя
2, BB - группа ИСПОЛНИТЕЛИ (3-й уровень)
3, С1, 10, A, DE - номер контракта
File 2 (реализующий связь ЗАКАЗЧИКИ-КОНТРАКТЫ-ИСПОЛНИТЕЛИ):
1, A1, 50, A, DE - имя заказчика
1, A2, 50, A - адрес заказчика
1, АА - группа КОНТРАКТЫ (2-й уровень)
2, B1, 10, A, DE - номер контракта
2, B2, 8, A - дата
2, B3, 10, U - сумма
2, BB - группа ИСПОЛНИТЕЛИ (3-й уровень)
3, C1, 10, A, DE - табельный номер
Многоуровневая структура ядра
Основными отличиями многоуровневой структуры ядра от иерархической являются:
Остальные связи и правила создания иерархических структур в СУБД ADABAS остаются теми же и при создании многоуровневой структуры [2].
В рамках СУБД ADABAS вышеописанная модель структуры ядра создается при помощи объединения полей в периодические группы.
В СУБД ADABAS многоуровневая структура БД реализуется следующим способом:
1, AА, PE - периодическая группа ОТДЕЛЫ-СОТРУДНИКИ-ИСПОЛНИТЕЛИ
2, АB - группа ОТДЕЛЫ (2-й уровень)
3, A1, 2, A, DE - номер отдела
3, A2, 40, A - наименование отдела
3, АС - группа СОТРУДНИКИ (3-й уровень)
4, B1, 10, A, DE - табельный номер
4, B2, 50, A - имя
4, AD - группа ИСПОЛНИТЕЛИ (4-й уровень)
5, С1, 10, A, DE - номер контракта
1, BА, PE - периодическая группа ЗАКАЗЧИКИ-КОНТРАКТЫ-ИСПОЛНИТЕЛИ
2, BB - группа ЗАКАЗЧИКИ (2-й уровень)
3, D1, 50, A, DE - имя заказчика
3, D2, 50, A - адрес заказчика
3, BC - группа КОНТРАКТЫ (3-й уровень)
4, F1, 10, A, DE - номер контракта
4, F2, 8, A - дата
4, F3, 10, U - сумма
4, BD - группа ИСПОЛНИТЕЛИ (4-й уровень)
5, G1, 10, A, DE - табельный номер
Мультипольная структура ядра
Характерной чертой мультипольной структуры ядра БД является возможность хранения нескольких значений в рамках одного, специальным способом определенного, поля. В СУБД ADABAS такое поле носит название «мультиполе» (или множественное поле). Фактическое количество значений, присутствующих в каждой записи мультиполя, может меняться от 0 до 191, но, по крайней мере, одно значение должно присутствовать в каждой входной записи.
Преимущества использования мультипольных структур проявляются, когда необходимо для каждой записи периодически вносить дополнительные данные.
В СУБД ADABAS мультипольная структура БД начисления заработной платы реализуется следующим способом:
File 1 (основное отношение):
1, A1, 10, A, DE - табельный номер сотрудника
1, A2, 2, A, DE - номер отдела
1, A3, 8, A, MU - дата начисления заработной платы
1, A4, 7, U, MU - сумма
Смешанная структура ядра
Организация смешанной структуры ядра КИС представляет синтез свойств вышеописанных структур ядра. Мультимодельность ADABAS в совокупности с рядом дополнительных возможностей, позволяет строить как сугубо традиционные иерархические, сетевые и реляционные SQL базы данных, так и сложные текстовые информационно-поисковые и интегрированные системы и системы обработки изображений, постpеляционные структуры для моделирования человеческой деятельности, экспертного анализа сложных производственных процессов и т.д. При этом можно сочетать преимущества различных подходов. Структуры ядра всех типов могут беспрепятственно использоваться как при создании одного или нескольких файлов различных структур.
Выводы
В рамках КИС лесопромышленного предприятия специфика видов деятельности предприятия определяет наиболее эффективную для использования модель данных ядра КИС (БД). Специфика видов деятельности лесопромышленного предприятия представлена в [4]. В среде СУБД ADABAS и Natural возможно использование всех основных моделей данных при создании ядра КИС.
Дальнейшее направление исследований состоит в корректном выборе предложенных в данной статье способов реализации ядра КИС в соответствии со спецификой каждого вида деятельности лесопромышленного предприятия.
Список литературы
Рецензенты:
Работа поступила в редакцию 04.04.2011.