Difference between revisions of "IM Support Service/Specification"
m (причесал) |
(→Требования к интернационализации) |
||
(14 intermediate revisions by 2 users not shown) | |||
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 советы по написанию ТЗ]. |
== Введение == | == Введение == | ||
Line 5: | Line 5: | ||
== Термины == | == Термины == | ||
− | ; | + | ; Сеть : Некоторая [[IM|сеть мгновенного обмена сообщениями]], в которую (напрямую или через [[gateway|транспорт]]) может входить сервис. |
− | + | ||
− | + | ||
− | + | ||
; Сервер : [[XMPP]]-[[Server|сервер]]. | ; Сервер : [[XMPP]]-[[Server|сервер]]. | ||
− | ; Клиент : ПО, которое используют абоненты и операторы для общения. Это может быть 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 баллов'' |
== Требования к документации == | == Требования к документации == |
Latest revision as of 09:41, 1 November 2007
Скелет — значительно переделанный ГОСТ 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 баллов