Project

General

Profile

Requirements » History » Version 24

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

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