Projekt

Obecné

Profil

Specifikace požadavků » Historie » Revize 12

Revize 11 (Lucie Tauchenová, 2020-04-24 13:03) → Revize 12/16 (Marek Lovčí, 2020-04-29 10:56)

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

 

 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 Název a popis: 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 Název a popis: 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) - rozšíření 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 Název a popis: 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 Název a popis: 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 Název a popis: 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 Název a popis: 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 Název a popis: 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í 

 žádná 

 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 

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


 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.