MENDELOVA ZEMĚDĚLSKÁ A LESNICKÁ UNIVERZITA V BRNĚ Provozně ekonomická fakulta
Analýza a návrh informačního systému mateřské školy Bakalářská práce
Vedoucí bakalářské práce:
Vypracoval:
doc. Ing. Ivana Rábová, Ph.D.
Jakub Hemala
Brno 2007
Děkuji touto cestou vedoucí mé bakalářské práce doc. Ing. Ivaně Rábové, Ph.D. za přínosné konzultace, rady a připomínky, které mi během zpracování práce poskytla. Dále také pracovníkům Mateřské školy Domašov za ochotu, poskytnuté informace a spolupráci.
Prohlašuji, že jsem bakalářskou práci vyřešil samostatně s použitím literatury, kterou uvádím na konci této práce.
V Brně dne 17. května 2007
……………………………
Abstract Hemala, J. Analysis and design of the nursery school information system. Bachelor’s thesis. Brno, 2006. This bachelor’s thesis deals with the analysis of the Nursery school Domašov information system, design the information system, economic analysis of the boot expenses and putting part of the system into service. Analysis covers all regular and routine data flows of nursery school. Designed and realized is part of the simulated system, evidence of kids and their lawful deputies. Output is simple application providing intuitive interface for management of school and lawful deputies of children.
Abstrakt Hemala, J. Analýza a návrh informačního systému mateřské školy. Bakalářská práce. Brno, 2006. Tato bakalářská práce se zabývá analýzou informačního systému Mateřské školy Domašov (státní organizace), navržením informačního systému, ekonomické analýzy zaváděcích nákladů a uvedením části systému do provozu. Analýza pokrývá všechny běžné a pravidelné datové toky mateřské školy. Navržena a realizována je část modelovaného systému, evidence dětí a jejich zákonných zástupců. Výstupem je jednoduchá aplikace poskytující intuitivní rozhraní pro vedení školy a zákonné zástupce dětí.
_______________________________________________________________________ 6
Obsah 1 Úvod a cíl práce............................................................................................................ 8 1.1 Úvod........................................................................................................................ 8 1.2 Cíl práce.................................................................................................................. 8 2 Teorie systémů.............................................................................................................. 9 2.1 Systém obecně ........................................................................................................ 9 2.2 Dělení systémů........................................................................................................ 9 3 Informační systémy................................................................................................... 10 3.1 Charakteristika ...................................................................................................... 10 3.2 Dílčí architektury informačního systému ............................................................. 11 3.2.1 Procesní architektura...................................................................................... 11 3.2.2 Funkční architektura ...................................................................................... 11 3.2.3 Datová architektura........................................................................................ 12 3.2.4 Softwarová architektura................................................................................. 12 3.2.5 Hardwarová architektura................................................................................ 13 3.2.6 Technologická architektura............................................................................ 13 3.2.7 Architektura 4+1 pohledů .............................................................................. 13 3.3 Životní cyklus informačního systému................................................................... 14 3.3.1 Specifikace problému .................................................................................... 14 3.3.2 Analýza .......................................................................................................... 15 3.3.3 Návrh a implementace ................................................................................... 15 3.3.4 Zavádění ........................................................................................................ 15 3.3.5 Testování........................................................................................................ 17 3.3.6 Dokumentace ................................................................................................. 17 3.3.7 Provoz a údržba ............................................................................................. 17 3.4 Modely životního cyklu ........................................................................................ 18 4 Metodiky analýzy a tvorby modelu .......................................................................... 18 4.1 Strukturovaný přístup ........................................................................................... 19 4.1.1 Nástroje strukturované analýzy ..................................................................... 19 4.2 Objektový přístup ................................................................................................. 20 5 Použité programové prostředky pro modelování ................................................... 22 5.1 CASE nástroje....................................................................................................... 22 5.2 PowerDesigner...................................................................................................... 22 6 Použité prostředky pro implementaci...................................................................... 23 6.1 Jazykové prostředky ............................................................................................. 23 6.1.1 HTML a CSS ................................................................................................. 23 6.1.2 SQL................................................................................................................ 23 6.1.3 PHP ................................................................................................................ 24 6.2 Programové prostředky......................................................................................... 24 6.2.1 PuTTy a dbMan ............................................................................................. 24 6.2.2 PSPad ............................................................................................................. 24 7 Model informačního systému mateřské školy ......................................................... 25 7.1 Prostředí problémové domény .............................................................................. 25 7.2 Procesní hiearchická struktura systému ................................................................ 26 7.3 Kontextový diagram ............................................................................................. 27 7.4 Data Flow Diagram............................................................................................... 30 7.5 Dekompozice procesu IS Provoz .......................................................................... 31 7.5.1 Minispecifikace procesu procesu IS Obědy................................................... 33
_______________________________________________________________________ 7 7.5.2 Minispecifikace procesu IS Evidence dětí..................................................... 34 7.5.3 Minispecifikace procesu Vlastní provoz........................................................ 35 7.6 Dekompozice procesu IS Finance......................................................................... 35 7.6.1 Minispecifikace procesu IS Platy .................................................................. 37 7.6.2 Minispecifikace procesu IS Zpracování dokladů........................................... 37 7.6.3 Minispecifikace procesu IS Pokladna............................................................ 38 7.7 Entitně relační diagram systému........................................................................... 39 8 Návrh vlastního technologického řešení .................................................................. 40 8.1 Návrh pro zkušební provoz................................................................................... 40 8.2 Návrh pro běžný provoz ....................................................................................... 41 9 Ekonomická analýza nákladů na zavedení systému............................................... 43 9.1 Ceny a charakteristika technických prvků ........................................................... 43 9.2 Odhadované náklady............................................................................................. 44 10 Realizace aplikačního rozhraní systému................................................................ 45 10.1 Databáze.............................................................................................................. 45 10.1.1 Ukázka kódu pro založení databáze............................................................. 45 10.1.2 Ukázka použitých SQL příkazů................................................................... 46 10.2 Webové rozhraní................................................................................................. 46 10.2.1 PHP spojení s databází................................................................................. 47 10.2.2 Rozhraní pro vedení školy ........................................................................... 48 10.2.3 Rozhraní pro zákonné zástupce dětí ............................................................ 48 11 Zhodnocení výsledků práce..................................................................................... 50 12 Závěr ......................................................................................................................... 51 13 Literatura ................................................................................................................. 52 14 Přílohy....................................................................................................................... 53
_______________________________________________________________________ 8
1 Úvod a cíl práce 1.1 Úvod Vzhledem k tomu, že je dnes povinná právní subjektivita i pro organizace typu mateřských škol a mateřinek ze zákona, je možné i obdobné organizace s rovnat s provozem malých firem. S příchodem právní subjektivity, kterou je možné definovat jako způsobilost vystupovat v právních vztazích vlastním jménem a nést majetkovou odpovědnost z těchto vztahů vznikající, získaly mateřské školy značnou míru samostatnosti ve formě větší svobody rozhodování a menší závislosti na státní správě. Na druhou stranu však vysoce vzrostly nároky na administrativu a působnost vedení školy, kdy mnohdy na jednoho nebo několik členů vedení (statutárním orgánem mateřské školy je její ředitel, který navíc působí i jako vyučující) přechází činnosti a povinnosti, které v minulosti obstarávalo hned několik úřadů státní správy. Státní mateřské školy nejsou výdělečné organizace a jsou často závislé na omezeném rozpočtu schváleným obcí, proto si nemohou ve většině případů dovolit jako mnohé komerční firmy najímat na tyto činnosti externí pracovníky nebo přijímat nové, respektive jsou jejich možnosti v tomto ohledu velmi omezené. Všechny uvedené okolnosti zapříčinily nejenom výrazný nárůst informačních toků přímo v mateřských školách, ale hlavně mezi školou a okolím. Okolí, neboli prostředí působnosti školy je za daných okolností porovnatelné s prostřením, ve kterém působí jiné komerční organizace, zahrnující nejen státní úřady, dodavatele a jiné obchodní partnery, ale dnes už i konkurenci v podobě obdobných okolních institucí, státních i soukromých.
1.2 Cíl práce Cílem mé bakalářské práce je provést analýzu informačních toků v mateřské škole Domašov, vytvořit ucelený model informačního systému postihující veškeré standardní komunikační vazby i evidence a uvést do provozu aplikaci vyvíjenou na míru konkrétní mateřské škole. Aplikace by měla být díky formalizovanému chodu školy po drobných úpravách použitelná i v obdobných zařízeních. Dále bude práce obsahovat návrh vlastní technické realizace, výpočet nákladů na tuto realizaci a ekonomické zhodnocení.
_______________________________________________________________________ 9
2 Teorie systémů V souvislosti s informačními systémy jsou jedny z nejčastěji používaných pojmů data a informace. Informace je obecně výsledek vyhodnocování smyslových vjemů a jejich reprezentace. Její definice se rozchází v závislosti na úhlu pohledu a pro různá odvětví bývá odlišná. V rámci informačních systémů můžeme nahlížet na informaci jako na data, kterým je schopen uživatel přisoudit určitý význam a které uspokojují konkrétní objektivní informační potřebu svého příjemce. Informace vznikají z dat až v okamžiku jejich užití a zpracování, představují tak vypovídací schopnost dat a jsou cílem zpracování dat. Samotná data bez schopnosti je správně interpretovat jsou pro koncového uživatele bezcenná. Informační technologie můžeme chápat jako veškeré technické a programové prostředky a nezbytné znalosti i metodiky pro jejich používání, sloužící k podpoře zpracování, poskytování, správu, uchovávání, získávání, šíření a přenos informací.
2.1 Systém obecně Obecný systém je pojem, který chápeme jako množinu nebo soubor prvků (komponent), mezi kterými existují nějaké vazby, kdy jednotlivé komponenty poskytují svému okolí služby, využívají služeb jiných komponent nebo obojí. Systém sjednocuje jednotlivé komponenty a jejich služby za účelem splňování cíle nebo cílů, pro které byl navržen. Každý systém by měl splňovat určitý cíl a jeho prvky jsou ve vzájemné interakci.
2.2 Dělení systémů Systémy dělíme s různých hledisek na: •
uzavřené nebo otevřené – podle toho, zda nastává vztah z okolím,
•
deterministické nebo stochastické – jednoznačné nebo statické chování,
•
statické nebo dynamické – lineární nebo diferenciální,
•
spojité nebo diskrétní – podle časových událostí.
Systémy lze také rozdělit na měkké a tvrdé. Narozdíl od měkkých, které jsou obecnější a vystupuje v nich celá řada faktorů, jsou tvrdé spojovány jen s jedním strukturovaným problémem. (Wikipedie, 2007)
_______________________________________________________________________ 10
3 Informační systémy 3.1 Charakteristika Narozdíl od obecného systému můžeme informační systém charakterizovat přesněji, jako ucelený komplex informací, lidí, použitých informačních technologií, organizace práce, řízení chodu systému (zabezpečuje propojení na prostředí) a metod sloužících ke sběru, přenosu, uchování a dalšímu zpracování dat za účelem tvorby a prezentace informací. (Rábová, 2006) Informační systém jako ucelenou jednotku (process), přijímající vstupní data (inputs) a po zpracování generující transformovaná data na výstup (outputs), máme znázorněnu na obrázku 1. Takto se systém jeví externímu uživateli, který jej jako celek využívá ke sběru dat, jejich zpracování ve formě třídění, výběru a transformace a následnému výstupu v pro něj vnímatelné a srozumitelné podobě.
Obrázek 1: Informační systém chápaný jako komplexní jednotka
V netriviálních systémech se setkáváme s dělením hlavního systému (viz obrázek 2), který vystupuje navenek jako kompaktní celek s jeho dělením na dva a více podsystémů (analogie s prvky neboli komponentami systému obecného), kdy každý podsystém zpracovává svou vlastní logicky a věcně související oblast problému. Jednotlivé subsystémy jsou ve vzájemné interakci, poskytují si služby a podílejí se na celkové funkci informačního systému. (Sauter, 2000)
_______________________________________________________________________ 11
Obrázek 2: Informační systém a jeho subsystémy
3.2 Dílčí architektury informačního systému 3.2.1 Procesní architektura Návrh procesní architektury si klade za cíl analyzovat a popsat nejdůležitější externí události, reprezentující fundamentální vazby okolí k systému a definující tak jeho funkcionalitu při nízké spotřebě podnikových zdrojů. Nástrojem pro modelování procesní architektury je kontextový diagram znázorňující systém jako jeden proces a zachycující důležité vazby s jeho okolím, které jsou reprezentovány datovými toky do systému nebo ven ze systému směrem k jednotlivým prvkům okolí, které nazýváme terminátory.
3.2.2 Funkční architektura Funkční architektura hierarchicky navazuje na procesní architekturu. Postupným dekomponováním fundamentálního procesu na podsystémy, neboli hierarchickým rozkladem, získáváme nižší úrovně systému, které se úžeji zaměřují na řešení specifického problému a poskytování jim příslušejících služeb. Znamená to že informační systém může mít i několik úrovní reprezentující jednotlivé podsystémy. Na nejnižší úrovni funkční hierarchie je každý proces popsán minispecifikací, což je slovní popis funkcí
_______________________________________________________________________ 12 spadající do kompetence daného procesu. Elementární funkce neboli transakce mají uživatelé k dispozici. Nástrojem pro modelování funkční architektury je data flow diagram (DFD) a výše zmíněná minispecifikace.
3.2.3 Datová architektura Datová architektura jako návrh datové základny informačního systému vychází z analýzy datových objektů a jejich vztahů, které bude systém využívat, a na jejím základě se navrhují datové entity, vazby mezi entitami a vlastní atributy entit. Entitu v tomto případě chápeme obdobně jak v obecné terminologii jako objekt, který je schopen se nějakým způsobem odlišit, samostatně existovat, konkrétně, hmotně i abstraktně. Entitu z pohledu databázové architektury můžeme konkretizovat jako tabulku sdružující prvky reálného světa se stejným typem vlastností (atributy). Vazba mezi entitami pak popisuje vzájemné vztahy, která určuje nejen vazebné prvky, ale také násobnost (kardinalitu) a povinnost. Nástrojem pro modelování datové architektury je entitně relační diagram (ERD), který popisuje jednotlivé entity, jejich atributy a vztahy mezi entitami.
3.2.4 Softwarová architektura Softwarová architektura je vymezena použitými programovými moduly a vazbami mezi těmito moduly. Jednotlivé vazby jsou pak specifikovány voláním modulů a předávanými daty. Ve vztahu k modulu můžeme rozlišit tato data na vstupní, výstupní a řídící. Datové toky proudící dovnitř nebo ven z modulu souvisí s funkcemi které modul obstarává a které poskytuje jiným modulům nebo přímo koncovým uživatelům systému. Vlastní modul je v zásadě posloupnost instrukcí pro zpracování vstupních dat a jejich transformaci na data výstupní. Jazyk a syntaxe instrukcí jsou dány použitým vývojovým prostředím a programovacím jazykem. Typickými zástupci softwarové architektury je systém řízení báze dat (SŘBD), což je balík programových prostředků pro definici, správu a řízení dat. Dále například operační systém nebo presentační systémy. Podle typu můžeme softwarovou architekturu rozlišit na lineární, hierarchickou, síťovou a vrstevnou. V lineární architektuře jsou elementární funkce uspořádány sekvenčně a je
_______________________________________________________________________ 13 již využívána jen výjimečně. Vazby jednotlivých funkcí hierarchické architektury jsou reprezentovány stromovým grafem a každá elementární funkce je využita právě jednou funkcí úrovně vyšší. Architektura vyniká svou přehledností a jejím záporem je vysoká nákladnost. U síťové architektury neplatí hierarchické dělení na podřízené a nadřízené komponenty, nejsou definována pravidla ošetřující vztahy mezi jednotlivým částmi a libovolná komponenta může využívat služeb komponent ostatních. Síťová architektura se vyznačuje flexibilitou ve formě snadného přidávání nových funkcí a je vhodná pro tvorbu rozsáhlejších systémů. Poslední architektura se nazývá vrstevná, protože uspořádává funkce do několika vrstev. Jednotlivé vrstvy pak využívají služeb vrstev podřízených a naopak poskytují služby vrstvám vyššího stupně.
3.2.5 Hardwarová architektura Hardwarová architektura stanovuje typy a množství použitých hardwarových jednotek, a propojení mezi nimi s ohledem na funkcionalitu a slučitelnost.
3.2.6 Technologická architektura Technologická architektura stanovuje technické řešení systému a propojuje software, hardware a datovou základnu. Zvolená architektura musí být schopná zabezpečit vysokou výkonnost, otevřenost, snadné nasazení a účinnou správu v rutinním provozu. Zahrnuje například způsob zpracování (dávkové, interaktivní zpracování, řízené událostmi, v reálném čase), uspořádání počítačových jednotek z hlediska jejich umístění (centralizované zpracování, decentralizované zpracování, distribuované zpracování, kooperativní zpracování), rozvržení do vrstev (datová, funkční, prezentační, komunikační).
3.2.7 Architektura 4+1 pohledů Architektura 4+1 pohledů přináší různé úhly pohledu na informační systém, přičemž každý pohled odpovídá modelu v dokumentaci systému. Logický pohled představuje logickou strukturu systému z hlediska výsledné funkčnosti, čímž stanovuje to co by systém měl vykonávat. Popisuje data a funkce (model perzistentních informací) a identifikuje hlavní věcné balíky, subsystémy, třídy a vazby mezi nimi. Implementační pohled se zabývá organizací statických softwarových komponent, modulů ve vývojovém prostředí, jejich rozčlenění a zaměření. Procesní pohled nahlíží na chování systému a parametry mající významný vliv na jeho funkčnost (kon-
_______________________________________________________________________ 14 kurence a paralelismus, propustnost, automatizované úlohy, tolerance chyb, zotavení z běhových chyb, odezva systému na vnější podněty, rozšiřitelnost systému, jeho výkonnost, přípustnost). Pohled nasazení popisuje fyzické rozložení komponent, nasazení, instalace a ladění výkonu. Pohled případů užití klade základní požadavky na systém, popisuje jednotlivé role, klíčové případy užití (use case) a poskytuje zpětnou vazbu na věcné požadavky při testování. (Rábová, 2006)
3.3 Životní cyklus informačního systému Teorie životních cyklů programových děl můžeme zobecnit také pro informační systém, jehož základem je kromě technického vybavení, datových úložišť a vlastních dat i soubor programových prostředků pro práci a podporu informačního systému, respektive využití zmiňovaných prvků systému. Životní cyklus systému popisuje všechny fáze jeho existence od prvotní myšlenky až po odstavení a likvidaci systému. Modelů životního cyklu existuje několik typů, které rozdělují vývoj projektu do několika etap. Aplikace každého z nich závisí na druhu projektu a požadavcích zadavatele, přičemž každý stanovuje pro vývojáře systému hrubou osnovu jak postupovat a na čem v dané fázi životního cyklu pracovat. Podmětem k tvorbě programového díla nebo informačního či jiného systému bývá prvotní myšlenka zdokonalení stávajících metod a řešení, případně vývoj projektu pokrývající zatím ještě neošetřenou oblast působení. Obecný životní cyklus díla může obsahovat etapy: •
specifikace problému,
•
analýza,
•
návrh a implementace,
•
zavádění,
•
testování,
•
dokumentace,
•
provoz a údržba produktu.
3.3.1 Specifikace problému Specifikace je jako identifikace a upřesněním řešeného problému velmi důležitá fáze, neboť předchází celému vývoji a její chybné, diletantské nebo uspěchané provedení může ohrozit vývoj celého systému. Jinými slovy je důležité si ujasnit, proč systém budujeme, jaké bude poskytovat služby a co od něj očekáváme. Úvodní studie je jedním
_______________________________________________________________________ 15 z hlavních prvků celé etapy a obsahuje cíl a rozsah projektu, jeho organizaci, harmonogram projektu a rozpočet, případně další relevantní položky. Dalšími prvky bývají formální písemné zadaní projektu (Je možné použít i zobrazení pomocí DFD a tabulek.) a specifikace neformální (Návrh informačního systému zapsaný pomocí jednoduchého programovacího jazyka.), dále by neměla chybět specifikace požadavků obsahující název projektu, úvod, shrnutí úkolů systému v srozumitelné formě, vymezení uživatelů, perspektivy projektu, vedení dokumentace, rozpis dat a funkcí, požadavky na hardware, efektivnost, spolehlivost, termíny realizace a další možné upřesňující informace.
3.3.2 Analýza Obecně je analýza vědecká metoda založená na dekompozici celku na elementární části. Cílem analýzy je identifikovat podstatné a nutné vlastnosti elementárních částí celku, poznat jejich podstatu a zákonitosti. (Wikipedie, 2007) Analýzu programového díla následně chápeme jako definování logického modelu aplikace s abstrakcí k fyzickému řešení.
3.3.3 Návrh a implementace Implementace je praktické použití metody či algoritmů za účelem dosažení vytyčeného cíle. (Wikipedie, 2007) Při návrhu a implementaci opět vycházíme z poznatků získaných v předchozích fázích vývoje a tato fáze vývoje obsahuje více navazujících činností, mezi které patří definice parametrů systému (upřesňuje působnost systému), definice pracovních procesů (operace očekávané uživatelem), sestavení myšlenkového datového modelu (definice datových struktur pro uložení dat využitých v celém systému), příprava databázového schématu a konečně návrhu uživatelského rozhraní. Výstupem implementace je tedy již funkční aplikace způsobilá k zavedení do testovacího provozu.
3.3.4 Zavádění Jak již vlastní název fáze napovídá, jde o zavádění implementovaného systému do zkušebního, případně ostrého provozu pro následné testování a ladění. Zavedení systému je náročná často náročná operace na technické vybavení, čas i lidské zdroje, neboť je často nutné vytvořit také datovou základnu (případně transformovat stávající datovou základ-
_______________________________________________________________________ 16 nu), což může obnášet velké nároky na přenos dat a minimalizaci výskytu chyb během transakce. Existuje několik způsobů zavádění systému, v praxi se však často jednotlivé způsoby kombinují: •
Souběžné zavádění, kdy je informační systém zaveden souběžně na všech pracovištích najednou. Tento postup je vhodné použít při zavádění jednodušších IS, které nevyžadují náběhovou fázi zavádění (složitá školení, konverzi dat z předchozích IS).
Obrázek 3: Souběžné zavedení informačního systému
•
Pilotní zavádění, kdy je informační systém zaveden na jednom pracovišti, které je na tuto činnost připraveno. Po zavedení probíhá ověřovací provoz a posléze zde probíhá zacvičování pracovníků ostatních pracovišť. Tento způsob je vhodný pro zavádění kvalitativně odlišných IS, které vyžadují rozsáhlé testování nového IS v provozních podmínkách. Toto pilotní zavádění umožňuje postupnou transformaci dat z předchozích IS. V závěru pilotní fáze dochází k zavádění IS na ostatní pracoviště, které jsou již připravena.
Obrázek 4: Pilotní zavádění informačního systému
•
Postupné zavádění jako proces, při kterém se zavádí informační systém na jednotlivá pracoviště probíhá postupně, bez pilotní fáze. Rychlost zavádění je závislá na připravenosti jednotlivých pracovišť a na složitosti IS.
_______________________________________________________________________ 17
Obrázek 5: Postupné zavádění informačního systému
•
Nárazová strategie zavádění, kdy najednou ukončíme činnost jednoho IS a po nezbytně nutné pauze spustíme nový informační systém. Tento postup je riskantní, používá se tak, kde souběh IS není možný. (homen.vsb.cz, 2005)
Obrázek 6: Nárazová strategie zavedení informačního systému
3.3.5 Testování V etapě životního cyklu testování zkoumáme systém za účelem zjišťování kvality. Na kvalitu systému můžeme nahlížet z mnoha úhlů pohledu, především jde však o spolehlivost, efektivní funkčnost, výkon aplikace a výkon systému. Jmenovitě můžeme testovat například dobu odezvy systému, stabilitu systému, datovou propustnost, kapacitu datovou či transakční, chování systému při různých úrovních zatížení a jiné parametry podílející se právě na kvalitě celkového systému.
3.3.6 Dokumentace Časté opomíjení dokumentace vlastního informačního systému nebo programového díla je mnohdy příčinnou zbytečných a mnohdy vysokých nákladů na pozdější zpětnou analýzu a zkoumání systému, neboť dokumentace je mnohdy nezbytná nejen pro uživatele, ale také pro správce a administrátory systému. Slouží jako odrazový můstek v případě inovace nebo restrukturalizace systému a jako průvodce při užívání a správě systému. Zahrnuje dokumentaci programů, příručku pro užívání, dokumentace pro údržbu a případné modifikace.
3.3.7 Provoz a údržba Fáze ve které pracujeme již se zavedeným, funkčním a odzkoušeným systémem a hlavním úkolem je, zabezpečit funkčnost a provozuschopnost systému tak, aby mohl plně
_______________________________________________________________________ 18 uspokojovat požadavky, ke kterým byl vyvinut. V provozu dochází jak k úpravám programového vybavení z důvodu odstraňování nalezených chyb, tak k aktualizaci ostatních prostředků systému, jako je například inovace technického vybavení a zavádění nových databázových zdrojů. V případě že je systém již natolik zastaralý, že jeho odezva, kapacita, propustnost, spolehlivost, použité technologie a další parametry nesou schopny uspokojit požadavky uživatelů a není možná náprava pouze inovací a drobnými modifikacemi, je třeba provést takzvaný reingeneering nebo paralelní vývoj systému nového.
3.4 Modely životního cyklu Známe několik modelů životního cyklu, které se snaží vývojářům programového vybavení a informačních systému vytvořit obdobu šablony pro jejich postup, z důvodu zajištění řízeného a metodického postupu při vývoji. Modely se od sebe liší návazností a strukturou jednotlivých etap životního cyklu, používanými postupy a mírou iterace (postupné opakování a návraty k předchozím fázím s dalším přibližováním se žádoucímu výsledku). Základní modely jsou například: •
vodopádový model – jeden z nejstarších, minimální nebo žádná iterace,
•
spirálový model – provádění rizikových analýz a rozhodování o směru dalšího vývoje na základech jejich výsledků,
•
model výzkumník – na základě získaných poznatků a zkušeností časté vracení se k implementačním etapám,
•
prototypování – kdy prototyp je částečná implementace produktu v logické nebo fyzické podobě a obsahuje všechna rozhraní; prototyp je ověřován budoucími uživateli, kteří poskytují vývojářům zpětnou vazbu pro tvorbu dalšího prototypu, který by měl lépe plnit právě uživatelské požadavky na systém.
Existují i další modely, kterými se však v této práci nebudeme zabývat.
_______________________________________________________________________ 19
4 Metodiky analýzy a tvorby modelu V této práci je pro analýzu informačního systému mateřské školy Domašov použit první ze fundamentálních přístupů (strukturovaný přístup), přestože se v dnes již mnohdy stává nutností použití přístupu objektového. Hlavním důvodem této volby byla praktická znalost této metodiky a nástroje pro její aplikaci, která zastínila výhody objektového přístupu jako jsou například lepší udržovatelnost a snadnější rozšiřitelnost.
4.1 Strukturovaný přístup Přístup popisuje strukturu systému pomocí odděleného modelování dat a procesů. Systém je postupnou hierarchickou dekompozicí rozkládán od nejobecnější specifikace jeho funkčnosti, přes podsystémy až ke konkrétním procesům a datovým tokům. Odděleně je pak propracováván datový model popisující rozložení a organizaci dat v databázi. Strukturovaný přístup k analýze využívá obecně principů tří úrovní: •
Analýza systému, jejíž výsledek odpovídá konceptuálnímu modelu (model reality), udává co bude systém řešit.
•
Design systému (konstrukce), jejíž výsledkem je technologický model, říká jak bude systém řešen.
•
Implementace systému, kde generováním kódu vznikne implementační model stanovuje čím bude systém realizován.
4.1.1 Nástroje strukturované analýzy Pro strukturovanou analýzu základním nástrojem model vnějšího chování systému, definující rozhraní systému, jeho okolí a datové toky mezi systémem a okolím specifikující jeho funkcionalitu. Prostředkem je kontextový diagram, ve kterém je systém zachycen jako jeden proces. Funkční model se již zabývá jednotlivými hlavními subsystémy modelu a jeho prostředkem je diagram datových toků (Data Flow Diagram). Systém je zde zobrazen jako síť procesů propojených mezi sebou, s datovými úložišti a externími entitami datovými toky. Vlastní proces je potom chápán jako místo transformace vstupních dat na výstupní. Jednotlivé procesy mohou být dále dekomponovány až na úroveň elementárních funkcí.
_______________________________________________________________________ 20 Datový model jako takový prezentuje statickou část systému. Odděleně od funkčně činných částí systému popisuje strukturu dat, vztahy mezi jednotlivými datovými entitami a způsob uložení dat. Prostředkem reprezentace datového modelu je entitně relační diagram (ERD). Model řízení modeluje časově závislé chování systému a jeho nástrojem je stavový diagram (STD). Ve strukturované analýze se také setkáme s takzvanými vedlejšími pomocnými prostředky, které pomáhají analytikovi při tvorbě modelů. Vedlejšími pomocnými prostředky strukturované analýzy jsou například datový slovník (DD), který centrálně popisuje datové prvky v systému, životní cyklus entity (ELH), specifikace procesů (minispecifikace), popisující logickou funkcionalitu procesu na nejnižší úrovni hierarchického rozkladu, CRUD (Create Read Update Delete) matice, umožňující zachytit vztahy mezi procesy a organizační strukturou podniku, procesy a bázemi dat i hledanými informacemi a obrazovkami, které je zobrazují.
4.2 Objektový přístup Objekt chápeme narozdíl od filozofického pojetí (jakákoliv věc, cokoli) jako instanci třídy, tedy konkrétní datový objekt v paměti odvozený z nějakého vzoru (třídy). Objekt například v objektově orientovaném programování představuje jeho základní stavební prvek. Každý objekt má své vlastní atributy a metody podle vzoru (třídy), které stanovují jeho funkcionalitu. Novější objektový přístup se dnes již těší značné popularitě nejen v systémové analýze a modelování. Důvodem jsou mnohé výhody které přináší, které mnohdy značně převažují větší náročnost na zápis v programovacím jazyce. Objektový přístup umožňuje díky svým principům lepší využití kódu než použití knihoven procedur, značně urychluje vývoj nových softwarových děl díky možnosti využití vhodných objektů, které již byly navrženy a implementovány. Oproti dávkovým úlohám přináší interakci, neboť každý objekt reaguje na různé podněty různým chováním. V modelování systémů přináší další možnosti pro okenní rozhraní systémů a skrytí mnoha dřívějších doporučení do definice tříd a vlastní podstaty objektového přístupu.
_______________________________________________________________________ 21 Každý objekt má pak množinu veřejně přístupných metod objektu spolu se správným pořadím a podmínkami jejich volání, která se nazývá protokol objektu nebo třídy. Z pohledu objektově orientovaného systému můžeme objekty řadit do hierarchických celků dle jejich tříd. Objekty charakterizují následující vlastnosti: •
vnitřní paměť – vlastnost objektu něco si pamatovat,
•
metody objektu – procedury a funkce, které vykonávají činnost nad operační pamětí,
•
schopnost přijmout a zpracovat zprávu z vnějšku,
•
schopnost odeslat zprávu jiným objektům a tak řídit jejich činnost,
•
abstrakce – proces vytváření jednoduché reprezentace složité reality,
•
existence tříd – třída je abstrakce objektů se stejnými vlastnostmi,
•
zapouzdření – data a funkce s nimi pracující jsou spojeny do jednoho objektu a lze k nim přistupovat pouze pomocí metod objektu
•
polymorfismus – objekty různých tříd mají metodu se stejným jménem a její implementace se v jednotlivých třídách může lišit,
•
dědičnost – znuvupoužitelnost na úrovni deklarace třídy.
Výhodami přístupu jsou znovu-použitelnost a snadná lokalizace změn a chyb, oddělení detailů od celku, rozšiřitelnost a sémantická bohatost, snadnější popis rozhraní s vnějškem, snazší definování celého systému a obecně vyšší stabilita aplikací. Nevýhodami je již zmíněná menší efektivnost kódu díky vyšším deklaračním a administračním požadavkům na tvorbu objektů.
_______________________________________________________________________ 22
5 Použité programové prostředky pro modelování Z výše uvedených důvodů jsem při tvorbě praktické části této práce použil nástroje využívající strukturovaného přístupu k analýze a modelování.
5.1 CASE nástroje Pojem CASE (Computer Aided Software Engineering) reprezentuje integrovanou sadu nástrojů, podporujících vývoj softwarových aplikacích. Tyto nástroje zejména při analýze a modelování programového díla umožňují automatizaci těchto fází životního cyklu. Obsahují v mnoha případech automatický datový slovník (data dictionary) obsahující definici datových struktur, vztahů v hierarchii procesů a relace mezi daty a procesy. CASE nástroje poskytují také kontrolu vytvořeného modelu podle pravidel tvorby a dalších definovaných aspektů.
5.2 PowerDesigner PowerDesigner je první CASE nástroj který komplexně pokrývá všechny aspekty rozvoje podniku. Obsahuje nástroje pro obchodně orientovanou procesní analýzu, která umožní identifikovat klíčová místa a funkce podniku jako takového a nabízí také plně integrované prostředí pro datovou a objektovou analýzu informačních systémů. Přitom plně podporuje zavedené přístupy a metodologie jako je Unified Modeling Language (UML) nebo dvouúrovňový návrh databáze. (oficiální text distributora) PowerDesigner je produktem firmy Sysbase a jeho starší verze jsou dostupné k volnému nekomerčnímu použití. Při modelování informačního systému byl využit PowerDesigner ProcessAnalyst 6.1.0 32-bit poskytující prostředí pro tvorbu kontextového diagramu, data flow diagramu a další dekompozici až na elementární funkční procesy, které popisuje pomocí minispecifikace. Pro návrhu datové základy a tvorbě ERD jsem využil PowerDesigner DataArchitect 6.1.0 32-bit, umožňující vytvoření modelu rozložení dat nezávisle na předešlém procesním modelu.
_______________________________________________________________________ 23
6 Použité prostředky pro implementaci Jazykové i programové prostředky pro implementaci byli taktéž použity z důvodu jejich základní znalosti a možnosti volného užití metod i nástrojů.
6.1 Jazykové prostředky 6.1.1 HTML a CSS HTML je zkratka z anglického HyperText Markup Language, značkovací jazyk pro hypertext. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje publikaci stránek na Internetu. Jazyk je podmnožinou dříve vyvinutého rozsáhlého univerzálního značkovacího jazyka SGML (Standard Generalized Markup Language). CSS je zkratka pro anglický název Cascading Style Sheets, česky tabulky kaskádových stylů. Je to jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. Jazyk byl navržen standardizační organizací W3C. Hlavním smyslem je umožnit návrhářům oddělení vzhledu dokumentu od jeho struktury a obsahu. (Wikipedie, 2007) Oba nástroje byly použity pro vytvoření jednotného, přehledného a jednoduchého webového aplikačního rozhraní pro práci s informačním systémem. Hlavním důvodem použití byla univerzalita a dostupnost značkovacích jazyků HTML a jeho modifikací, které podporují veškeré počítačové platformy a zobrazení rozhraní umístěného na hostitelském serveru společně s databází, by mělo být dostupné s jakéhokoli počítače připojeného do sítě internet.
6.1.2 SQL SQL je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. SQL je zkratka anglických slov Structured Query Language (strukturovaný dotazovací jazyk), obsahující DDL (data definition language), DML (data modification language) a DQL (data query language). V této práci byl použit pro vytvoření, řízení, správu a využití datové základny, jejíž zkušební provoz probíhal na školním serveru Akela se systémem řízení báze dat Oracle.
_______________________________________________________________________ 24
6.1.3 PHP PHP je skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či WML, což je velmi výhodné pro tvorbu webových aplikací. PHP skripty jsou prováděny na straně serveru, k uživateli je přenášen až výsledek jejich činnosti. PHP je nezávislý na platformě, skripty fungují bez úprav na mnoha různých operačních systémech. Obsahuje rozsáhlé knihovny funkcí pro zpracování textu, grafiky, práci se soubory, přístup k většině databázových serverů (MySQL, ODBC, Oracle, PostgreSQL, MSSQL) a podporu celé řady internetových protokolů. (Wikipedie, 2007) Jazyk byl využit pro přístup k datové základně z webového rozhraní.
6.2 Programové prostředky 6.2.1 PuTTy a dbMan PuTTY je klient protokolů SSH, Telnet, rlogin a holého TCP. Dříve byl dostupný jen pro Windows v současnosti je dostupný i pro různé platformy UNIX (tak i pro několik jiných platforem jako neoficiální port). Původně ho napsal a vyvíjel Simon Tatham. PuTTY je svobodný software, šířený pod MIT licencí. (Wikipedie, 2007) Jednoduchá sql konzole dbMan je dnes již plně modulární, vyvinuta v Perlu a využívající DBI/DBD rozhraní. Umožňuje práci s mnoha databázovými systémy a jejím autorem je RNDr. Ing. Milan Šorm, Ph.D. Pro správnou funkci vyžaduje dbMan přítomnost interpretu jazyka Perl, přičemž je nezávislý na používaném operačním systému.
6.2.2 PSPad PSPad je volně použitelný univerzální editor, určený pro operační systém Microsoft Windows, který umožňuje práci s prostým textem s velkými možnostmi formátování textu, vytváření webových stránek, nebo programování s potřebou vlastního IDE kompilátoru. Nástroj při zachování jednoduchosti poznámkových bloků nabízí vymoženosti pokročilých programátorských editorů. Použita byla verze 4.5.2 umožňující například zvýrazněné syntaxe (RTF, HTML, XHTML, TeX a další), export do příslušných formátů, přeformátování a komprese HTML kódu, CSS, XML, XHTML a další možnosti.
_______________________________________________________________________ 25
7 Model informačního systému mateřské školy 7.1 Prostředí problémové domény Informační systém je vyvíjen pro příspěvkovou organizaci Mateřská škola Domašov. Tato mateřská škola poskytuje vzdělávací služby dětem nejen z Domašova, ale z celého svazu obcí mikro-regionu Domašovsko, zahrnující okolní vesnice Javůrek, Rudka, Říčky a Litostrov. Škola je klasický zástupce malých jednotřídek zaměstnávající ředitele, který působí též jako vyučující, jednoho učitele, uklízečku, topiče a technického pracovníka. S příchodem povinné právní subjektivity můžeme obdobnou organizaci principielně srovnávat s malou firmou, co se náročnosti na informační toky, vyplývajících z přesunu mnoha nových povinností právě na školu, týče. Z těchto důvodů narostly nároky na zpracování informací velkým skokem. Mnoho státních institucí vyžaduje různá informační plnění od mateřské školy, nemálo evidenčních a administrativních povinností vyplývá ze zákona a škola je povinna je provádět sama pravidelně a úplně ve stanoveném rozsahu. Neboť příležitostně poskytuji servisní služby pro informační technologie Mateřské škole Domašov, nebylo těžké všimnout si, že informační nároky kladené na vedení jsou vysoké, datových toků přibylo a díky vyvíjející se legislativě nadále přibývá. Největší problém spatřuji v tom, že mnoho institucí vyžaduje nejrůznější data v nesjednocené formě. Zachována je v některých případech povinnost formy papírové, ale mnohé záležitosti jsou dnes řešeny prostřednictvím internetové sítě, webových a elektronických poštovních služeb. Zatím neexistuje systém, který by komplexně sdružoval a ošetřoval informační toky mateřských škol a podobných institucí. Většina komunikace probíhá elektronickou poštou a následným vyplňováním elektronických formulářů na webech jednotlivých úřadů a jiných orgánů vyžadujících informační plnění od mateřské školy. V lepším případě stačí odeslat formulář pomocí některé z příslušných internetových služeb k tomu určených, v tom horším je třeba tisk dokumentu vygenerovaného z odeslaného formuláře a doručení klasickou papírovou poštovní zásilkou. Dalším podstatným problémem je také neodbornost zaměstnanců podobných organizací v oblasti informačních technologií. Často je osoba, která výpočetní techniku v dnešní
_______________________________________________________________________ 26 podobě nikdy neužívala, doslova posazena před počítač s bohatým soupisem nových povinností, přičemž rozpočet na odborná školení zdaleka nedosahuje potřebné výše. Tyto skutečnosti mně přivedly na myšlenku provést analýzu pravidelných standardních datových toků zmíněné mateřské školy a navrhnout informační systém, který by poskytl jednotné uživatelské rozhraní pro správu a přenos relevantních dat. Konečný systém by měl sjednocovat, třídit, reprezentovat a zpracovávat nejdůležitější datové a informační toky pokrývající většinu nezbytností chodu školy. Vzhledem k tomu, že plánovaný projekt je velkého rozsahu a jeho vývoj bude obsahově i časově značně přesahovat možnosti bakalářské práce, byla v rámci této práce provedena komplexní analýza datových toků celého plánovaného systému a vytvoření jeho strukturovaného modelu, navrhnuta a realizována pouze jeho esenciální část pokrývající registraci a evidenci dětí, formální komunikaci se zákonnými zástupci dětí a informační rozhraní pro osoby způsobilé k prohlížení daných informací. Veškerá snaha by měla díky jednotnému prostředí a aplikaci vyvíjené na míru konkrétní mateřské škole vést k zefektivnění a zpříjemnění práce vedení školy, nahrazení rozsáhlých pozůstatků zastaralé administrativy v papírové formě s množstvím duplicitních dat efektivnějším elektronickým systémem, přehledně sjednocujícím relevantní oblasti informačních a datových potřeb vedení školy i zákonných zástupců dětí.
7.2 Procesní hierarchická struktura systému Níže uvedený hierarchický výpis reprezentuje hlavní proces systému a jeho dekompozici na další subsystémy a obsahuje veškeré procesy informačního systému. IS_MŠ [1] IS_Provoz [1.1] IS_Evidence_deti [1.1.3] IS_Obedy [1.1.2] Vlastni_provoz [1.1.1] IS_Finance [1.2] IS_Platy [1.2.1] IS_Pokladna [1.2.2] IS_zpracovani_dokladu [1.2.3]
_______________________________________________________________________ 27
7.3 Kontextový diagram Kontextový diagram zobrazuje informační systém mateřské školy jako jediný kompaktní proces a popisuje datové toky mezi informačním systémem a vnějším okolím. Jednotky vnějšího okolí nazýváme terminátory a směr datového toku znázorňují šipky.
Rodice
Zamestnanci IS_Ucetnictvi
Ucetni_doklad Vyplatni_listek
Prihlaska_do_MS
Vypoctene_platy
Zadosti
Rozpis_hodin
Dotaznik_o_diteti Osobni_udaje
Zadosti
Podklady_pro_ucetni Platby
Provozni_info
Podani_odhlasky
Odbor_skolstvi
1
Platby_na_ucet Platby Bezny_ucet
Vykazy
IS_MŠ
Vypis
Podklady_pro_platy
+
Investicni_zdroje
Podklady_pro_odmeny Nevyrizene_Zadosti Rozhodnuti Faktura
Provozni_info_vedeni Platba
Provozni_zdroje
Odmeny
Objednavka
Rozpis_hodin
Doklad
Objednani
Dodavatele
Skolni_jidelna
Obecni_urad
Vedeni
Obrázek 7: Kontextový diagram
Kontextový diagram informačního systému mateřské školy Domašov (viz obrázek 7) je výstup z již zmiňovaného nástroje pro strukturovanou analýzu a modelování firmy Sybase PowerDesigner ProcessAnalyst a byl použit k návrhu a logické kontrole i ostatních grafů zobrazující další dekompozici systému. Obsahuje prvky popsané v následujících odstavcích.
_______________________________________________________________________ 28 IS_MŠ zastupuje vlastní informační systém jako celek, jehož funkce jsou zejména: •
evidence žáků a jejich zákonných zástupců,
•
ošetření procedury zápisu nových žáků, případné aktualizace ve stávajících záznamech a vyřazování žáků, kteří již mateřskou školu nenavštěvují,
•
zprostředkování podstatné části komunikace mateřské školy s úřady, zřizovatelem a dalšími institucemi s nárokem na informace o mateřské škole, případně s povinností informace škole poskytovat,
•
evidence příslušných dokladů,
•
evidence veškerých výdajů a nákladů formou účetních dokladů a jejich zprostředkování externí účetní jednotce,
•
zprostředkovává objednávky obědů z dodávající školní jídelny a zachycuje platební styk s dodavateli,
•
spravuje databázi zaměstnanců a nezbytnou komunikaci týkající se jejich evidence ve formě příslušných dokladů a formulářů.
Rodiče mohou být v systému reprezentování přirozeným otcem a matkou, případně jiným zákonným zástupcem. Inicializují přijímací řízení podáním elektronické přihlášky do mateřské školy, kterou vyplňují ve webovém rozhraní k tomu určeném. Přístup do rozhraní získají na základě sdělených identifikačních údajů (heslo, přihlašovací jméno) po osobní domluvě s vedením školy. Získání hesla znamená již samo o sobě rozhodnutí o přijetí do mateřské školy. Systém také ošetřuje odhlašování a podávání standardizovaných žádostí na vedení mateřské školy, na které reaguje vedení taktéž prostřednictvím informačního systému. Rodiče dále vyplňují dotazník o dítěti. Potřebná potvrzení vydávaná ze strany mateřské školy systém neošetřuje, protože je zatím nutné je vydávat v písemné formě. Zaměstnanci jsou fyzické osoby již přijaté do pracovního poměru na základě přijímacího řízení, které informační systém nezahrnuje. Poskytují při nástupu své osobní údaje a následně periodicky provozní údaje vztahující se k výkonu jejich zaměstnání. IS_MŠ zaměstnancům poskytuje rozpis pracovních hodin, náplň práce a mzdový výkaz. IS Účetnictví je externí pracovník vedoucí za úplatu účetnictví mateřské škole. Jsou mu postoupeny veškeré příslušné účetní doklady které zpracovává a účtuje, do IS_MŠ následně zasílá výsledné výkazy a jiné žádoucí dokumenty.
_______________________________________________________________________ 29 Odbor školství zatupuje nejbližší přímo nadřízenou instanci. V našem případě Odbor školství Jihomoravského kraje poskytuje IS_MŠ tabulkové podklady pro výpočet platů, informace o mzdovém rozpočtu, pracovních limitech, normativy určující finance pro MŠ na jednoho žáka a na účet školy zasílá investiční zdroje pro financování převážně jiných investic než provozních. Vyžaduje pravidelné vyplňování výkazů na svém portálu informacemi o MS ve formě formulářů a tabulek. Obecní úřad jako je nejbližší instance státní správy, poskytuje na základě normativů mateřské škole jako zřizovatel příslušné provozní finance. Školní jídelna je součást místní základní školy a je smluvně vázaná poskytovat mateřské škole celodenní nebo polodenní stravu pro žáky a personál. Do školní jídelny je zasílána objednávka obědů na příslušný den, posléze IS_MŠ obdrží potvrzení o již vydaných obědech. Dodavatelé jsou externí fyzické nebo právnické osoby poskytující škole různorodé produkty. Informační systém eviduje jim vydané platby a přijatá potvrzení, které zálohuje a následně poskytuje pro zpracování do IS Účetnictví. Běžný účet je bankovní účet vedený u příslušné banky, u kterého informační systém eviduje proběhlé bezhotovostní platby na základě výpisu z účtu, který dále předává pro zpracování do IS Účetnictví. Evidují se také hotovostní výběry a vklady v rámci tohoto účtu. Vedení je ředitel mateřské školy. Má přístup do rozhraní pro vedení školy, které mu slouží jako informační portál o veškerých evidencích vedených v rámci systému pokrývající ukládaná data z veškerých datových transakcí týkajících se výše uvedených prvků systému. Prostřednictvím systému může veden také reagovat na žádosti zákonných zástupců, vytvářet rozpis hodin zaměstnancům a udělovat odměny zaměstnancům, respektive zasílat data o nich do IS Účetnictví, kde budou uvažovány při výpočtu mez a tisku příslušných dokladů.
_______________________________________________________________________ 30
7.4 Data Flow Diagram Rodice
Rodice
Zamestnanci
Vedeni
Vedeni
[Rozpis_hodin] Zamestnanci
Vedeni
Rodice
[Nevyrizene_Zadosti]
[Podani_odhlasky] [Dotaznik_o_diteti]
[Provozni_info] [Podklady_pro_odmeny]
Rodice
Zamestnanci
[Zadosti] [Osobni_udaje] [Rozpis_hodin]
Odbor_skolstvi
[Zadosti] [Vykazy] 1.1 Vedeni
[Objednani]
[Objednavka]
IS_Provoz
Skolni_jidelna
+
[Prihlaska_do_MS]
[Provozni_info_vedeni]
Rodice [Rozhodnuti]
Vedeni Vedeni
2
Provedene_Platby
Provozni_info Odbor_skolstvi
Info_platby Rodice
[Platby] Vedeni
[Podklady_pro_ucetni] 1.2
[Vyplatni_listek]
Zamestnanci
[Odmeny] IS_Finance [Vypoctene_platy]
IS_Ucetnictvi
IS_Ucetnictvi
[Podklady_pro_platy]
[Ucetni_doklad]
+ [Platby_na_ucet]
IS_Ucetnictvi
[Faktura] Info_platy
[Provozni_zdroje]
[Platba]
Dodavatele
Bezny_ucet [Platby] [Investicni_zdroje]
Obecni_urad
[Vypis] 1
Priznane_Platy
[Doklad] Bezny_ucet
Odbor_skolstvi
Skolni_jidelna
Bezny_ucet
Obrázek 8: Data Flow Diagram
Dodavatele
_______________________________________________________________________ 31 Data flow diagram (diagram datových toků) používá stejné symboly pro zobrazení procesů, datových toků i terminátorů jako kontextový diagram a dekomponuje jeho původní jediný proces, který reprezentoval systém jako celek, na dva hlavní procesy. Každý datový tok má svůj vlastní terminátor, do kterého vstupuje nebo naopak vystupuje a jednotlivé terminátory se v diagramu objevují vícekrát u různých datových toků. Dvě hlavní části systému jsou zastupované procesy IS Provoz a IS Finance (viz obrázek 8). IS Provoz zpracovává veškeré provozní záležitosti týkající se shromažďování, evidence a poskytování informací. Obstarává evidenci dětí a jejich zákonných zástupců, evidenci zaměstnanců a formální komunikaci se všemi zúčastněnými stranami. IS Finance je navržen pro evidenci veškerých platebních styků, na vrub i ve prospěch účtu mateřské školy, s okolím a evidencí všech účetních dokladů. Všechny údaje jsou dokumentovány a zálohovány v datových úložištích Přiznané Platy a Provedené platby, následně pak postoupeny externí jednotce IS Účetnictví. Mezi procesy IS Finance a IS Provoz probíhá komunikace prostřednictvím datového toku Provozní info, který obsahuje veškeré informace nutné pro rozhodování vedení, které jsou zaslány z IS Finance a následně poskytnuty vedení z IS Provoz.
7.5 Dekompozice procesu IS Provoz Jeden z hlavních procesů IS Provoz je dekomponován na tři části, které zastupují procesy Vlastní provoz, IS Obědy a IS evidence dětí. Všechny procesy obstarávají funkce související se specifickou skupinou služeb, ke kterým byly navrženy. Vlastní provoz (viz obrázek 9) je proces zabývající se převážně agendou zaměstnanců, v rámci které ošetřuje jejich evidenci a řízení jejich pracovní činnosti. Subsystém také funguje jako hlavní informační portál, neboť shromažďuje veškeré informace z druhého hlavního procesu IS Finance a datových úložišť na úrovni rovné jeho vlastní, které následně poskytuje vedení mateřské školy v požadovaných výstupních sestavách pro podporu rozhodování a řízení školy nebo určení odměn zaměstnancům. Subsystém je také způsobilý nad přilehlými datovými úložišti Školní rok, Zaměstnanci, Děti, a Žádosti provádět všechny operace CRUD (Create, Read, Update, Delete).
_______________________________________________________________________ 32 Subsystém IS Obědy ošetřuje podání objednávky obědů na daný den, zahrnující počet a druh jídel, která se můžou lišit dle strávníka (dospělý, dítě, dítě se zvláštní výživou) a dle rozsahu (celodenní, polodenní). Hlavním důvodem existence subsystému IS Evidence dětí je, jak je již z názvu zřejmé, potřeba evidovat všechny docházející děti a údaje o nich. Struktura a množství těchto dat je dána oficiálními dotazníky, které je nutno vyplňovat a uchovávat. Evidují se osobní údaje, informace o rodičích nebo jiných zákonných zástupcích, vyzvedávajících, telefonních kontaktech, sourozencích, zdravotním stavu dětí, alergiích a mnoha dalších skutečnostech relevantních k výkonu pedagogického dohledu nad dětmi a jejich výchovného vedení. Proces IS Evidence dětí tedy ošetřuje přihlášení dítěte do mateřské školy, sběr nutných dat vztahujících se k dítěti a zprostředkovává podávání žádostí ze strany rodičů a rozhodčí řízení k nim se vážící. Subsystém přistupuje do dvou datových úložišť pod názvy Děti a Rodiče, kde Rodiče uchovávají data nejenom o fyziologických rodičích, ale i případných jiných zástupcích. Ve stejném úložišti se nalézají dokonce nutné údaje o osobách vyzvedávajících děti ze školy, aby nedošlo k případnému vydání dítě neoprávněné osobě a zajistila se bezpečnost dětí. Vyžadované informace subsystémem Vlastní provoz proces IS Evidence dětí nezprostředkovává, Vlastní provoz má přímý přístup do všech jeho datových úložišť. Dostupná je také možnost podání odhlášky ze strany zákonných zástupců dětí s určením dne ukončení docházky a následná deaktivace nebo úplný výmaz dítěte ze strany vedení. Subsystém IS Evidence dětí je část celého systému, která byla také implementována a uvedena do zkušebního provozu v rámci této bakalářské práce. Vybrána byla z toho důvodu, že evidence je čistě interní záležitost školy bez zprostředkování nebo komunikace s externí instancí nadřízeného orgánu nebo kontrolního orgánu, avšak s jasně danou datovou strukturou, kterou je nutné evidovat. Vývoj ostatních částí systému, zejména komunikace s nadřízenými orgány ve formě výkazů, neboli povinné informační povinnosti bude v tomto ohledu problematičtější, protože nároky na strukturu dat se často liší jak v obsahu tak v periodičnosti.
_______________________________________________________________________ 33 7
Skolni_rok
5
Zamestnanci Odbor_skolst vi
Zamestnanci Info_rok
Info_zamci [Vykazy]
[Provozni_info] Vedeni
[Rozpis_hodin]
[Podklady_pro_odmeny]
1.1.1
Vedeni
Vlastni_provoz
[Osobni_udaje]
[Rozpis_hodin] Zamestnanci Zamestnan ci
[Provozni_info] [Provozni_info_vedeni] Info_deti
Info_rodice Info_obedy Vedeni
4
Deti
8
RODICE 1.1.2 [Objednani] Vedeni
Info_deti
IS_Obedy
Info_rodice [Objednavka] 1.1.3
9
Zadosti
Udaje_zadost
IS_Finance IS_Evidence_deti
Skolni_jidelna
[Dotaznik_o_diteti]
[Zadosti]
Rodice [Nevyrizene_Zadosti]
[Rozhodnuti]
[Prihlaska_do_MS]
Rodice
[Podani_odhlasky]
[Zadosti]
Udaje_o_odhlasce
Vedeni
Vedeni
10 Rodice Rodice
Rodice
Obrázek 9: IS Provoz
7.5.1 Minispecifikace procesu IS Obědy READ Objednani; Objednavka := Objednani; PRINT Objednani.
Odhlasky
_______________________________________________________________________ 34
7.5.2 Minispecifikace procesu IS Evidence dětí READ Prihlaska do MS; Info deti := Prihlaska do MS; WRITE Deti(Info deti); Deti.Aktivni := false; Info rodice := Prihlaska do MS; WRITE Rodice(Info rodice); Rodice.Vyzvedava_dit := false; Rodice.Jiny zak zastupce := false; READ Zadost o prominuti skolneho; Zadosti := Zadost o prominuti skolneho, Deti WHERE RC Ditete = ID Rodne cislo ditete, Rodice WHERE Deti.Zakony zastupce = ID zastupce; PRINT Zadosti; WHILE Rozhodnuti <> '' LOOP READ Rozhodnuti; IF Rozhodnuti.Vyrok = true THEN Vysledek rizeni := 'VYHOVĚNO', Rozhodnuti(Jmeno ditete, Prijmeni ditete, ID Rodne cislo ditete, Oduvodneni); PRINT Vysledek rizeni; END ELSE Vysledek rizeni := 'ZAMÍTNUTO', Rozhodnuti(Jmeno ditete, Prijmeni ditete, ID Rodne cislo ditete, Oduvodneni); PRINT Vysledek rizeni; END LOOP READ Dotaznik o diteti; Info deti := Dotaznik o diteti; WRITE Deti(Info deti); Info rodice := Dotaznik o diteti; WRITE Rodice(Info rodice); Deti.Aktivni := true;
_______________________________________________________________________ 35 WHILE Odhlaska z MS <> '' LOOP READ Odhlaska z MS; Zadosti := Odhlaska z MS; PRINT Zadosti; END LOOP.
7.5.3 Minispecifikace procesu Vlastní provoz READ Provozni info, Provozni info vedeni, Osobni udaje, Rozpis hodin, Info deti, Info rodice, Info obedy; Info rok := Provozni info(Cerpano dotace), COUNT(deti) where ID rok = Aktualni rok, COUNT(Zamestnanci) where ID rok = Aktualni rok, (Prumerna dochazka + Provozni info(dochazka))/Pocet dnu, Provozni info(dotace), Provozni info(Cerpano dotace), Provozni info(Vracena dotace); WRITE Skolni rok(Info rok); Info zamci := Osobni udaje(ID Zamestnanec rc, Ucet, Zamestnanec jmeno, Zamestnanec prijmeni, Cislo domu, Obec, Ulice, PSC, Telefon domu); WRITE Zamestnanci(Info zamci); READ Info zamci, Info rok; Provozni info vedeni := Provozni info, Provozni info vedeni, Osobni udaje, Rozpis hodin, Info deti, Info rodice, Info obedy, Info zamci, Info rok; PRINT Provozni ifo vedeni.
7.6 Dekompozice procesu IS Finance Druhý hlavní proces IS Finance je dekomponován na tři další specifičtější procesy IS Platy, IS Zpracování dokladů a IS Pokladna (viz obrázek 10). Tyto procesy jsou již úzce zaměřené na specifické část funkcionality celého systému. IS Platy je subsystém zprostředkovávající získání, přenos a poskytování informací vztahujících se k výpočtu platů. Tyto podklady pro platy, jako stanovené odměny, odpracované hodiny, tabulkové ohodnocení zaměstnanců a další jsou poskytovány externímu účetnímu systému IS Účetnictví, kde jsou platy vypočítány, vystaveny patřičné doklady a to vše vráceno zpět do systému, který všechna relevantní data ukládá do datového úložiště Přiznané platy a také tiskne výplatní lístky pro zaměstnance.
_______________________________________________________________________ 36
Odbor_skols tvi
IS_Ucetnict vi
[Podklady_pro_platy] IS_Ucetnictvi [Vypoctene_platy]
[Podklady_pro_ucetni] 1.2.1
Vedeni
Zamestnan ci
[Vyplatni_listek]
[Odmeny]
IS_Platy
[Info_platy]
Bezny_ucet 1
Dodavatele
[Vypis]
Priznane_Platy
Info_platy
[Provozni_info]
[Faktura] 2
1.2.3 Skolni_jidelna
Info_platby
[Doklad]
IS_zpracovani_d okladu
[Ucetni_doklad]
IS_Provoz
IS_Ucetnictvi
Obecni_urad
Provedene_Platb y
[Info_platby]
[Provozni_zdroje]
1.2.2 [Platba] Dodavatele
IS_Pokladna [Platby]
[Platby_na_ucet]
Rodice [Platby]
Bezny_ucet
[Investicni_zdroje]
Odbor_skolstvi
Obrázek 10: IS Finance
Bezny_ucet
_______________________________________________________________________ 37 Subsystém IS Zpracování dokladů shromažďuje veškeré účetní doklady, jako jsou daňové doklady, faktury, výpisy z účtů a další, které všechny poskytuje externímu systému IS Účetnictví. Zpracovává také data ukládaná ostatními procesy na této úrovni do datových úložišť a poskytuje je hlavnímu procesu IS Provoz. IS Pokladna je proces zajišťující evidenci veškerých proběhlých, hotovostních i bezhotovostních, příchozích i poskytovaných plateb v rámci provozu a investic mateřské školy. Informace vztahující se k platbám ukládá do datového úložiště Provedené platby, z kterého následně čerpá také proces popsaný v přecházejícím odstavci IS Zpracování dokladů a poskytuje potřebná data externí účetní (IS Účetnictví).
7.6.1 Minispecifikace procesu IS Platy READ Podklady pro platy, Odmeny; Podklady pro ucetni := Podklady pro platy, Odmeny, SYSDATE(rok), SYSDATE(mesic), Zamestnanci.Zamestnanec Jmeno WHERE Zamestnanci.ID Zamestnanec RC = Odmeny.Zamestnanec ID, Zamestnanci.Zamestnanec prijmeni WHERE Zamestnanci.ID Zamestnanec rc = Odmeny.Zamestnanec ID;
WHILE Vypoctene platy <> '' LOOP READ Vypoctene platy; Vyplatni listek := Vypoctene platy; PRINT Vyplatni listek; Info platy := Vypoctene platy; WRITE Info platy; END LOOP.
7.6.2 Minispecifikace procesu IS Zpracování doladů READ Vypis, Faktura, Doklad, Info platby, Info platy; Provozni info := Vypis; PRINT IS Provoz(Provozni info); Provozni info := Faktura; PRINT IS Provoz(Provozni info); Provozni info := Doklad; PRINT IS Provoz(Provozni info);
_______________________________________________________________________ 38 Provozni info := Info platby; PRINT IS Provoz(Provozni info); Provozni info := Info platy; PRINT IS Provoz(Provozni info); Ucetni doklad := Vypis; PRINT IS Ucetnictvi(Ucetni doklad); Ucetni doklad := Faktura; PRINT IS Ucetnictvi(Ucetni doklad); Ucetni doklad := Doklad; PRINT IS Ucetnictvi(Ucetni doklad); Ucetni doklad := Info_platby; PRINT IS Ucetnictvi(Ucetni doklad).
7.6.3 Minispecifikace procesu IS Pokladna READ Provozni zdroje, Platby, Investicni zdroje; Info platby := Provozni zdroje, SYSDATE(rok); IF Info platby(ID Cislo dokladu) = NULL THEN Info platby := Info platby + GENERATE ID(Info platby(ID Cislo dokladu); WRITE Provedene Platby(Info platby); Info platby := Platby, SYSDATE(rok); IF Info platby(ID Cislo dokladu) = NULL THEN Info platby := Info platby + GENERATE ID(Info platby(ID Cislo dokladu); WRITE Provedene Platby(Info platby); Info platby := Investicni zdroje, SYSDATE(rok); IF Info platby(ID Cislo dokladu) = NULL THEN Info platby := Info platby + GENERATE ID(Info platby(ID Cislo dokladu); WRITE Provedene Platby(Info platby); WHEN SUM(Provedene Platby.Castka) > LIMIT THEN Platby na ucet := SYSDATE, (Platby.Castka/2); WRITE Bezny ucet(Platby na ucet); Info platby := Platby na ucet, GENERATE ID(Info platby(ID Cislo dokladu)), FILL IN(Info platby(ID Cislo dokladu,'odvod na BÚ')); WRITE Provedene Platby(Info platby).
_______________________________________________________________________ 39
7.7 Entitně relační diagram systému
Provedene_Platby ID_Cislo_dokladu Castka Datum Ucel ID_Rok
Skolni_rok ID_Rok Pocet_deti Pocet_zamestnancu Prumerna_dochazka Cerpano_dotace Dotace Vracena_dotace
Platby_roku
Ma_zamestnance
Priznane_platy
Platy_roku
ID_Cislo_dokladu Zamec_RC Cista_mzda Dan Denni Dovolena_cerpano Dovolena_narok Dovolena_zbyva Hruby_prijem Nahrady Prescasy Prijem_ke_zdaneni Soc_pojisteni Zaklad_dane Zakladni_tarif Zdrav_pojisteni ID_Rok
Zamestnanci_roku ID_Zamestnanec id_rok
Dochazeji_deti
Pracuji_v_roce
Deti_roku id_dite id_rok
Zamestnanci ID_Zamestnanec_rc Zamestnanec_jmeno Zamestnanec_prijmeni Ucet Cislo_domu Obec PSC Telefon_domu Ulice Platova_trida
Dochazi_v_roce
Deti
Odhlasky ID_rc_dite Jmeno Prijmeni Datum_ukonceni_dochazky
Muze_se_odhlasit
Zadosti ID_zadost Prijmeni_zadatele Jmeno_zadatele RC_dite Duvod_zadosti Vyrok Oduvodneni_rozhodnuti
Muze_podat_zadost
ID_rc_dite Jmeno Prijmeni Aktivni Alergie Cislo_rozsudku Datum_rozsudku Stravovani Jina_zavazna_sdeleni Ockovano Rodice_rozvedeni Specialni_pece Telefon_domu Telefon_Vyzvedavajici Ucast_jine_akce Ucast_plavani Ucast_sauna Ucast_skola_v_prirode Sourozenec1_datum_narozeni Sourozenec1_jmeno Sourozenec2_datum_narozeni Sourozenec2_jmeno Sourozenec3_datum_narozeni Sourozenec3_jmeno Matersky_jazyk Statni_prislusnost Pojistovna Cislo_domu Obec PSC Ulice
Maji_zastupce
Deti_rodicu id_dite id_zastupce
Ma_dite
Rodice ID_zatupce jmeno prijmeni Rodic Vyzvedava_dite Jiny_zak_zastupce Cislo_zamestnani Obec_zamestnani Zamestnavatel Ulice_zamestnani Pracuje PSC_zamestnani Telefon_zamestnani Jiny_Vyzvedavajici_telefon
Obrázek 11: ERD systému
Entitně relační diagram znázorňuje jednotlivá datová úložiště použitá v modelu informačního systému mateřské školy IS_MŠ, relace mezi jednotlivými entitami, kardinality a povinnosti. V rámci této bakalářské práce byla v implementaci použita jeho část orámovaná linkou, což jsou entity vyskytující se ve funkčním modelu a jeho dekompozicích. Přidány byly spojovací tabulky Děti roku a Děti rodičů ošetřující vazbu typu M:N.
_______________________________________________________________________ 40
8 Návrh vlastního technologického řešení 8.1 Návrh pro zkušební provoz Návrh technologického řešení vlastního přístupu k systému se snaží ve všech směrech minimalizovat náklady na zavedení základních prostředků pro zkušební provoz realizované části informačního systému v mateřské škole. Ve zkušebním provozu bude využitá stávající výpočetní technika, jakkoli zastaralá, která však pro tento účel prozatím postačí. Využitá technika bude především osobní počítač sloužící v současné době pro podporu administrace a vedení mateřské školy, jehož funkcionalita bude rozšířena o přístup k webovému rozhraní informačního systému školy. Stroj pracuje pod operačním systémem Microsoft Windows XP a vzhledem k již zakoupeným licencím a potřebám školy se na této skutečnosti nebude nic měnit. Základní parametry stroje jsou: •
procesor Intel Pentium III 1700 MHz,
•
paměť 256 MB SDRAM,
•
pevný disk 40 GB,
•
grafická karta integrovaná 32 MB,
•
zvuková karta integrovaná,
•
OvisLink LFE-8139ATX Fast Ethernet Adapter,
•
porty 2x COM, 1x LPT, 2x USB 1.1, 2x PS/2, audio, 1x RJ-45, 1x VGA-out.
Jako terminál umožňující využití aplikace poskytující rozhraní pro přístup do informačního systému rodičům a jiným zákonným zástupcům, kteří nemají přístup do internetové sítě z jiného místa, bude využit pro zkušební provoz starší osobní počítač, používaný dříve také v kanceláři školy. Počítač bude umístěný ve veřejnosti dostupných prostorách školy a zpřístupněný po přihlášení platným uživatelským jménem a heslem, shodným s udělenými údaji pro autentizaci ve webovém rozhraní systému. Terminál bude připojen do internetové sítě pomocí sdílení přístupu k internetu na hlavním počítači. Fyzické propojení je realizováno za pomocí síťových karet OvisLink LFE-8139ATX Fast Ethernet Adapter a příslušné kabeláže, přičemž oba stroje jsou propojeny přímo bez použití přepínače.
_______________________________________________________________________ 41 Pro připojení k internetové síti se v současné situaci používá produkt komerčního poskytovatele telekomunikačních služeb O2 Internet ADSL 2048 a poskytovatelem dodaná spojovací technika.
8.2 Návrh pro běžný provoz Inovace a rozšíření technického zázemí systému bude provedeno po úspěšném testování a ověření funkčnosti i užitečnosti systému ve zkušebním provozu. V případě úspěchu žádosti o grant na vybudování informačního systému bude vybudován systém v rozsahu obdobném tomuto návrhu. Celý systém bude pracovat na principu malé Wi-fi sítě (Standard pro lokální bezdrátové sítě Wireless LAN, který vychází ze specifikace IEEE 802.11.) s vlastním přístupovým bodem. Předpokládá se zbudování vlastního serveru poskytujícího datové služby a spravující systémovou databázi, na kterém bude také stránka školy s přístupem do rozhraní informačního systému. Server bude běžet pod volně dostupným operačním systémem na bázi Unix a open-source databázi PostgreSQL. PostgreSQL je plnohodnotným relačním databázovým systémem s otevřeným zdrojovým kódem. Má za sebou více než patnáct let aktivního vývoje a má vynikající pověst pro svou spolehlivost a bezpečnost. Běží na všech rozšířených operačních systémech včetně Linuxu, UNIXu (AIX, BSD, HP-UX, SGI-IRIX, Mac OS X, Solaris, Tru64) a Windows. Stoprocentně splňuje podmínky ACID, plně podporuje cizí klíče, operace JOIN, pohledy, spouště a uložené procedury. Obsahuje většinu SQL92 a SQL99 datových typů, např. INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL a TIMESTAMP. (Wikipedie, 2007) Stávající hlavní osobní počítač bude nahrazen novou výkonnou sestavou a nahradí provizorní terminál. V případě dostatečného množství financí bude nebude terminál pro přístup zákonných zástupců do systému realizován stanicí, ale specializovaným terminálem s nulovými nároky na údržbu Sun Ray 2: •
MS Windows aplikace se Sun Ray Software,
•
24bitový 2D grafický akcelerátor,
•
rozlišení až 1600 x 1200, 60 Hz,
•
DVI / PC VGA,
•
čtečka paměťových karet smart cards.
_______________________________________________________________________ 42 Informační terminál bude sloužit k přístupu na internet a aplikaci poskytující rozhraní informačního systému. Veškerá stávající síťová kabeláž bude nahrazena bezdrátovými síťovými adaptéry pro přístup na vlastní přístupový bod napojený na pevnou linku ADSL. Předpokládá se navýšení poskytované kapacity z důvodu certifikovaného přístupu do bezdrátové sítě ze strany zákonných zástupců, zaměstnanců a jiných k tomu oprávněných osob.
Obrázek 12: Plánovaná interní bezdrátová síť
V případě neúspěchu řízení o grant na informační systém nebude pořízen vlastní server a jako terminál bude sloužit současný hlavní osobní počítač, čímž se náklady na technické vybavení plánované sítě (viz obrázek 12) značně sníží. Bude však nutné investovat do externího poskytovatele webových a databázových služeb.
_______________________________________________________________________ 43
9 Ekonomická analýza nákladů na zavedení systému 9.1 Ceny a charakteristika technických prvků Vzhledem k výše popisované situaci v oblasti financí je realizace vlastní bezdrátové sítě závislá na poskytnutí zmiňovaného grantu, se kterým také tato analýza počítá. V případě neúspěchu bude nutné se mnohých myšlenek vzdát a v budování postupovat postupně dle možností běžného rozpočtu školy. V analýze jsou použity orientační ceny zařízení v českých internetových obchodech a jiných společností k datu shodujícího se s datem psaní této práce a jsou jmenovitě navrženy produkty, které by mohli být v projektu použity. D-Link DSL-G684T je ADSL modem, Wi-fi router a přepínač v jednom zařízení. Tento směrovač kombinuje funkce internetové brány s funkcemi ADSL modemu. Poskytuje jeden 54 Mbit bezdrátový přístupový bod (AP) dle standardu IEEE 802.11g a jeden přepínač se čtyřmi NWay porty. Toto zařízení umožňuje připojení až pro 253 účastníků současně a podporuje paušální platbu i platbu za dobu připojení. Zabudovaný firewall s filtrováním portů poskytuje také účinnou ochranu sítě. Dostupná je možnost upgradu firmware pro případné ošetření nových technologií. Cena s DPH: 1.997,- Kč. SMC 108Mbps Wireless PCI Adapter 2.4 GHz, je klasický vysokorychlostní bezdrátový adaptér umožňující připojení do Wi-fi sítě. Cena s DPH: 774,- Kč. Sun Ray 2, je speciální terminál nahrazující stanice osobních počítačů ve specifických službách. Zařízení umožňuje plnohodnotnou komunikaci se serverem a jeho využití, obsahuje 24-bitový 2D grafický akcelerátor s rozlišením až 1600 x 1200 (60 Hz) a čtečku karet. Cena s DPH: 6 248,- Kč. APC Smart SC450 RM1U inteligentní záložní zdroj pro server s bateriemi vyměnitelnými za běhu. Cena s DPH: 5 434,- Kč. LCD Samsung 205BW, barevný displej z tekutých krystalů s úhlopříčkou 20,1 palce, odezvou 6 milisekund a rozlišením 1680x1050 bodů. Cena s DPH: 6 617,- Kč. ALFA BX I125S mini, skladná a tichá sestava osobního počítače pro kancelář vedení školy s procesorem CPU Intel CeleronD 3.06GHz , pevným diskem 80GB SATA, ope-
_______________________________________________________________________ 44 rační pamětí 1000 MB DDR2, čtečkou paměťových karet, vypalovací mechanikou DVD R/RW LG GSA-H42N, integrovanou kartou VGA a operačním systémem Windows XP v ceně. Cena s DPH: 9 996,- Kč. ASUS 1U server RS120-E3(PA2), bude zastupovat funkci databázového serveru a poskytovat také další služby. Stroj je osazen procesorem INTEL Pentium 3,20 GHz, systémovou sběrnicí o frekvenci 800 MHz, s 2 MB paměti cache. Jedná se o jednoprocesorový server s možnostmi rozšíření o 8 Gb operační paměti DDR, dva pevné disky a další komponenty. Cena s DPH: 18 224,- Kč. 2x1GB DDR 333 MHz KINGSTON, rychlá rozšiřující operační paměť pro systémový server. Cena s DPH: 3 636,- Kč. WESTERN DIGITAL Raptor 150 GB, rozšiřující rychlý pevný disk pro server, poskytující vyrovnávací 16 MB cache, nadstandardní rychlost 10.000 otáček a přístupovou dobu 5.2 ms. Cena s DPH: 6 228,- Kč.
9.2 Odhadované náklady Celková cena položek uváděných v předchozích odstavcích, ve které je započítán LCD displej jak pro novou administrativní stanici tak pro terminál Sun Ray, je 65 771,- Kč. K vlastní pořizovací ceně uvažuji další náklady v podobě výdajů na montáž a dopravu (2 000,- Kč), instalaci a uvedení nezbytného programového vybavení na serveru a nové osobní stanici do provozu zahrnující přesun softwaru ze starých počítačových jednotek (4 000,- Kč), registrace vlastní domény u poskytovatele obsahující poplatek za zavedení a první obnovovací poplatek (380 Kč). Ostatní možné náklady jako pořízení nábytku nebo periferií nejsou uvažovány, neboť se počítá s využitím stávajícího zařízení.
Tabulka 1: Porovnání odhadovaných nákladů
Verze projektu
Zaváděcí náklady v Kč
Roční provozní náklady v Kč
Systém s vlastním serverem
72 151
16 000
Systém s pronajímaným serverem
44 063
76 000
_______________________________________________________________________ 45
10 Realizace aplikačního rozhraní systému Realizována a do zkušebního provozu uvedena byla část analyzovaného a namodelovaného informačního systému Evidence dětí. Implementace probíhala v několika fázích, které je možné seskupit do dvou hlavních částí. První část zahrnuje založení databázových tabulek a jejich naplnění zkušebními daty. Druhá část pak návrh vlastního webového rozhraní a propojení s databází.
10.1 Databáze Zkušební databáze byla vytvořena v jazyce SQL na studentském serveru Akela (akela.mendelu.cz) s nainstalovaným systémem řízení báze dat Oracle. Skripty pro vytvoření a naplnění databáze byly psány pomocí freeware Editoru PSPad a nahrány na server pomocí WinSCP, SFTP a FTP klienta s otevřeným kódem (open source) pro operační systém Windows. WinSCP umožňuje bezpečné přenášení souborů na vzdálený server. Pro přímou komunikaci se serverem Akela v příkazovém řádku byl použit terminálový Telnet a SSH klient, který umožňuje autentizaci pomocí klíčů pro bezpečné připojení na server s operačním systémem Unix. Skripty byly spouštěny v sql konzoli dbMan a toto dávkové zpracování umožňuje rychlé odstranění, úpravu a znovuzavedení databázových tabulek.
10.1.1 Ukázka kódu pro založení databáze CREATE TABLE DETI (ID_RC_DITE NUMBER(10) PRIMARY KEY, JMENO VARCHAR2(25) NOT NULL, PRIJMENI VARCHAR2(25) NOT NULL, ID_ROK REFERENCES SKOLNI_ROK(ID_ROK), AKTIVNI NUMBER(1), ALERGIE VARCHAR2(300), CISLO_ROZSUDKU NUMBER(20), DATUM_ROZSUDKU DATE, JINA_ZAVAZNA_SDELENI VARCHAR2(500), OCKOVANO NUMBER(1),...); CREATE TABLE RODICE (ID_ZASTUPCE NUMBER(10) PRIMARY KEY, JMENO VARCHAR2(25) NOT NULL, PRIJMENI VARCHAR2(25) NOT NULL, RODIC NUMBER(1), VYZVEDA_DITE NUMBER(1),...); CREATE TABLE DETI_RODICU (ID_DITE REFERENCES DETI(ID_RC_DITE), ID_ZASTUPCE REFERENCES RODICE (ID_ZASTUPCE), PRIMARY KEY (ID_DITE, ID_ZASTUPCE)); CREATE SEQUENCE SID_ZASTUPCE START WITH 1 INCREMENT BY 1;
_______________________________________________________________________ 46 INSERT INTO CIS_AKTIVNI VALUES (1,'ANO'); INSERT INTO CIS_AKTIVNI VALUES (0,'NE');
10.1.2 Ukázka použitých SQL příkazů UPDATE DETI SET DETI.AKTIVNI = 0 WHERE DETI.ID_RC_DITE = '$_POST[ID]'; UPDATE DETI SET TELEFON_DOMU = $_POST[TEL_DOM], SPECIALNI_PECE = $_POST[SPEC_PEC], JINA_ZAVAZNA_SDELENI = $_POST[JINA_SDEL], ALERGIE = $_POST[ALERGIE] WHERE ID_RC_DITE = $_POST[RC_D]; SELECT PRIJMENI, JMENO, ID_RC_DITE, TELEFON_DOMU FROM DETI, SKOLNI_ROK, DETI_ROKU WHERE DETI_ROKU.ID_ROK = SKOLNI_ROK.ID_ROK AND DETI_ROKU.ID_DITE = DETI.ID_RC_DITE AND AKTIVNI = 1 AND DETI_ROKU.ID_ROK = (TO_NUMBER (TO_CHAR (SYSDATE,'YYYY'))); SELECT DISTINCT JMENO, PRIJMENI, ID_RC_DITE, REPRE, MATERSKY_JAZYK, STATNI_PRISLUSNOST, POJISTOVNA, NVL(ALERGIE,'ŽÁDNÁ') FROM DETI,CIS_AKTIVNI WHERE HODNOTA = AKTIVNI AND $DLECEHO = ('$_POST[PARAMETR_HLEDANI]'); INSERT INTO RODICE(RODICE.PRACUJE) VALUES ('1') WHERE RODICE.ID_ZASTUPCE = (SELECT SID_ZASTUPCE.CURRVAL FROM DUAL); DELETE FROM DETI_RODICU WHERE DETI_RODICU.ID_ZASTUPCE = '$_POST[ID]';
10.2 Webové rozhraní Stránky webového rozhraní byly také psány v editoru PSPad, který poskytuje mnoho užitečných nástrojů pro práci se značkovacími jazyky. Stránky jsou napsány v jazyku HTML a je použito formátování CSS z externího souboru, které umožňuje rychle a efektivně měnit vzhled celé aplikace a upravovat hromadně položky ve všech HTML a PHP souborech dle aktuální potřeby. Současná verze rozhraní je odladěna pro svobodný multi-platformní webový prohlížeč Mozilla Firefox 2.0.0.3 a je použit jednoduchý a přehledný grafický styl, shodný v celé aplikaci. Uživatel pracuje s menu v horní části stránky, které slouží jako základní roz-
_______________________________________________________________________ 47 cestník a při zvolení funkce se transformuje na jednotlivé ovládací položky. V rámci jednoho procesu se již ovládací položky nemění a stále je dostupná volba Domů, umožňující rychlý přechod na úvodní stránku aplikace. Celá webová aplikace je rozdělená do dvou částí, rozhraní pro vedení mateřské školy a rozhraní pro zákonné zástupce dětí. Přístup je řešen přesměrováním na příslušné rozhraní na základě zadaných identifikačních údajů při úvodním přihlašování. Odkaz na informační systém se bude v budoucnu nalézat na oficiálních webových stránkách mateřské školy, zpřístupněných na vlastním nebo pronajatém serveru.
10.2.1 PHP spojení s databází Připojení do databáze: Putenv ("ORACLE_HOME = /export/oracle"); Putenv ("ORACLE_SID = vseved"); Putenv ("ORA_NLS33 = /export/oracle/ocommon/nls/admin/data"); Putenv ("NLS_LANG = CZECH_CZECH REPUBLIC.EE8ISO8859P2"); Putenv ("NLS_CHARACTERSET = EE8ISO8859P2"); Putenv ("NLS_NCHAR_CHARAKCTERSET = AL16UTF16"); Putenv ("NLS_SORT = xczech"); $spojeni = OCILogon ("xhemala0", "pwxhemala0", "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = akela.mendelu.cz) (PORT=1521)) (CONNECT_DATA = (SID = vseved)))") or die ("Nelze se pripojit k databazi"); echo "spojeni se podarilo"; ?>. Výběr dat z databáze dle údaje odeslaného ve formuláři: if(!isset($volba2)) $volba = "chyba"; if($_POST[volba2]==1) {$dleceho="deti.prijmeni";} elseif($_POST[volba2]==2) {$dleceho="deti.id_rc_dite";}
_______________________________________________________________________ 48 $vysl1=OCIParse($spojeni,"SELECT distinct jmeno, prijmeni, id_rc_dite, repre, matersky_jazyk, statni_prislusnost, pojistovna, nvl(alergie,'žádná') from CIS_AKTIVNI, DETI where hodnota = aktivni and $dleceho = ('$_POST [parametr_hledani]')"); $v=OCIExecute($vysl1); while (ocifetchinto($vysl1,&$result,OCI_RETURN_NULLS)) { echo "
$result[0] | $result[1] | $result[2] | $result[3] | $result[4] | $result[5] | $result[6] | $result[7] |
";} ?>.
10.2.2 Rozhraní pro vedení školy Do rozhraní se vstupuje po zadání uživatelského jména a hesla, přičemž přihlašovací okno je aktivováno souborem pro přístup do celého informačního systému login.php, na který bude odkazováno z plánovaného webu školy. Po zadání identifikačních údajů, je uživatel automaticky přesměrován do rozhraní, které mu přísluší. Prostředí webové aplikace nabízí funkce odvozené z příslušné části celkového modelu systému. Názvy jednotlivých položek a jejich funkcionalita odpovídají jednotlivým datovým tokům a jejich zpracování. Dostupné volby Přihláška do MŠ, Dotazník o dítěti, Žádosti a Odhláška z MŠ poskytují uživateli formuláře pro vyplnění příslušných údajů a jejich odeslání. V záložce Žádosti je možné zjistit stav již podaných žádostí. Ukázku rozhraní je možné shlédnout na obrázku 13 v přílohách.
10.2.3 Rozhraní pro zákonné zástupce dětí Úvodní strana prostředí aplikace pro vedení školy, na kterou se pověřená osoba dostane na základě identifikačních údajů zadaných do přihlašovacího okna, funguje jako rozcestník do základních sekcí systému. Dostupné jsou v souladu s modelem sekce Evidence dětí, Provoz, Pokladna, Doklady a Platy. V rámci této práce byl ošetřen proces
_______________________________________________________________________ 49 Evidence dětí. Ostatní části systému budou vyvíjeny na základě testovacího provozu realizovaného systému a míře dostupnosti investičních prostředků. V části aplikace Evidence dětí jsou dostupné záložky Info děti, Aktualizace dat, Nevyřízené žádosti a Podané odhlášky. Volba Info děti zpřístupňuje informace o aktivních, tedy v současnosti docházejících dětech a umožňuje vyhledávání dětí, jejich zákonných zástupců nebo vyzvedávajících a k nim relevantních informací na základě zvolených identifikačních parametrů. Položka Aktualizace dat zpřístupňuje formulář pro případnou změnu veškerých údajů vážících se k dítěti. Pod možnostmi Nevyřízené žádosti a Podané odhlášky lze nalézt informace o nevyřízených podaných žádostech o prominutí školného a o podaných odhláškách. Na žádosti lez reagovat zamítnutím nebo vyhověním a na odhlášky deaktivací nebo výmazem. Deaktivace je zanechání dítěte v databázi s hodnotou atributu Aktivni = 0 a výmaz znamená odstranění všech dat vztahujících se k dítěti z databáze. Ukázku rozhraní je možné shlédnout na obrázku 14 v přílohách.
_______________________________________________________________________ 50
11 Zhodnocení výsledků práce V rámci práce se podařilo splnit stanovené cíle, které zahrnují provedení analýzy informačních toků v mateřské škole Domašov, vytvoření uceleného modelu informačního systému, který postihuje veškeré standardní komunikační vazby i evidence, a uvedení do provozu aplikaci vyvíjenou na míru konkrétní mateřské škole, v uspokojivém rozsahu. Na základě počáteční analýzy vytvořený model sloužil jako výchozí bod pro vývoj části aplikačního rozhraní a navržení struktury datové základny a bude užitečný pro případný vývoj dalších částí systému. V práci bylo v souladu s jejími cíli také realizováno navržení technického řešení a propočet ekonomické náročnosti vztahující se k počátečním výdajům i výdajům na provoz systému. Z těchto údajů je možné vycházet při nákupu a instalaci technického vybavení pro informační systém. Propočet nákladů však vychází ze současných cen na českém trhu a uvažuje pouze fundamentální výdaje na zbudování systému, proto je nutné počítat s možnými výkyvy od uváděných částek. Aplikační webové rozhraní se nachází ve fázi zkušebního provozu, optimalizace výkonu, testování a hledání případných chyb. Tento provoz teprve prověří použitelnost a užitečnost aplikace pro potřeby mateřské školy a na základě výsledků i poznatků budoucích uživatelů bude projekt zřejmě dále vyvíjen, upravován a měněn. Budoucí změny, vyplívající z dosud provedených zkoušek, jsou zejména vytvoření individuálního přívětivějšího uživatelského rozhraní, zabezpečení uložených identifikačních dat v databázi při prolomení vlastní databázové ochrany a integrace informačního systému to plánovaných oficiálních webových stránek mateřské školy.
_______________________________________________________________________ 51
12 Závěr Mnohé myšlenky navržené v rámci této práce závisí na udělení grantu pro vybudování informačního systému nebo přístupu k jiným investičním zdrojům. Bez těchto zdrojů je však, po ověření efektivní použitelnosti systému, plánován jeho provoz, i když za značně skromnějších a omezenějších podmínek. Realizovaná aplikace by měla být díky formalizovanému chodu školy po drobných úpravách použitelná i v obdobných zařízeních. V současné době se předpokládá vývoj systému na základě zkušebního provozu, testování a poznatků budoucích uživatelů, avšak v delším časovém horizontu by bylo možné uvažovat o zbudování podobného systému i na blízké základní škole, propojením systémů a zbudovaných bezdrátových sítí obou institucí a poskytování přístupu do interní sítě oprávněným uživatelům, což by mohlo mimo-jiné také úspěšně eliminovat případné čekací fronty u školního terminálu v kritické dny (Připojení k internetu některých domácností není ani dnes samozřejmostí.). Budoucnost informačního systému v navržené podobě záleží na mnoha faktorech, z nichž nejkritičtějším jsou již několikrát zmiňované finance, avšak podaří-li se zprovoznit celkový systém v podobě blížící se návrhu, měl by jeho běh být přínosem nejen pro vedení školy.
_______________________________________________________________________ 52
13 Literatura [1] RÁBOVÁ, I. Informační systémy/Informační technologie, přednášky, PEF MZLU, 2006. [2] SAUTER, V. Information Systems Analysis Systems Theory [online]. c2006 [cit. 2000-14-08]. Dostupný z WWW:
. [3] ŠIROKÝ, J. Informační systémy [online]. c2004 [cit. 2004-02-02]. Dostupný z WWW: < http://homen.vsb.cz/~s1i95/ISVDAS/is/IS_uvod.htm>. [4] Wikipedie: Otevřená encyklopedie: Informační systém [online]. c2006 [cit. 2006-05-13]. Dostupný z WWW: .
_______________________________________________________________________ 53
14 Přílohy
Obrázek 13: Webová aplikace pro vedení školy
Obrázek 14: Webová aplikace pro zákonné zástupce dětí