Project

General

Profile

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"