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: Členové skupiny:
13
Příjmení, jméno, login
1. Petr Pejcel (PEJ021) 2. David Krutký (KRU228)
1. 2.
3. Martin Hruzík (HRU307) 4. Jakub Říman(RIM030)
3. 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ů
Moderátor - 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 Moderátor, ale navíc může spravovat účty Moderátorů 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 Moderátor nebo Administrátor, 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
KATEGORIE
PODKATEGORIE
V_PODKATEGORII
NAPSANO
TYP_CLANKU
CLANEK
ROZHOVOR
Název
Datový typ
Velik ost
id_kategorie
integer
10
nazev
varchar
30
id_podkategorie integer
10
id_kategorie
integer
10
nazev
varchar
30
id_v_podkatego rii
integer
10
id_podkategorie integer
10
id_rozhovor
integer
10
id_napsano
integer
10
id_clanek
integer
10
id_rozhovor
integer
10
id_typ_clanku
integer
10
nazev
varchar
30
id_clanek
integer
10
id_typ_clanku
integer
10
id_uzivatel
integer
10
nadpis
varchar
255
text datum
text datetim e
obrazek
varchar
255
NULL
N
popisek
varchar
255
NULL
N
id_rozhovor
integer
10
id_uzivatel
integer
10
nadpis
varchar
255
uvodni text
text
NOT NULL NOT NULL NOT NULL NOT NULL
datum
datetim
NOT
NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
Klí Ind č ex
Popis
PK A N
PK A FK A N
PK A FK A FK A
PK A FK A FK A
PK A N
PK A FK A FK A N N N cesta k obrazku
PK A FK A N N N
id_hosta
e
TYP_PRISPEVKU
PRISPEVEK
STUPNE
obrazek
varchar
status
boolean
id_typ_prispevk u
integer
10
nazev
varchar
255
id_prispevek id_typ_prispevk u
integer
10
integer
10
id_rozhovor integer provazany_prisp evek integer datetim datum e
10
HLASOVANI
ANKETA
ODPOVED
255
10
NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NULL NOT NULL NOT NULL NOT NULL
text
text
Id_uzivatel
integer
10
id_stupen_hodn oceni integer
10
nazev
varchar
50
integer
10
id_prispevek integer id_stupen_hodn oceni integer
10
id_uzivatel
integer
10
id_rozhovor integer id_stupen_hodn oceni integer
10
id_hlasovani
integer
10
id_uzivatel
integer
10
id_odpoved
integer
10
id_anketa
integer
10
otazka
varchar
100
NOT NULL NOT NULL
id_odpoved
integer
10
NOT NULL
HODNOCENI_PRISPE VKU id_uzivatel
HODNOCENI_ROZH OVORU
NULL
10
10
NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
N N
cesta k obrazku informace jestli je aktivni nebo archivovany rozhovor
PK A N
PK A FK A FK A A N N FK A
PK A N
PK A FK A FK A
PK A FK A FK A
PK A FK A FK A
PK A N
PK A
pokud reakce na jiný příspěvek, ukládáme tedy jeho ID
UZIVATEL
integer
10
pocet_hlasu
integer
10
text
varchar
255
id_uzivatel
integer
10
id_role
integer
10
jmeno
varchar
50
prijmeni
varchar
50
mail
varchar
25
varchar datetim datum_narozeni e
15
NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NULL NOT NULL NOT NULL
login
ROLE
NOT NULL
id_anketa
aktivita
boolean
heslo
varchar
50
id_role
integer
10
nazev
varchar
25
NULL NOT NULL
NOT NULL NOT NULL
FK A N N
PK A FK A N N N A N N
zda se může uživatel do systému přihlásit
N
PK A N
2.2 Analýza funkční (skupina| autor, datum) 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 Moderátora
Administrátor, Moderátor Administrátor
Odstranění Uživatele
Administrátor
Odstranění Hosta
Administrátor
Odstranění Moderátora
Administrátor
Editace Uživatele
Administrátor, Moderátor, Uživatel Administrátor, Moderátor Administrátor, Moderátor Administrátor, Moderátor Administrátor, Moderátor
odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat editování uživatele
Editace Hosta Editace Moderátora Výpis uživatelů Výpis hostů
přidání moderátora do systému
editování hosta, host se sám editovat nemůže, jen se přihlásí a odpovídá editace moderátora vypsání všech atributů uživatelů do tabulky s tlačítky editace, odstranění 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
Editace Administrátora
Administrátor
odstraněním se smažou také jeho příspěvky, proto doporučení uživatele blokovat editace administrátora
Výpis Administrátorů a Moderátorů Zablokování uživatele
Administrátor
Zobrazení informací o uživateli
Administrátor, Moderá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
Administrátor
Editace kategorie
Administrátor
Odstranění kategorie
Administrátor
Výpis kategorií
*
Vytvoření podkategorie
Administrátor
Editace podkategorie
Administrátor
Odstranění pokategore
Administrátor
Výpis podkategorií
*
Vytvoření rozhovoru
vytvoření rozhovoru vyplněním zadaných atributů
Přiřazení rozhovoru do podkategorií Výpis rozhovorů
Administrátor, Moderátor Administrátor, Moderátor *
Zobrazení rozhovoru
*
zobrazení konkrétního rozhovoru s jeho příspěvky
Odstranění rozhovoru
Administrátor, Moderátor *
smazání rozhovoru
Editace Rozhovoru
Administrátor, Moderátor
editování rozhovoru (úvodní text, nadpis)
Vytvoření článku
vytvoření článku vyplněním zadaných atributů
Zobrazení článku
Administrátor, Moderátor Administrátor, Moderátor Administrátor, Moderátor Administrátor, Moderátor *
Přiřazení rozhovoru k souvislým článkům Přiřazení článku k souvislým rozhovorům
Administrátor, Moderátor Administrátor, Moderátor
Vkládanému rozhovoru přiřadíme souvislé články
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ěď
Výpis TOP rohovorů
Editace článku Odstranění článku Výpis článků
při odstranění kategorie se smažou také její podkategorie s přidanými rozhovory
při odstranění podkategorie se smažou také rozhovory v dané kategorii vypísání podkategorií ve vybrané kategorii
zařazení rozhovoru do kategoríí vypsání rozhovorů
výpis TOP 5 nejlépe hodnocených rozhovorů
editování článku smazání článku vypsání článků zobrazení vybraného článku
Vkládanému článku přiřadíme souvislé rozhovory
Přidání otázky
Uživatel
přidání otázky do rozhovoru uživatelem
Odstranění otázky
Administrátor, Moderátor Administrátor, Moderátor, Host Administrátor, Moderátor, Host Administrátor, Moderátor, Host
odstranění otázky
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ě
Přidání odpovědi Editace odpovědi Odstranění odpovědi
2.2.1 DF diagramy
2.2.1.1 DFD 0. úrovně
přidání odpovědi na otázku editování odpovědi na otázku odstranění odpovědi na otázku
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 Moderátora 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, Moderátor, 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)