Projekt

Obecné

Profil

Specifikace požadavků » Historie » Verze 4

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

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 2 Lucie Tauchenová
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 1 Lucie Tauchenová
49
h2. 3. Funkce systému
50
51
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. 
52
53 4 Lucie Tauchenová
!https://students.kiv.zcu.cz:3443/attachments/2038/Use_case_diagram_Merlot%20(2).png!
54 1 Lucie Tauchenová
55
h3. 3.1 Název a popis: PU001: Filtrovat obsah dle kategorií 
56
57
Umožňuje uživateli vybrat 1-N kategorií, podle kterých se mu následně filtruje výběr knih.
58
59
h4. 3.1.1 Standardní průběh: 
60
61
* Uživatel zvolí v menu položku "topics".
62
* Systém zobrazí uživateli seznam kategorií knih. 
63
* Uživatel označí 1-N kategorií, které ho zajímají. 
64
<alt: uživatel si vybere 0 kategorií>
65
* Uživatel potvrdí svůj výběr tlačítkem Potvrdit.
66
* Systém uživateli zobrazí souhrn vybraných témat, podle kterých bude filtrovaný výběr knih.
67
68
h4. 3.1.2 Alternativní průběh:
69
 
70
<alt: uživatel si vybere 0 kategorií>: Systém uživateli neaktivuje tlačítko Potvrdit, dokud si uživatel nevybere alespoň jednu kategorii. 
71
72
h4. 3.1.3 Vstupní podmínky:
73
 
74
Uživatel má na výběr alespoň 2 kategorie. 
75
76
h4. 3.1.4 Výstupní podmínky: 
77
78
Uživateli se zobrazují pouze knihy, které spadají do vybraných kategorií.
79
80
h3. 3.2 Název a popis: PU002: Uložit knihu do oblíbených 
81
82
Umožňuje uživateli přidat knihu do oblíbených. 
83
84
h4. 3.2.1 Standardní průběh (I. možnost - like):
85
86
* Uživatel klikne v menu na položku "books".
87
* Systém uživateli zobrazí seznam knih.
88
* Uživatel si ze seznamu kliknutím vybere jednu knihu.
89
* Systém zobrazí uživateli titulní stranu vybrané knihy. 
90
* Uživatel dá kliknutím na ikonu srdíčka knize "like". 
91
* Systém přidá knihu do seznamu oblíbených. 
92
<alt: neexistující seznam oblíbených položek>
93
94
h4. 3.2.2 Standardní průběh (II. možnost - kód) - rozšíření Základních požadavků (není součástí MVP).
95
96
* Uživatel skrze systém aktivuje kameru ve svém zařízení.
97
* Uživatel nasnímá QR kód artefaktu, který ho zaujme. 
98
* <alt: QR kód nelze nasnímat> 
99
* Systém podle kódu rozpozná, o který artefakt se jedná, a uloží ho do seznamu oblíbených. 
100
* <alt: neexistující seznam oblíbených položek>
101
102
h4. 3.2.3 Alternativní průběhy: 
103
104
<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. 
105
<alt: QR nelze nasnímat>: Uživatel vloží identifikační kód artefaktu do aplikace ručně. 
106
107
h4. 3.2.4 Vstupní podmínky: 
108
109
Uživatel je přihlášený v aplikaci.
110
Uživatelovo zařízení má k dispozici funkční kameru. 
111
112
h4. 3.2.5 Výstupní podmínky: 
113
114
Nasnímaný artefakt je uložen v uživatelově seznamu oblíbených. 
115
116
117
118
h3. 3.3 Název a popis: PU003: Odebrat knihu ze seznamu oblíbených 
119
120
Umožňuje uživateli odebrat knihu ze seznamu oblíbených. 
121
 
122
h4. 3.3.1 Standardní průběh: 
123
124
* Uživatel klikne v menu na položku "likes".
125
* Systém zobrazí uživateli seznam oblíbených knih. 
126
* Uživatel si ze seznamu kliknutím  vybere jednu knihu. 
127
* Systém zobrazí uživateli titulní stranu oblíbené knihy. 
128
* Uživatel klikne na ikonu srdíčka u knihy.
129
* Systém odebere knihu ze seznamu oblíbených. 
130
131
h4. 3.3.2 Vstupní podmínky: 
132
133
Uživatel má v seznamu oblíbených uloženou alespoň 1 knihu. 
134
135
h4. 3.3.3 Výstupní podmínky: 
136
137
Odoznačená kniha se již nenachází v seznamu oblíbených.  
138
139
140
141
h3. 3.4 Název a popis: PU004: Zobrazit detail knihy
142
143
Umožňuje uživateli zobrazit detail knihy. 
144
 
145
h4. 3.4.1 Standardní průběh: 
146
147
* Uživatel klikne v menu na položku "books",  popř. "likes".
148
* Systém zobrazí uživateli seznam knih, popř. seznam oblíbených knih. 
149
* Uživatel si ze seznamu kliknutím  vybere jednu knihu. 
150
* Systém zobrazí uživateli titulní stranu knihy, která obsahuje název knihy, autora a ikonu srdíčka ("like").
151
* Uživatel klikne na název knihy, popř. autora knihy.
152
* 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. 
153
154
155
h3. 3.5 Název a popis: PU005: Zobrazit statistiku oblíbenosti
156
157
Umožňuje uživateli zobrazit statistiku oblíbenosti knih.
158
 
159
h4. 3.5.1 Standardní průběh: 
160
161
* Uživatel klikne na položku v menu "charts". 
162
* 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.
163
* Uživatel může přepínat mezi jednotlivými statistikami pomocí ovládacího tlačítka. 
164
165
h4. 3.5.2 Vstupní podmínky: 
166
167
Seznamy, ze kterých se vytvářejí statistiky, nejsou prázdné. 
168
169
170
h3. 3.6 Název a popis: PU006: Registrovat se do aplikace 
171
172
Umožňuje uživateli registrovat se do aplikace. 
173
 
174
h4. 3.6.1 Standardní průběh: 
175
176
* Uživatel vyplní a odešle registrační formulář, který se nachází na landing page aplikace. 
177
* Systém uživateli udělí dočasně přístup do zbytku aplikace a odešle mu email s aktivačním odkazem.
178
179
h4. 3.6.2 Vstupní podmínky: 
180
181
Bez registrace je aplikace přístupná pouze částečně (landing page).
182
183
h4. 3.6.3 Výstupní podmínky: 
184
185
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).
186
187
h3. 3.7 Název a popis: PU007: Potvrdit registraci přes aktivační odkaz 
188
189
Umožňuje uživateli potvrdit svou registraci a aktivovat si tím svůj uživatelský účet v aplikaci. 
190
 
191
h4. 3.7.1 Standardní průběh: 
192
193
* Uživatel klikne na aktivační odkaz, který mu přijde emailem po vytvoření registrace. 
194
* Systém změní stav účtu z "dočasný" na trvalý". 
195
196
h4. 3.7.2 Vstupní podmínky: 
197
198
Uživatel musí zadat v rámci registrace platný email, na který mu přijde aktivační odkaz. 
199
200
h4. 3.7.3 Výstupní podmínky: 
201
202
Uživatel může naplno využívat funkcí aplikace.
203
204
h2. 4. Požadavky na vnější rozhraní
205
206
h3. 4.1 Uživatelská rozhraní
207
208
* Responsivní zobrazení webu
209
* Uživatelská přívětivost a intuitivní použití
210
211
h3. 4.2 Hardwarová rozhraní
212
213
žádná
214
215
h3. 4.3 Softwarová rozhraní
216
217
* PHP 7.2.5
218
* Framework Laravel 7.1.2
219
220
h3. 4.4 Komunikační rozhraní
221
222
* Protokol HTTP 
223
224
225
226
h2. 5. Další parametrické (mimofunkční) požadavky
227
228
h3. 5.1 Výkonnostní požadavky
229
230
* Standardizovaná odpověď: zatím neupřesněno
231
* Objem požadavků: 1000 uživatelů /den, max 200 rqs/s
232
* Spolehlivost: dána výkonem serveru muzea
233
234
h3. 5.2 Bezpečnostní požadavky
235
236
* Robustnost aplikace, tj. odolnost vůči nevalidním vstupům od uživatele
237
* Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL, …)
238
239
h3. 5.3 Kvalitativní parametry
240
241
* Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox, Chrome, Safari
242
* Bezproblémová funkčnost na mobilních zařízeních
243
244
h2. 6. Ostatní požadavky - zákony,  normy, licence
245
246
h3. 6.1 GDPR:
247
248
* Cookie lišta
249
* Prohlášení o využívání cookies
250
* Souhlas se zpracováním osobních údajů u kontaktního formuláře
251
* Prohlášení o zpracování osobních údajů
252
253
h3. 6.2. Licence:
254
255
Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená. 
256
257
258
h2. Příloha A: Glosář
259
260
* UPM = Uměleckoprůmyslové muzeum v Praze
261
* Artefakt = umělecké dílo vystavované muzeem. V případě výstavy Kaplického knihovny jde primárně o knihy z této knihovny. 
262
* Webová aplikace = aplikace, která je spuštěná ve webovém prohlížeči (např. Google Chrome)
263
* Databáze kontaktů = seznam kontaktů
264
* Dataset artefaktů = kolekce dat; datový soubor, ve kterém jsou uvedeny všechny potřebné informace o artefaktech v určitém formátu
265
* 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. 
266
* 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í.
267
* Release = vydání nové verze aplikace
268
* Kategorie knihy = oblast, které se kniha věnuje
269
270
h2. Příloha B: Popis aktérů 
271
272
Uživatel = Uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci.