Редизайн портала системы учета и контроля расходов телекоммуникационных услуг
Описание проекта
Краткое описание проекта: перед нашей командой была поставлена, казалось бы, простая задача — продумать и реализовать новый дизайн портала согласно требованиям заказчика.
Однако помимо стандартных работ по редизайну мы приняли в работу пожелание не только выполнить редизайн, но и создать новую версию модуля финансовой аналитики для существующей системы в области индустрии телекоммуникаций.
Основные задачи, которые мы должны были решить и успешно решили в рамках данного проекта:
- Анализ нового формата входных CSV-файлов.
- Адаптация системы под новый формат файлов, а также поддержку старого формата.
- Разработка дизайна для нового формата файлов, с учетом удобства пользования системой, быстрого поиска необходимой информации.
- Предусмотреть переключение между дизайнами для разных форматов файлов.
После выполненных работ по редизайну обновленная система представляет единую точку входа получения информации о всех счетах клиента (mobile, fixed, RAS, data) и выступает как служба ведения отчетности организации на всех уровнях — корпоративном, региональном и в масштабах страны, местном и на пользовательском уровне.
Данная система при помощи аналитики и разноплановых детализированных отчетов дает полное представление о затратах, что помогает проведению анализа и принятию решений об оптимизации расходов компании на телекоммуникации.
Техническое описание проекта
Система представляет собой многомодульное Maven-приложение.
В качестве базы данных система использует Oracle. Взаимодействие с базой данных осуществляется с помощью Hibernate и JPA. В некоторых случаях для достижения лучшей производительности задействован JDBC Connection.
Серверная часть всей системы реализована на языке Java c использованием широко известных фреймворков Struts2 и Spring.
В ходе работы над новой версией дизайна нами была изменена структура базы данных для хранения новой информации, обновлена модель данных для работы с новым форматом файлов.
Разработана веб часть для обновленного формата файлов на основе MVC паттерна, были реализованы новые страницы с использованием JSP, CSS, JS, TAGS, и их внутренняя логика с использованием следующих фреймворков Struts2, Spring, Hibernate, JPA.
Для обработки CSV-файлов нового формата был расширен функционал серверного компонента, обрабатывающего события, налажена интеграция компонента с инфраструктурой заказчика, обновлены существующие события на поддержку нового формата файлов и их обработчики в существующей системе.
Технологии
Stack: Java, Maven, JPA (Hibernate), JDBC Connection, Servlet API, TagLib, JSTL, Jaxb, SuperCSV, Apache commons, Apache POI.
Infrastructure: Jenkins, SVN.
Frameworks: Struts2, Spring, Spring security.
Test Automation libraries: Mockito, JUnit.
DB: Oracle, PL/SQL.
Other libraries: Ehcache, Achartengine.
Скриншоты
Что делали на проекте, наши обязанности
В ходе работы над приложением команда выполняла следующие работы:
- Подготовка прототипов для новых страниц и с учетом изменений для существующих страниц.
- Исследование нового формата файлов, анализ предоставленной информации.
- Расширение функционала существующей системы для поддержки нескольких форматов.
- Изменение структуры базы данных для хранения новой финансовой информации в области телекоммуникационных расходов компании.
- Реализация нового дизайна для отображения информации.
- Создание документации к функционалу, обрабатывающему новый формат файлов.
- Поддержка стабильности существующего приложения.
- Проведение демонстрации выполненных работ заказчику по завершению каждой итерации.
Особенности проекта
- Большое количество Legacy-кода в существующей системе.
- Многолетнее сотрудничество с заказчиком, выходящее за рамки данного проекта.
- Ведение проекта по Scrum методологии: ежедневные стендапы, 2-x недельные спринты, в конце каждого спринта проводилась демонстрация выполненных работ заказчику.
- Использование Jira в качестве инструмента по управлению проектом и для коммуникаций с заказчиком.
- Работа с распределенной мультиязычной командой.
Результат проекта
- Проведен анализ и рефакторинг существующей системы.
- Команда проекта предложила и внедрила несколько архитектурных решений для улучшения стабильности системы.
- Был реализован новый функционал и исправлены баги существующей системы.
- Все фазы проекта были завершены успешно.
- Решение задокументировано и передано заказчику.
Достижения компании на проекте
- Проведен бизнес-анализ требований заказчика, предложены варианты для улучшения и оптимальной работы приложений.
- Выявлены недоработки в генерации csv-файлов на стороне заказчика.
- Формализированы подходы к процессу мержинга изменений в существующую систему.
- Найдена и исправлена ключевая уязвимость в архитектуре существующей системы, из-за которой система не выдерживала больших нагрузок.
- Создана документация к новому формату файлов.
- На протяжении всего периода разработки нового функционала непрерывно выполнялся багфиксинг существующих систем заказчика.
Свяжитесь с нами, чтобы обсудить Ваш IT-проект