Выбор технологий, Методология исследования, Процесс разработки, Тестирование - Программа расчета агрегатов по накапливающимся данным для построения отчетов

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

В качестве языка программирования выбран PHP 5.4, популярный и широко известный язык для веб-разработки. Есть также и личные причины -- большой опыт автора в работе с данным языком и возможность внедрить разработку в проекте работодателя.

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

Методология исследования

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

Процесс разработки

Процесс разработки разбит на несколько этапов согласно спиральной модели:

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

Тестирование производительности начнется уже по завершении первой итерации и будет производиться до конца разработки проекта. Цели тестирования таковы:

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

Похожие статьи




Выбор технологий, Методология исследования, Процесс разработки, Тестирование - Программа расчета агрегатов по накапливающимся данным для построения отчетов

Предыдущая | Следующая