Latest revision |
Your text |
Line 1: |
Line 1: |
− | Скелет — значительно переделанный [http://www.ssga.ru/erudites_info/gost/19_201.html ГОСТ 19.201-78]. Можно свободно добавлять свои требования, но удаление или исправление лучше согласовать в специальном [http://forum.jrudevels.org/viewtopic.php?p=10057 обсуждении на форуме JRuDevels]. Перед добавлением желательно почитать эти [http://www.authorit.ru/HTML/dd_pub/dd_write_tz.htm советы по написанию ТЗ]. | + | Скелет — значительно переделанный [http://authorit.ru/?c=2&b=1 ГОСТ 19.201-78]. Можно свободно добавлять свои требования, но удаление или исправление лучше согласовать в специальном [http://forum.jrudevels.org/viewtopic.php?p=10057 обсуждении на форуме JRuDevels]. Перед добавлением желательно почитать эти [http://www.authorit.ru/HTML/dd_pub/dd_write_tz.htm советы по написанию ТЗ]. |
| | | |
| == Введение == | | == Введение == |
Line 7: |
Line 7: |
| ; Сеть : Некоторая [[IM|сеть мгновенного обмена сообщениями]], в которую (напрямую или через [[gateway|транспорт]]) может входить сервис. | | ; Сеть : Некоторая [[IM|сеть мгновенного обмена сообщениями]], в которую (напрямую или через [[gateway|транспорт]]) может входить сервис. |
| ; Сервер : [[XMPP]]-[[Server|сервер]]. | | ; Сервер : [[XMPP]]-[[Server|сервер]]. |
− | ; Клиент : Пользователь сервиса поддержки, который пришел со своим вопросом. | + | ; Абонент : Пользователь сервиса поддержки, который пришел со своим вопросом. |
− | ; Оператор : Пользователь сервиса поддержки, который отвечает на вопросы клиентов. | + | ; Оператор : Пользователь сервиса поддержки, который отвечает на вопросы абонентов. |
| ; Узел поддержки : Группа операторов, которые смогут ответить на вопросы определенной тематики. Узел поддержки имеет по одному контактному адресу (идентификатору) в каждой из поддерживаемых IM-сетях. | | ; Узел поддержки : Группа операторов, которые смогут ответить на вопросы определенной тематики. Узел поддержки имеет по одному контактному адресу (идентификатору) в каждой из поддерживаемых IM-сетях. |
| ; Сервис поддержки: Разрабатываемый компонент к серверу, который сможет обслуживать произвольное число узлов поддержки. | | ; Сервис поддержки: Разрабатываемый компонент к серверу, который сможет обслуживать произвольное число узлов поддержки. |
− | ; Клиентское ПО : ПО, которое используют абоненты и операторы для общения друг с другом. Это может быть XMPP-[[Client|клиент]] или клиент любой другой IM-сети. | + | ; Клиент : ПО, которое используют абоненты и операторы для общения друг с другом. Это может быть XMPP-[[Client|клиент]] или клиент любой другой IM-сети. |
| | | |
| == Назначение разработки == | | == Назначение разработки == |
− | Сервис предназначен для организации технической поддержки через IM подобно тому как это делает call-центр в телефонии. Основные функции:
| |
− | * один контактный адрес для клиентов
| |
− | * автоматическое распределение клиентов по оператором с учетом занятости и присутствия
| |
− | * ведение статистики
| |
− | * сохранение разговоров
| |
− |
| |
− | Области применения:
| |
− | # Предприятия, внедряющие корпоративный IM на основе XMPP, могут подключить к своему серверу этот компонент, создать там нужное количество узлов поддержки (например, по принципу один узел - одна тема) и организовать полноценную IM поддержку для своих клиентов.
| |
− | # Группы людей, сопровождающие какой-нибудь проект (свободное ПО, мероприятие, форум, игровой сервер и т.п.), могут создать свой узел на публичном сервисе поддержки и разместить его контактный адрес на сайте проекта.
| |
| | | |
| == Требования к программе == | | == Требования к программе == |
− | Программа должна включать в себя следующие основные модули:
| |
− | # Модуль логики, который отвечает за основной процесс взаимодействия клиента и оператора.
| |
− | # Модуль хранения информации (в базе данных, простых файлах и т.п.)
| |
− | # Модуль статистики
| |
− |
| |
− | Должна быть возможность заменить любой из этих модулей на свой без затрагивания остальных. Например, заменить хранение в MySQL на хранение в PostgreSQL или в простых файлах.
| |
− |
| |
− | В программе должны быть реализованы следующие пользовательские интерфейсы:
| |
− | # Интерфейс клиента
| |
− | # Интерфейс оператора
| |
− | # Интерфейс управления сервисом и узлами
| |
− | # Интерфейс просмотра статистики
| |
− |
| |
− | Прочие требования:
| |
− | # Должна присутствовать возможность расширить функции программы или изменить основную логику работы с помощью плагинов.
| |
− | # Должен присутствовать программный интерфейс (RPC) для взаимодействия с сторонним ПО
| |
− | # Должна присутствовать возможность перевести все элементы интерфейсов на другой язык.
| |
− |
| |
− | === Требования к модулю логики ===
| |
− | === Требования к модулю хранения информации ===
| |
− | === Требования к модулю статистики ===
| |
− | === Требования к интерфейсу клиента ===
| |
− | Интерфейс должен быть простым и выдвигать как можно меньше требований к ПО на стороне клиента.
| |
− |
| |
− | Должны быть реализованы следующие типы интерфейса клиента:
| |
− | # IM-интерфейс
| |
− | # Web-интерфейс
| |
− |
| |
− | Должна быть возможность реализовать свои.
| |
− |
| |
− | ==== Требования к настраиваемости ====
| |
− | Параметры интерфейса, который клиент может изменить:
| |
− | # Язык интерфейса
| |
− |
| |
− | Параметры должны запоминаться между сессиями с привязкой к уникальному идентификатору клиента, если последний можно определить.
| |
− |
| |
− | ==== Требования к IM-интерфейсу клиента ====
| |
− |
| |
− |
| |
− | ==== Требования к Web-интерфейсу клиента ====
| |
− |
| |
− | === Требования к интерфейсу оператора ===
| |
− | === Требования к интерфейсу управления ===
| |
− | === Требования к интерфейсу просмотра статистики ===
| |
− | === Требования к программному интерфейсу ===
| |
− | Должен быть программный интерфейс с помощью которого сторонее ПО сможет:
| |
− | # взять данные статистики
| |
− | # взять лог чата
| |
− | # получить текущее состояние всего сервиса или отдельного узла (сколько операторов всего/доступно/занято, сколько клиентов обрабатывается, сколько клиентов в очереди) для нужд мониторинга.
| |
− | # изменить настройки всего сервиса или отдельного узла поддержки
| |
− |
| |
− | === Требования к интернационализации ===
| |
− | Должна присутствовать возможность перевести следующие элементы на другой язык:
| |
− | * информация, текстовые элементы, элементы управления интерфейса
| |
− | * команды IM-интерфейса
| |
| | | |
− | Должен присутствовать механизм корректного согласования числительного с существительным. ''Например: 1 man => 3 men, 1 box => 5 boxes, 1 балл => 2 балла => 5 баллов''
| + | === Требования к расширяемости === |
| | | |
| == Требования к документации == | | == Требования к документации == |