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". Выводится сообщение об успехе или (если ошибка с сетью, проблемы приватностью, пользователь не найден) сообщение об ошибке.| |