Projekt

Obecné

Profil

Specifikace požadavků » Historie » Revize 15

Revize 14 (Marek Lovčí, 2020-04-29 13:14) → Revize 15/16 (Lucie Tauchenová, 2020-05-18 13:08)

h1. Dokument specifikace požadavků 

 {{toc}} 

 h2. 1. Úvod 

 h3. 1.1 Předmět specifikace 

 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. 

 

 h3. 1.2 Rozdělení specifikace 

 Specifikace je rozdělena do pěti částí. 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). 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, dokumentu jsou charakterizovány mimofunkční požadavky aplikace. Příloha dokumentu obsahuje glosář a popis aktérů vyskytujících se v PU. 

 

 h3. 1.3 Rozsah projektu 

 Rozsah projektu je specifikován v Dokumentu vize a rozsahu projektu, který se nachází zde: [[Vize_projektu]] 

 h2. 2. Obecný popis 

 h3. 2.1 Kontext systému 

 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. 

 h3. 2.2 Funkce produktu 

 Hlavní funkce produktu se dají popsat v šesti případech užití:  
 * PU001: Vybrat kategorii 
 * PU002: Uložit knihu do oblíbených  
 * PU003: Odebrat knihu ze seznamu oblíbených 
 * PU004: Zobrazit si detail knihy 
 * PU005: Zobrazit statistiky oblíbenosti 
 * PU006: Registrovat se do aplikace 
 * PU007: Potvrdit registraci přes aktivační odkaz  

 Tyto funkce mají všechny stejnou prioritu a společně tvoří MVP (Minimum Viable Product). 

 h3. 2.3 Třídy uživatelů 

 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. 

 h3. 2.4 Provozní prostředí, omezení implementace 

 Provozní prostředí aplikace je blíže specifikováno v Dokumentu architektury, který se nachází zde: [[Architektura]] 

 h3. 2.7 Předpoklady a závislosti 

 Předpoklady a závislosti jsou blíže specifikovány v Dokumentu Vize (viz bod 1.3.).  
 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. 

 h2. 3. Funkce systému 

 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.  

 !merlot_use_case.png! 

 Obr. č. 1: Diagram případů užití 

 h3. 3.1 PU001 Filtrovat obsah dle kategorií  

 Umožňuje uživateli vybrat 1-N kategorií, podle kterých se mu následně filtruje výběr knih. 

 h4. 3.1.1 Standardní průběh 

 * Uživatel zvolí v menu položku "topics". 
 * Systém zobrazí uživateli seznam kategorií knih.  
 * Uživatel označí 1-N kategorií, které ho zajímají.  
 <alt: uživatel si vybere 0 kategorií> 
 * Uživatel potvrdí svůj výběr tlačítkem Potvrdit. 
 * Systém uživateli zobrazí souhrn vybraných témat, podle kterých bude filtrovaný výběr knih. 

 h4. 3.1.2 Alternativní průběh 
 
 <alt: uživatel si vybere 0 kategorií>: Systém uživateli neaktivuje tlačítko Potvrdit, dokud si uživatel nevybere alespoň jednu kategorii.  

 h4. 3.1.3 Vstupní podmínky 
 
 Uživatel má na výběr alespoň 2 kategorie.  

 h4. 3.1.4 Výstupní podmínky 

 Uživateli se zobrazují pouze knihy, které spadají do vybraných kategorií. 

 h3. 3.2 PU002 Uložit knihu do oblíbených  

 Umožňuje uživateli přidat knihu do oblíbených.  

 h4. 3.2.1 Standardní průběh (I. možnost - like) 

 * Uživatel klikne v menu na položku "books". 
 * Systém uživateli zobrazí seznam knih. 
 * Uživatel si ze seznamu kliknutím vybere jednu knihu. 
 * Systém zobrazí uživateli titulní stranu vybrané knihy.  
 * Uživatel dá kliknutím na ikonu srdíčka knize "like".  
 * Systém přidá knihu do seznamu oblíbených.  
 <alt: neexistující seznam oblíbených položek> 

 h4. 3.2.2 Standardní průběh (II. možnost - kód) 

 Tato část je rozšířením Základních požadavků (není součástí MVP). 

 * Uživatel skrze systém aktivuje kameru ve svém zařízení. 
 * Uživatel nasnímá QR kód artefaktu, který ho zaujme.  
 * <alt: QR kód nelze nasnímat>  
 * Systém podle kódu rozpozná, o který artefakt se jedná, a uloží ho do seznamu oblíbených.  
 * <alt: neexistující seznam oblíbených položek> 

 h4. 3.2.3 Alternativní průběhy 

 <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.  
 <alt: QR nelze nasnímat>: Uživatel vloží identifikační kód artefaktu do aplikace ručně.  

 h4. 3.2.4 Vstupní podmínky 

 Uživatel je přihlášený v aplikaci. 
 Uživatelovo zařízení má k dispozici funkční kameru.  

 h4. 3.2.5 Výstupní podmínky 

 Nasnímaný artefakt je uložen v uživatelově seznamu oblíbených. 

 h3. 3.3 PU003 Odebrat knihu ze seznamu oblíbených  

 Umožňuje uživateli odebrat knihu ze seznamu oblíbených.  
 
 h4. 3.3.1 Standardní průběh 

 * Uživatel klikne v menu na položku "likes". 
 * Systém zobrazí uživateli seznam oblíbených knih.  
 * Uživatel si ze seznamu kliknutím    vybere jednu knihu.  
 * Systém zobrazí uživateli titulní stranu oblíbené knihy.  
 * Uživatel klikne na ikonu srdíčka u knihy. 
 * Systém odebere knihu ze seznamu oblíbených.  

 h4. 3.3.2 Vstupní podmínky 

 Uživatel má v seznamu oblíbených uloženou alespoň 1 knihu.  

 h4. 3.3.3 Výstupní podmínky 

 Odoznačená kniha se již nenachází v seznamu oblíbených.   

 h3. 3.4 PU004 Zobrazit detail knihy 

 Umožňuje uživateli zobrazit detail knihy.  
 
 h4. 3.4.1 Standardní průběh 

 * Uživatel klikne v menu na položku "books",    popř. "likes". 
 * Systém zobrazí uživateli seznam knih, popř. seznam oblíbených knih.  
 * Uživatel si ze seznamu kliknutím    vybere jednu knihu.  
 * Systém zobrazí uživateli titulní stranu knihy, která obsahuje název knihy, autora a ikonu srdíčka ("like"). 
 * Uživatel klikne na název knihy, popř. autora knihy. 
 * 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.  

 h3. 3.5 PU005 Zobrazit statistiku oblíbenosti 

 Umožňuje uživateli zobrazit statistiku oblíbenosti knih. 
 
 h4. 3.5.1 Standardní průběh 

 * Uživatel klikne na položku v menu "charts".  
 * 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. 
 * Uživatel může přepínat mezi jednotlivými statistikami pomocí ovládacího tlačítka.  

 h4. 3.5.2 Vstupní podmínky 

 Seznamy, ze kterých se vytvářejí statistiky, nejsou prázdné. 

 h3. 3.6 PU006 Registrovat se do aplikace  

 Umožňuje uživateli registrovat se do aplikace.  
 
 h4. 3.6.1 Standardní průběh 

 * Uživatel vyplní a odešle registrační formulář, který se nachází na landing page aplikace.  
 * Systém uživateli udělí dočasně přístup do zbytku aplikace a odešle mu email s aktivačním odkazem. 

 h4. 3.6.2 Vstupní podmínky 

 Bez registrace je aplikace přístupná pouze částečně (landing page). 

 h4. 3.6.3 Výstupní podmínky 

 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). 

 h3. 3.7 PU007 Potvrdit registraci přes aktivační odkaz  

 Umožňuje uživateli potvrdit svou registraci a aktivovat si tím svůj uživatelský účet v aplikaci.  
 
 h4. 3.7.1 Standardní průběh 

 * Uživatel klikne na aktivační odkaz, který mu přijde emailem po vytvoření registrace.  
 * Systém změní stav účtu z "dočasný" na trvalý".  

 h4. 3.7.2 Vstupní podmínky 

 Uživatel musí zadat v rámci registrace platný email, na který mu přijde aktivační odkaz.  

 h4. 3.7.3 Výstupní podmínky 

 Uživatel může naplno využívat funkcí aplikace. 

 h2. 4. Požadavky na vnější rozhraní 

 h3. 4.1 Uživatelská rozhraní 

 * Responsivní zobrazení webu 
 * Uživatelská přívětivost a intuitivní použití 

 h3. 4.2 Hardwarová rozhraní 

 Nejsou nadefinovány žádné požadavky na hardwarová rozhraní. 

 h3. 4.3 Softwarová rozhraní 

 * PHP 7.2.5 
 * Framework Laravel 7.1.2 

 h3. 4.4 Komunikační rozhraní 

 * Protokol HTTP  

 h2. 5. Další parametrické (mimofunkční) požadavky 

 h3. 5.1 Výkonnostní požadavky 

 * Standardizovaná odpověď: zatím neupřesněno 
 * Objem požadavků: 1000 uživatelů /den, max 200 rqs/s 
 * Spolehlivost: dána výkonem serveru muzea 

 h3. 5.2 Bezpečnostní požadavky 

 * Robustnost aplikace, tj. odolnost vůči nevalidním vstupům od uživatele 
 * Zabezpečení aplikace proti běžným typům útoků (XSS, CSRF, SQL, …) 

 h3. 5.3 Kvalitativní parametry 

 * Bezproblémová funkčnost na běžně používaných prohlížečích, tj. Firefox, Chrome, Safari 
 * Bezproblémová funkčnost na mobilních zařízeních 

 h2. 6. Ostatní požadavky - zákony, normy, licence, kvalita 

 h3. 6.1 GDPR 

 * Cookie lišta 
 * Prohlášení o využívání cookies 
 * Souhlas se zpracováním osobních údajů u kontaktního formuláře 
 * Prohlášení o zpracování osobních údajů 

 h3. 6.2. Licence 

 Veškeré použité technologie jsou pod MIT licencí. Otázka licence výsledného produktu je otevřená. 

 h3. 6.3. Kvalita 

 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". 

 Dostupnost je požadována hlavně v návštěvních hodinách: úterý-neděle 10-20 hodin. 

 Upgrade aplikace by měl probíhat pokud možno automaticky pomocí Gitlab CI/CD. 

 h2. Příloha A: Glosář 

 * UPM = Uměleckoprůmyslové muzeum v Praze 
 * Artefakt = umělecké dílo vystavované muzeem. V případě výstavy Kaplického knihovny jde primárně o knihy z této knihovny.  
 * Webová aplikace = aplikace, která je spuštěná ve webovém prohlížeči (např. Google Chrome) 
 * Databáze kontaktů = seznam kontaktů 
 * Dataset artefaktů = kolekce dat; datový soubor, ve kterém jsou uvedeny všechny potřebné informace o artefaktech v určitém formátu 
 * 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.  
 * 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í. 
 * Release = vydání nové verze aplikace 
 * Kategorie knihy = oblast, které se kniha věnuje 

 h2. Příloha B: Popis aktérů  

 Uživatel = Uživatel aplikace je návštěvník muzea, který během / po výstavě využívá aplikaci.