Projekt

Obecné

Profil

Specifikace požadavků » Historie » Verze 12

Marek Lovčí, 2020-04-29 10:56

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