IM Support Service/Specification
Скелет — значительно переделанный ГОСТ 19.201-78. Можно свободно добавлять свои требования, но удаление или исправление лучше согласовать в специальном обсуждении на форуме JRuDevels. Перед добавлением желательно почитать эти советы по написанию ТЗ.
Contents
- 1 Введение
- 2 Термины
- 3 Назначение разработки
- 4 Требования к программе
- 4.1 Требования к модулю логики
- 4.2 Требования к модулю хранения информации
- 4.3 Требования к модулю статистики
- 4.4 Требования к интерфейсу клиента
- 4.5 Требования к интерфейсу оператора
- 4.6 Требования к интерфейсу управления
- 4.7 Требования к интерфейсу просмотра статистики
- 4.8 Требования к программному интерфейсу
- 4.9 Требования к интернационализации
- 5 Требования к документации
Введение[edit]
Это техническое задание для Сервиса поддержки через IM.
Термины[edit]
- Сеть
- Некоторая сеть мгновенного обмена сообщениями, в которую (напрямую или через транспорт) может входить сервис.
- Сервер
- XMPP-сервер.
- Клиент
- Пользователь сервиса поддержки, который пришел со своим вопросом.
- Оператор
- Пользователь сервиса поддержки, который отвечает на вопросы клиентов.
- Узел поддержки
- Группа операторов, которые смогут ответить на вопросы определенной тематики. Узел поддержки имеет по одному контактному адресу (идентификатору) в каждой из поддерживаемых IM-сетях.
- Сервис поддержки
- Разрабатываемый компонент к серверу, который сможет обслуживать произвольное число узлов поддержки.
- Клиентское ПО
- ПО, которое используют абоненты и операторы для общения друг с другом. Это может быть XMPP-клиент или клиент любой другой IM-сети.
Назначение разработки[edit]
Сервис предназначен для организации технической поддержки через IM подобно тому как это делает call-центр в телефонии. Основные функции:
- один контактный адрес для клиентов
- автоматическое распределение клиентов по оператором с учетом занятости и присутствия
- ведение статистики
- сохранение разговоров
Области применения:
- Предприятия, внедряющие корпоративный IM на основе XMPP, могут подключить к своему серверу этот компонент, создать там нужное количество узлов поддержки (например, по принципу один узел - одна тема) и организовать полноценную IM поддержку для своих клиентов.
- Группы людей, сопровождающие какой-нибудь проект (свободное ПО, мероприятие, форум, игровой сервер и т.п.), могут создать свой узел на публичном сервисе поддержки и разместить его контактный адрес на сайте проекта.
Требования к программе[edit]
Программа должна включать в себя следующие основные модули:
- Модуль логики, который отвечает за основной процесс взаимодействия клиента и оператора.
- Модуль хранения информации (в базе данных, простых файлах и т.п.)
- Модуль статистики
Должна быть возможность заменить любой из этих модулей на свой без затрагивания остальных. Например, заменить хранение в MySQL на хранение в PostgreSQL или в простых файлах.
В программе должны быть реализованы следующие пользовательские интерфейсы:
- Интерфейс клиента
- Интерфейс оператора
- Интерфейс управления сервисом и узлами
- Интерфейс просмотра статистики
Прочие требования:
- Должна присутствовать возможность расширить функции программы или изменить основную логику работы с помощью плагинов.
- Должен присутствовать программный интерфейс (RPC) для взаимодействия с сторонним ПО
- Должна присутствовать возможность перевести все элементы интерфейсов на другой язык.
Требования к модулю логики[edit]
Требования к модулю хранения информации[edit]
Требования к модулю статистики[edit]
Требования к интерфейсу клиента[edit]
Интерфейс должен быть простым и выдвигать как можно меньше требований к ПО на стороне клиента.
Должны быть реализованы следующие типы интерфейса клиента:
- IM-интерфейс
- Web-интерфейс
Должна быть возможность реализовать свои.
Требования к настраиваемости[edit]
Параметры интерфейса, который клиент может изменить:
- Язык интерфейса
Параметры должны запоминаться между сессиями с привязкой к уникальному идентификатору клиента, если последний можно определить.
Требования к IM-интерфейсу клиента[edit]
Требования к Web-интерфейсу клиента[edit]
Требования к интерфейсу оператора[edit]
Требования к интерфейсу управления[edit]
Требования к интерфейсу просмотра статистики[edit]
Требования к программному интерфейсу[edit]
Должен быть программный интерфейс с помощью которого сторонее ПО сможет:
- взять данные статистики
- взять лог чата
- получить текущее состояние всего сервиса или отдельного узла (сколько операторов всего/доступно/занято, сколько клиентов обрабатывается, сколько клиентов в очереди) для нужд мониторинга.
- изменить настройки всего сервиса или отдельного узла поддержки
Требования к интернационализации[edit]
Должна присутствовать возможность перевести следующие элементы на другой язык:
- информация, текстовые элементы, элементы управления интерфейса
- команды IM-интерфейса
Должен присутствовать механизм корректного согласования числительного с существительным. Например: 1 man => 3 men, 1 box => 5 boxes, 1 балл => 2 балла => 5 баллов