Requirements » History » Revision 21
Revision 20 (Никита Артемов, 03/20/2012 02:06 PM) → Revision 21/25 (Никита Артемов, 03/20/2012 02:08 PM)
h1. Требования к системе
{{TOC}}
h2. Требования к системе в целом
h3. Требования к структуре и функциональности системы
*Функциональные подсистемы:*
* Плагины - обеспечивает взаимосвязь с сервисами (для каждой социальной сети свой плагин)
* Ядро - обеспечивает взаимосвязь между плагином и компонентами. Содержит основную логику.
* Компоненты интерфейса - обеспечивает доступ к функциям ядра из приложения.
* Приложение Places - содержит интерфейс пользователя для работы с геолокационными данными.
* Приложения Events - содержит интерфейс пользователя для работы с событиями.
* Webauth - приложение для авторизации пользователя с сервисом.
*Информационного обмена между компонентами системы*
* Взаимодействие плагинов с 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". Выводится сообщение об успехе или (если ошибка с сетью, проблемы приватностью, пользователь не найден) сообщение об ошибке.|
h1. Работа с геолокацией
h2. Поиск мест и отметка
# появляется форма "SearchPlaces form"
# пользователь вводит в поле для ввода поисковый запрос
# пользователь нажимает "Search"
# появляется список найденных мест
# пользователь нажимает на элемент одного из найденных мест
# появляется форма "CheckinsOfPlace Form", где отображается подробная информация о месте и список отметок
# пользователь нажимает кнопку "Checkin"
# появляется форма "CheckinDialog form"
# пользователь вводит комментарий к отметке
# пользователь нажимает "OK" для отправки или "Cancel" для закрытия формы
h2. Просмотр отметок
# появляется форма "Checkins form"
# пользователь нажимает на вкладку "Friends"
# появляется список последних отметок друзей
# пользователь нажимает на вкладку "Nearby"
# появляется список отметок сделанных людьми поблизости
h2. Отображение отметок или мест на карте
# на странице со списками мест или отметок пользователь нажимает "On Map"
# появляется форма "Map form"
# на карте отображаются отметки или места
# пользователь нажимает "Cancel" для выхода
h1. Работа с событиями и встречами
h2. Поиск событий (URE5)
# появляется форма "SearchEvents form"
# пользователь вводит в поле для ввода поисковый запрос
# пользователь нажимает "Search"
# появляется список найденных событий
# пользователь нажимает на элемент одного из найденных событий
# появляется форма "Event Form", где отображается подробная информация о событии
# пользователь нажимает кнопку "Attend", "Maybe" или "Decline", тем самым заявив о своем участии/возможном участии/не участии в мероприятии(в случае если мероприятие открыто для участия)
# пользователь может оставить комментарий на стене события
# пользователь может нажать на кнопку пригласить друзей
# чтобы перейти обратно к списку событий пользователь нажимает кнопку "Back"
h2. Получение списка событий (URE4)
# пользователь нажимает кнопку "Update" на главной странице для обновления(загрузке при первом запуске) списка событий
h2. Получение информации о событии
# в общем списке событий пользователь щелкает на одно из них
# появляется форма отображения информации о событии
# пользователь может нажать кнопку "Edit event" для редактирования события
# в этом случае появляется форма "EditEvent form", где пользователь может редактировать поля события и статус своего участия
# пользователь нажимает кнопки "Save" ил "Cancel"
# пользователь может нажать на кнопку "Invate friends" для приглашение пользователя(ей)
# чтобы перейти обратно к списку событий пользователь нажимает кнопку "Back"