Project

General

Profile

Requirements » History » Version 19

Никита Артемов, 03/20/2012 01:33 PM

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