Техническое задание: Программа для анализа CSV-отчетов
Цель проекта
Разработать автономное приложение с графическим интерфейсом пользователя (GUI) для автоматической обработки отчетов в формате CSV, их анализа и формирования структурированных текстовых сводок по заданным шаблонам.
Основные требования к функционалу
1. Обработка входных данных
- Программа должна самостоятельно определять и разбивать колонки в предоставленных CSV-файлах, так как данные могут поставляться без явного разделения.
- Поддержка двух типов отчетов:
- Файлы по чатам: Необходимо суммировать количество всех чатов в определенный момент времени по всем колонкам. Время для записи брать максимальное из строк с соответствующим timestamp.
- Файлы по звонкам: Значения ожидания могут отсутствовать - такие случаи должны интерпретироваться как 0.
2. Фильтрация и настройки
- Реализовать возможность задать нижний и верхний порог для времени ожидания. Данные, не попадающие в указанный диапазон, не должны учитываться при формировании итогового отчета.
3. Форматы итоговых отчетов
Программа должна генерировать понятный, «человекочитаемый» отчет в одном из трех вариантов на выбор пользователя:
- Вариант 1: «Каждое увеличение ожидания» - фиксация всех случаев роста времени ожидания.
- Вариант 2: «Объединение по пикам с разделением на экстремумах в зонах уменьшения ожидания» - агрегация данных вокруг пиковых значений.
- Вариант 3: «Каждые 15/20/30 минут» - срез данных с заданным временным интервалом.
4. Структура выходного отчета (образец)
- Раздел «Чаты»: Вывод записей в формате: «[Время] - Очередь до [X] мин, [Y] чатов в очереди.» Если инцидентов нет, раздел можно опустить или указать, что замечаний нет.
- Раздел «Звонки»: Вывод записей в формате: «[Время] - [N] [принят/потерян] до [Z] минут». Если потерь звонков нет, в разделе следует указать «Без замечаний».
5. Требования к программе
- Портативность: Приложение должно работать без установки (portable). Запуск из папки или с USB-носителя.
- Автономность: Не должно требовать установки дополнительных библиотек или сред выполнения, кроме стандартных компонентов операционной системы.
- Интерфейс: Обязателен графический пользовательский интерфейс (GUI), интуитивно понятный для конечного пользователя.
- Надежность: Код должен быть рабочим и оттестированным. Допускается использование любых инструментов для разработки, включая AI, при условии корректной работы итогового продукта.