Научная статья на тему 'Функциональная модель генерации документов на основе специализированных шаблонов'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пенькова Т. Г.

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

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

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

Литература

1. Conf on Numerical Methods for Partial Differential Equations / In Ying [und alt.]. - Singapore: World Scientific, 1992 - С. 15-22.

2. Ландау, Л.Д. Механика / Л.Д. Ландау, Е.М. Лифшиц. - М.: Наука, 1969.

3. Д. терХаар. Основы гамильтоновой механики. - М.: Наука, 1974. - 224 с.

4. Кнауб, Л.В. Алгоритмы интегрирования переменного порядка и шага на основе явного двухстадийного метода Рунге-Кутты / Л.В. Кнауб, Ю.М.Лаевский, Е.А. Новиков// СибЖВМ. - Новосибирск, 2007. - Т.10. -№ 2. - С. 177-185.

5. Новиков, Е.А. Явные методы для жестких систем / Е.А. Новиков. - Новосибирск: Наука, 1997. - 197 с.

6. Демидов, Г.В. Программа STEK (модификация программы MERSON): Препринт № 313 / Г.В. Демидов, Е.А. Новиков. - Новосибирск: ВЦ Со РАН СССР, 1981. - 26 с.

7. Новиков, В.А Контроль устойчивости явных одношаговых методов интегрирования обыкновенных дифференциальных уравнений / В.А. Новиков, Е.А. Новиков // ДАН СССР. - 1984. - Т.277. - № 5. - С. 1058-1062.

---------♦'----------

УДК 004.91 Т.Г. Пенькова

ФУНКЦИОНАЛЬНАЯ МОДЕЛЬ ГЕНЕРАЦИИ ДОКУМЕНТОВ НА ОСНОВЕ СПЕЦИАЛИЗИРОВАННЫХ ШАБЛОНОВ*

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

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

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

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

* Работа выполнена при финансовой поддержке гранта Президента РФ для ведущих научных школ НШ-3431.2008.9.

Задачи автоматизации формирования документов

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

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

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

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

- обеспечение возможности точного позиционирования элементов документа при разработке шаблона, применение средств оформления и форматирования документа;

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

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

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

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

Функциональная модель оперативной генерации документов

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

Рис. 1. Функциональная модель процесса генерации документа

Процесс формирования документов включает следующие основные этапы:

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

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

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

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

Создание шаблона документа

На этапе создания шаблона для каждого типа документа пользователем создается визуальный макет. В качестве оболочки разработки шаблона используется текстовый редактор, например, Microsoft Word, и шаблон представляет собой файл с расширением doc. Текстовый редактор Microsoft Word предоставляет большие возможности по оформлению и позиционированию элементов документа.

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

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

<Переменная>:::

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

>(%) >1 Имятабшчной >(-Т) »

<Табличная переменная>::= - ^___переменной_

Тип <Табличная переменная> обеспечивает построение и заполнение таблиц. В процессе генерации документа заполняется значениями из базы данных с добавлением строк или столбцов.

<Циклический блок>::=

-кТКЇХЇ>

Имя

параметра

-хТн*

Тело циклического блока

-кТнкЗн*

Имя

параметра

-КНМ1>

Тип <Циклический блок> обеспечивает многократное повторение фрагмента документа. Тело циклического блока может содержать любой из типов элементов.

<Условный блок по переменной>::=

<Условный блок по таблице>::=

-КХьКіН «її.

таблицы

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

Главный уникальный идентификатор шаблона

Тип <подшаблон> обеспечивает формирование фрагмента документа, выполненного в виде отдельного независимого шаблона документа.

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

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

В результате анализа шаблона формируется информационная структура в виде дерева иерархии структурных элементов (рис. 2).

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

На рисунке: R - основные реквизиты; Pq - переменная основных реквизитов, где д = 1^, Q - количество переменных основных реквизитов; Б - основные таблицы; Тг - основная таблица, где г = 1,Я, К - количество основных таблиц; Б8 - табличная переменная основной таблицы, где 8 = 1,Б, Б - количество табличных переменных основной таблицы; У( - цикл, где 1 = 1,Т, Т - количество циклов; Ь - реквизиты цикла; БЬ - переменная реквизитов цикла, где Ь = 1,Н, Н - количество переменных реквизитов цикла; С - таблицы цикла; ^ - таблица цикла, где f = 1,Б, Б - количество таблиц цикла; К1 - табличная переменная таблицы цикла, где 1 = 1,Ь, Ь - количество табличных переменных таблицы цикла; Wg -

вложенный цикл, где g = 1,0, в - количество вложенных циклов.

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

Построение запросов к базе данных

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

Управление выборкой - построение, редактирование, удаление запросов, формирование условий -выполняется с помощью механизмов оперативного построения запросов, входящих в состав встроенного OLAP-инструментария. Оперативное построение пользовательских запросов реализуется с помощью OLAP-моделей, представляющих собой совокупность витрины данных и аналитических операций. Формирование витрины данных выполняется с помощью визуального конструктора. В область построения витрины данных из источника данных выбираются таблицы, на основе которых необходимо построить запрос, и между ними устанавливаются связи. Затем из каждой таблицы выбираются нужные поля и задаются условия (рис. 3).

Рис. 3. OLAP-средства формирования запросов

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

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

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

Настройка параметров заполнения шаблона

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

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

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

Генерация документа на основе шаблона

На последнем этапе формирования документов выполняется автоматическое заполнение шаблона в соответствии с внесенной разметкой, указанными пользователем параметрами и заданными условиями.

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

Конечным результатом заполнения шаблона является документ в формате Microsoft Word. В случае подключения встроенной системы управления документами готовый документ может быть сохранен в базе данных.

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

Реализация модели оперативной генерации документов

Представленные в работе модели и методы реализованы в автоматизированной системе поддержки размещения муниципального заказа разработанной специалистами отдела прикладной информатики ИВМ СО РАН и используются в департаменте муниципального заказа администрации г. Красноярска. Для реализации подсистемы генерации документов использовались готовые инструментальные средства ведения справочников и OLAP-моделирования [5,6].

Законодательно регламентированная процедура размещения муниципального заказа требует создания огромного количества однотипных документов в ходе осуществления закупок для муниципальных нужд. Для задачи организации муниципального заказа разработано более 70 шаблонов различных документов. На рисунке 4 представлен фрагмент шаблона документа «Протокол вскрытия конвертов».

ivjjj Протокол вскрытия конвертов-doc - Microsoft Word

Файл Правка Вид Вставка Формат Сервис Таблица Окно Справка ^ Обычный + 14 f - Times New Roman -г 14 -г Ж К Ч ад ^ Ш ^ \ш I +=

Ю ж

Га ж

ЕВ

Ц<#3аявки>]£с]фывается конверт с заявкой, зарегистрированной за №[номер заявки] в Журнале регистрации поступления заявок на участие в конкурсе и объявляется информация:

Наименование участника размещения заказа: [Поставщик (полное)]; юридический адрес: [юридический адрес]; почтовый адрес: [почтовый адрес].

Сведения и документы, представленные в закрытом конверте:

- [%список представленных типов документов]

Конкурсная заявка подана на [список заявленных лотов].

Условия исполнения муниципального контракта, предложенные [Поставщик], и являющиеся критерием оценки заявок

ня учяптиг в конкурсе: Х<#Лоты>]){<-предложения пост [предложения поставщиков] (>гп эвщиков} По лоту №[номерлоіа!;^^ редложения поставщиковХТ>Лоты<]^

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

№ лота Цена контракта, руб. [Критерий качества] [Критерий срока поставки] [Критерий срока гарантии] [Критерий объема гарантий]

[%номер лота] [%Цена] [%Комментарнй к цене] [% Функциональные характеристики] [%Срок поставки] |%Срок гарантии] [%Объем гарантии]

<1>3аявки<])

{^^^Доокончания указанного в извещении о проведении конкурса срока подачи заявок на участие в конкурсе [дата вскрытия] [время вскрытая] не было представлено ни одного запечатанного конверта.

В соответствии с ч.11 ст. 25 Федерального закона РФ от 21.07.2005 № 94-ФЗ «О размещении заказов на поставки товаров, выполнение работ, оказание услуг для государственных и муниципальных нужд», конкурс признан не состоявшимс <Я}> ' ■ ■ - ....

_____________________________________________________________________________________________________I .

Разд 1 3/6 На 5,5см Ст 9 Кол 24 ЗАП ИСПР ВДЛ ЗАМ русский (Ро Щр ^

Рис. 4. Фрагмент шаблона документа с внесенной разметкой

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

Наименование

Таблица БД

Поле таблицы БД

В О Заявки | Е О Лоты

П Таблицы В □ Реквизиты Б СИ Таблицы Й" ШЦ Т аблнца1 Ш ш Т аблица2 Ё) СИ Реквизиты

0 номер заявки 0 Поставщик (полное!

Ц юридический адрес | почтовый адрес ^ список заявленных лотов 1 0 Поставщик

|] Критерий качества [!] Критерий срока поставки

0 Критерий срока гарантии ^ Критерий объема гарантий Й П Таблицы Й Ш1 Тзблицэ4 Ё: Ш ТаблицэЭ Й О Реквизиты

<1________________________________________

Заявки на конкурс, подлежащие рассм... Соотвествие закупок, лотов заявок, зая...

Данные по лотам от участников

Документы, предоставленные участник... Соотвествие закупок, лотов заявок, зая... Список потенциальных поставщиков Заявки

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

Заявки

Представители участников Реестр закупок

Идентификатор заявки

Идентификатор лота

I Номер лота

Предложенная цена лота

Присвоенное место Качественные характеристики Расходы на эксплуатацию Расходы на техническое обслуживаь Сроки выполнения

Срок предоставления гарантии качеЛ

Номер заявки по порядку поступления

Полное наименование

Юридический адрес

Почтовый адрес

Список заявленный лотов

Наименование

Критерий качества

Критерий срока поставки

Критерий срока гарантии

Критерий объема гарантий

Ключевое поле Ключевое поле Ключевое поле

Рис. 5. Дерево элементов структуры шаблона

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

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

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

Литература

1. Соловьев, А.В. Обзор средств генерации отчетов. Концепции и инструментарий / А.В. Соловьев // Сб. тр. ИСА РАН. - М.: Едиториал УРСС, 2004. - С.174-192.

2. Ланин, В. В. Архитектура и реализация средств репортинга в динамически настраиваемых информационных системах / В.В. Ланин. 2007. - Режим доступа: http://www.foibg.com/conf/ITA2007/iTech2007/PDF/iTech07-Lanin.pdf.

3. Жучков, Д.В. Документоориентированный подход к информационной поддержке размещения муниципального заказа / Д.В. Жучков, Т.Г. Пенькова // Мат-лы 10-й Всерос. науч.-практ. конф. ПИР-2007. - Т.1.

- Красноярск: Изд-во СФУ, 2007. - С. 77-84.

4. Пенькова, Т.Г. Информационная модель шаблона для автоматизированного формирования документов / Т.Г. Пенькова // Мат-лы 10-й Всерос. науч.-практ. конф. ПИР-2007. Т.1. - Красноярск: Изд-во СФУ, 2007. - С. 157-164.

5. Жучков, Д.В. Программное обеспечение распределенных баз классификационно-справочной информации / Д.В. Жучков // Мат-лы конф. молодых ученых СО РАН. - Красноярск: Изд-во ИВМ СО РАН, 2005. -С. 23-26.

6. Горохова, А.В. OLAP-средства системы «Аналитик» / А.В. Горохова, П.П. Ишенин, М.И. Никитина // Информационно-аналитические системы и технологии в здравоохранении и ОМС: тр. Всерос. конф. -Красноярск: Изд-во КМИАЦ, 2002. - С. 220-228.

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