Requirements » History » Version 20
Никита Артемов, 03/20/2012 02:06 PM
1 | 19 | Никита Артемов | h1. Требования к системе |
---|---|---|---|
2 | 1 | Никита Артемов | |
3 | 16 | Никита Давыдовский | {{TOC}} |
4 | 1 | Никита Артемов | |
5 | 19 | Никита Артемов | h2. Требования к системе в целом |
6 | |||
7 | h3. Требования к структуре и функциональности системы |
||
8 | |||
9 | 20 | Никита Артемов | *Функциональные подсистемы:* |
10 | 1 | Никита Артемов | |
11 | 20 | Никита Артемов | * Плагины - обеспечивает взаимосвязь с сервисами (для каждой социальной сети свой плагин) |
12 | * Ядро - обеспечивает взаимосвязь между плагином и компонентами. Содержит основную логику. |
||
13 | * Компоненты интерфейса - обеспечивает доступ к функциям ядра из приложения. |
||
14 | * Приложение Places - содержит интерфейс пользователя для работы с геолокационными данными. |
||
15 | * Приложения Events - содержит интерфейс пользователя для работы с событиями. |
||
16 | * Webauth - приложение для авторизации пользователя с сервисом. |
||
17 | 1 | Никита Артемов | |
18 | 20 | Никита Артемов | *Информационного обмена между компонентами системы* |
19 | 1 | Никита Артемов | |
20 | 20 | Никита Артемов | * Взаимодействие плагинов с Webauth происходит посредством службы D-Bus. |
21 | * Между остальными компонентами обмен реализуется с помощью системы сигналов и слотов |
||
22 | |||
23 | 19 | Никита Артемов | h3. Требования к численности и квалификации персонала системы и режиму его работы |
24 | |||
25 | *Требования к численности и квалификации персонала системы и режиму его работы* |
||
26 | |||
27 | В состав персонала, необходимого для обеспечения эксплуатации КХД в рамках соответствующих подразделений Заказчика, необходимо выделение следующих ответственных лиц: |
||
28 | * Менеджер проекта - 1 человек. |
||
29 | * Разработчики - 3-4 человека. |
||
30 | * Секретарь - 1 человек. |
||
31 | * Тестеры - 1-2 человека. |
||
32 | |||
33 | Данные лица должны выполнять следующие функциональные обязанности. |
||
34 | * Менеджер проекта - на всем протяжении разработки обеспечивает общее руководство группой. |
||
35 | * Разработчики - ответственны за написания кода. |
||
36 | * Секретарь - ведет протоколы проектных собраний, записывает замечания на общепроектных собраниях. |
||
37 | * Тестеры - занимаются тестированием |
||
38 | |||
39 | *Требования к квалификации персонала* |
||
40 | * Менеджер проекта - знание соответствующей предметной области, наличие управленческих качеств. |
||
41 | * Разработчики - знание соответствующей предметной области, знание Qt и QML. |
||
42 | * Секретарь - умение грамотно и опрятно составлять отчет, знание формата составления отчета. |
||
43 | * Тестеры - знание формата составления отчета тестирования. |
||
44 | |||
45 | *Требования к режимам работы персонала* |
||
46 | * каждый участник должен тратить не менее 15 часов в неделю на проект. |
||
47 | |||
48 | h3. Требования к надежности |
||
49 | |||
50 | *Состав показателей надежности для системы в целом* |
||
51 | |||
52 | Уровень надежности должен достигаться согласованным применением организационных, организационно-технических мероприятий и программно-аппаратных средств. Надежность должна обеспечиваться за счет применения технических средств, системного и базового программного обеспечения, соответствующих классу решаемых задач. |
||
53 | |||
54 | h3. Требования к эргономике и технической эстетике |
||
55 | |||
56 | Подсистема формирования и визуализации отчетности данных должна обеспечивать удобный для конечного пользователя интерфейс, отвечающий следующим требованиям. |
||
57 | |||
58 | В части внешнего оформления: |
||
59 | * интерфейсы подсистем должен быть типизированы; |
||
60 | * должно быть обеспечено наличие локализованного (русскоязычного) интерфейса пользователя; |
||
61 | |||
62 | В части диалога с пользователем: |
||
63 | 4 | Александр Дремин | * для наиболее частых операций должны быть предусмотрены «горячие» клавиши; |
64 | * при возникновении ошибок в работе подсистемы на экран монитора должно выводиться сообщение с наименованием ошибки. |
||
65 | |||
66 | h3. Требования к защите информации от несанкционированного доступа |
||
67 | |||
68 | 1 | Никита Артемов | Обеспечение информационное безопасности Geo-Events должно удовлетворять следующим требованиям: |
69 | 4 | Александр Дремин | * Защищенный доступ к данным авторизации пользователя. |
70 | * Запрос на подтверждение при иcпользовании местоположения пользователя. |
||
71 | |||
72 | 18 | Александр Шитнев | |
73 | 20 | Никита Артемов | h2. Требования к функциям, выполняемым системой |
74 | 18 | Александр Шитнев | |
75 | h3. Ядро |
||
76 | |||
77 | |_.ID |_.Описание |_.Приоритет |_.Аттестация | |
||
78 | |SR.FSYSA.01|+Функция+ |
||
79 | Получить данные от сервиса |
||
80 | +Описание+ |
||
81 | Посылка запроса через библиотеку текущего сервиса, получение ответа |
||
82 | +Предусловие+ |
||
83 | Правильно заданы параметры запроса |
||
84 | +Постусловие+ |
||
85 | Ответ от сервиса или уведомление об ошибке |
||
86 | +Входные данные+ |
||
87 | идентификатор запроса, идентификатор драйвера |
||
88 | +Выходные данные+ |
||
89 | сигнал для менеджеру событий, идентификатор ответа, ответ в формате xml|Высокий|| |
||
90 | |SR.FSYSA.02|+Функция+ |
||
91 | Создание аккаунта |
||
92 | +Описание+ |
||
93 | Создание аккаунта в приложении для доступа к сервисам |
||
94 | +Предусловие+ |
||
95 | Установлены библиотеки сервисов |
||
96 | +Постусловие+ |
||
97 | Учетная запись в программе |
||
98 | +Входные данные+ |
||
99 | идентификатор сервиса |
||
100 | +Выходные данные+ |
||
101 | сообщение об ошибке или вывод списка уже созданных аккаунтов|Высокий|| |
||
102 | |SR.FUSRP.03|+Функция+ |
||
103 | Настройки сети |
||
104 | +Описание+ |
||
105 | Изменение настроек прокси |
||
106 | +Предусловие+ |
||
107 | У приложения есть доступ к сети |
||
108 | +Постусловие+ |
||
109 | нет |
||
110 | +Входные данные+ |
||
111 | тип прокси, хост, порт |
||
112 | +Выходные данные+ |
||
113 | конфигурация приложения|Высокий|| |
||
114 | |SR.FUSRP.04|+Функция+ |
||
115 | Выбор сервиса |
||
116 | +Описание+ |
||
117 | Пользователь выбирает сервис перед запросом(поиск места, отметка) |
||
118 | +Предусловие+ |
||
119 | В приложение уже зарегистрированы аккаунты сервисов |
||
120 | +Постусловие+ |
||
121 | Сервис выбран для отправки следующего запроса |
||
122 | +Входные данные+ |
||
123 | идентификатор аккаунта |
||
124 | +Выходные данные+ |
||
125 | сообщение о статусе выполнения|Средний|| |
||
126 | |||
127 | 20 | Никита Артемов | h3. Приложение Places |
128 | 18 | Александр Шитнев | |
129 | |_.ID |_.Описание |_.Приоритет |_.Аттестация | |
||
130 | |SR.FUSRP.01|+Функция+ |
||
131 | Поиск места по названию |
||
132 | +Описание+ |
||
133 | Получение списка мест |
||
134 | +Предусловие+ |
||
135 | Пользователь прошел авторизацию |
||
136 | 1 | Никита Артемов | +Постусловие+ |
137 | нет |
||
138 | +Входные данные+ |
||
139 | строка поискового запроса (если не указано - поиск ближайших мест), координаты |
||
140 | +Выходные данные+ |
||
141 | список найденных мест|Высокий|Пользователь вводит в поле для ввода название места, нажимает на кнопку. Отображается список найденных мест или (если не найдено) сообщение о том что место не найдено.| |
||
142 | |SR.FUSRP.02|+Функция+ |
||
143 | Получение списка отметок |
||
144 | +Описание+ |
||
145 | Пользователь получает список людей, кто уже отметился на конкретном месте или поблизости. |
||
146 | +Предусловие+ |
||
147 | Если поиск отметок по месту, то должен быть получен список мест |
||
148 | +Постусловие+ |
||
149 | нет |
||
150 | +Входные данные+ |
||
151 | координаты, идентификатор места или ничего(для получения ленты обновления отметок друзей) |
||
152 | +Выходные данные+ |
||
153 | список отметок пользователей|Высокий|Пользователь нажимает на кнопку получения отметок. Отображается список полученных отметок или (если не найдено) сообщение о том что отметки не найдены.| |
||
154 | |SR.FUSRP.03|+Функция+ |
||
155 | Создание нового места |
||
156 | +Описание+ |
||
157 | Создание нового места в базе сервиса |
||
158 | +Предусловие+ |
||
159 | Пользователь не нашел нужное место, чтобы отметиться |
||
160 | +Постусловие+ |
||
161 | нет |
||
162 | +Входные данные+ |
||
163 | Название места, координаты, тип места, адрес места, свой комментарий (опционально) |
||
164 | +Выходные данные+ |
||
165 | Сообщение об успехе или ошибке|Высокий|Пользователь заполняет поля нового места. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля) сообщение об ошибке.| |
||
166 | |SR.FUSRP.04|+Функция+ |
||
167 | Отметка |
||
168 | +Описание+ |
||
169 | Регистрация на месте, что вы там были или просто оставление комментария о месте |
||
170 | +Предусловие+ |
||
171 | Пользователь получил список мест |
||
172 | +Постусловие+ |
||
173 | нет |
||
174 | +Входные данные+ |
||
175 | идентификатор места, свой комментарий (опционально) |
||
176 | +Выходные данные+ |
||
177 | Сообщение об успехе или ошибке|Высокий|Пользователь вводит комментарий к отметке (или не вводит). Выводится сообщение об ошибке или успехе.| |
||
178 | |||
179 | 20 | Никита Артемов | h3. Приложение Events |
180 | 1 | Никита Артемов | |
181 | |_.ID |_.Описание |_.Приоритет |_.Аттестация | |
||
182 | |SR.FUSRE.01|+Функция+ |
||
183 | Получение всех мероприятий |
||
184 | +Описание+ |
||
185 | Получение списка событий |
||
186 | +Предусловие+ |
||
187 | Пользователь прошел авторизацию |
||
188 | +Постусловие+ |
||
189 | нет |
||
190 | +Входные данные+ |
||
191 | id пользователя |
||
192 | временной интервал (опционально) |
||
193 | +Выходные данные+ |
||
194 | список событий|Высокий|При запуске приложения список всех событий получается(обновляется) автоматически. Также пользователь может нажать кнопку "Update" для принудительного обновления списка.| |
||
195 | |SR.FUSRE.02|+Функция+ |
||
196 | Создание нового события |
||
197 | +Описание+ |
||
198 | Создание своего события и добавление его к общему списку |
||
199 | +Предусловие+ |
||
200 | 18 | Александр Шитнев | Пользователь прошел авторизацию (со специальными правами) |
201 | +Постусловие+ |
||
202 | нет |
||
203 | +Входные данные+ |
||
204 | обязательно: название, время начала, время завершения необязательно: описание, место проведения, приватность |
||
205 | +Выходные данные+ |
||
206 | id созданного события|Высокий|Пользователь заполняет поля нового события. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля или др.) сообщение об ошибке.| |
||
207 | |SR.FUSRE.03|+Функция+ |
||
208 | Редактирование события |
||
209 | +Описание+ |
||
210 | Редактирование события при наличии прав |
||
211 | +Предусловие+ |
||
212 | Пользователь прошел авторизацию и имеет права на редактирование |
||
213 | +Постусловие+ |
||
214 | нет |
||
215 | +Входные данные+ |
||
216 | (новые): название, время начала, время завершения и тд.(Все опционально) |
||
217 | +Выходные данные+ |
||
218 | успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Edit", после в форме редактирования вносит в поля изменения и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| |
||
219 | |SR.FUSRE.04|+Функция+ |
||
220 | Удаление события |
||
221 | +Описание+ |
||
222 | Удаление события при наличии прав |
||
223 | +Предусловие+ |
||
224 | Пользователь прошел авторизацию и имеет права на удаление(те же что и для создания) |
||
225 | +Постусловие+ |
||
226 | нет |
||
227 | +Входные данные+ |
||
228 | id события |
||
229 | +Выходные данные+ |
||
230 | успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| |
||
231 | |SR.FUSRE.05|+Функция+ |
||
232 | Установка статуса |
||
233 | +Описание+ |
||
234 | Установка(изменение) своего статуса участия в мероприятии |
||
235 | +Предусловие+ |
||
236 | Пользователь прошел авторизацию |
||
237 | +Постусловие+ |
||
238 | нет |
||
239 | +Входные данные+ |
||
240 | id события, статус(declined, maybe, attending) |
||
241 | +Выходные данные+ |
||
242 | успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Change RSVP". Открывается форма где пользователь устанавливает статус и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.| |
||
243 | |SR.FUSRE.06|+Функция+ |
||
244 | Получение списка участников |
||
245 | +Описание+ |
||
246 | Получение списка содержащего: id пользователей и их статусы, относительно данного события |
||
247 | +Предусловие+ |
||
248 | Пользователь прошел авторизацию |
||
249 | +Постусловие+ |
||
250 | нет |
||
251 | +Входные данные+ |
||
252 | id события |
||
253 | +Выходные данные+ |
||
254 | список участников|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Members". Выводится список участников, либо сообщение "No memebers", либо сообщение об ошибке (если ошибка с сетью или др.).| |
||
255 | |SR.FUSRE.07|+Функция+ |
||
256 | Поиск событий по названию |
||
257 | +Описание+ |
||
258 | Получение списка событий, удовлетворяющих поисковому запросу |
||
259 | +Предусловие+ |
||
260 | Пользователь прошел авторизацию |
||
261 | +Постусловие+ |
||
262 | нет |
||
263 | +Входные данные+ |
||
264 | поисковая строка |
||
265 | +Выходные данные+ |
||
266 | список событий|Средний|Пользователь вводит в поле для ввода название события, нажимает на кнопку. Отображается список найденных событий или (если не найдено) сообщение о том что событий не найдено.| |
||
267 | |SR.FUSRE.08|+Функция+ |
||
268 | Приглашение пользователей |
||
269 | +Описание+ |
||
270 | Приглашение пользователей принять участие в мероприятии |
||
271 | +Предусловие+ |
||
272 | Пользователь прошел авторизацию |
||
273 | +Постусловие+ |
||
274 | нет |
||
275 | +Входные данные+ |
||
276 | id события, список id пользователей |
||
277 | +Выходные данные+ |
||
278 | успех, неудача|Средний|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Invate ". В появившейся форме вводит имя пользователя в поле ввода и нажимает "OK". Выводится сообщение об успехе или (если ошибка с сетью, проблемы приватностью, пользователь не найден) сообщение об ошибке.| |
||
279 | 20 | Никита Артемов | |
280 | |||
281 | |||
282 | |||
283 | |||
284 | |||
285 | |||
286 | h1. Работа с геолокацией |
||
287 | |||
288 | h2. Поиск мест и отметка |
||
289 | |||
290 | # появляется форма "SearchPlaces form" |
||
291 | # пользователь вводит в поле для ввода поисковый запрос |
||
292 | # пользователь нажимает "Search" |
||
293 | # появляется список найденных мест |
||
294 | # пользователь нажимает на элемент одного из найденных мест |
||
295 | # появляется форма "CheckinsOfPlace Form", где отображается подробная информация о месте и список отметок |
||
296 | # пользователь нажимает кнопку "Checkin" |
||
297 | # появляется форма "CheckinDialog form" |
||
298 | # пользователь вводит комментарий к отметке |
||
299 | # пользователь нажимает "OK" для отправки или "Cancel" для закрытия формы |
||
300 | |||
301 | h2. Просмотр отметок |
||
302 | |||
303 | # появляется форма "Checkins form" |
||
304 | # пользователь нажимает на вкладку "Friends" |
||
305 | # появляется список последних отметок друзей |
||
306 | # пользователь нажимает на вкладку "Nearby" |
||
307 | # появляется список отметок сделанных людьми поблизости |
||
308 | |||
309 | h2. Отображение отметок или мест на карте |
||
310 | |||
311 | # на странице со списками мест или отметок пользователь нажимает "On Map" |
||
312 | # появляется форма "Map form" |
||
313 | # на карте отображаются отметки или места |
||
314 | # пользователь нажимает "Cancel" для выхода |
||
315 | |||
316 | h1. Работа с событиями и встречами |
||
317 | |||
318 | h2. Поиск событий (URE5) |
||
319 | |||
320 | # появляется форма "SearchEvents form" |
||
321 | # пользователь вводит в поле для ввода поисковый запрос |
||
322 | # пользователь нажимает "Search" |
||
323 | # появляется список найденных событий |
||
324 | # пользователь нажимает на элемент одного из найденных событий |
||
325 | # появляется форма "Event Form", где отображается подробная информация о событии |
||
326 | # пользователь нажимает кнопку "Attend", "Maybe" или "Decline", тем самым заявив о своем участии/возможном участии/не участии в мероприятии(в случае если мероприятие открыто для участия) |
||
327 | # пользователь может оставить комментарий на стене события |
||
328 | # пользователь может нажать на кнопку пригласить друзей |
||
329 | # чтобы перейти обратно к списку событий пользователь нажимает кнопку "Back" |
||
330 | |||
331 | h2. Получение списка событий (URE4) |
||
332 | |||
333 | # пользователь нажимает кнопку "Update" на главной странице для обновления(загрузке при первом запуске) списка событий |
||
334 | |||
335 | h2. Получение информации о событии |
||
336 | |||
337 | # в общем списке событий пользователь щелкает на одно из них |
||
338 | # появляется форма отображения информации о событии |
||
339 | # пользователь может нажать кнопку "Edit event" для редактирования события |
||
340 | # в этом случае появляется форма "EditEvent form", где пользователь может редактировать поля события и статус своего участия |
||
341 | # пользователь нажимает кнопки "Save" ил "Cancel" |
||
342 | # пользователь может нажать на кнопку "Invate friends" для приглашение пользователя(ей) |
||
343 | # чтобы перейти обратно к списку событий пользователь нажимает кнопку "Back" |