VIZE PROJEKTU ( verze 1 ) Andrej Doubek Petr Tománek Tomáš Jiran Štěpán Křivanec 1
Popis projektu 3 Zainteresované osoby a instituce 3 Uživatelé systému 3 Současný stav 3 Nevýhody stávajícího systému 3 Případ užití 4 Základní funkční požadavky 4 Evidence receptů 4 Vkládání receptů 4 Evidence použitelných ingrediencí 4 Vkládání ingrediencí a jejich schvalování administrátorem 4 Vyhledávání receptů 4 Evidence hodnocení 4 Evidence zásob uživatele a nákupní lístek 4 Obecné nefunkční požadavky 5 Časový harmonogram a finance 5 2
Popis projektu Jedná se o kuchařskou aplikaci, jejíž hlavní funkcionalitou je databáze receptů ve které lze intuitivně vyhledávat dle zvolených parametrů, uživatelé se mohou do tvorby receptů zapojit a také mohou pomocí aplikace spravovat stav svých zásob. Důvodem vzniku aplikace je nedostatečné propracování a koncept vyhledávání v již existujících aplikací z oboru kulinářství. Zainteresované osoby a instituce Primárním zákazníkem i koncovým uživatelem jsou lidé z domácností, dále v rozšíření počítáme i s profesionální kulinářskou sférou (bary, restaurace, atd.). Uživatelé systému Uživatelé systému jsou lidé z domácností od hospodyněk které vaří každodeně až po občasné kuchaře například muž který přijde domů z práce až večer nebo student vařicí si místo obědu v menze. Aplikace musí být tedy jednoduše ovladatelná přičemž by měla nabízet i silný základ pro každodenní vaření. Současný stav V současné době má uživatel dvě možnosti. V prvním případě se bude spoléhat na klasickou kuchařku v podobě knihy, otevře knihu vyhledává v obsahu, který může být tříděn různě (dle typu kuchyně, dle názvu), nalezne v obsahu potenciální recept, vyhledá stranu která byla uvedena v obsahu. Nyní začíná kontrolovat ingredience které jsou u receptu uvedeny, pokud všechny ingredience vlastní, může dále pokračovat na zpracování receptu.pokud mu nějaká ingredience chybí, musí se rozhodnout zda je dokoupí. V druhém případě může využít nějaké ze současných webových služeb, které zprostředkovávají recepty online. V praxi je postup podobný jako u klasické kuchařky, výhoda tkví v pohodlnějším vyhledávání například podle ingrediencí Nevýhody stávajícího systému 1. V případě klasické kuchařky je zde nevýhoda konečného počtu receptů v jedné kuchařce 2. Vyhledávání v klasické kuchařce je složitější, nelze třídit dle ingrediencí 3. Vyhledávání v online kuchařce již lze třídit dle ingrediencí ovšem použitý způsob hledání není příliš vhodně implementován 3
Případ užití Uživatel si vybírá dle zmíněných vyhledávacích kritérií jídlo, které by si představoval. Má také možnost přes svůj uživatelský učet přidávat vlastní recepty, dále může přidávat chybějící ingredience které schvaluje administrátor. Navíc může jednotlivé recepty hodnotit a tak ovlivnit pořadí zobrazovaných receptů. Mimo základních funkcí má uživatel možnost spravovat na svém účtu stav svých ingrediencí doma a podle toho také možnost vybírat z jídel, která má doma, bez toho aniž by musel na nákup. Další výborná vlastnost - pokud si uživatelé vyberou určité jídlo, kde jim nějaké ingredience schází, pak se vygeneruje nákupní seznam. V případě, že by uživatel potřeboval ještě něco, lze to do nákupního seznamu přidat. Základní funkční požadavky Požadavky na nový systém jsou založeny především na kompletní správě všech potřebných věcí pro vaření. Evidence receptů Systém obsahuje databázi receptů, které je díky sociálnímu základu aplikace stále rozšiřováno. Vkládání receptů Uživatelům je umožněno do databáze vkládat nové recepty. Evidence použitelných ingrediencí Systém obsahuje databázi ingrediencí které lze použít v jednotlivých receptech. Vkládání ingrediencí a jejich schvalování administrátorem Uživatelům je umožněno podat návrh na novou neexistující ingredienci, administrátor návrh musí schválit. Vyhledávání receptů Uživateli je umožněno vyhledávat v receptech a to podle: názvu, štítku,ingrediencí,denní doby a typu jídla. Zvlášt za zmínku stojí vylepšené hledání dle ingrediencí, kde jednotlivé ingredience v receptu jsou rozděleny podle priority, tudíž se nikdy při vyhledávání na prvním místě nezobrazí recept jehož hlavní ingredienci uživatel nezadal. Evidence hodnocení K jednotlivým receptům je vedeno hodnocení od uživatelů, to napomáhá filtrovat výsledky hledání. Evidence zásob uživatele a nákupní lístek Každý uživatel má prostor ve kterém vede seznam svých dostupných ingrediencí, podle tohoto seznamu mu může systém doporučit vhodný recept. Dále s tímto seznamem lze porovnávat seznam ingrediencí u konkrétního receptu a generovat nákupní lístek z ingrediencí chybějících. 4
Obecné nefunkční požadavky Jedná se o v zásadě sociální aplikaci tudíž prvním požadavkem je centrální databáze přístupná skrz internetové připojení, vybrána byla jednoduchá databáze Mysql na bežném webovém serveru. Pro snadnou přenositelnost skrz platformy byl výbran jazyk JAVA, je vhodný také pro budoucí implementaci na mobilních zařízeních. Poslední požadavkem je jednoduché uživatelské prostředí, které budou schopni snadno použivat ruzné typy lidí skrz generace. Časový harmonogram a finance 1. Základní implementace a předvedení autoritě do konce roku 2012 2. Dokončení vývoje a spuštění do poloviny roku 2013 3. dále postupný vývoj pro další platformy Financování pomocí drobných poplatků od uživatelů při stažení aplikace. Možnost investice do aplikace od investora, za zanešení a zvýhodnění jeho receptů, čí drobnou reklamu přímo v aplikaci. 5
Model Specification Page: 1 Doménový model Domain Model Obrázek 1 Domain Model- Domain Objects
Model Specification Page: 2 Obrázek 2 Domain Objects- Komentar Třída reprezentuje komentářk receptu. Poznámky nazev Název komentáře (nadpis). obsah Vlastní obsah komentáře. Lednice Lednice dané osoby slouží k přehledu potravin, které má osoba k dispozici.
Model Specification Page: 3 pocetpolozek Poznámky Aktuální počet potravin v lednici. NakupniSeznam Nákupní seznam potravin pro danou osobu. Poznámky datumvytvoreni Datum vytvoření nákupního seznamu. pocetpolozek Aktuální počet potravin v nákupním seznamu. Osoba Třída představuje jak uživatele, tak admina. Práva jsou rozlišena pomocí atributu Role. Poznámky heslo Osobou zvolené heslo. jmeno Křestní jméno osoby. prijmeni Příjmení osoby. role Role osoby jako admin nebo uživatel. zobrazovanejmeno Osobou zvolené jméno. Potravina Specifická potravina pro recept, nákupní seznam nebo lednici. Poznámky nazev Název potraviny. popis Popis potraviny. priorita Jak moc je potravina důležitá pro určitý recept. Recept Třída reprezentující recept. datumvytvoreni datumzmeny hodnoceni nazev popis Poznámky Datum, kdy byl nový recept uložen. Datum poslední editace receptu. Celkové hodnocení receptu uživateli. Název receptu. Popis a postup receptu, rady k přípravě. SeznamPotravin Seznam všech potravin pro recepty, nákupní seznamy a lednice. Poznámky
Model Specification Page: 4 pocetpolozek Poznámky Aktuální počet existujících potravin. SeznamStitku Seznam všech štítků, ze kterých lze vybírat pro označení receptu. Poznámky pocetpolozek Aktuální počet štítkův seznamu štítků. Stitek Štítek receptu, tj. zkrácený popisek (tag), který se zohledňuje při vyhledávání receptu. Štítky mohou označovat typ jídla (např. snídaně), kuchyni apod. Poznámky nazev Vlastní název štítku.
Model požadavků Model požadavků Obrázek 1 - Requirements Model <anonymous> Obecné požadavky, které upřesnují technické řešení <anonymous> Požadavky na funkce systému Funkční požadavky - 1/4 -
Obrázek 2 - Funkční poadavky evidence nákupního seznamu evidence zásob Systém eviduje ke každému uživatelskému účtu i seznam ingrediencí kterými uživatel učtu disponuje schvalování ingrediencí vkládání ingrediencí - 2/4 -
vkládání receptů evidence receptů Systém eviduje recepty od uživatelů evidence použitelných ingrediencí Systém obsahuje seznam dostupných ingrediencí, které lze použít v receptech evidence hodnocení Systém eviduje hodnocení a komentáře ke každému receptu evidence uživatelů Systém eviduje uživatelské účty vyhledávání receptů V systému je možné vyhledávat pomocí ruzných atributů - štítky - fráze - denní doba - ingredience Obecné požadavky Obrázek 3 - Nefunkční požadavky - 3/4 -
jazyk JAVA Použití jazyka JAVA, dobrá přenositelnost mezi operačními systémy, lehčí implementace na mobilní platformu Android provoz databázového serveru Kvůli "sociální" forměaplikace, je zde nutná databáze na serveru, pro aktualizaci informací v aplikaci uživatelské rozhraní UI Uživatelské rozhraní odpovídající forměaplikace, snadno ovladatelná - 4/4 -
Business process model Business Process Model Procesy týkající se použití kuchařky při vaření. Obsahuje nejdůležitější aktivity při použivání kuchařky. Obrázek 1 - Business Process Model Rozdělení pro vyhledávání v kuchařce a přidání nového receptu. Přidání nového receptu Uživatel chce do kuchařky přidat vlastní zápis, který by ješte nemusel být v kuchařce obsažen. - 1/3 -
Obrázek 2 - Přidání nového receptu Vyhledání receptu Uživatel užívá kuchařku pro výběr receptů, kuchařka obsahuje : obsah, třízení dle kapitol ( typ jídla, některé recepty jsou opatřeny záložkami pro lepší třízení. - 2/3 -
Obrázek 3 - Vyhledání receptu Uživatel užívá kuchařku pro výběr receptů, kuchařka obsahuje : obsah, třízení dle kapitol ( typ jídla, některé recepty jsou opatřeny záložkami pro lepší třízení. - 3/3 -
Model případůužití Class Model Obrázek 1 - Model prípadu užití Admin Případ užití: Admin přistupuje k aplikaci - 1/7 -
Obrázek 2 - Admin Seznam uživatelu Admin prohlíží seznam uživatelů - 2/7 -
Penalizace uživatelu Admin penalizuje uživatele za prohřešek například spam Seznam ingrediencí Admin prohlíži seznam ingrediencí Zmena ingrediencí Admin mění či maže ingredienci Korekce receptu Admin upravuje detaily receptu Odebrání ingrediencí Admin odebírá například duplictní ingredienci Schvaleni receptu Admin schvaluje vložený recept Seznam receptu Admin prohlíží seznam receptů Zmena receptu Admin mění status receptu, například maže duplicitu. Odebrání receptu Role Druhy uživatelůpřistupující k aplikaci - 3/7 -
Obrázek 3 - Role Admin Admin dědí od uživatele všechny práva a některá přidává. Uživatel Uživatel Případ užití: Uživatel přistupuje k aplikaci - 4/7 -
- 5/7 -
Obrázek 4 - Uživatelé Založení úctu Uživatel si zakládá učet pro další práci Správa úctu Uživatel spravuje učet, detaily a další Vytvorení receptu Uživatel objevil chybějici recept, vytváří nový. Prohlížení receptu Uživatel prohlíží vyhledaný recept Hodnocení receptu Uživatel hodnotí recept, který uvařil Komentování receptu Uživatel se vyjádřil k receptu Sdílení receptu Uživatel sdílel recept s jiným uživatelem Zažádání o ingredienci Uživateli v databázi chybí ingredience, žádá o novou Vkládání do lednice Uživatel si vkládá ingredience které vlastní na seznam Prohlížení lednice Uživatel si prohlíží seznam svých ingrediencí Tvorba nákupního lístku Uživatel si generuje seznam chybějícíh ingrediencí - 6/7 -
Tvorba jídelnícku Uživateli jsou doporučeny recepty podle jeho ingrediencí, on si je vede na jídelníčku - 7/7 -