Projekt

Obecné

Profil

Specifikace požadavků » Historie » Verze 16

Lucie Tauchenová, 2020-05-18 14:17

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 15 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í (dále jen PU). 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
!merlot_use_case.png!
56 13 Marek Lovčí
57 8 Lucie Tauchenová
Obr. č. 1: Diagram případů užití
58 1 Lucie Tauchenová
59 13 Marek Lovčí
h3. 3.1 PU001 Filtrovat obsah dle kategorií 
60 1 Lucie Tauchenová
61
Umožňuje uživateli vybrat 1-N kategorií, podle kterých se mu následně filtruje výběr knih.
62
63 13 Marek Lovčí
h4. 3.1.1 Standardní průběh
64 1 Lucie Tauchenová
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 13 Marek Lovčí
h4. 3.1.2 Alternativní průběh
73 1 Lucie Tauchenová
 
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 13 Marek Lovčí
h4. 3.1.3 Vstupní podmínky
77 1 Lucie Tauchenová
 
78
Uživatel má na výběr alespoň 2 kategorie. 
79
80 13 Marek Lovčí
h4. 3.1.4 Výstupní podmínky
81 1 Lucie Tauchenová
82
Uživateli se zobrazují pouze knihy, které spadají do vybraných kategorií.
83
84 13 Marek Lovčí
h3. 3.2 PU002 Uložit knihu do oblíbených 
85 1 Lucie Tauchenová
86
Umožňuje uživateli přidat knihu do oblíbených. 
87
88 13 Marek Lovčí
h4. 3.2.1 Standardní průběh (I. možnost - like)
89 1 Lucie Tauchenová
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 13 Marek Lovčí
h4. 3.2.2 Standardní průběh (II. možnost - kód)
99 1 Lucie Tauchenová
100 13 Marek Lovčí
Tato část je rozšířením Základních požadavků (není součástí MVP).
101
102 1 Lucie Tauchenová
* Uživatel skrze systém aktivuje kameru ve svém zařízení.
103
* Uživatel nasnímá QR kód artefaktu, který ho zaujme. 
104
* <alt: QR kód nelze nasnímat> 
105
* Systém podle kódu rozpozná, o který artefakt se jedná, a uloží ho do seznamu oblíbených. 
106
* <alt: neexistující seznam oblíbených položek>
107
108 13 Marek Lovčí
h4. 3.2.3 Alternativní průběhy
109 1 Lucie Tauchenová
110
<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. 
111
<alt: QR nelze nasnímat>: Uživatel vloží identifikační kód artefaktu do aplikace ručně. 
112
113 13 Marek Lovčí
h4. 3.2.4 Vstupní podmínky
114 1 Lucie Tauchenová
115
Uživatel je přihlášený v aplikaci.
116
Uživatelovo zařízení má k dispozici funkční kameru. 
117
118 13 Marek Lovčí
h4. 3.2.5 Výstupní podmínky
119 1 Lucie Tauchenová
120 13 Marek Lovčí
Nasnímaný artefakt je uložen v uživatelově seznamu oblíbených.
121 1 Lucie Tauchenová
122 13 Marek Lovčí
h3. 3.3 PU003 Odebrat knihu ze seznamu oblíbených 
123 1 Lucie Tauchenová
124
Umožňuje uživateli odebrat knihu ze seznamu oblíbených. 
125
 
126 13 Marek Lovčí
h4. 3.3.1 Standardní průběh
127 1 Lucie Tauchenová
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 13 Marek Lovčí
h4. 3.3.2 Vstupní podmínky
136 1 Lucie Tauchenová
137
Uživatel má v seznamu oblíbených uloženou alespoň 1 knihu. 
138
139 13 Marek Lovčí
h4. 3.3.3 Výstupní podmínky
140 1 Lucie Tauchenová
141
Odoznačená kniha se již nenachází v seznamu oblíbených.  
142
143 13 Marek Lovčí
h3. 3.4 PU004 Zobrazit detail knihy
144 1 Lucie Tauchenová
145
Umožňuje uživateli zobrazit detail knihy. 
146
 
147 13 Marek Lovčí
h4. 3.4.1 Standardní průběh
148 1 Lucie Tauchenová
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 13 Marek Lovčí
h3. 3.5 PU005 Zobrazit statistiku oblíbenosti
157 1 Lucie Tauchenová
158
Umožňuje uživateli zobrazit statistiku oblíbenosti knih.
159
 
160 13 Marek Lovčí
h4. 3.5.1 Standardní průběh
161 1 Lucie Tauchenová
162
* Uživatel klikne na položku v menu "charts". 
163
* 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.
164
* Uživatel může přepínat mezi jednotlivými statistikami pomocí ovládacího tlačítka. 
165
166 13 Marek Lovčí
h4. 3.5.2 Vstupní podmínky
167 1 Lucie Tauchenová
168 13 Marek Lovčí
Seznamy, ze kterých se vytvářejí statistiky, nejsou prázdné.
169 1 Lucie Tauchenová
170 13 Marek Lovčí
h3. 3.6 PU006 Registrovat se do aplikace 
171 1 Lucie Tauchenová
172
Umožňuje uživateli registrovat se do aplikace. 
173
 
174 13 Marek Lovčí
h4. 3.6.1 Standardní průběh
175 1 Lucie Tauchenová
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 13 Marek Lovčí
h4. 3.6.2 Vstupní podmínky
180 1 Lucie Tauchenová
181
Bez registrace je aplikace přístupná pouze částečně (landing page).
182
183 13 Marek Lovčí
h4. 3.6.3 Výstupní podmínky
184 1 Lucie Tauchenová
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 13 Marek Lovčí
h3. 3.7 PU007 Potvrdit registraci přes aktivační odkaz 
188 1 Lucie Tauchenová
189
Umožňuje uživateli potvrdit svou registraci a aktivovat si tím svůj uživatelský účet v aplikaci. 
190
 
191 13 Marek Lovčí
h4. 3.7.1 Standardní průběh
192 1 Lucie Tauchenová
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 13 Marek Lovčí
h4. 3.7.2 Vstupní podmínky
197 1 Lucie Tauchenová
198
Uživatel musí zadat v rámci registrace platný email, na který mu přijde aktivační odkaz. 
199
200 13 Marek Lovčí
h4. 3.7.3 Výstupní podmínky
201 1 Lucie Tauchenová
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 13 Marek Lovčí
Nejsou nadefinovány žádné požadavky na hardwarová rozhraní.
214 1 Lucie Tauchenová
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
h2. 5. Další parametrické (mimofunkční) požadavky
225
226
h3. 5.1 Výkonnostní požadavky
227
228
* Standardizovaná odpověď: zatím neupřesněno
229
* Objem požadavků: 1000 uživatelů /den, max 200 rqs/s
230
* Spolehlivost: dána výkonem serveru muzea
231
232
h3. 5.2 Bezpečnostní požadavky
233
234
* Robustnost aplikace, tj. odolnost vůči nevalidním vstupům od uživatele
235 16 Lucie Tauchenová
* Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL injection, …)
236 1 Lucie Tauchenová
237
h3. 5.3 Kvalitativní parametry
238
239 16 Lucie Tauchenová
* Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox (renderovací jádro Gecko), Chrome (renderovací jádro Blink), Safari (renderovací jádro Webkit), Internet Explorer (renderovací jádro Trident), Opera (renderovací jádro Blink), Edge (renderovací jádro Chromium)
240 1 Lucie Tauchenová
* Bezproblémová funkčnost na mobilních zařízeních
241
242 14 Marek Lovčí
h2. 6. Ostatní požadavky - zákony, normy, licence, kvalita
243 1 Lucie Tauchenová
244 13 Marek Lovčí
h3. 6.1 GDPR
245 1 Lucie Tauchenová
246
* Cookie lišta
247
* Prohlášení o využívání cookies
248
* Souhlas se zpracováním osobních údajů u kontaktního formuláře
249
* Prohlášení o zpracování osobních údajů
250
251 13 Marek Lovčí
h3. 6.2. Licence
252 1 Lucie Tauchenová
253 14 Marek Lovčí
Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená.
254
255
h3. 6.3. Kvalita
256
257
Ze strany architektury nejsou kladeny žádné zvláštní požadavky na kvalitu aplikace. Aplikace není infrastrukturně kritická, nejsou tedy požadavky ani z hlediska "high availability".
258
259
Dostupnost je požadována hlavně v návštěvních hodinách: úterý-neděle 10-20 hodin.
260
261
Upgrade aplikace by měl probíhat pokud možno automaticky pomocí Gitlab CI/CD.
262 1 Lucie Tauchenová
263
h2. Příloha A: Glosář
264
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 16 Lucie Tauchenová
Uživatel = Koncový uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci.
277
Další úrovně práv zatím nebyly identifikovány.
278
279
h3. Příloha C: Seznam zkratek
280
* ASWI - Pokročilé softwarové inženýrství
281
* FAV - Fakulta aplikovaných věd
282
* KIV - Katedra informatiky a výpočetní techniky
283
* PU - případ užití 
284
* UPM - Uměleckoprůmyslové muzeum v Praze
285
* CI - Continuous Integration 
286
* CD - Continuos Development
287
* CSRF - Cross-site Request Forgery
288
* GDPR - General Data Protection Regulation
289
* HTTP - Hypertext Transfer Protocol
290
* SQL - Structured Query Language
291
* XSS - Cross-site scripting