Таким образом, основной особенностью разработанного пользовательского интерфейса системы является его универсальность, связанная с инвариантностью к структуре наборов данных (имеется в виду иерархическая древовидная структура данных).
Важной особенностью пользовательского интерфейса является выбранный способ визуализации хода заполнения информационных полей элемента: незаполненные и заполненные поля отражаются различными цветами, что позволяет пользователю видеть ход заполнения информационного массива и быстро обнаруживать его незаполненность непосредственно в процессе просмотра информационной базы.
Для удобства пользователя реализован как режим таблицы, так и режим заданной формы при заполнении и просмотре. В обоих случаях пользовательский интерфейс динамически формирует внешнее представление данных в зависимости от их структуры.
Реализованный пользовательский интерфейс включает также универсальные процедуры ввода – вывода, позволяющие вывести на печать или сохранить в формате электронной таблицы (Excel) в стандартизованной форме информацию об элементах информационной базы с указанием критериев отбора (уровней иерархии). Это позволяет пользователю в любой момент при просмотре или редактировании информационной базы импортировать или экспортировать данные, а также вывести информацию на печать.
При разработке программного комплекса одним из основных требований являлось наличие возможности гибкой модификации и расширения функциональности системы. Модифицируемость и расширяемость достигается за счет строгой формализации процесса проектирования информационной базы и выработки определенной системы правил при изменении структуры и реляционных отношений базы данных.
Система предусматривает возможность гибкой интеграции новых данных и изменение структуры существующих наборов данных, а также изменение состава информационных полей. Интеграция нового набора данных должна осуществляться по следующей формализованной процедуре:
1. Определение иерархических уровней принадлежности элементов интегрируемого набора данных к общесистемным уровням иерархии с определением соответствующих наборов данных, элементы которых представляют собой определенный уровень иерархии информационной базы.
2. Выделение и группировка полей интегрируемого набора данных по соответствующим признакам принадлежности к определенным группам:
Адресная часть - как совокупность ключевых полей, отражающих место элемента в информационной базе, его адресную принадлежность
Уникальный индекс элемента - поле, содержащее уникальный идентификатор элемента в подсистеме.
Информационная часть - совокупность полей, отражающих свойства элемента.
Таким образом, в составе любого набора данных выделяются три соответствующих группы полей данных. Процедура разграничения полей набора данных на группы производится на этапе создания его структуры (при формировании задания на программирование) на основе созданной процедуры именования элементов информационной базы.
В соответствии с этой процедурой все наборы данных именуются по следующему шаблону:
обозначение вида набора<номер набора>
Например, для справочников - с1, с2 и т.п.; для оперативных массивов - OM1, ОМ2 и т.п.
Для регистрации наборов данных (справочников, оперативных массивов) создается набор данных TableList, в котором устанавливается связь идентификатора элемента (например, с1) и его полного наименования ("с1 - справочник трансформаторов"), а также все свойства набора данных.
Список полей, например, оперативного массива OM1 выглядит следующим образом:
Наименование поля | Группа полей |
ic7ic8ic9ic22 | адресная часть |
iOM1 | уникальный индекс |
n1 (поле "дата")n2n3… | информационная часть |
где 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, и накопленный опыт проектирования информационных баз различной структуры позволили сделать ряд научных выводов об эффективности использования разработанных принципов динамического формирования внутрисистемных и пользовательских интерфейсов при создании сложных многокомпонентных программных систем.
*Арунянц Г.Г., Хузмиев И.К. Автоматизация регулирования субъектов естественных монополий в сфере энергетики. Вестник ФЭК России. 2001. №1.