ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

Редизайн портала системы учета и контроля расходов телекоммуникационных услуг

Описание проекта

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

Основные задачи, которые мы должны были решить и успешно решили в рамках данного проекта:

  • Анализ нового формата входных 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-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения