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"