Projekt

Obecné

Profil

Specifikace požadavků » Historie » Verze 11

Lucie Tauchenová, 2020-04-24 13:03

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 9 Lucie Tauchenová
Specifikace je rozdělena do pětičá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. Ve čtvrté části jsou uvedeny požadavky na vnější rozhraní a v poslední, páté čá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 1 Lucie Tauchenová
13
h3. 1.3 Rozsah projektu
14
15 11 Lucie Tauchenová
Rozsah projektu je specifikován v Dokumentu vize a rozsahu projektu, který se nachází zde: [[Vize_projektu]]
16 1 Lucie Tauchenová
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 10 Lucie Tauchenová
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 1 Lucie Tauchenová
40
h3. 2.4 Provozní prostředí, omezení implementace
41
42 10 Lucie Tauchenová
Provozní prostředí aplikace je blíže specifikováno v Dokumentu architektury, který se nachází zde: [[Architektura]]
43 1 Lucie Tauchenová
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 8 Lucie Tauchenová
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í (viz obr. č. 1: Diagram případů užití). PU jsou následně detailně rozebrány. 
52 1 Lucie Tauchenová
53 8 Lucie Tauchenová
54 1 Lucie Tauchenová
!merlot_use_case.png!
55 8 Lucie Tauchenová
Obr. č. 1: Diagram případů užití
56 1 Lucie Tauchenová
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
h2. 4. Požadavky na vnější rozhraní
207
208
h3. 4.1 Uživatelská rozhraní
209
210
* Responsivní zobrazení webu
211
* Uživatelská přívětivost a intuitivní použití
212
213
h3. 4.2 Hardwarová rozhraní
214
215
žádná
216
217
h3. 4.3 Softwarová rozhraní
218
219
* PHP 7.2.5
220
* Framework Laravel 7.1.2
221
222
h3. 4.4 Komunikační rozhraní
223
224
* Protokol HTTP 
225
226
227
228
h2. 5. Další parametrické (mimofunkční) požadavky
229
230
h3. 5.1 Výkonnostní požadavky
231
232
* Standardizovaná odpověď: zatím neupřesněno
233
* Objem požadavků: 1000 uživatelů /den, max 200 rqs/s
234
* Spolehlivost: dána výkonem serveru muzea
235
236
h3. 5.2 Bezpečnostní požadavky
237
238
* Robustnost aplikace, tj. odolnost vůči nevalidním vstupům od uživatele
239
* Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL, …)
240
241
h3. 5.3 Kvalitativní parametry
242
243
* Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox, Chrome, Safari
244
* Bezproblémová funkčnost na mobilních zařízeních
245
246
h2. 6. Ostatní požadavky - zákony,  normy, licence
247
248
h3. 6.1 GDPR:
249
250
* Cookie lišta
251
* Prohlášení o využívání cookies
252
* Souhlas se zpracováním osobních údajů u kontaktního formuláře
253
* Prohlášení o zpracování osobních údajů
254
255
h3. 6.2. Licence:
256
257
Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená. 
258
259
260
h2. Příloha A: Glosář
261
262
* UPM = Uměleckoprůmyslové muzeum v Praze
263
* Artefakt = umělecké dílo vystavované muzeem. V případě výstavy Kaplického knihovny jde primárně o knihy z této knihovny. 
264
* Webová aplikace = aplikace, která je spuštěná ve webovém prohlížeči (např. Google Chrome)
265
* Databáze kontaktů = seznam kontaktů
266
* Dataset artefaktů = kolekce dat; datový soubor, ve kterém jsou uvedeny všechny potřebné informace o artefaktech v určitém formátu
267
* 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. 
268
* 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í.
269
* Release = vydání nové verze aplikace
270
* Kategorie knihy = oblast, které se kniha věnuje
271
272
h2. Příloha B: Popis aktérů 
273
274
Uživatel = Uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci.