Specifikace požadavků » Historie » Verze 13
Marek Lovčí, 2020-04-29 11:03
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 | !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 | * Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL, …) |
||
236 | |||
237 | h3. 5.3 Kvalitativní parametry |
||
238 | |||
239 | * Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox, Chrome, Safari |
||
240 | * Bezproblémová funkčnost na mobilních zařízeních |
||
241 | |||
242 | h2. 6. Ostatní požadavky - zákony, normy, licence |
||
243 | |||
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 | Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená. |
||
254 | |||
255 | h2. Příloha A: Glosář |
||
256 | |||
257 | * UPM = Uměleckoprůmyslové muzeum v Praze |
||
258 | * Artefakt = umělecké dílo vystavované muzeem. V případě výstavy Kaplického knihovny jde primárně o knihy z této knihovny. |
||
259 | * Webová aplikace = aplikace, která je spuštěná ve webovém prohlížeči (např. Google Chrome) |
||
260 | * Databáze kontaktů = seznam kontaktů |
||
261 | * Dataset artefaktů = kolekce dat; datový soubor, ve kterém jsou uvedeny všechny potřebné informace o artefaktech v určitém formátu |
||
262 | * 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. |
||
263 | * 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í. |
||
264 | * Release = vydání nové verze aplikace |
||
265 | * Kategorie knihy = oblast, které se kniha věnuje |
||
266 | |||
267 | h2. Příloha B: Popis aktérů |
||
268 | |||
269 | Uživatel = Uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci. |