STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE



Podobné dokumenty
STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCI[LNÍ PÉČE

Doporučení k uspoř{d{ní a form{tov{ní. z{věrečné maturitní pr{ce

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA ELEKTROTECHNICKÁ A INFORMAČNÍCH TECHNOLOGIÍ BRNO LEGO POHYB ROBOTA LUDMILA KIKTOVÁ V4B

IMPLEMENTACE ECDL DO VÝUKY

Přihlašování na kurzy CTVS

Nemocnice. Prvotní analýza a plán projektu

Průvodce aplikací FS Karta

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access propojení relací s formuláři a sestavami Ing.

Nápověda pro systém moje.i-zakovska.cz

Questionnaire příručka uživatele

Manuál. Omluvenky online

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access formuláře a sestavy - vytváření Ing. Kotásek Jaroslav

Manuál k databázi soupisů duší

Zadání maturitní práce ve školním roce 2016/2017

Rezervační systém Tvorba WWW stránek

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či.

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i.

Uživatelská příručka

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

Uživatelská příručka. 06/2018 Technické změny vyhrazeny.

Aplikace objednávání svozů

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

Elektronické zpracování dotazníků AGEL. Verze

Novinky ISÚI a VDP verze

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Návod. PersonIS. k provádění základních operací v aplikaci 1/8. v1.0

A7B39PDA - Naspoř si svůj sen. Jan Hovorka (hovorja4@fel.cvut.cz)

Webové rozhraní informačního systému Bakaláři

5.2 Controller zastupce

1 Webový server, instalace PHP a MySQL 13

Manuál pro práci s modulem Otázky a odpovědi

PRACUJEME S TSRM. Modul Samoobsluha

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Uživatelská příručka pro respondenty

Příručka uživatele HELPDESK GEOVAP

Informační systém Národní soustavy kvalifikací (IS NSK) Návod na obsluhu interního webu - tvorba kvalifikačního a hodnoticího standardu

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

Tour de ABB 2013 Průvodce online aplikací

Popis programu EnicomD

Bakaláři elektronická žákovská knížka (přístup rodičů)

17. července :51 z moravec@yahoo.com

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Redakční systém Joomla. Prokop Zelený

ZÁZNAMNÍK UČITELE - 1. BLOK

Docházka INTRAWEB. Osobní údaje

Návod na využití komunikace se Základními registry v programu ESPI 8

Individuální projekt z předmětu webových stránek 2012/ Anketa

ŠTÍTKOVÁNÍ. informativní manuál pro uživatele HelpDesku

Manuál k užívání webové aplikace BAKALÁŘI

db-direct internet Customer Self Administration (vlastní správa uživatelů) Uživatelská příručka

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Moje-Projekty.cz Dokumentace k aplikaci

Aplikace Bakaláři. Návod

ZAMĚSTNANCI VYTVOŘENÍ KARTY ZAMĚSTNANCE

PRO PRÁCI S APLIKACÍ SKV - VÝBĚR KVALITNÍCH VÝSLEDKŮ

Nastavení zabezpečení

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

Microsoft Office. Excel vyhledávací funkce

5 Evidence manželských smluv

Příprava prostředí pro výuku PHP a MySQL

Návod na používání systému Bakaláři pro zákonné zástupce žáků Základní školy a mateřské školy Mosty u Jablunkova 750

ČÁSTEČNÝ A KONEČNÝ ROZVRH - UPRAVENÁ FUNKČNOST... 2 ELEKTRONICKÝ FORMULÁŘ - KONEČNÁ ZPRÁVA: ZAOKROUHLENÍ ČÁSTEK PRO VĚŘITELE V ROZVRHU...

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Docházkový systém modul E-PORTÁL

Dotazníky v Teamiu. Nastavení dotazníků. Vytvoření dotazníku

Personální evidence zaměstnanců

Modul EPNO. Téma: Elektronické odesílání evidenčních listů přepravy nebezpečných odpadů

Výukový materiál zpracovaný v rámci projektu

Metodická příručka pro učitele. InspIS SET modul školní testování

Student. Funguje: Přihlášení Výběr školy Výběr role Změna Akademického roku Změna kurzu Odhlášení Přihlášení offline

Profesis on-line Obrázky v prezentaci byly upraveny pro potřeby prezentace.

UŽIVATELSKÁ PŘÍRUČKA RODIČ

Podrobný návod pro administraci zákaznických účtů na portálu Czechiatour.eu

Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín. Novinky v elektronické žákovské knížce

BENCHMARKING VENKOVA. Uživatelská příručka nástroje ehomer.cz. Verze dokumentu: 1.1

Popis aplikace Portál práce pro oblast bezpečnostních služeb

Pravidla a plánování

Informační systém pro nemocnici

Ostatní portálové aplikace

UŽIVATELSKÁ PŘÍRUČKA UČITEL

Př ihlaš ova ní do IS etešty př eš JIP

Konverze seznamu pohledávek do formátu CKM

K práci je možné přistoupit následujícím způsobem. Odkaz na práci se nachází na osobním webu autora práce:

Manuál k užívání webové aplikace BAKALÁŘI

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Nápověda k systému CCS Carnet Mini

Modul Ankety verze 1.11 pro redakční systém Marwel 2.8 a 2.7

Uživatelská příručka k systému Jídelna inet

KIV/ZIS cvičení 5. Tomáš Potužák

Přihlášení k maturitním zkouškám

LMS Moodle příručka učitele

Uživatelský manuál Radekce-Online.cz

Transkript:

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE TŘÍDNÍ KNIHA ROZVRH A ABSENCE JAN PŘÍVARA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011

Prohlašuji, že jsem maturitní pr{ci vypracoval samostatně a použil jsem přitom pouze uvedené prameny a literatury. V Brně dne 1. 4. 2011 Jan Přívara ii

Obsah Obsah... 1 Předmluva... 2 Anotace... 2 1 Koncepce... 3 2 Analýza problému a princip jeho řešení... 3 2.1 Princip řešení... 3 2.1.1 Struktura databáze... 3 2.1.2 Programový kód... 3 2.3 Možná omezení... 4 3 Návrh a popis vlastního řešení... 4 3.1 Návrh databáze... 4 3.2 Návrh a tvorba webové části... 6 3.2.1 Design a rozvržení aplikace... 6 3.2.2 Rozlišení uživatelů aplikace... 6 3.2.3 Zdrojový kód... 7 3.3 Popis vybraných částí programového kódu... 8 3.4 Testování... 9 3.4.1 Průběžné testování... 9 3.4.2 Závěrečné testování... 9 4 Závěr... 10 5 Seznam zdrojů a použité literatury... 10 6 Seznam ilustrací... 10 7 Seznam příloh... 10 1

Předmluva V dnešní moderní době je digitalizace velmi často používané slovo. Toto téma se týk{ takřka všech možných odvětví, školství nevyjímaje. Na většině moderních škol je studentský průkaz, do kterého byly studentovi v průběhu jeho studia zapisov{ny zn{mky, již minulostí. Dnes mají studenti přehled svých dosažených výsledků na internetu. Dalším krokem může být třeba zavedení elektronické třídní knihy. Výhody elektronické podoby jsou nepopiratelné. Pokud je informační systém kvalitní, může oproti papírové verzi nabídnout větší komfort a bezpečnost. Tato pr{ce se zabýv{ tím, jak by takov{ elektronick{ třídní kniha mohla vypadat. Anotace Aplikace m{ umožnit vést evidenci o doch{zce a absenci studentů. Aplikace bude pracovat s datab{zí, ve které budou uloženy informace o rozvrhu třídy, studentech ve třídě a jejich doch{zce. Bude vytvořeno několik skupin uživatelů s odlišnými možnostmi pr{ce s aplikací, souč{stí bude autentizace a autorizace. 2

1 Koncepce Snahou je tedy vytvořit systém, který by umožňoval učitelům jednoduše a pohodlně zad{vat studentům absenci. Nejlepším řešením je pravděpodobně internetov{ aplikace spolupracující s datab{zí, ve které by byly uloženy všechny potřebné informace. Po přihl{šení by učitel mohl studentům, které m{ podle rozvrhu v danou hodinu učit, zad{vat absence. 2 Analýza problému a princip jeho řešení 2.1 Princip řešení 2.1.1 Struktura datab{ze Navržen{ datab{ze by měla být co možn{ nejefektivnější. To mimo jiné znamen{ vhodné použití dědičnosti mezi jednotlivými tabulkami a navržení datab{ze takovým způsobem, aby stejn{ data nebyla uložena v datab{zi vícekr{t. Dědičnost také zlepšuje přehlednost celkové struktury datab{ze. Rozvrh tříd a jejich specializací bylo možné vyřešit dvěma způsoby. Prvním způsobem je do datab{ze ukl{dat všechny kombinace jednotlivých podtříd dané třídy. Každý student by potom měl přiřazenu jednu takovou kombinaci, čímž by byl určen jeho kompletní rozvrh. Tento způsob je jednodušší na realizaci, ale není příliš kvalitní. Druhou variantou je uložit do datab{ze pouze rozvrh kmenové třídy a jednotlivých podtříd, přičemž celkový rozvrh by se sestavoval pomyslným složením těchto rozvrhů. Je použito spojovací tabulky, kter{ určuje ve kterých tříd{ch je student přiřazen. Tento způsob je daleko výhodnější z hlediska kvality n{vrhu i paměťové n{ročnosti na datab{zi, ale jeho realizace je složitější. Vyvst{v{ zde také větší nebezpečí kolize. 2.1.2 Programový kód Programový kód by měl být členěn tak, aby poskytoval program{torovi v pozdějších f{zích vývoje určitý komfort. K tomu jsou vhodné programové třídy, jejichž použív{ní velmi usnadňuje pr{ci. Programové třídy zapouzdřují metody a vlastnosti týkajících určitého problému. Zvl{ště efektivní je toto řešení v případech, kdy využív{me třídu na více místech a opakovaně. 3

V této aplikaci je vhodné do programové třídy umístit funkce, které pracují s datab{zí a datab{zovými objekty. Příkladem takové funkce může být funkce, kter{ vytv{ří v datab{zi novou osobu podle zadaných parametrů, jakými jsou jméno, příjmení, email atd. Použitím tříd také minimalizujeme výskyt možných chyb, protože všechen kód, který souvisí s prací v datab{zi, je umístěn na jednom místě. 2.3 Možn{ omezení Aplikace musí průběžně kontrolovat, zda by uživatelem zadanými hodnotami nevznikla ve vnitřní struktuře systému tzv. kolize. Jedn{ se o logické chyby, jako například přiřazení stejné emailové adresy dvěma různým uživatelům. Tato problematika se týk{ především rozvrhu hodin. Je nutné předejít tomu, aby student nebo učitel měl v jednu vyučovací hodinu podle rozvrhu přiřazen více vyučovacích hodin. Rozvrh hodin podtříd se nesmí překrývat s rozvrhem jejich kmenové třídy. Rozvrhy hodin jednotlivých podtříd se překrývat mohou (typickým příkladem jsou specializace), ale nesmí existovat student, který by byl členem dvou takových tříd. 3 N{vrh a popis vlastního řešení 3.1 N{vrh datab{ze Podle zadaných požadavků byla navrhnuta n{sledující struktura datab{ze: 4

Ilustrace 1: Struktura databáze Celkový rozvrh uživatele je získ{n složením jednotlivých rozvrhů podtříd a kmenové třídy. Výhody a nevýhody tohoto způsobu řešení byly pops{ny v kapitole 2.1.1. 5

V této aplikaci byla dědičnost použita pouze ve vztahu osoba-student a osoba-učitel. Student i učitel jsou totiž osoby, a měly by tedy mít společné z{kladní vlastnosti, jako je např. jméno a telefon. Jedinou tabulkou, kter{ nem{ ž{dné propojení se zbytkem datab{ze, je tabulka zvoneni. Tato tabulka obsahuje čas zač{tku a konce zvonění pro všechny hodiny v týdnu. 3.2 N{vrh a tvorba webové č{sti 3.2.1 Design a rozvržení aplikace Grafick{ podoba aplikace byla již od poč{tku pl{nov{na tak, aby byla co nejjednodušší a bez nadbytečných prvků. Rozhodl jsem se pro rozvržení do tří sloupců, přičemž každý sloupec je určen pro jinou funkci. Levý sloupec zobrazuje volby, které jsou přístupné pro všechny uživatele aplikace, bez ohledu na to, zda jsou přihl{šeni či nikoliv. Prostřední sloupec zobrazuje obsah podle požadavků uživatele, například výpis svého vlastního rozvrhu. Pravý sloupec zobrazuje možnosti, které jsou dostupné pro pr{vě přihl{šeného uživatele. Pokud není uživatel přihl{šen, je zobrazen pouze formul{ř pro přihl{šení. Ilustrace 2: Design a grafické rozvržení aplikace 3.2.2 Rozlišení uživatelů aplikace 3.2.2.1 Nepřihl{šený uživatel Nepřihl{šený uživatel m{ pouze možnost zobrazit si seznam tříd a jejich rozvrh hodin. 3.2.2.2 Uživatel Administr{tor Administr{tor je nejvýše postaveným uživatelem aplikace. M{ na starosti spr{vu všech uživatelů a tříd. 6

Administr{tor může vykon{vat tyto činnosti: Přid{vat, editovat a odstraňovat učitele, studenty a třídy Zařazovat studenty do tříd Editovat předměty a rozvrhy jednotlivých tříd 3.2.2.3 Uživatel Učitel Učitel m{ v aplikaci úlohu zad{v{ní absence studentům. Absenci ale může zadat jen studentům třídy, které učí, a to navíc jen v době, ve které m{ mít podle rozvrhu hodinu. Pokud je učitel třídním učitelem, může zobrazit a omlouvat absenci studentům jeho třídy. M{ také možnost zobrazit si vlastní rozvrh hodin v týdnu. Učitel může vykon{vat tyto činnosti: Zobrazit absence studentů jeho třídy podle zadaných kritérií (časový interval, omluveno/neomluveno) Omlouvat absence studentům jeho třídy Zad{vat absence studentům třídy, kterou m{ podle rozvrhu v danou dobu učit Zobrazit si vlastní rozvrh hodin v týdnu 3.2.2.4 Uživatel Student Student nem{ možnost jakkoliv zasahovat do datab{ze. Disponuje pouze možností zobrazit si své vlastní absence a svůj rozvrh hodin. Student může vykon{vat tyto činnosti: Zobrazit si vlastní absence podle zadaných kritérii (časový interval, omluveno/neomluveno) Zobrazit si vlastní rozvrh hodin v týdnu 3.2.3 Zdrojový kód Zdrojový kód aplikace je členěn do několika souborů. Pro vytvoření potřebných tabulek v datab{zi slouží soubor src/create_tables.php. Po jeho spuštění jsou vyps{ny informace, zda byly tabulky úspěšně vytvořeny. Pro funkčnost tohoto souboru je nutné zadat do souboru src/files/config.php platné přihlašovací údaje k datab{zi. O pr{ci s datab{zí a o data třídní knihy se star{ přev{žně programov{ třída Engine, kter{ je umístěna v souboru src/files/engine.php. V této třídě jsou metody (funkce třídy) pro spr{vu všech objektů aplikace. Při vytvoření instance této třídy dojde také k automatickému připojení do datab{ze, je ale nutné uvést přihlašovací údaje k datab{zi v souboru src/config.php. Tato třída, potažmo její metody jsou poté vol{ny podle požadavků uživatele. Soubor src/index.php je spuštěn na zač{tku aplikace. Představuje šablonu, ve které jsou spojeny jednotlivé soubory. Na zač{tku tohoto souboru je vytvořena instance třídy Engine. D{le jsou vloženy soubory, které zobrazují odlišné č{sti str{nky podle zadaných požadavků. Jedn{ se o soubory src/files/body.php a src/files/right.php. 7

Zobrazovaný obsah je určen pomocí odkazů, které vkl{dají do URL adresy proměnné. Soubory, které se starají o funkcionalitu jednotlivých uživatelů, jsou uloženy v adres{ři src/files/x, kde X představuje n{zev uživatele (admin/student/teacher). Soubory, které mohou být využív{ny více typy uživatelů, jsou umístěny v adres{ři src/files. Při vkl{d{ní těchto souborů je kontrolov{no, zda m{ uživatel potřebné opr{vnění. 3.3 Popis vybraných č{stí programového kódu 01: // pri uspesnem prihlaseni vraci id osoby, v pripade neuspechu 0 02: public function prihlasituzivatele($nickname, $password) 03: { 04: // prihlaseny uzivatel se nemuze znovu prihlasit 05: if (isset($_session['prihlasen']) AND $_SESSION['prihlasen'] == true) 06: { 07: return 0; 08: } 09: 10: $ret=0; 11: $sql_dotaz = sprintf("select id_osoba, username, admin FROM osoba 12: WHERE username = '%s' AND password = '%s';", 13: $nickname, sha1($password)); 14: if ($vysledek = $this->mysql_spojeni->query($sql_dotaz)) 15: { 16: if ($vysledek->num_rows == 1) 17: { 18: if ($radek = $vysledek->fetch_object()) 19: { 20: $ret = $radek->id_osoba; 21: $_SESSION['prihlasen'] = true; 22: $_SESSION['id_osoba'] = $radek->id_osoba; 23: $_SESSION['username'] = $radek->username; 24: $_SESSION['admin'] = $radek->admin; 25: } 26: } 27: $vysledek->close(); 28: } 29: return $ret; 30: } Příloha 1: Ukázka programového kódu Tato metoda slouží pro ověření jména a hesla, které zad{ uživatel. Pro lepší orientaci jsou jednotlivé ř{dky očíslov{ny. N{vratovou hodnotou této metody je v případě úspěšného přihl{šení identifikační číslo, které odpovíd{ konkrétní osobě v datab{zi. Podle tohoto identifikačního čísla můžeme později rozlišit, který uživatel se pr{vě přihl{sil do systému. Pokud uživatel zad{ neplatné přihlašovací údaje, nebo během vykon{v{ní nastane chyba, metoda vr{tí jako n{vratovou hodnotu nulu. Identifikační číslo s hodnotou nula nemůže mít přiřazeno ž{dný uživatel (s číslov{ním se začín{ od jedničky). 8

Na ř{dku č. 2 je deklarace metody. Ta určuje mimo jiné její vstupní parametry, kterými jsou v tomto případě přihlašovací jméno ($nickname) a heslo ($password). Ze zač{tku metody probíh{ kontrola, zda již uživatel není přihl{šen. Pokud uživatel přihl{šen je, metoda vr{tí nulu. Na ř{dcích č. 11, 12 a 13 se sestavuje dotaz pro datab{zi. Tento dotaz m{ ověřit, zda se v datab{zi vyskytuje osoba, kter{ m{ přiřazeny zadané přihlašovací údaje. Jelikož je přihlašovací jméno vždy unik{tní, nemůže se st{t, že by zadané přihlašovací údaje byly stejné u více osob. Podmínka, kter{ zjišťuje, zda takov{ osoba existuje, je na ř{dku č. 18. Za ní n{sleduje blok příkazů, který se provede v případě shody zadaných údajů s některým z{znamem v datab{zi. V tomto bloku si aplikace poznamen{, který uživatel se přihl{sil. Také se zapíše, jestli m{ administr{torské opr{vnění (ř{dek č. 24). Posledními operacemi je uvolnění objektu obsahujícího odpověď datab{ze (ř{dek č. 27) a vr{cení n{vratové hodnoty (ř{dek č. 29). 3.4 Testov{ní 3.4.1 Průběžné testov{ní Během vývoje bylo několikr{t provedeno průběžné testov{ní. Vždy po dokončení určitého logického celku, jako je např. spr{va studentů, byla ověřena spr{vn{ funkčnost. Nejvíce času zabraly testy, které n{sledovaly po provedení úpravy, kter{ zpětně ovlivňovala již vytvořené funkce. Typickým příkladem bylo rozšíření některé z tabulek datab{ze. 3.4.2 Z{věrečné testov{ní Po dokončení aplikace bylo provedeno z{věrečné testov{ní, které spočívalo v kompletním ověření celé funkčnosti. Byla vytvořena nov{ datab{ze pomocí souboru src/create_tables.php. Přes webové rozhraní byli potom administr{torem vytvořeni noví učitelé, nové třídy a podtřídy, předměty tříd, rozvrhy tříd a studenti. U všech těchto objektů byla také otestov{na jejich editace a odebír{ní. Studentům pak byla v průběhu týdne jejich učiteli vytvořena absence, kterou poté omluvili jejich třídní učitelé. Během tohoto testov{ní nebyla objevena ž{dn{ chyba. 9

4 Z{věr Podařilo se vytvořit aplikaci reprezentující elektronickou třídní knihu. Přestože by jistě bylo možné přidat další funkcionalitu, myslím si, že i tak se jedn{ o poměrně rozs{hlou aplikaci (zdrojový kód se skl{d{ z více než 4200 ř{dků). Nejsložitější č{stí bylo bezpochyby naprogramov{ní rozvrhu, protože zde bylo nutné kontrolovat velké množství podmínek. V konečné podobě aplikace umožňuje jednoduchou a pohodlnou spr{vu rozvrhů tříd a absencí studentů. 5 Seznam použitých zdrojů a literatury 1. Dokumentace PHP (http://www.php.net/docs.php) 6 Seznam ilustrací Ilustrace 1: Struktura datab{ze 5 Ilustrace 2: Design a grafické rozvržení aplikace.. 6 7 Seznam příloh Příloha 1: Uk{zka programového kódu. 8 10