Difference between revisions of "IM Support Service/Specification"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Термины: предложения и дополнения)
(Требования к интернационализации)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
Скелет — немного переделанный ГОСТ 19.201-78. Можно свободно добавлять свои требования, но удаление или исправление лучше согласовать в специальном [http://forum.jrudevels.org/viewtopic.php?p=10057 обсуждении на форуме JRuDevels].
+
Скелет — значительно переделанный [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:
  
 
== Термины ==  
 
== Термины ==  
; Система : Разрабатываемая система поддержки.
 
:: Предлагаю убрать термин, поскольку синонимичен ''Сервису''. // [[User:Juriks|Сыр Российский]] 17:37, 26 October 2007 (CEST)
 
 
; Сеть : Некоторая [[IM|сеть мгновенного обмена сообщениями]], в которую (напрямую или через [[gateway|транспорт]]) может входить сервис.
 
; Сеть : Некоторая [[IM|сеть мгновенного обмена сообщениями]], в которую (напрямую или через [[gateway|транспорт]]) может входить сервис.
; Сервис : Сервис поддержки, который имеет по одному контактному адресу (идентификатору) в каждой сети.
 
:: Предлагаю формулировку: ''Разрабатываемый сервис поддержки. Может иметь один или более адресов (идентификаторов) в рассматриваемых сетях.'' // [[User:Juriks|Сыр Российский]] 17:37, 26 October 2007 (CEST)
 
; Абонент : Пользователь системы, который пришел со своим вопросом.
 
; Оператор : Пользователь системы, который отвечает на вопросы абонентов.
 
 
; Сервер : [[XMPP]]-[[Server|сервер]].
 
; Сервер : [[XMPP]]-[[Server|сервер]].
; Клиент : ПО, которое используют абоненты и операторы для общения. Это может быть XMPP-[[Client|клиент]] или абонент любой другой IM-сети.
+
; Клиент : Пользователь сервиса поддержки, который пришел со своим вопросом.
 +
; Оператор : Пользователь сервиса поддержки, который отвечает на вопросы клиентов.
 +
; Узел поддержки : Группа операторов, которые смогут ответить на вопросы определенной тематики. Узел поддержки имеет по одному контактному адресу (идентификатору) в каждой из поддерживаемых 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. Перед добавлением желательно почитать эти советы по написанию ТЗ.

Введение[edit]

Это техническое задание для Сервиса поддержки через IM.

Термины[edit]

Сеть 
Некоторая сеть мгновенного обмена сообщениями, в которую (напрямую или через транспорт) может входить сервис.
Сервер 
XMPP-сервер.
Клиент 
Пользователь сервиса поддержки, который пришел со своим вопросом.
Оператор 
Пользователь сервиса поддержки, который отвечает на вопросы клиентов.
Узел поддержки 
Группа операторов, которые смогут ответить на вопросы определенной тематики. Узел поддержки имеет по одному контактному адресу (идентификатору) в каждой из поддерживаемых IM-сетях.
Сервис поддержки
Разрабатываемый компонент к серверу, который сможет обслуживать произвольное число узлов поддержки.
Клиентское ПО 
ПО, которое используют абоненты и операторы для общения друг с другом. Это может быть XMPP-клиент или клиент любой другой IM-сети.

Назначение разработки[edit]

Сервис предназначен для организации технической поддержки через IM подобно тому как это делает call-центр в телефонии. Основные функции:

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

Области применения:

  1. Предприятия, внедряющие корпоративный IM на основе XMPP, могут подключить к своему серверу этот компонент, создать там нужное количество узлов поддержки (например, по принципу один узел - одна тема) и организовать полноценную IM поддержку для своих клиентов.
  2. Группы людей, сопровождающие какой-нибудь проект (свободное ПО, мероприятие, форум, игровой сервер и т.п.), могут создать свой узел на публичном сервисе поддержки и разместить его контактный адрес на сайте проекта.

Требования к программе[edit]

Программа должна включать в себя следующие основные модули:

  1. Модуль логики, который отвечает за основной процесс взаимодействия клиента и оператора.
  2. Модуль хранения информации (в базе данных, простых файлах и т.п.)
  3. Модуль статистики

Должна быть возможность заменить любой из этих модулей на свой без затрагивания остальных. Например, заменить хранение в MySQL на хранение в PostgreSQL или в простых файлах.

В программе должны быть реализованы следующие пользовательские интерфейсы:

  1. Интерфейс клиента
  2. Интерфейс оператора
  3. Интерфейс управления сервисом и узлами
  4. Интерфейс просмотра статистики

Прочие требования:

  1. Должна присутствовать возможность расширить функции программы или изменить основную логику работы с помощью плагинов.
  2. Должен присутствовать программный интерфейс (RPC) для взаимодействия с сторонним ПО
  3. Должна присутствовать возможность перевести все элементы интерфейсов на другой язык.

Требования к модулю логики[edit]

Требования к модулю хранения информации[edit]

Требования к модулю статистики[edit]

Требования к интерфейсу клиента[edit]

Интерфейс должен быть простым и выдвигать как можно меньше требований к ПО на стороне клиента.

Должны быть реализованы следующие типы интерфейса клиента:

  1. IM-интерфейс
  2. Web-интерфейс

Должна быть возможность реализовать свои.

Требования к настраиваемости[edit]

Параметры интерфейса, который клиент может изменить:

  1. Язык интерфейса

Параметры должны запоминаться между сессиями с привязкой к уникальному идентификатору клиента, если последний можно определить.

Требования к IM-интерфейсу клиента[edit]

Требования к Web-интерфейсу клиента[edit]

Требования к интерфейсу оператора[edit]

Требования к интерфейсу управления[edit]

Требования к интерфейсу просмотра статистики[edit]

Требования к программному интерфейсу[edit]

Должен быть программный интерфейс с помощью которого сторонее ПО сможет:

  1. взять данные статистики
  2. взять лог чата
  3. получить текущее состояние всего сервиса или отдельного узла (сколько операторов всего/доступно/занято, сколько клиентов обрабатывается, сколько клиентов в очереди) для нужд мониторинга.
  4. изменить настройки всего сервиса или отдельного узла поддержки

Требования к интернационализации[edit]

Должна присутствовать возможность перевести следующие элементы на другой язык:

  • информация, текстовые элементы, элементы управления интерфейса
  • команды IM-интерфейса

Должен присутствовать механизм корректного согласования числительного с существительным. Например: 1 man => 3 men, 1 box => 5 boxes, 1 балл => 2 балла => 5 баллов

Требования к документации[edit]