Projekt

Obecné

Profil

Specifikace požadavků » Historie » Verze 1

Lucie Tauchenová, 2020-04-24 12:55

1 1 Lucie Tauchenová
h1. Dokument specifikace požadavků
2
3
h2. 1. Úvod
4
5
h3. 1.1 Předmět specifikace
6
7
Specifikace se zabývá popisem webové aplikace vyvíjené pro Uměleckoprůmyslové museum v Praze (UPM). Webová aplikace je vyvíjena týmem MERLOT na předmětu KIV/ASWI na KIV FAV ZČU za účelem zatraktivnění a zpřístupnění knižního fondu z pozůstalosti architekta Jana Kaplického.
8
9
h3. 1.2 Rozdělení specifikace
10
11
Specifikace je rozdělena do čtyř částí. V první části je uveden předmět specifikace a rozsah projektu, ve druhé je uveden obecný popis softwaru, hlavní požadavky na software, provozní prostředí a možná omezení aplikace. Třetí část je věnována podrobnému popisu požadavků na systém. Požadavky zde jsou chápany jako případy užití. Popis těchto PU je dále podložen UML diagramem. V poslední, čtvrté části dokumentu jsou charakterizovány mimofunkční požadavky aplikace. Příloha dokumentu obsahuje glosář a popis aktérů vyskytujících se v PU. 
12
13
h3. 1.3 Rozsah projektu
14
15
Rozsah projektu je specifikován v Dokumentu vize a rozsahu projektu, který se nachází zde: [[https://students.kiv.zcu.cz:3443/projects/aswi2020merlot/wiki/Vize_projektu]]
16
17
h2. 2. Obecný popis
18
19
h3. 2.1 Kontext systému
20
21
Cílem tohoto projektu je vyvinout zcela nový produkt. Muzeum UPM dosud žádnou aplikaci nepoužívalo. Svým návštěvníkům poskytovalo základní informace o výstavách pouze prostřednictvím svých webových stránek.
22
23
h3. 2.2 Funkce produktu
24
25
Hlavní funkce produktu se dají popsat v šesti případech užití: 
26
* PU001: Vybrat kategorii
27
* PU002: Uložit knihu do oblíbených 
28
* PU003: Odebrat knihu ze seznamu oblíbených
29
* PU004: Zobrazit si detail knihy
30
* PU005: Zobrazit statistiky oblíbenosti
31
* PU006: Registrovat se do aplikace
32
* PU007: Potvrdit registraci přes aktivační odkaz 
33
34
Tyto funkce mají všechny stejnou prioritu a společně tvoří MVP (Minimum Viable Product).
35
36
h3. 2.3 Třídy uživatelů
37
38
Cílovou skupinou, která bude aplikaci používat, jsou návštěvníci výstavy muzea UPM, kterým bude aplikace sloužit jako podpůrný materiál během výstavy. Používání aplikace ale není návštěvou muzea podmíněno. Aplikace bude fungovat každému, kdo se do ní registruje. 
39
40
h3. 2.4 Provozní prostředí, omezení implementace
41
42
Provozní prostředí aplikace je blíže specifikováno v Dokumentu architektury, který se nachází zde: [[https://students.kiv.zcu.cz:3443/projects/aswi2020merlot/wiki/Architektura]]
43
44
h3. 2.7 Předpoklady a závislosti
45
46
Předpoklady a závislosti jsou blíže specifikovány v Dokumentu Vize (viz bod 1.3.). 
47
Největším rizikem se v současné době jeví nedostupnost testovacích dat, která by měla být dodána přímo muzeem UPM a na která se čeká téměř od začátku vývoje aplikace. Pokud dataset nebude dodán, vývojový tým nebude moci zaručit bezproblémové nasazení, které je jedním z kvalitativních požadavků na aplikaci.  
48
49
50
51
h2. 3. Funkce systému
52
53
Tato kapitola tvoří podstatnou část Dokumentu specifikace požadavků. Jednotlivé požadavky uvedené v seznamu PU v bodě 2.2. jsou zde zobrazeny v UML diagramu případů užití. PU jsou následně detailně rozebrány. 
54
55
!Use_case_diagram_Merlot (2).png!
56
57
h3. 3.1 Název a popis: PU001: Filtrovat obsah dle kategorií 
58
59
Umožňuje uživateli vybrat 1-N kategorií, podle kterých se mu následně filtruje výběr knih.
60
61
h4. 3.1.1 Standardní průběh: 
62
63
* Uživatel zvolí v menu položku "topics".
64
* Systém zobrazí uživateli seznam kategorií knih. 
65
* Uživatel označí 1-N kategorií, které ho zajímají. 
66
<alt: uživatel si vybere 0 kategorií>
67
* Uživatel potvrdí svůj výběr tlačítkem Potvrdit.
68
* Systém uživateli zobrazí souhrn vybraných témat, podle kterých bude filtrovaný výběr knih.
69
70
h4. 3.1.2 Alternativní průběh:
71
 
72
<alt: uživatel si vybere 0 kategorií>: Systém uživateli neaktivuje tlačítko Potvrdit, dokud si uživatel nevybere alespoň jednu kategorii. 
73
74
h4. 3.1.3 Vstupní podmínky:
75
 
76
Uživatel má na výběr alespoň 2 kategorie. 
77
78
h4. 3.1.4 Výstupní podmínky: 
79
80
Uživateli se zobrazují pouze knihy, které spadají do vybraných kategorií.
81
82
h3. 3.2 Název a popis: PU002: Uložit knihu do oblíbených 
83
84
Umožňuje uživateli přidat knihu do oblíbených. 
85
86
h4. 3.2.1 Standardní průběh (I. možnost - like):
87
88
* Uživatel klikne v menu na položku "books".
89
* Systém uživateli zobrazí seznam knih.
90
* Uživatel si ze seznamu kliknutím vybere jednu knihu.
91
* Systém zobrazí uživateli titulní stranu vybrané knihy. 
92
* Uživatel dá kliknutím na ikonu srdíčka knize "like". 
93
* Systém přidá knihu do seznamu oblíbených. 
94
<alt: neexistující seznam oblíbených položek>
95
96
h4. 3.2.2 Standardní průběh (II. možnost - kód) - rozšíření Základních požadavků (není součástí MVP).
97
98
* Uživatel skrze systém aktivuje kameru ve svém zařízení.
99
* Uživatel nasnímá QR kód artefaktu, který ho zaujme. 
100
* <alt: QR kód nelze nasnímat> 
101
* Systém podle kódu rozpozná, o který artefakt se jedná, a uloží ho do seznamu oblíbených. 
102
* <alt: neexistující seznam oblíbených položek>
103
104
h4. 3.2.3 Alternativní průběhy: 
105
106
<alt: neexistující seznam oblíbených položek>: Pokud seznam neexistuje,  systém seznam založí a následně do něj vloží označenou knihu. 
107
<alt: QR nelze nasnímat>: Uživatel vloží identifikační kód artefaktu do aplikace ručně. 
108
109
h4. 3.2.4 Vstupní podmínky: 
110
111
Uživatel je přihlášený v aplikaci.
112
Uživatelovo zařízení má k dispozici funkční kameru. 
113
114
h4. 3.2.5 Výstupní podmínky: 
115
116
Nasnímaný artefakt je uložen v uživatelově seznamu oblíbených. 
117
118
119
120
h3. 3.3 Název a popis: PU003: Odebrat knihu ze seznamu oblíbených 
121
122
Umožňuje uživateli odebrat knihu ze seznamu oblíbených. 
123
 
124
h4. 3.3.1 Standardní průběh: 
125
126
* Uživatel klikne v menu na položku "likes".
127
* Systém zobrazí uživateli seznam oblíbených knih. 
128
* Uživatel si ze seznamu kliknutím  vybere jednu knihu. 
129
* Systém zobrazí uživateli titulní stranu oblíbené knihy. 
130
* Uživatel klikne na ikonu srdíčka u knihy.
131
* Systém odebere knihu ze seznamu oblíbených. 
132
133
h4. 3.3.2 Vstupní podmínky: 
134
135
Uživatel má v seznamu oblíbených uloženou alespoň 1 knihu. 
136
137
h4. 3.3.3 Výstupní podmínky: 
138
139
Odoznačená kniha se již nenachází v seznamu oblíbených.  
140
141
142
143
h3. 3.4 Název a popis: PU004: Zobrazit detail knihy
144
145
Umožňuje uživateli zobrazit detail knihy. 
146
 
147
h4. 3.4.1 Standardní průběh: 
148
149
* Uživatel klikne v menu na položku "books",  popř. "likes".
150
* Systém zobrazí uživateli seznam knih, popř. seznam oblíbených knih. 
151
* Uživatel si ze seznamu kliknutím  vybere jednu knihu. 
152
* Systém zobrazí uživateli titulní stranu knihy, která obsahuje název knihy, autora a ikonu srdíčka ("like").
153
* Uživatel klikne na název knihy, popř. autora knihy.
154
* Systém uživateli zobrazí detail knihy. V detailu knihy si může zobrazit seznam poznámek v knize, přečíst vybranou detail poznámky, prozkoumat další informace o knize, odkazy. 
155
156
157
h3. 3.5 Název a popis: PU005: Zobrazit statistiku oblíbenosti
158
159
Umožňuje uživateli zobrazit statistiku oblíbenosti knih.
160
 
161
h4. 3.5.1 Standardní průběh: 
162
163
* Uživatel klikne na položku v menu "charts". 
164
* Systém uživateli zobrazí aktuální žebříčky oblíbenosti knih. Uživatel má na výběr žebříček oblíbenosti všech knih na výstavě nebo žebříček oblíbenosti jeho oblíbených knih.
165
* Uživatel může přepínat mezi jednotlivými statistikami pomocí ovládacího tlačítka. 
166
167
h4. 3.5.2 Vstupní podmínky: 
168
169
Seznamy, ze kterých se vytvářejí statistiky, nejsou prázdné. 
170
171
172
h3. 3.6 Název a popis: PU006: Registrovat se do aplikace 
173
174
Umožňuje uživateli registrovat se do aplikace. 
175
 
176
h4. 3.6.1 Standardní průběh: 
177
178
* Uživatel vyplní a odešle registrační formulář, který se nachází na landing page aplikace. 
179
* Systém uživateli udělí dočasně přístup do zbytku aplikace a odešle mu email s aktivačním odkazem.
180
181
h4. 3.6.2 Vstupní podmínky: 
182
183
Bez registrace je aplikace přístupná pouze částečně (landing page).
184
185
h4. 3.6.3 Výstupní podmínky: 
186
187
Uživatel musí svůj účet do 48 hodin prostřednictvím odkazu aktivovat, jinak bude jeho účet smazán (vč. dat s ním spojených).
188
189
h3. 3.7 Název a popis: PU007: Potvrdit registraci přes aktivační odkaz 
190
191
Umožňuje uživateli potvrdit svou registraci a aktivovat si tím svůj uživatelský účet v aplikaci. 
192
 
193
h4. 3.7.1 Standardní průběh: 
194
195
* Uživatel klikne na aktivační odkaz, který mu přijde emailem po vytvoření registrace. 
196
* Systém změní stav účtu z "dočasný" na trvalý". 
197
198
h4. 3.7.2 Vstupní podmínky: 
199
200
Uživatel musí zadat v rámci registrace platný email, na který mu přijde aktivační odkaz. 
201
202
h4. 3.7.3 Výstupní podmínky: 
203
204
Uživatel může naplno využívat funkcí aplikace.
205
206
207
208
 
209
h2. 4. Požadavky na vnější rozhraní
210
211
h3. 4.1 Uživatelská rozhraní
212
213
* Responsivní zobrazení webu
214
* Uživatelská přívětivost a intuitivní použití
215
216
h3. 4.2 Hardwarová rozhraní
217
218
žádná
219
220
h3. 4.3 Softwarová rozhraní
221
222
* PHP 7.2.5
223
* Framework Laravel 7.1.2
224
225
h3. 4.4 Komunikační rozhraní
226
227
* Protokol HTTP 
228
229
230
231
h2. 5. Další parametrické (mimofunkční) požadavky
232
233
h3. 5.1 Výkonnostní požadavky
234
235
* Standardizovaná odpověď: zatím neupřesněno
236
* Objem požadavků: 1000 uživatelů /den, max 200 rqs/s
237
* Spolehlivost: dána výkonem serveru muzea
238
239
h3. 5.2 Bezpečnostní požadavky
240
241
* Robustnost aplikace, tj. odolnost vůči nevalidním vstupům od uživatele
242
* Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL, …)
243
244
h3. 5.3 Kvalitativní parametry
245
246
* Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox, Chrome, Safari
247
* Bezproblémová funkčnost na mobilních zařízeních
248
249
h2. 6. Ostatní požadavky - zákony,  normy, licence
250
251
h3. 6.1 GDPR:
252
253
* Cookie lišta
254
* Prohlášení o využívání cookies
255
* Souhlas se zpracováním osobních údajů u kontaktního formuláře
256
* Prohlášení o zpracování osobních údajů
257
258
h3. 6.2. Licence:
259
260
Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená. 
261
262
263
h2. Příloha A: Glosář
264
265
* UPM = Uměleckoprůmyslové muzeum v Praze
266
* Artefakt = umělecké dílo vystavované muzeem. V případě výstavy Kaplického knihovny jde primárně o knihy z této knihovny. 
267
* Webová aplikace = aplikace, která je spuštěná ve webovém prohlížeči (např. Google Chrome)
268
* Databáze kontaktů = seznam kontaktů
269
* Dataset artefaktů = kolekce dat; datový soubor, ve kterém jsou uvedeny všechny potřebné informace o artefaktech v určitém formátu
270
* Google Analytics =  nástroj na získávání statistických dat o uživatelích webu (návštěvnost, chování uživatelů, jejich vlastnosti, atd. 
271
* Responzivní, user-friendly aplikace = aplikace, která je uživatelsky přívětivá a její vzhled je přizpůsobivý různým velikostem zařízení.
272
* Release = vydání nové verze aplikace
273
* Kategorie knihy = oblast, které se kniha věnuje
274
275
h2. Příloha B: Popis aktérů 
276
277
Uživatel = Uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci.