Project

General

Profile

Requirements » History » Version 23

Никита Артемов, 04/03/2012 04:32 PM

1 19 Никита Артемов
h1. Требования к системе
2 1 Никита Артемов
3 16 Никита Давыдовский
{{TOC}}
4 1 Никита Артемов
5 23 Никита Артемов
Данный документ частично соответствует "ГОСТ 34.602-89":http://www.gostrf.com/standart/Pages_gost/11254.htm «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы». Следующие требования не нуждаются в описании ввиду наличия их в проекте Musson: требования к безопасности, требование к сохранности информации при аварии, требования к защите от влияния внешних воздействий. Также требования к функциональности были расписаны более полно и добавлен критерий аттестации к каждой функции.
6 22 Никита Артемов
7 19 Никита Артемов
h2. Требования к системе в целом
8
9
h3. Требования к структуре и функциональности системы
10
11 20 Никита Артемов
*Функциональные подсистемы:*
12 1 Никита Артемов
13 22 Никита Артемов
Следующие подсистемы должны быть взяты из проекта "Musson":https://redmine.cs.karelia.ru/projects/musson/wiki и доработаны
14
(в эти подсистемы следует добавить реализацию функций для работы с геолокацией и событиями):
15
16 20 Никита Артемов
* Плагины - обеспечивает взаимосвязь с сервисами (для каждой социальной сети свой плагин)
17
* Ядро - обеспечивает взаимосвязь между плагином и компонентами. Содержит основную логику.
18
* Компоненты интерфейса - обеспечивает доступ к функциям ядра из приложения.
19 22 Никита Артемов
* Webauth - приложение для авторизации пользователя с сервисом.
20
21
Следующие подсистемы следует реализовать:
22 20 Никита Артемов
* Приложение Places - содержит интерфейс пользователя для работы с геолокационными данными.
23 1 Никита Артемов
* Приложения Events - содержит интерфейс пользователя для работы с событиями.
24 22 Никита Артемов
25
!https://redmine.cs.karelia.ru/attachments/download/84/850px-MSCore_Arch.png!
26 1 Никита Артемов
27 20 Никита Артемов
*Информационного обмена между компонентами системы*
28 1 Никита Артемов
29 20 Никита Артемов
* Взаимодействие плагинов с Webauth происходит посредством службы D-Bus.
30
* Между остальными компонентами обмен реализуется с помощью системы сигналов и слотов
31
32 19 Никита Артемов
h3. Требования к численности и квалификации персонала системы и режиму его работы
33
34
*Требования к численности и квалификации персонала системы и режиму его работы*
35
36
В состав персонала, необходимого для обеспечения эксплуатации КХД в рамках соответствующих подразделений Заказчика, необходимо выделение следующих ответственных лиц: 
37
* Менеджер проекта - 1 человек. 
38
* Разработчики -  3-4 человека.
39
* Секретарь - 1 человек.
40
* Тестеры - 1-2 человека. 
41
42
Данные лица должны выполнять следующие функциональные обязанности.
43
* Менеджер проекта - на всем протяжении разработки обеспечивает общее руководство группой.
44
* Разработчики - ответственны за написания кода.
45
* Секретарь - ведет протоколы проектных собраний, записывает замечания на общепроектных собраниях.
46
* Тестеры - занимаются тестированием
47
48
*Требования к квалификации персонала*
49
* Менеджер проекта - знание соответствующей предметной области, наличие управленческих качеств.
50
* Разработчики - знание соответствующей предметной области, знание Qt и QML.
51
* Секретарь - умение грамотно и опрятно составлять отчет, знание формата составления отчета.
52
* Тестеры - знание формата составления отчета тестирования.
53
54
*Требования к режимам работы персонала*
55
* каждый участник должен тратить не менее 15 часов в неделю на проект.
56
57
h3. Требования к надежности
58
59
*Состав показателей надежности для системы в целом*
60
61
Уровень надежности должен достигаться согласованным применением организационных, организационно-технических мероприятий и программно-аппаратных средств. Надежность должна обеспечиваться за счет применения технических средств, системного и базового программного обеспечения, соответствующих классу решаемых задач.
62
63
h3. Требования к эргономике и технической эстетике
64
65
Подсистема формирования и визуализации отчетности данных должна обеспечивать удобный для конечного пользователя интерфейс, отвечающий следующим требованиям.
66
67
В части внешнего оформления:
68
* интерфейсы подсистем должен быть типизированы;
69
* должно быть обеспечено наличие локализованного (русскоязычного) интерфейса пользователя;
70
71
В части диалога с пользователем:
72 4 Александр Дремин
* для наиболее частых операций должны быть предусмотрены «горячие» клавиши;
73
* при возникновении ошибок в работе подсистемы на экран монитора должно выводиться сообщение с наименованием ошибки.
74
75
h3. Требования к защите информации от несанкционированного доступа
76
77 1 Никита Артемов
Обеспечение информационное безопасности Geo-Events должно удовлетворять следующим требованиям:
78 4 Александр Дремин
* Защищенный доступ к данным авторизации пользователя. 
79
* Запрос на подтверждение при иcпользовании местоположения пользователя.
80
81 18 Александр Шитнев
82 20 Никита Артемов
h2. Требования к функциям, выполняемым системой
83 18 Александр Шитнев
84
h3. Ядро
85
86
|_.ID |_.Описание |_.Приоритет |_.Аттестация |
87
|SR.FSYSA.01|+Функция+ 
88
 Получить данные от сервиса 
89
+Описание+ 
90
 Посылка запроса через библиотеку текущего сервиса, получение ответа 
91
+Предусловие+ 
92
 Правильно заданы параметры запроса 
93
+Постусловие+ 
94
 Ответ от сервиса или уведомление об ошибке 
95
+Входные данные+ 
96
 идентификатор запроса, идентификатор драйвера 
97
+Выходные данные+ 
98
 сигнал для менеджеру событий, идентификатор ответа, ответ в формате xml|Высокий||
99
|SR.FSYSA.02|+Функция+ 
100
 Создание аккаунта 
101
+Описание+ 
102
 Создание аккаунта в приложении для доступа к сервисам 
103
+Предусловие+ 
104
 Установлены библиотеки сервисов 
105
+Постусловие+ 
106
 Учетная запись в программе 
107
+Входные данные+ 
108
 идентификатор сервиса 
109
+Выходные данные+ 
110
 сообщение об ошибке или вывод списка уже созданных аккаунтов|Высокий||
111
|SR.FUSRP.03|+Функция+ 
112
 Настройки сети 
113
+Описание+ 
114
 Изменение настроек прокси 
115
+Предусловие+ 
116
 У приложения есть доступ к сети 
117
+Постусловие+ 
118
 нет 
119
+Входные данные+ 
120
 тип прокси, хост, порт 
121
+Выходные данные+ 
122
 конфигурация приложения|Высокий||
123
|SR.FUSRP.04|+Функция+ 
124
 Выбор сервиса 
125
+Описание+ 
126
 Пользователь выбирает сервис перед запросом(поиск места, отметка) 
127
+Предусловие+ 
128
 В приложение уже зарегистрированы аккаунты сервисов 
129
+Постусловие+ 
130
 Сервис выбран для отправки следующего запроса 
131
+Входные данные+ 
132
 идентификатор аккаунта 
133
+Выходные данные+ 
134
 сообщение о статусе выполнения|Средний||
135
136 20 Никита Артемов
h3. Приложение Places
137 18 Александр Шитнев
138
|_.ID |_.Описание |_.Приоритет |_.Аттестация |
139
|SR.FUSRP.01|+Функция+ 
140
 Поиск места по названию 
141
+Описание+ 
142
 Получение списка мест 
143
+Предусловие+ 
144
 Пользователь прошел авторизацию 
145 1 Никита Артемов
+Постусловие+ 
146
 нет 
147
+Входные данные+ 
148
 строка поискового запроса (если не указано - поиск ближайших мест), координаты 
149
+Выходные данные+ 
150
 список найденных мест|Высокий|Пользователь вводит в поле для ввода название места, нажимает на кнопку. Отображается список найденных мест или (если не найдено) сообщение о том что место не найдено.|
151
|SR.FUSRP.02|+Функция+ 
152
 Получение списка отметок 
153
+Описание+ 
154
 Пользователь получает список людей, кто уже отметился на конкретном месте или поблизости. 
155
+Предусловие+ 
156
 Если поиск отметок по месту, то должен быть получен список мест 
157
+Постусловие+ 
158
 нет 
159
+Входные данные+ 
160
 координаты, идентификатор места или ничего(для получения ленты обновления отметок друзей) 
161
+Выходные данные+ 
162
 список отметок пользователей|Высокий|Пользователь нажимает на кнопку получения отметок. Отображается список полученных отметок или (если не найдено) сообщение о том что отметки не найдены.|
163
|SR.FUSRP.03|+Функция+ 
164
 Создание нового места 
165
+Описание+ 
166
 Создание нового места в базе сервиса 
167
+Предусловие+ 
168
 Пользователь не нашел нужное место, чтобы отметиться 
169
+Постусловие+ 
170
 нет 
171
+Входные данные+ 
172
 Название места, координаты, тип места, адрес места, свой комментарий (опционально) 
173
+Выходные данные+ 
174
 Сообщение об успехе или ошибке|Высокий|Пользователь заполняет поля нового места. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля) сообщение об ошибке.|
175
|SR.FUSRP.04|+Функция+ 
176
 Отметка 
177
+Описание+ 
178
 Регистрация на месте, что вы там были или просто оставление комментария о месте 
179
+Предусловие+ 
180
 Пользователь получил список мест 
181
+Постусловие+ 
182
 нет 
183
+Входные данные+ 
184
 идентификатор места, свой комментарий (опционально) 
185
+Выходные данные+ 
186
 Сообщение об успехе или ошибке|Высокий|Пользователь вводит комментарий к отметке (или не вводит). Выводится сообщение об ошибке или успехе.|
187
188 20 Никита Артемов
h3. Приложение Events
189 1 Никита Артемов
190
|_.ID |_.Описание |_.Приоритет |_.Аттестация |
191
|SR.FUSRE.01|+Функция+ 
192
 Получение всех мероприятий 
193
+Описание+ 
194
 Получение списка событий 
195
+Предусловие+ 
196
 Пользователь прошел авторизацию 
197
+Постусловие+ 
198
 нет 
199
+Входные данные+ 
200
 id пользователя
201
временной интервал (опционально) 
202
+Выходные данные+ 
203
 список событий|Высокий|При запуске приложения список всех событий получается(обновляется) автоматически. Также пользователь может нажать кнопку "Update" для принудительного обновления списка.|
204
|SR.FUSRE.02|+Функция+ 
205
 Создание нового события 
206
+Описание+ 
207
 Создание своего события и добавление его к общему списку 
208
+Предусловие+ 
209 18 Александр Шитнев
 Пользователь прошел авторизацию (со специальными правами) 
210
+Постусловие+ 
211
 нет 
212
+Входные данные+ 
213
 обязательно: название, время начала, время завершения необязательно: описание, место проведения, приватность 
214
+Выходные данные+ 
215
 id созданного события|Высокий|Пользователь заполняет поля нового события. Выводится сообщение об успехе или (если ошибка с сетью или не заполнены обязательные поля или др.) сообщение об ошибке.|
216
|SR.FUSRE.03|+Функция+ 
217
 Редактирование события 
218
+Описание+ 
219
 Редактирование события при наличии прав 
220
+Предусловие+ 
221
 Пользователь прошел авторизацию и имеет права на редактирование 
222
+Постусловие+ 
223
 нет 
224
+Входные данные+ 
225
 (новые): название, время начала, время завершения и тд.(Все опционально) 
226
+Выходные данные+ 
227
 успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Edit", после в форме редактирования вносит в поля изменения и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.|
228
|SR.FUSRE.04|+Функция+ 
229
 Удаление события 
230
+Описание+ 
231
 Удаление события при наличии прав 
232
+Предусловие+ 
233
 Пользователь прошел авторизацию и имеет права на удаление(те же что и для создания) 
234
+Постусловие+ 
235
 нет 
236
+Входные данные+ 
237
 id события 
238
+Выходные данные+ 
239
 успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.|
240
|SR.FUSRE.05|+Функция+ 
241
 Установка статуса 
242
+Описание+ 
243
 Установка(изменение) своего статуса участия в мероприятии 
244
+Предусловие+ 
245
 Пользователь прошел авторизацию 
246
+Постусловие+ 
247
 нет 
248
+Входные данные+ 
249
 id события, статус(declined, maybe, attending) 
250
+Выходные данные+ 
251
 успех, неудача|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Change RSVP". Открывается форма где пользователь устанавливает статус и нажимает кнопку "Save", либо "Cancel". Выводится сообщение об успехе или (если ошибка с сетью или др.) сообщение об ошибке.|
252
|SR.FUSRE.06|+Функция+ 
253
 Получение списка участников 
254
+Описание+ 
255
 Получение списка содержащего: id пользователей и их статусы, относительно данного события 
256
+Предусловие+ 
257
 Пользователь прошел авторизацию 
258
+Постусловие+ 
259
 нет 
260
+Входные данные+ 
261
 id события 
262
+Выходные данные+ 
263
 список участников|Высокий|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Members". Выводится список участников, либо сообщение "No memebers", либо сообщение об ошибке (если ошибка с сетью или др.).|
264
|SR.FUSRE.07|+Функция+ 
265
 Поиск событий по названию 
266
+Описание+ 
267
 Получение списка событий, удовлетворяющих поисковому запросу 
268
+Предусловие+ 
269
 Пользователь прошел авторизацию 
270
+Постусловие+ 
271
 нет 
272
+Входные данные+ 
273
 поисковая строка 
274
+Выходные данные+ 
275
 список событий|Средний|Пользователь вводит в поле для ввода название события, нажимает на кнопку. Отображается список найденных событий или (если не найдено) сообщение о том что событий не найдено.|
276
|SR.FUSRE.08|+Функция+ 
277
 Приглашение пользователей 
278
+Описание+ 
279
 Приглашение пользователей принять участие в мероприятии 
280
+Предусловие+ 
281
 Пользователь прошел авторизацию 
282
+Постусловие+ 
283
 нет 
284
+Входные данные+ 
285
 id события, список id пользователей 
286
+Выходные данные+ 
287
 успех, неудача|Средний|Пользователь нажимает на элемент нужного события в списке, далее в общей форме события нажимает кнопку "Invate ". В появившейся форме вводит имя пользователя в поле ввода и нажимает "OK". Выводится сообщение об успехе или (если ошибка с сетью, проблемы приватностью, пользователь не найден) сообщение об ошибке.|