Project

General

Profile

Requirements » History » Revision 22

Revision 21 (Никита Артемов, 03/20/2012 02:08 PM) → Revision 22/25 (Никита Артемов, 03/27/2012 03:32 PM)

h1. Требования к системе 

 {{TOC}} 

 Данный документ частично соответствует "ГОСТ 34.602-89":http://www.gostrf.com/standart/Pages_gost/11254.htm «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы». 

 h2. Требования к системе в целом 

 h3. Требования к структуре и функциональности системы 

 *Функциональные подсистемы:* 

 Следующие подсистемы должны быть взяты из проекта "Musson":https://redmine.cs.karelia.ru/projects/musson/wiki и доработаны 
 (в эти подсистемы следует добавить реализацию функций для работы с геолокацией и событиями): 

 * Плагины - обеспечивает взаимосвязь с сервисами (для каждой социальной сети свой плагин) 
 * Ядро - обеспечивает взаимосвязь между плагином и компонентами. Содержит основную логику. 
 * Компоненты интерфейса - обеспечивает доступ к функциям ядра из приложения. 
 * Webauth - приложение для авторизации пользователя с сервисом. 

 Следующие подсистемы следует реализовать: 
 * Приложение Places - содержит интерфейс пользователя для работы с геолокационными данными. 
 * Приложения Events - содержит интерфейс пользователя для работы с событиями. 
 * Webauth - приложение для авторизации пользователя с сервисом. 

 !https://redmine.cs.karelia.ru/attachments/download/84/850px-MSCore_Arch.png! 

 *Информационного обмена между компонентами системы* 

 * Взаимодействие плагинов с Webauth происходит посредством службы D-Bus. 
 * Между остальными компонентами обмен реализуется с помощью системы сигналов и слотов 

 h3. Требования к численности и квалификации персонала системы и режиму его работы 

 *Требования к численности и квалификации персонала системы и режиму его работы* 

 В состав персонала, необходимого для обеспечения эксплуатации КХД в рамках соответствующих подразделений Заказчика, необходимо выделение следующих ответственных лиц:  
 * Менеджер проекта - 1 человек.  
 * Разработчики -    3-4 человека. 
 * Секретарь - 1 человек. 
 * Тестеры - 1-2 человека.  

 Данные лица должны выполнять следующие функциональные обязанности. 
 * Менеджер проекта - на всем протяжении разработки обеспечивает общее руководство группой. 
 * Разработчики - ответственны за написания кода. 
 * Секретарь - ведет протоколы проектных собраний, записывает замечания на общепроектных собраниях. 
 * Тестеры - занимаются тестированием 

 *Требования к квалификации персонала* 
 * Менеджер проекта - знание соответствующей предметной области, наличие управленческих качеств. 
 * Разработчики - знание соответствующей предметной области, знание Qt и QML. 
 * Секретарь - умение грамотно и опрятно составлять отчет, знание формата составления отчета. 
 * Тестеры - знание формата составления отчета тестирования. 

 *Требования к режимам работы персонала* 
 * каждый участник должен тратить не менее 15 часов в неделю на проект. 

 h3. Требования к надежности 

 *Состав показателей надежности для системы в целом* 

 Уровень надежности должен достигаться согласованным применением организационных, организационно-технических мероприятий и программно-аппаратных средств. Надежность должна обеспечиваться за счет применения технических средств, системного и базового программного обеспечения, соответствующих классу решаемых задач. 

 h3. Требования к эргономике и технической эстетике 

 Подсистема формирования и визуализации отчетности данных должна обеспечивать удобный для конечного пользователя интерфейс, отвечающий следующим требованиям. 

 В части внешнего оформления: 
 * интерфейсы подсистем должен быть типизированы; 
 * должно быть обеспечено наличие локализованного (русскоязычного) интерфейса пользователя; 

 В части диалога с пользователем: 
 * для наиболее частых операций должны быть предусмотрены «горячие» клавиши; 
 * при возникновении ошибок в работе подсистемы на экран монитора должно выводиться сообщение с наименованием ошибки. 

 h3. Требования к защите информации от несанкционированного доступа 

 Обеспечение информационное безопасности Geo-Events должно удовлетворять следующим требованиям: 
 * Защищенный доступ к данным авторизации пользователя.  
 * Запрос на подтверждение при иcпользовании местоположения пользователя. 


 h2. Требования к функциям, выполняемым системой 

 h3. Ядро 

 |_.ID |_.Описание |_.Приоритет |_.Аттестация | 
 |SR.FSYSA.01|+Функция+  
  Получить данные от сервиса  
 +Описание+  
  Посылка запроса через библиотеку текущего сервиса, получение ответа  
 +Предусловие+  
  Правильно заданы параметры запроса  
 +Постусловие+  
  Ответ от сервиса или уведомление об ошибке  
 +Входные данные+  
  идентификатор запроса, идентификатор драйвера  
 +Выходные данные+  
  сигнал для менеджеру событий, идентификатор ответа, ответ в формате xml|Высокий|| 
 |SR.FSYSA.02|+Функция+  
  Создание аккаунта  
 +Описание+  
  Создание аккаунта в приложении для доступа к сервисам  
 +Предусловие+  
  Установлены библиотеки сервисов  
 +Постусловие+  
  Учетная запись в программе  
 +Входные данные+  
  идентификатор сервиса  
 +Выходные данные+  
  сообщение об ошибке или вывод списка уже созданных аккаунтов|Высокий|| 
 |SR.FUSRP.03|+Функция+  
  Настройки сети  
 +Описание+  
  Изменение настроек прокси  
 +Предусловие+  
  У приложения есть доступ к сети  
 +Постусловие+  
  нет  
 +Входные данные+  
  тип прокси, хост, порт  
 +Выходные данные+  
  конфигурация приложения|Высокий|| 
 |SR.FUSRP.04|+Функция+  
  Выбор сервиса  
 +Описание+  
  Пользователь выбирает сервис перед запросом(поиск места, отметка)  
 +Предусловие+  
  В приложение уже зарегистрированы аккаунты сервисов  
 +Постусловие+  
  Сервис выбран для отправки следующего запроса  
 +Входные данные+  
  идентификатор аккаунта  
 +Выходные данные+  
  сообщение о статусе выполнения|Средний|| 

 h3. Приложение Places 

 |_.ID |_.Описание |_.Приоритет |_.Аттестация | 
 |SR.FUSRP.01|+Функция+  
  Поиск места по названию  
 +Описание+  
  Получение списка мест  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  строка поискового запроса (если не указано - поиск ближайших мест), координаты  
 +Выходные данные+  
  список найденных мест|Высокий|Пользователь вводит в поле для ввода название места, нажимает на кнопку. Отображается список найденных мест или (если не найдено) сообщение о том что место не найдено.| 
 |SR.FUSRP.02|+Функция+  
  Получение списка отметок  
 +Описание+  
  Пользователь получает список людей, кто уже отметился на конкретном месте или поблизости.  
 +Предусловие+  
  Если поиск отметок по месту, то должен быть получен список мест  
 +Постусловие+  
  нет  
 +Входные данные+  
  координаты, идентификатор места или ничего(для получения ленты обновления отметок друзей)  
 +Выходные данные+  
  список отметок пользователей|Высокий|Пользователь нажимает на кнопку получения отметок. Отображается список полученных отметок или (если не найдено) сообщение о том что отметки не найдены.| 
 |SR.FUSRP.03|+Функция+  
  Создание нового места  
 +Описание+  
  Создание нового места в базе сервиса  
 +Предусловие+  
  Пользователь не нашел нужное место, чтобы отметиться  
 +Постусловие+  
  нет  
 +Входные данные+  
  Название места, координаты, тип места, адрес места, свой комментарий (опционально)  
 +Выходные данные+  
  Сообщение об успехе или ошибке|Высокий|Пользователь заполняет поля нового места. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля) сообщение об ошибке.| 
 |SR.FUSRP.04|+Функция+  
  Отметка  
 +Описание+  
  Регистрация на месте, что вы там были или просто оставление комментария о месте  
 +Предусловие+  
  Пользователь получил список мест  
 +Постусловие+  
  нет  
 +Входные данные+  
  идентификатор места, свой комментарий (опционально)  
 +Выходные данные+  
  Сообщение об успехе или ошибке|Высокий|Пользователь вводит комментарий к отметке (или не вводит). Выводится сообщение об ошибке или успехе.| 

 h3. Приложение Events 

 |_.ID |_.Описание |_.Приоритет |_.Аттестация | 
 |SR.FUSRE.01|+Функция+  
  Получение всех мероприятий  
 +Описание+  
  Получение списка событий  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  id пользователя 
 временной интервал (опционально)  
 +Выходные данные+  
  список событий|Высокий|При запуске приложения список всех событий получается(обновляется) автоматически. Также пользователь может нажать кнопку "Update" для принудительного обновления списка.| 
 |SR.FUSRE.02|+Функция+  
  Создание нового события  
 +Описание+  
  Создание своего события и добавление его к общему списку  
 +Предусловие+  
  Пользователь прошел авторизацию (со специальными правами)  
 +Постусловие+  
  нет  
 +Входные данные+  
  обязательно: название, время начала, время завершения необязательно: описание, место проведения, приватность  
 +Выходные данные+  
  id созданного события|Высокий|Пользователь заполняет поля нового события. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля или др.) сообщение об ошибке.| 
 |SR.FUSRE.03|+Функция+  
  Редактирование события  
 +Описание+  
  Редактирование события при наличии прав  
 +Предусловие+  
  Пользователь прошел авторизацию и имеет права на редактирование  
 +Постусловие+  
  нет  
 +Входные данные+  
  (новые): название, время начала, время завершения и тд.(Все опционально)  
 +Выходные данные+  
  успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Edit", после в форме редактирования вносит в поля изменения и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| 
 |SR.FUSRE.04|+Функция+  
  Удаление события  
 +Описание+  
  Удаление события при наличии прав  
 +Предусловие+  
  Пользователь прошел авторизацию и имеет права на удаление(те же что и для создания)  
 +Постусловие+  
  нет  
 +Входные данные+  
  id события  
 +Выходные данные+  
  успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| 
 |SR.FUSRE.05|+Функция+  
  Установка статуса  
 +Описание+  
  Установка(изменение) своего статуса участия в мероприятии  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  id события, статус(declined, maybe, attending)  
 +Выходные данные+  
  успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Change RSVP". Открывается форма где пользователь устанавливает статус и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| 
 |SR.FUSRE.06|+Функция+  
  Получение списка участников  
 +Описание+  
  Получение списка содержащего: id пользователей и их статусы, относительно данного события  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  id события  
 +Выходные данные+  
  список участников|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Members". Выводится список участников, либо сообщение "No memebers", либо сообщение об ошибке (если ошибка с сетью или др.).| 
 |SR.FUSRE.07|+Функция+  
  Поиск событий по названию  
 +Описание+  
  Получение списка событий, удовлетворяющих поисковому запросу  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  поисковая строка  
 +Выходные данные+  
  список событий|Средний|Пользователь вводит в поле для ввода название события, нажимает на кнопку. Отображается список найденных событий или (если не найдено) сообщение о том что событий не найдено.| 
 |SR.FUSRE.08|+Функция+  
  Приглашение пользователей  
 +Описание+  
  Приглашение пользователей принять участие в мероприятии  
 +Предусловие+  
  Пользователь прошел авторизацию  
 +Постусловие+  
  нет  
 +Входные данные+  
  id события, список id пользователей  
 +Выходные данные+  
  успех, неудача|Средний|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Invate ". В появившейся форме вводит имя пользователя в поле ввода и нажимает "OK". Выводится сообщение об успехе или (если ошибка с сетью, проблемы приватностью, пользователь не найден) сообщение об ошибке.|