Arsis

Разработка программного обеспечения

Разработка программы Verhandlung (Negotiator) для 3M Medica GmbH

Программный продукт под названием «Verhandlung» («Negotiator») был разработан для страховой компании, которой необходимо вести переговоры с клиниками по поводу бюджета.

Проект был разработан на основе следующих технологий: Java, SWING, XML (JAXP:DOM, SAX), JDBC, Jakarta POI.

По требованию заказчика нами были разработаны следующие (основные) части данной системы:

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

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

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

  2. Визуальный компонент «Budgetverhandlung» («Calculation Sheets») представляет собой модуль для одновременного представления/редактирования данных бюджета за разные периоды времени (колонки). Данные, с которыми работает Budgetverhandlung , представлены в табличном виде и разбиты на страницы. В схеме (XML файл) определяется статическая и динамическая структура документа, а также задаются все формулы (есть редактируемые и вычисляемые ячейки). Есть добавление/удаление строк, возможность сворачивать группы строк и колонки. Данный компонент работает как в составе продукта Verhandlung , так и в виде отдельного приложения.

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

  3. Импорт/экспорт

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

    Следует отметить, что для увеличения скорости и уменьшения потребляемой памяти при загрузке больших объемов данных использовались событийные модели соответствующих парсеров/загрузчиков (XML SAX, POI Event model).