VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA INFORMAČNÍ SYSTÉMY A DATOVÉ SKLADY Systém pro online rozhovory (semestrální projekt) ZS 2010-2011 Analýza Implementace Číslo skupiny: 13 Členové skupiny: Příjmení, jméno, login 1. Petr Pejcel (PEJ021) 1. 2. David Krutký (KRU228) 2. 3. Martin Hruzík (HRU307) 3. 4. Jakub Říman(RIM030) 4.
1 Zadání (skupina autor, 18.10.2010) Cílem našeho projektu bude vytvořit systém, který bude umožňovat vytváření, správu a užívání online rozhovorů. IS bude dále umožňovat prezentovat pozvánky či ohlédnutí na konkrétní online rozhovory - tj. bude možno vytvářet články, které se budou v IS zobrazovat a budou vázány ke konkrétnímu rozhovoru. V IS dále bude možno: prohlížet kategorie, hodnotit jednotlivé příspěvky i rozhovory a pracovat s anketou. 1.1 Funkční požadavky PROČ nový IS Byl vytvořen požadavek na vytvoření nového Informačního systému (dále jen IS) pro fungování online rozhovorů. Za pomyslný vzor slouží prostředí online rozhovorů na idnes.cz a tn.cz. K ČEMU má IS sloužit Hlavním účelem systému je zprostředkovat prostředí pro online rozhovory. Stručná definice online rozhovoru: Jeden uživatel je v roli Hosta, kterému mohou uživatelé pokládat otázky. Následně na ně Host odpovídá a nevhodné otázky může vymazat. Jedná se o činnost, která probíhá jen v určitém časovém úseku, poté je rozhovor přepnut do stavu neaktivní a již není možno pokládat otázky. Do systému se dále přidávají také články, které mají návštěvníky o rozhovorech předem informovat nebo mohou obsahovat jejich shrnutí. Vedlejšími prvky jsou anketa, hodnocení příspěvků a rozhovorů a další. KDO s IS bude pracovat V našem informačním systému budeme rozlišovat pět typů uživatelů: Neregistrovaný uživatel - nezaregistrovaný návštěvník, který si bude moci pouze prohlížet a sledovat rozhovory nebo číst články Uživatel - oproti neregistrovanému uživateli může v rozhovoru pokládat Hostovi otázky a hodnotit rozhovor či jednotlivý příspěvek v rozhovoru, dále také hlasovat v anketách Host - v aktivním online rozhovoru, kde je evidován jako host, odpovídá na otázky uživatelů
- zakládá rozhovory, připravuje články a dohlíží na pohodlný průběh online rozhoru, může do IS přidávat hosty a blokovat uživatele, rovněž má umožněno do rozhovoru zasáhnout a reagovat na otázku Administrátor - má stejné pravomoce jako, ale navíc může spravovat účty ů a Administrátorů. Rovněž spravuje kategorie, podkategorie a stará se o anketu VSTUPY do systému Uživatelé - u všech uživatelů našeho IS evidujeme kromě ID také jejich roli, jméno, příjmení, login, heslo, emailovou adresu a datum narození. Atribut aktivita nám udává, zda je uživatel aktivován nebo má zakázáno se do systému přihlásit. Kategorie - každý záznam obsahuje unikátní ID a název hlavní kategorie. Podkategorie - je součástí nějaké podkategorie a evidujeme její ID, název a kategorii, které je součástí. Rozhovor - jeden z hlavních elementů našeho IS, kromě unikátního ID u něj evidujeme uživatele, který v něm působí jako host a odpovídá na otázky, nadpis, úvodní text a obrázek, datum uskutečnění a atribut status, ten nás informuje o tom, zda je rozhovor aktivní(true) nebo už do něj nelze přidávat otázky(false). Příspěvek - každý rozhovor obsahuje příspěvky, které se vyznačují jedinečným ID, vztahem ke konkrétnímu rozhovoru a uživateli, také obsahují informaci o typu příspěvku (otázka, odpověď, upozornění..), id existujícího příspěvku, ke kterému se nově vkládaný případně vztahuje a datum vložení. Článek - v rámci našeho IS bude umožněno psát články, které mají za úkol na rozhovory upoutat nebo se za nimi naopak ohlédnout. Kromě ID evidujeme typ článku, autora, nadpis, text, obrázku a datum publikování. Hodnocení rozhovoru - každý rozhovor bude moci být hodnocen jednotlivými uživateli, uchováváme unikántí ID, informaci o uživateli a rozhovoru, ke kterému se hodnocení vztahuje, a hlavně stupen ohodnocení Hodnocení příspěvku - každý příspěvek bude moci být hodnocen jednotlivými uživateli, uchováváme unikántí ID, informaci o uživateli a příspěvku, ke kterému se hodnocení vztahuje, a hlavně stupen ohodnocení Anketa - uchováváme ID a text otázky Odpověď - obsahuje možné odpovědi u anketní otázky, evidujeme ID, související anketu, text odpovědi a počet hlasů Hlasování v anketě - jednotlivé anketní hlasy musíme uchovávat pomocí jedinečných identifikátorů hlasujícího uživatele a vybrané odpovědi, evidujeme také ID hlasu Vazební tabulky:
V podkategorii prostřednictvím ID_podkategorie a ID_rozhovoru ukládáme v jakých podkategoriích je rozhovor zařazen Napsáno prostřednictvím ID_clanku a ID_rozhovoru ukládáme vzájemnou souvislost rozhovoru a článku Číselníky: Stupně uchovává stupně pro hodnocení ve dvojici ID a název, obsah číselníku: ( 1, 2, 3, 4, 5) známkování jako ve škole Typ článku uchováváme dvojici ID, a název typu článku, obsah číselníku: ( Upoutávka, Reklama, Ohlédnutí ) Typ_příspěvku evidujeme ID a název typu, obsah číselníku: ( Otázka, Odpověď, Upozornění ) Role evidujeme ID a název role, obsah číselníku je roven výše uvedeným rolím IS VÝSTUPY ze systému Menu - všechny stránky budou v horní části obsahovat Menu, kde budou položky Úvod a Rozhovory (po kliknutí se zobrazí stránka Seznam podkategorií). Vlevo vedle menu bude klasický formulář pro přihlášení(odhlášení). Pokud je přihlášen nebo zobrazí se mu v menu navíc možnosti, dle jeho práv. Jedná se o Správa uživatelů, Správa kategorií a podkategorií, Správa rozhovorů, Správa článků, Správa anket. Tyto zmíněné stránky se budou zobrazovat klasickým tabulkovým či formulářovým způsobem na uvážení programátora s tlačítky pro editaci, přidání nebo odstranění. Vše dle příslušných práv uvedených v seznamu funkcí. Hlavní strana (obr. 1 v poslední části analýzy) - Na hlavní stránce se budou vypisovat poslední čtyři přidané články - vlevo obrázek a kolem něj nadpis, který funguje jako odkaz na zobrazení článku, a popisek. V pravé části celé stránky budou sekce Top rozhovory a Anketa. Top rozhovory - Pod sebou se zobrazí pět odkazů na nejlépe hodnocené rozhovory během uplynulých 30 dní. Anketa - Graf průběžných výsledků ankety s možností hlasování pro přihlášené uživatele. Seznam podkategorií (obr. 2 v poslední části analýzy) - Na stránku se vypíší jednotlivé kategorie s podkategoriemi, které budou odkazem na seznam rozhovorů v dané podkategorii. Výpis rozhovorů - Na stránku se vypíše posledních pět rozhovorů ve vybrané kategorii - vlevo obrázek a kolem něj nadpis, který funguje jako link na zobrazení rozhovoru, a úvodní text.
Zobrazení rozhovoru (obr. 3 v poslední části analýzy) - V horní části se bude zobrazovat nadpis rozhovoru, pod ním pak vlevo obrázek a vpravo úvodní text, pod kterým bude možnost rozhovor ohodnotit a tlačítko Přidat příspěvek, pod kterým se zobrazí klasický formulář pro přidání. Pod to se vypíší příspěvky(viz. minisepecifikace). V pravé části se zobrazí odkazy na související články a níže anketa. Zobrazení článku (obr. 4 v poslední části analýzy) - V horní části se bude zobrazovat nadpis článku a pod ním text článku s obrázkem. V pravé části se zobrazí odkazy na související rozhovory a níže anketa.. Zobrazení informací o uživateli - Zobrazí se informace o uživateli (Jméno, příjmení, věk, login a průměrné hodnocení jeho příspěvků) Nefunkční požadavky IS by měl nabízet jednoduché a uživatelsky přívětivé prostředí s pohodlným ovládáním.
2 Analýza (skupina autor, datum) 2.1 Analýza datová 2.1.1 Lineární zápis typů entit a typů vazeb KATEGORIE (id_kategorie, nazev) PODKATEGORIE (id_podkategorie, id_kategorie, nazev) V_PODKATEGORII (id_v_podkategorii, id_podkategorie, id_rozhovor) NAPSANO (id_napsano, id_clanek, id_rozhovor) TYP_CLANKU (id_typ_clanku, nazev) CLANEK (id_clanek, id_typ_clanku, id_uzivatel, nadpis, text, datum) ROZHOVOR (id_rozhovor, nadpis, uvodni text, datum) TYP_PRISPEVKU (id_typ_prispevku, nazev) PRISPEVEK (id_prispevek, id_typ_prispevku, id_rozhovor, text, datum, provazany_prispevek) STUPNE (id_stupen_hodnoceni, nazev) HODNOCENI_PRISPEVKU (id_uzivatel, id_prispevek, id_stupen_hodnoceni) HODNOCENI_ROZHOVORU (id_uzivatel, id_rozhovor, id_stupen_hodnoceni) HLASOVANI (id_hlasovani, id_uzivatel, id_odpoved) ANKETA (id_anketa, otazka) ODPOVED (id_odpoved, id_anketa, text, pocet_hlasu) UZIVATEL (id_uzivatel, id_role, jmeno, prijmeni, mail, login, datum_narozeni, aktivita, heslo) ROLE (id_role, nazev) kategorie_podkategorie (KATEGORIE, PODKATEGORIE); 1:N podkategorie_vpodkategorii (PODKATEGORIE, V_PODKATEGORII); 1:N vpodkategorii_rozhovor (V_PODKATEGORII, ROZHOVOR); N:1 rozhovor_prispevek (ROZHOVOR, PRISPEVEK); 1:N rozhovor_napsano (ROZHOVOR, NAPSANO); 1:N napsano_clanek (NAPSANO, CLANEK); N:1 clanek_typclanku (CLANEK, TYP_CLANKU); N:1 typprispevku_prispevek (TYP_PRISPEVKU, PRISPEVEK); 1:N prispevek_hodnoceniprispevku (PRISPEVEK, HODNOCENI_PRISPEVKU); 1:N stupne_hodnoceniprispevku (STUPNE, HODNOCENI_PRISPEVKU); 1:N uzivatel_hodnoceniprispevku (UZIVATEL, HODNOCENI_PRISPEVKU); 1:N stupne_hodnocenirozhovoru (STUPNE, HODNOCENI_ROZHOVORU); 1:N rozhovor_hodnocenirozhovoru (ROZHOVOR, HODNOCENI_ROZHOVORU); 1:N uzivatel_hodnocenirozhovoru (UZIVATEL, HODNOCENI_ROZHOVORU); 1:N uzivatel_prispevek (UZIVATEL, PRISPEVEK); 1:N uzivatel_clanek (UZIVATEL, CLANEK); 1:N role_uzivatel (ROLE, UZIVATEL); 1:N uzivatel_hlasovani (UZIVATEL, HLASOVANI); 1:N odpoved_hlasovani (UZIVATEL, HLASOVANI); 1:N anketa_opoved (ANKETA, ODPOVED); 1:N
2.1.2 ER diagram
2.1.3 Datový slovník Název Datový typ Velik ost KATEGORIE id_kategorie integer 10 nazev varchar 30 NULL NULL NULL Klí č Ind ex PK A N Popis PODKATEGORIE id_podkategorie integer 10 id_kategorie integer 10 nazev varchar 30 NULL PK A NULL FK A NULL N V_PODKATEGORII id_v_podkatego rii integer 10 id_podkategorie integer 10 id_rozhovor integer 10 NULL PK A NULL FK A NULL FK A NAPSANO id_napsano integer 10 id_clanek integer 10 id_rozhovor integer 10 NULL PK A NULL FK A NULL FK A TYP_CLANKU id_typ_clanku integer 10 nazev varchar 30 NULL NULL PK A N CLANEK id_clanek integer 10 id_typ_clanku integer 10 id_uzivatel integer 10 nadpis varchar 255 text datum text datetim e NULL PK A NULL FK A NULL FK A NULL N NULL N NULL N obrazek varchar 255 NULL N cesta k obrazku popisek varchar 255 NULL N ROZHOVOR id_rozhovor integer 10 id_uzivatel integer 10 nadpis varchar 255 uvodni text text NULL PK A NULL FK A id_hosta NULL N NULL N datum datetim N
e NULL obrazek varchar 255 NULL N cesta k obrazku informace jestli je aktivni nebo status boolean NULL N archivovany rozhovor TYP_PRISPEVKU id_typ_prispevk u integer 10 nazev varchar 255 NULL NULL PK A N PRISPEVEK id_prispevek integer 10 NULL PK A id_typ_prispevk u integer 10 NULL FK A id_rozhovor integer 10 NULL FK A provazany_prisp evek integer 10 NULL A datetim datum e NULL N text text NULL N Id_uzivatel integer 10 NULL FK A pokud reakce na jiný příspěvek, ukládáme tedy jeho ID STUPNE id_stupen_hodn oceni integer 10 nazev varchar 50 NULL NULL PK A N HODNOCENI_PRISPE VKU id_uzivatel integer 10 id_prispevek integer 10 id_stupen_hodn oceni integer 10 NULL PK A NULL FK A NULL FK A HODNOCENI_ROZH OVORU id_uzivatel integer 10 id_rozhovor integer 10 id_stupen_hodn oceni integer 10 NULL PK A NULL FK A NULL FK A HLASOVANI id_hlasovani integer 10 id_uzivatel integer 10 id_odpoved integer 10 NULL PK A NULL FK A NULL FK A ANKETA id_anketa integer 10 otazka varchar 100 NULL NULL PK A N ODPOVED id_odpoved integer 10 NULL PK A
id_anketa integer 10 NULL FK A pocet_hlasu integer 10 NULL N text varchar 255 NULL N UZIVATEL id_uzivatel integer 10 NULL PK A id_role integer 10 NULL FK A jmeno varchar 50 NULL N prijmeni varchar 50 NULL N mail varchar 25 NULL N login varchar 15 NULL A datum_narozeni datetim e NULL N aktivita boolean NULL N zda se může uživatel do systému přihlásit heslo varchar 50 NULL N ROLE id_role integer 10 nazev varchar 25 NULL NULL PK A N 2.2 Analýza funkční Funkce Role Poznámka Registrace Uživatele neregistrovaný uživatel zaregistrování neregistrovaného uživatele Registrace Hosta přidání hosta do systému Registrace a Administrátor přidání moderátora do systému (skupina autor, datum) Odstranění Uživatele Administrátor odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat Odstranění Hosta Administrátor odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat Odstranění a Administrátor odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat Editace Uživatele editování uživatele, Uživatel Editace Hosta editování hosta, host se sám editovat nemůže, jen se přihlásí a odpovídá Editace a editace moderátora Výpis uživatelů vypsání všech atributů uživatelů do tabulky s tlačítky editace, odstranění Výpis hostů vypsání všech atributů hostů do tabulky s tlačítky editace, odstranění
Přidání Administrátora Administrátor přidání administrátora do systému Odstranění Administrátora Administrátor odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat Editace Administrátora Administrátor editace administrátora Výpis Administrátorů a ů Zablokování uživatele Zobrazení informací o uživateli Administrátor vypsání všech atributů hostů a uživatelů do tabulky s tlačítky editace, odstranění uživatel se již nebude moci přihlásit, příspěvky zůstanou zachovány * zobrazení informací o uživateli - jméno, přijímení, login, průměrné hodnocení jeho příspěvků Vytvoření kategorie Editace kategorie Administrátor Administrátor Odstranění kategorie Administrátor při odstranění kategorie se smažou také její podkategorie s přidanými rozhovory Výpis kategorií * Vytvoření podkategorie Editace podkategorie Administrátor Administrátor Odstranění pokategore Administrátor při odstranění podkategorie se smažou také rozhovory v dané kategorii Výpis podkategorií * vypísání podkategorií ve vybrané kategorii Vytvoření rozhovoru vytvoření rozhovoru vyplněním zadaných atributů Přiřazení rozhovoru do zařazení rozhovoru do kategoríí podkategorií Výpis rozhovorů * vypsání rozhovorů Zobrazení rozhovoru * zobrazení konkrétního rozhovoru s jeho příspěvky Odstranění rozhovoru smazání rozhovoru Výpis TOP rohovorů * výpis TOP 5 nejlépe hodnocených rozhovorů Editace Rozhovoru editování rozhovoru (úvodní text, nadpis) Vytvoření článku vytvoření článku vyplněním zadaných atributů Editace článku editování článku Odstranění článku smazání článku Výpis článků vypsání článků Zobrazení článku * zobrazení vybraného článku Přiřazení rozhovoru k souvislým článkům Přiřazení článku k souvislým rozhovorům Vkládanému rozhovoru přiřadíme souvislé články Vkládanému článku přiřadíme souvislé rozhovory Ohodnocení rozhovoru Uživatel hodnocení rozhovoru uživatelem Ohodnocení otázky Uživatel hodnocení příspěvku typu otázka Ohodnocení odpovědi Uživatel hodnocení příspěvku typu odpověď
Přidání otázky Uživatel přidání otázky do rozhovoru uživatelem Odstranění otázky Přidání odpovědi Editace odpovědi Odstranění odpovědi, Host, Host, Host odstranění otázky přidání odpovědi na otázku editování odpovědi na otázku odstranění odpovědi na otázku Přidej anketu Administrátor přidání nové ankety Změna ankety Administrátor úprava ankety a jejich odpovědí Hlasování v anketě Uživatel, Host hlasování v anketě Odstranění ankety Administrátor smazání ankety Zobrazení ankety * zobrazení ankety na hlavní straně 2.2.1 DF diagramy 2.2.1.1 DFD 0. úrovně
2.2.1.2 DFD 1. úrovní Evidence uživatelů
Evidence kategorií Evidence podkategorií
Evidence rozhovorů Evidence článků
Evidence přiřazování Evidence hodnocení
Evidence příspěvků Evidence anket
2.2.1.3 Vybrané DFD 2. úrovně složitějších procesů
2.2.2 Minispecifikace 1.1 Registrace uživatele: 1. Zobraz formulář (Jméno, Příjmení, Email, Login, Heslo ) 2. Po odeslání formuláře zkontroluj validitu vyplněných dat (nenulové atributy, pole email obsahuje relevantní emailovou adresu, heslo minimálně 8 znaků) 3. Pokud validace proběhla v pořádku, zobraz "Váš účet byl úspěšně vytvořen", pokud neproběhla validace v pořádku. zobraz chybovou hlášku a pokračuj bodem 1. 1.3 Zablokování uživatele nebo hosta: 1) Vypiš všechny uživatele(login, Jméno, Příjmení a Aktivita) a zobraz u nich tlačítko "Zablokovat" 2) Po kliknutí na toto tlačítko zobraz ConfirmWindow s textem "Opravdu chcete tohoto uživatele zabokovat?" 3) Pokud je odpověď - Ano: změň danému uživateli parametr "Aktivita" na false - NE: vrať se zpět na výpis uživatelů 1.3 Zobrazení informací o uživateli: 1) Pro vybraného uživatele (id_uzivatele) vyber z tabulky Uzivatel(Login, Jméno, Příjmení) 2) Zobraz vrácené informace a vypočti pro id_uzivatele průměrné hodnocení jeho příspěvků, to rovněž zobraz 1.7 Registrace Hosta (obdobný postup je využit u registrace a a Administrátora): 1. Pokud je uživatel v roli Admin nebo Moderator, zobraz formulář pro přidání uživatele (Jméno, Přijmení, Email, Login, Heslo) 2. Po odeslání formuláře zkontroluj validitu vyplněných dat (nenulové atributy, pole email obsahuje relevantní emailovou adresu, heslo minimálně...) 3. Nastav atribut "aktivita" u vytvářeného Hosta na true 4. Vygeneruj Hostovi heslo a zašli jej s informacemi o přihlášení na jeho email 3.1 Vytvoření podkategorie: 1) Zobraz formulář pro přidání nové podkategorie (název a výběr kategorie)
2) Vlož do tabulky podkategorie zadané údaje nazev a kategorie 4.1 Vytvoření rozhovoru: 1) Zobraz formulář pro přidání rozhovoru, zadává se nadpis, uvodni_text, datum, načteni obrazku 2) Zkontroluj validitu vyplnění (neprázdné atributy), v případě chyby se vrať k prvnímu kroku a zobraz hlášku o chybném vyplnění 3) Uploaduj obrázek na server a vygeneruj url k obrázku do proměné obrazek 4) Vlož do tabulky Rozhovor(nadpis, uvodni_text, obrazek, id_uzivatel) 5) Pokračuj funkcí 6.1 4.4 Zobrazení rozhovoru: 1) Pro vybraný rozhovor (id_rozhovor) vyber z tabulky Rozhovor(Nadpis,id_uzivatel,uvodni_text, datum, obrazek a status) 2) Z tabulky Uzivatel vyber dle id_uzivatele (jmeno, prijmeni) 3) Pokud: - status = true: zobraz možnost přidávání příspěvků do rozhovoru a nezobrazuj možnost hodnocení rozhovoru - status = false: zobraz možnost hodnocení rozhovoru a nedovol již přidávat příspěvky, dále spočítej průměrné hodnocení z tabulky Hodnoceni_rozhovoru pro konkrétní (id_rozhovoru) 4) Zobraz vrácené informace (jméno, příjmení, nadpis, uvodni text,obrazek, případně hodnocení) 5) Vypiš hierarchicky od nejstaršího data příspěvky v daném rozhovoru z tabulky Prispevek (*), přičemž rozeznávej odsazením otázku a odpověď 5.1 Vytvoření článku: 1) Zobraz formulář pro přidání článku, zadává se nadpis, text, datum, načteni obrazku, popisek a typ článku 2) Zkontroluj validitu vyplnění (neprázdné atributy), v případě chyby se vrať k prvnímu kroku a zobraz hlášku o chybném vyplnění 3) Uploaduj obrázek na server a vygeneruj url k obrázku do proměné obrazek 4) Vlož do tabulky Rozhovor(nadpis, text, popisek, obrazek, id_uzivatel, id_typ_clanku) 5) Pokračuj funkcí 6.2
6.1 Přiřazení rozhovoru k souvislým článkům 1) Pro vybraný přidávaný nebo editovaný rozhovor si ulož id_rozhovor 2) Zobraz seznam posledních dvaceti článků(nadpis) seřazených od nejnovějších s možností vybrání více položek 3) Pro vybrané Články (id_clanku) ulož do tabulky Napsano dvojice (id_rozhovor, id_clanku) 6.2 Přiřazení rozhovoru k souvislým článkům 1) Pro vybraný přidávaný nebo editovaný článek si ulož id_clanek 2) Zobraz seznam posledních třiceti rozhovorů(nadpis) seřazených od nejnovějších s možností vybrání více položek 3) Pro vybrané Rozhovory(id_rozhovoru) ulož do tabulky Napsano dvojice (id_rozhovor, id_clanku) 7.1 Ohodnocení rozhovoru: 1) Pokud je rozhovor ukončen (status = false), pak zobrazuj možnost hodnocení rozhovoru 2) Při kliknutí na hodnotu ze stupnice hodnocení zkontroluj, zda již uživatel daný rozhovor nehodnotil (v tabulce hodnoceni_rozhovoru je záznam s daným ID rozhovoru a konkrétním ID uživatele) - pokud najdeš záznam, zobraz hlášku "Nemůžete znovu hlasovat" - pokud nenajdeš záznam, vlož do hodnoceni_rozhovoru ID uživatele, ID rozhovoru a ID vybraného stupně hodnocení 7.2 Ohodnocení otázky: 1) U otázek zobrazuj možnost jejich ohodnocení 2) Při kliknutí na hodnotu ze stupnice hodnocení zkontroluj, zda již uživatel daný příspěvek typu otázka již nehodnotil (v tabulce hodnoceni_prispevku je záznam s daným ID příspěvku a konkrétním ID uzivatele) - pokud najdeš záznam, zobraz hlášku "Nemůžete znovu hodnotit stejný příspěvek" - pokud nenajdeš záznam, vlož do hodnoceni_prispevku ID uživatele, ID příspěvku a ID vybraného stupně hodnocení 7.3 Ohodnocení odpovědi: 1) U odpovědí na otázky zobrazuj možnost jeho ohodnocení
2) Při kliknutí na hodnotu ze stupnice hodnocení zkontroluj, zda již uživatel daný příspěvek typu otázka nehodnotil - pokud najdeš záznam, zobraz hlášku "Nemůžete znovu hodnotit stejný příspěvek" - pokud nenajdeš záznam, vlož do hodnoceni_prispevku ID uživatele, ID příspěvku a ID vybraného stupně hodnocení 8.3 Přidání odpovědi: 1) Uživateli s příslušnými právy (Host,, Admin) zobraz u příspěvku tlačítko "reagovat" 2) Zobraz formulář s políčkem text a výběrem typu příspěvku a uchovej si id příspěvku, na který se reaguje 3) Po správném validním(neprázdné atributy) vyplnění vlož do tabulky Příspěvek (text, typ, datum, provazany_prispevek), pokud dojde k chybě pokračuj krokem 2) 9.3 Hlasování v anketě: 1) Zapamatuj si id_uzivatel a a id_odpoved, u odpovědi, kterou uživatel vybral 2) Do tabulky Hlasovani ulož (id_uzivatel, id_odpoved) 2.3 Analýza časová
2.4 GUI Obrázek 1 Obrázek 2
Obrázek3 Obrázek 4
3 Analýza datového skladu (skupina autor, datum) 4 Návrh implementace 5 Popis implementace 6 Programátorská příručka (skupina autor, datum) 7 Uživatelská příručka (skupina autor, datum)