Особенности построения и функционирования программного комплекса расчета тарифов на тепловую энергию

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

Асп. Калинкин А.Ю., проф. Арунянц Г.Г.

Кафедра информационных систем в экономике.

Северо-Кавказский государственный технологический университет

На основе анализа тенденций и особенностей развития системы государственного регулирования энергетики, основных концепций построения, особенностей функционирования многоуровневых АСУ были сформулированы основные принципы, положенные в основу при разработке АСУ деятельности естественных монополий (ENERGY-SR), осуществляемой в РЭК РСО-Алания* :

Относительная независимость подсистем;

Эволюционность подсистем и системы в целом;

Оперативность взаимодействия «система – пользователь»;

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

Все это позволило сделать заключение, что основное направление развития многоуровневой АСУ ENERGY-SR должно заключаться в повышении ее надежности и универсальности при решении задач определенного класса:

создание и объединение ресурсов управления;

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

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

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

Среди компонентов среднего уровня АСУ ENERGY-SR особое место занимает программный комплекс Q-1.KA (расчета тарифа на тепловую энергию для энергоснабжающих организаций региона).

Основными функциями (задачами) программного комплекса Q-1.KA являются:

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

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

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

Структурно программный комплекс Q-1.KA состоит из следующих подсистем:

обеспечения работы с БД;

интерфейса пользователя;

диагностики БД;

проведения расчетов;

работы с отчетами (выходными формами).

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

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

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

Подсистема проведения расчетов обеспечивает программную реализацию расчетных процедур в соответствии с алгоритмами, основу которых составляют утвержденные ФЭК РФ «Методические указания по расчету тарифов на тепловую энергию для энергоснабжающих организаций».

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

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

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

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

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

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

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

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

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

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

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

Доступ к информационной базе системы реализован на основе технологии ADO. В качестве формата информационной базы был выбран формат файлов Microsoft Access 2000. Данный выбор обусловлен рядом причин, основными из которых являлись:

1. Необходимость наличия удобного инструмента проектирования каркаса информационной базы и наличие необходимых для этого средств в MS Access 2000.

2. Открытость формата информационной базы и возможность легкой модификации.

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Выделение и группировка полей интегрируемого набора данных по соответствующим признакам принадлежности к определенным группам:

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

Уникальный индекс элемента - поле, содержащее уникальный идентификатор элемента в подсистеме.

Информационная часть - совокупность полей, отражающих свойства элемента.

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

В соответствии с этой процедурой все наборы данных именуются по следующему шаблону:

обозначение вида набора<номер набора>

Например, для справочников - с1, с2 и т.п.; для оперативных массивов - OM1, ОМ2 и т.п.

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

Список полей, например, оперативного массива OM1 выглядит следующим образом:

Наименование поля

Группа полей

ic7

ic8

ic9

ic22

адресная часть

iOM1

уникальный индекс

 n1 (поле "дата")

n2

n3

…

информационная часть

где ic7-ic22 - наименования полей, значения которых представляют собой ссылки на определенные записи справочников с7-с22 (реляционная модель данных), что позволяет обеспечить реализацию иерархической структуры любой вложенности (до 256 уровней);

iОМ1 - наименование поля уникального индекса, т.е. поля, значение которого содержит уникальное целое число в рамках набора данных с1;

n1, n2.….. - наименования информационных полей данных.

Если оперативные массивы отражают состояние объектов во времени, то первым элементом информационной части является поле типа "дата - время".

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

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

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

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

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

Диагностика информационной базы проводится по двум направлениям: проверка полноты заполнения; проверка соответствия значений реквизитов элементов определенным ограничениям.

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

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

В программном комплексе Q-1.KA реализована система контекстной помощи (справки) и справочная информация по системе со стандартным механизмом функционирования.

Для работы комплекса необходимо: 

операционная система: не ниже Windows 95;

оперативная память: не ниже 32Мb (рекомендовано 64Mb);

свободная дисковая память: не ниже 50 Мb;

наличие устройства для чтения компакт-дисков СD-ROM.

Эффективная работа программного комплекса Q-1.KA в рамках АСУ ENERGY-SR обеспечивается за счет единства подходов к построению информационной базы системы, прежде всего, благодаря единому адресному пространству, а также за счет реализованного механизма взаимодействия вложенных программных комплексов через общесистемные интерфейсы доступа к данным.

Анализ основных результатов, полученных при разработке программного комплекса Q-1.KA, и накопленный опыт проектирования информационных баз различной структуры позволили сделать ряд научных выводов об эффективности использования разработанных принципов динамического формирования внутрисистемных и пользовательских интерфейсов при создании сложных многокомпонентных программных систем.