České vysoké učení technické v Praze Fakulta elektrotechnická
Diplomová práce
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha Ondřej Havlák
Vedoucí práce: Ing. Martin Molhanec, CSc.
Studijní program: Elektrotechnika a informatika, magisterský program Obor: Výpočetní technika květen 2007
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Anotace Cílem této práce bylo navrhnout a implementovat systém pro podporu činnosti skupiny, zabývající se fotovoltaikou na katedře elektrotechnologie, FEL ČVUT. Systém slouţí ke sběru naměřených dat ze solárních panelů a zároveň jako CMS systém podporující vzájemnou komunikaci mezi uţivateli, publikaci jejich článků a e-learning.
Annotation The goal of this work was to design and implement a system supporting an activity of a group conversant of photovoltaics in the Department of Electrotechnology, FEL CTU. The system is made for gathering of data collected in solar panels. Another part of the system – CMS system, supports communication between users of system, enables publication of their articles and supports e-learning.
1
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
2
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Poděkování Rád bych poděkoval všem, kteří mi při tvorbě této práce pomohli. Především bych chtěl poděkovat vedoucímu diplomové práce Ing. Martinu Molhancovi, CSc.za jeho odbornou pomoc.
3
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Prohlášení Prohlašuji, ţe jsem svou diplomovou práci vypracoval samostatně a pouţil jsem pouze podklady uvedené v přiloţeném seznamu. Nemám závaţný důvod proti uţití tohoto školního díla ve smyslu § 60 Zákona č.121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 17.5.2007 Ondřej Havlák
5
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
6
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Obsah
ANOTACE .................................................................................................................................................. 1 PODĚKOVÁNÍ .......................................................................................................................................... 3 PROHLÁŠENÍ ........................................................................................................................................... 5 OBSAH ........................................................................................................................................................ 7 1
ÚVOD ................................................................................................................................................ 11
2
POUŢITÉ TECHNOLOGIE........................................................................................................... 12
2.1
Jazyk UML ................................................................................................................................................... 12
2.2
Jazyk XHTML ............................................................................................................................................. 12
2.3
Technologie CSS........................................................................................................................................... 12
2.4
Jazyk PHP .................................................................................................................................................... 12
2.5
Databáze MySQL ......................................................................................................................................... 13
2.6
Internet Information Services ..................................................................................................................... 13
3 SBĚR A ZPRACOVÁNÍ FOTOVOLTAICKÝCH DAT ZE SOLÁRNÍCH PANELŮ NA ČVUT FEL ................................................................................................................................................ 14 3.1
Historie.......................................................................................................................................................... 14
3.2
Současnost..................................................................................................................................................... 15
4 4.1
ÚVODNÍ STUDIE ............................................................................................................................ 16 Deklarace záměru ........................................................................................................................................ 16
4.2 Odborný článek ............................................................................................................................................ 16 4.2.1 Zpracování dat ........................................................................................................................................... 16 4.2.2 CMS systém............................................................................................................................................... 17 4.2.3 Uţivatelské role ......................................................................................................................................... 17 4.3 Harmonogram .............................................................................................................................................. 19 4.3.1 Seznam úloh .............................................................................................................................................. 19 4.3.2 Harmonogram pomocí MS Project ............................................................................................................ 20 4.4
Kontextový diagram .................................................................................................................................... 21
4.5
Model jednání ............................................................................................................................................... 22
4.6 Návrh HW a SW řešení ............................................................................................................................... 23 4.6.1 Návrh HW ................................................................................................................................................. 23 4.6.2 Návrh SW .................................................................................................................................................. 23
7
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha 4.7 Rozpočet ....................................................................................................................................................... 24 4.7.1 Náklady na mzdy – metoda COCOMO..................................................................................................... 24 4.7.2 Celkové náklady ........................................................................................................................................ 25 4.8 Analýza rizik ................................................................................................................................................ 26 4.8.1 Identifikace rizik ....................................................................................................................................... 26 4.8.1.1 Generická rizika................................................................................................................................ 26 4.8.1.2 Projektově specifická rizika.............................................................................................................. 26 4.8.2 Ohodnocení rizik ....................................................................................................................................... 26 4.8.3 Plán řízení rizik ......................................................................................................................................... 27 4.8.3.1 Nízký odhad sloţitosti projektu ........................................................................................................ 27 4.8.3.2 Změna poţadavků zákazníkem ......................................................................................................... 28 4.8.3.3 Porucha HW, SW při vývoji ............................................................................................................. 28 4.8.3.4 Ztráta dat........................................................................................................................................... 28 4.8.3.5 Nevhodně zvolené vývojové nástroje ............................................................................................... 28 4.8.3.6 Nedostatečné zkušenosti s prací ve zvoleném vývojovém prostředí ................................................ 28 4.8.3.7 Nedostatečná kvalifikace členů týmu ............................................................................................... 29 4.8.3.8 Špatné provedení GUI ...................................................................................................................... 29 4.8.3.9 Pozdní odevzdání.............................................................................................................................. 29 4.8.4 Řízení rizik – sníţení rizika ....................................................................................................................... 30 4.8.4.1 Nízký odhad sloţitosti projektu ........................................................................................................ 30 4.8.4.2 Změna poţadavků zákazníkem ......................................................................................................... 30 4.8.4.3 Porucha HW, SW při vývoji ............................................................................................................. 30 4.8.4.4 Ztráta dat........................................................................................................................................... 30 4.8.4.5 Nevhodně zvolené vývojové nástroje ............................................................................................... 30 4.8.4.6 Nedostatečné zkušenosti s prací ve zvoleném vývojovém prostředí ................................................ 30 4.8.4.7 Nedostatečná kvalifikace členů týmu ............................................................................................... 30 4.8.4.8 Špatné provedení GUI ...................................................................................................................... 31 4.8.4.9 Pozdní odevzdání.............................................................................................................................. 31
ANALÝZA ........................................................................................................................................ 32
5
5.1 Konceptuální datový model ........................................................................................................................ 32 5.1.1 Datový slovník .......................................................................................................................................... 32 5.1.1.1 Popis notace zápisu datového slovníku ............................................................................................ 32 5.1.1.2 Datové typy pouţité v konceptuálním datovém modelu ................................................................... 32 5.1.2 ER diagram................................................................................................................................................ 33 5.1.3 Popis entit datového modelu ..................................................................................................................... 35 5.1.3.1 Solar záznam .................................................................................................................................... 35 5.1.3.2 Uţivatel ............................................................................................................................................ 35 5.1.3.3 Vlákno diskuze ................................................................................................................................. 36 5.1.3.4 Diskuzní příspěvek ........................................................................................................................... 36 5.1.3.5 Dokument ......................................................................................................................................... 36 5.1.3.6 Soubor .............................................................................................................................................. 37 5.1.3.7 Článek ............................................................................................................................................... 37 5.1.3.8 Odkaz ............................................................................................................................................... 37 5.1.3.9 Kategorie .......................................................................................................................................... 37 5.2 Dynamický a funkční model ....................................................................................................................... 38 5.2.1 Zobrazení dat ze solárních panelů ............................................................................................................. 39 5.2.2 Přihlášení do systému a odhlášení ............................................................................................................. 42 5.2.3 Registrace .................................................................................................................................................. 42 5.2.4 Přidání nového uţivatele administrátorem ................................................................................................ 44 5.2.5 Změna osobních údajů .............................................................................................................................. 45 5.2.6 Změna osobních údajů uţivatelů administrátorem .................................................................................... 46 5.2.7 Odebrání uţivatele administrátorem.......................................................................................................... 47 5.2.8 Vloţení článku .......................................................................................................................................... 48 5.2.9 Výpis článku.............................................................................................................................................. 51 5.2.10 Přidání komentáře k článku .................................................................................................................. 52 5.2.11 Změna článku ........................................................................................................................................ 54 5.2.12 Smazání článku ..................................................................................................................................... 55 5.2.13 Prohlíţení diskuze ................................................................................................................................. 56
8
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha 5.2.14 5.2.15 5.2.16 5.2.17 5.2.18 5.2.19 5.2.20 5.2.21 5.2.22 5.2.23 5.2.24 5.2.25 5.2.26 5.2.27 5.2.28 5.2.29 5.2.30 5.2.31 5.2.32
6 6.1
Zaloţení diskuzního fóra ....................................................................................................................... 58 Smazání diskuzního fóra ....................................................................................................................... 59 Vloţení nového tématu diskuze ............................................................................................................ 60 Smazání tématu diskuze ........................................................................................................................ 61 Vloţení diskuzního příspěvku ............................................................................................................... 62 Smazání diskuzního příspěvku .............................................................................................................. 63 Vloţení souboru .................................................................................................................................... 64 Staţení souboru ..................................................................................................................................... 65 Smazání souboru ................................................................................................................................... 66 Vloţení odkazu...................................................................................................................................... 67 Zobrazení odkazů .................................................................................................................................. 68 Smazání odkazu .................................................................................................................................... 68 Přidání novinky ..................................................................................................................................... 69 Smazání novinky ................................................................................................................................... 71 Přidání kategorie ................................................................................................................................... 71 Změna kategorie .................................................................................................................................... 73 Smazání kategorie ................................................................................................................................. 74 Import dat ze solárních panelů .............................................................................................................. 75 Export dat ze solárních panelů .............................................................................................................. 77
IMPLEMENTACE .......................................................................................................................... 78 Fyzický datový model .................................................................................................................................. 78
6.2 Implementace webového rozhraní .............................................................................................................. 80 6.2.1 Adresářová struktura a popis důleţitých souborů ...................................................................................... 80 6.2.2 Diagram tříd............................................................................................................................................... 81 6.2.2.1 Cms ................................................................................................................................................... 81 6.2.2.2 Solar .................................................................................................................................................. 81 6.2.2.3 Graf ................................................................................................................................................... 81 6.2.2.4 Clanek ............................................................................................................................................... 81 6.2.2.5 Diskuze ............................................................................................................................................. 81 6.2.2.6 Soubor ............................................................................................................................................... 81 6.2.2.7 Odkaz ................................................................................................................................................ 81 6.2.2.8 Kategorie........................................................................................................................................... 81 6.2.2.9 Uzivatel ............................................................................................................................................. 82 6.2.3 Import a export solárních dat ..................................................................................................................... 82
7
TESTOVÁNÍ .................................................................................................................................... 83
7.1 Odhalené chyby a nedostatky ..................................................................................................................... 83 7.1.1 Chyby uţivatelského rozhraní ................................................................................................................... 83 7.1.2 Výpočetní chyby ........................................................................................................................................ 84 7.2
Další moţné chyby a nedostatky ................................................................................................................. 84
7.3
Zhodnocení testování ................................................................................................................................... 84
8
ZÁVĚR .............................................................................................................................................. 85
9
POUŢITÉ ZDROJE ......................................................................................................................... 86
10
PŘÍLOHA A – CD-ROM............................................................................................................. 87
11
PŘÍLOHA B – UŢIVATELSKÁ PŘÍRUČKA .......................................................................... 87
12
PŘÍLOHA C – INSTALAČNÍ PŘÍRUČKA .............................................................................. 88
9
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha 12.1
Poţadavky na systém ................................................................................................................................... 88
12.2
Postup instalace............................................................................................................................................ 88
13
PŘÍLOHA D – PŘÍRUČKA ADMINISTRÁTORA ................................................................. 89
13.1 Popis správy aplikace .................................................................................................................................. 89 13.1.1 Přihlášení do systému a odhlášení ........................................................................................................ 89 13.1.2 Přidání nového uţivatele ....................................................................................................................... 89 13.1.3 Změna osobních údajů uţivatelů........................................................................................................... 90 13.1.4 Odebrání uţivatele ................................................................................................................................ 91 13.1.5 Přidání novinky ..................................................................................................................................... 91 13.1.6 Smazání novinky................................................................................................................................... 92 13.1.7 Přidání kategorie ................................................................................................................................... 92 13.1.8 Změna kategorie ................................................................................................................................... 93 13.1.9 Smazání kategorie ................................................................................................................................. 94 13.1.10 Import dat ze solárních panelů .............................................................................................................. 94 13.1.11 Export dat ze solárních panelů .............................................................................................................. 97 13.2 Popis vybraných částí aplikace ................................................................................................................... 98 13.2.1 Přidání nového tlačítka do hlavního menu ............................................................................................ 98 13.2.2 Vytvoření levého menu ......................................................................................................................... 98 13.2.3 Generování grafů .................................................................................................................................. 99
10
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
1 Úvod Hlavním podnětem k této práci byla potřeba katedry elektrotechnologie FEL ČVUT v Praze vytvořit systém pro sběr a zobrazování fotovoltaických dat pomocí webové aplikace. Jednalo se o data získávaná ze solárních panelů umístěných na střeše budovy FEL ČVUT v Dejvicích, která byla sice jiţ dříve prostřednictvím webového rozhraní prezentována, ale po instalaci nové měřící ústředny a jejím následném připojení k Internetu, se jevilo jako výhodnější celý proces automatizovat a vytvořit tak aplikaci, která sama získá data z měřící ústředny, uloţí je na webovém serveru katedry a bude je vhodným způsobem dále prezentovat. Jako nejvhodnější způsob prezentace pro moţnost dalšího vědeckého zpracování fotovoltaických dat byly zvoleny tabulky a grafy. Dále se jevilo jako uţitečné vytvořit vyšší stupeň podpory uţivatelů této aplikace pomocí jejího rozšíření, umoţňujícího publikaci článků, diskuzi a slouţící tak studentům i širší odborné veřejnosti k předávání poznatků a e-learningu. Byla proto vytvořena webová aplikace, která umoţňuje prezentaci fotovoltaických dat a je zároveň komunitním systémem. Výsledek předkládám v této práci.
11
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
2 Pouţité technologie 2.1 Jazyk UML Jazyk UML (Unified Modeling Language) je univerzální prostředek pro popis chování systémů, jejich modelování a návrh. Syntaxí jazyka jsou grafické objekty. Uplatňuje se dnes především v analýze, návrhu a dokumentaci objektově orientovaných systémů. Nejpouţívanější částí UML standardu jsou diagramy, kterých je v současné verzi UML 2.0 13 druhů. Tyto diagramy lze rozdělit do tří skupin – strukturní diagramy (např. diagram tříd, diagram balíčků), diagramy chování (např. diagram uţití, diagram aktivit) a diagramy interakce (např. sekvenční diagram, diagram komunikace). Vývoj jazyka UML začal roku 1994 ve firmě Rational Software. Pro vizualizaci, specifikaci a návrh programových systémů se zde pouţívalo více metodik a bylo potřeba je sloučit v jedinou. Proto došlo ke sloučení dvou nejpouţívanějších metodik – Booch (metodika objektově orientovaného designu) a OMT (metodika objektově orientované analýzy). Výsledkem tohoto spojení se po příchodu Ivara Jacobsona do firmy stal jazyk UML, který byl roku 1997 přijat jako standard standardizační organizací OMG (Object Management Group). Postupně se upřesňovala specifikace jazyka a vytvářely se nové verze. V současnosti se přechází na verzi UML 2.0. Diagramy vytvořené v UML jazyce jsou velmi vhodné pro lidské kognitivní vnímání a jsou navíc pouţitelné v CASE nástrojích.
2.2 Jazyk XHTML Jazyk XHTML (eXtensible HyperText Markup Language) je značkovací interpretovaný jazyk, který umoţňuje psaní strukturovaných dokumentů, webových stránek. Jednotlivé prvky stránek jsou uzavírány mezi značky – takzvané tagy. Tento jazyk vznikl jako náhrada za starší HTML, jehoţ vývoj se zastavil roku 1999 na verzi 4.01. Jazyk XHTML má přísnější pravidla, neţ HTML a jeho syntaxe je aplikací jazyka XML (eXtensible Markup Language). To umoţňuje jednodušší automatizaci zpracování dokumentů vytvořených v XHTML na koncových zařízeních. V současnosti je konsorciem W3C (World Wide Web Consortium) doporučováno pouţití XHTML verze 1.1 a pracuje se na specifikaci XHTML 2.0.
2.3 Technologie CSS Kaskádové styly CSS (Cascading Style Sheets) se vyuţívají k oddělení struktury dokumentu uloţeného v HTML, XHTML, nebo XML formátu od jeho layoutu. Jde o souhrn metod slouţících k úpravě vzhledu elementů webových dokumentů. CSS nabízí širší moţnosti formátování dokumentů, neţ samotné HTML. Rovněţ správa a změna dokumentu vyuţívajícího CSS je mnohem jednodušší, neţ správa dokumentu formátovaného jen pomocí HTML, zejména pracuje-li na vzhledu dokumentu a jeho obsahu více lidí. První koncept kaskádových stylů pro formátování HTML dokumentů byl zveřejněn roku 1994. O dva roky později byla vytvořena první specifikace CSS 1, doporučovaná konsorciem W3C. Roku 1998 bylo konsorciem vydáno druhé doporučení specifikace kaskádových stylů CSS 2 a v současnosti se pracuje na specifikaci CSS 3.
2.4 Jazyk PHP Skriptovací jazyk PHP (PHP Hypertext Preprocessor) je umístěn na straně serveru a umoţňuje dynamické generování obsahu XHTML (či jiného) dokumentu. Výpočet tedy není prováděn na straně klienta, ale na straně serveru.
12
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Jazyk PHP se začal vyvíjet roku 1994, kdy Rasmus Lerdorf napsal v jazyce Perl systém evidence přístupů ke svému webu. Tento systém (později přepsán v jazyce C) se rozšířil mezi další uţivatele a byl vydán jako balíček „Personal Home Page“ (jde o původní význam PHP). Později přešel vývoj systému širší skupinu programátorů a roku 1997 byla vytvořena verze PHP 3.0. V současné době je PHP ve verzi 5.2 . Bylo moţné volit mezi několika skriptovacími jazyky jako jsou Perl, Python nebo ASP. Jazyk PHP jsem zvolil protoţe je Open Source a existuje k němu široká technická podpora. Jazyk PHP jsem navíc rozšířil o přídavnou knihovnu JpGraph verze 1.20.3, slouţící ke generování různých typů obrázkových 2D grafů. Tato knihovna je plně objektově orientovaná a je naprogramována v PHP. Knihovna je distribuována pod licencí QPL 1.0 pro nekomerční vyuţití (včetně školství). Dále jsem jazyk PHP rozšířil o šablonovací systém Smarty verze 2.6.0, umoţňující oddělení aplikační logiky od prezentace dat. Díky Smarty je tedy moţné měnit design webu bez zásahu do aplikace napsané v PHP. Tento systém je distribuován pod licencí LGPL.
2.5 Databáze MySQL MySQL je multiplatformní relační databázový systém. Je populární a vyuţívaný zejména ve spojení s jazykem PHP (tzv. dynamické duo) pro webové aplikace. Systém MySQL vlastní a sponzoruje firma MySQL AB a jeho první verze byla vydána roku 1995. Od svého prvního vydání prochází systém MySQL neustálým procesem vývoje a zdokonalování. V současnosti je aktuální verze 5.0, podporující databázové funkce, jako jsou například pohledy a triggery, které v dřívějších verzích chyběly.
2.6 Internet Information Services Internet Information Services (IIS) je produktem firmy Microsoft. Jde o sadu sluţeb, umoţňujících realizaci webového serveru. IIS podporuje protokoly FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), NNTP (Network News Transfer Protocol) a HTTP/HTTPS (Hypertext Transfer Protocol / HTTP Secure). Jde o druhý (po serveru Apache) nejpouţívanější webový server. První verze IIS 1 byla součástí operačního systému Windows NT 3.51, který byl vydán roku 1995. Od té doby došlo k mnoha změnám a zvýšení bezpečnosti. V současnosti je k dispozici verze IIS 7 pod operačním systémem Windows Vista a Windows Server Longhorn.
13
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
3 Sběr a zpracování fotovoltaických dat ze solárních panelů na ČVUT FEL 3.1 Historie Sběr fotovoltaických dat na katedře elektrotechnologie fakulty elektrotechnické ČVUT v Praze má několikaletou historii. Na střechu budovy elektrotechnické fakulty ČVUT v Praze Dejvicích (obr. 1) byl v rámci akce „Slunce do škol“ nainstalován fotovoltaický systém FVS 2003A. Projekt byl financován na základě smlouvy mezi ČVUT a Státním fondem ţivotního prostředí České republiky. Celý systém navrhla a dodala ke konci roku 2001 firma Solartec s.r.o. sídlící v Roţnově pod Radhoštěm. Celý systém je sloţen ze tří nezávislých subsystémů (kaţdý o výkonu 1kW). Kaţdý subsystém se dále skládá z deseti fotovoltaických panelů. Systém je prostřednictvím měničů připojen ke standardní síti 230 V, 50 Hz. Všechna vyprodukovaná energie se spotřebuje v rámci budovy fakulty. Systém dále obsahuje měřicí ústřednu uchovávající provozní data systému přibliţně po dobu 90-ti dnů. Doba uchování dat závisí na velikosti interní paměti měřicí ústředny, na mnoţství údajů, které je třeba uchovávat a na nastavitelné frekvenci jejich ukládání. Po uplynutí této doby se data automaticky přepisují. V měřicí ústředně se uchovávají následující data: napětí a proud připojené sítě, výstupní napětí, výstupní proud, výkon fotovoltaických článků, intenzita záření, teplota a celková energie dodaná do sítě.
obr. 1 - Instalace PV systému na ČVUT FEL v Praze
Vyhodnocení a uchování dat na PC dříve zajišťoval program firmy Solartec. Toto řešení mělo však několik podstatných nedostatků: Sběr dat mohl být učiněn pouze manuálně uţivatelem u PC pomocí specializovaného programu dodavatele zařízení a nemohl být automatizován. Takto získaná data mohla být dále pouze manuálně zpracována, například pomocí programu MS Excel, za účelem jejich dalšího prezentování a vědeckého vyhodnocení. Webové prezentace získaných dat byly vytvářeny pouze manuální tvorbou webových stránek. Toto řešení vyţadovalo dobrou znalost HTML a tvorby webových stránek.
14
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
V roce 2005 bylo vytvořeno dočasné řešení, jako výsledek jedné diplomové práce. Byla také vyuţita příleţitost související s rekonstrukcí fakulty pro lepší vedení a rozšíření kabeláţe vedoucí z pracovišť katedry k měřicí ústředně umístěné pod střechou fakulty. Výhody tohoto řešení byly následující: Integrace kabeláţe od měřicí ústředny s fakultním síťovým (LAN a telefonie) rozvodem. Výstup dat v místnosti webového serveru. Poloţení druhého síťového přívodu pro budoucí IP připojení. Webové prezentace byly vytvářeny následujícím postupem: Data byla nejprve získána prostřednictvím speciálního programu dodavatele. Tato data byla ze stanice uţivatele zaslána speciálním programem na webový server. Následně byla na webovém serveru automaticky importována do databáze na něm umístěné. Nakonec byla uloţená data z databáze zobrazena na webových stránkách.
3.2 Současnost Koncem roku 2005 byla firmou Solartec ve spolupráci s CZREA (Czech Renewable Energy Agency) instalována nová měřicí ústředna se standardním (RS485/RS422) i novým IP (Internetovým) připojením. Sběr dat prostřednictvím standardního připojení zůstal v podstatě tentýţ, ale nové IP připojení si vyţádalo vytvoření nové metody sběru dat. Měřicí ústředna je totiţ ve své podstatě klientem webového serveru, který od ní data přijímá. Data z měřicí ústředny jsou vysílána prostřednictvím HTTP příkazu GET jako jeho parametry. Webová stránka, kterou tímto příkazem měřicí ústředna poţaduje, je ve skutečnosti měřicí ústřednou ignorována a můţe být zcela prázdná. Musí obsahovat pouze kód v libovolném skriptovacím jazyce (například PHP, JSP, ASP, atp.), který přečte parametry (vysílaná data) a uloţí je k dalšímu zpracování do databáze. Data tedy není moţné z měřicí ústředny přes internetové připojení ve skutečnosti číst, ale jsou posílána na jeden konkrétní webový server připojený na Internet. IP adresa webového serveru (přijímače dat) je konfigurována uvnitř měřicí ústředny (vysílače dat) a můţe být změněna speciálními nástroji dodavatele měřicí ústředny. Na základě dohody s CZREA jsou v současné době data vysílána na webový server CZREA a transparentním způsobem jsou dále přeposílána na školní webový server katedry elektrotechnologie. Nevýhodou současného řešení je nemoţnost získat přes Internet historická data z měřicí ústředny. Vzhledem k tomu, ţe data jsou z měřicí ústředny vysílána nezávisle na schopnosti přijímajícího webového serveru data skutečně přijímat, jsou všechna vyslaná data během doby, kdy přijímající server nepracuje ztracena, protoţe není moţné přes Internet vyslat do měřicí ústředny příkaz, pro opětovné vyslání dat, která jsou ve skutečnosti v měřicí ústředně po nějakou dobu uloţena. Naštěstí lze historická data získat prostřednictvím standardního připojení (RS485/RS422). To však vyţaduje speciální metodiku slučování dat jiţ získaných přes Internet s daty získanými přes standardní připojení a je řešeno v rámci této práce.
15
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4 Úvodní studie 4.1 Deklarace záměru Cílem projektu je vytvořit systém usnadňující práci skupině zabývající se fotovoltaikou na katedře elektrotechnologie FEL ČVUT. Systém zajistí podporu činnosti této skupiny formou webové aplikace, umoţňující jejím členům prohlíţení dat získaných ze solárních panelů. Systém dále umoţní uţivatelům vytváření a publikaci článků, diskuzi a správu souborů a odkazů. Uţivatelé tak budou mít moţnost jednoduše a rychle zjistit a publikovat na internetu potřebné informace.
4.2 Odborný článek 4.2.1 Zpracování dat Systém bude provozován jako serverová aplikace. Tato aplikace poslouţí ke zpracování a prohlíţení dat získaných ze solárních panelů FVS 2003E instalovaných firmou Solartec na střeše budovy ČVUT FEL v Dejvicích. Z dataloggeru solárních panelů, jsou za pomoci měřící ústředny s internetovým připojením kaţdou minutu odesílány prostřednictvím HTTP příkazu GET aktuální naměřené hodnoty na webový server CZREA (Czech Renewable Energy Agency) jako parametry tohoto příkazu. Webová stránka na tomto serveru, kterou datalogger (vystupující při komunikaci jako klient) poţaduje, slouţí pouze k načtení a uloţení hodnot parametrů příkazu GET (naměřených hodnot) do databáze, jinak můţe být zcela prázdná. K načtení a uloţení těchto hodnot zde slouţí PHP skript. Vzhledem k tomu, ţe IP adresa webového serveru je nastavena uvnitř měřící ústředny, jsou naměřená data posílána na server CZREA a stejným způsobem, čili pomocí příkazu GET, jsou přeposílána na webový server katedry elektrotechnologie, kde budoucí aplikace poběţí. Schéma komunikace je na obr. 2.
obr. 2 - Přenos naměřených hodnot na FVS 2003E přes internet.
Naměřené hodnoty jsou předávány pomocí následujících parametrů: Id Identifikační číslo (0-65535) určuje platná data z dataloggeru, můţe být kontrolováno skriptem pro eliminaci neţádoucích dat odeslaných například z příkazové řádky prohlíţeče apod. Enh, Enl, Enah, Enal, Enbh, Enbl, Ench, Encl Celková energie En = (Enh * 65536 + Enl)/100, energie fotovoltaického (FV) pole A, Ena = (Enah * 65536 + Enal)/100. Podobně pro FV pole B a C. Jednotka je kWh. Pac Střídavý výstupní výkon ze střídačů ve watech. Vdca, Vdcb, Vdcc Hodnota stejnosměrného napětí z FV polí A, B a C * 10 ve voltech.
16
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Idca, Idcb, Idcc Hodnota stejnosměrného proudu z FV polí A, B a C * 100 v ampérech. Temp Teplota FV pole, nutno přepočítat. Skutečná teplota = (Temp - 300) /10 ve stupních celsia. Irrad Intenzita slunečního záření ve W/m2. Date Datum ve formátu dd.mm.rrrr. Time Čas UTC ve formátu hh:mm - v zimním období mínus 1 hodina, v letním období mínus 2 hodiny. Aplikace hodnoty zpracuje a uloţí do databáze. Webová aplikace poté umoţní hodnoty z databáze načíst a zobrazit ve formě tabulek a grafů. Zobrazení hodnot bude trojího typu – denní hodnoty pro vybraný den, měsíční hodnoty pro vybraný měsíc a roční hodnoty pro vybraný rok. Při prvním načtení stránky bude pro zobrazení hodnot nastaveno aktuální datum a bude zobrazen graf. Volba data bude moţná pomocí kalendáře, coţ uţivateli urychlí práci. Grafické zobrazení denních hodnot bude provedeno pomocí spojnicových grafů, u měsíčních a ročních hodnot se pouţijí sloupcové grafy. Pomocí aplikace bude uţivatel moci vloţit do databáze naměřené hodnoty získané přímo z dataloggeru, coţ vyuţije například při výpadku serveru, či jiné poruše, která způsobí ţe data nebudou uloţena. Opačně bude moţno exportovat data z databáze pro další pouţití do .csv souboru.
4.2.2 CMS systém Součástí aplikace bude jednoduchý CMS systém (Content Management System), který uţivatelům umoţní vkládání článků, diskuzi, správu souborů a odkazů. Článek bude moţné publikovat buďto jako jiţ vytvořený soubor (ve formátu DOC, PDF apod.), nebo jej bude moţné vytvořit pomocí formuláře. Autor článku bude moci pro naformátování textu ve vytvářeném článku pouţívat běţné HTML tagy. Rovněţ bude moci za článek vloţit několik odkazů na související stránky či dokumenty. Za seznamem odkazů budou moci uţivatelé vést diskuzi k článku. Dalším prvkem aplikace bude diskuze. Zde bude moci uţivatel přispívat k jiţ vytvořenému fóru diskuze, nebo vytvořit fórum nové, v němţ pak bude s kolegy diskutovat příslušné téma. Diskuze bude strukturovaná, odpovědi budou přehledně odsazeny. Uţivatelé si budou moci přes server předávat soubory. K uloţenému souboru přiloţí popis a ostatní uţivatelé si jej pak budou moci stáhnout. Uţivatelé budou také moci zveřejňovat odkazy na jiné webové stránky, či dokumenty s jejich krátkým popiskem. Webová aplikace bude v českém i v anglickém jazyce s moţností volby jazyka.
4.2.3 Uţivatelské role Systém bude mít tři typy uţivatelů – neregistrovaného uţivatele, registrovaného uţivatele a administrátora.
17
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Neregistrovaný uţivatel bude moci prohlíţet naměřená data ve formě tabulek, nebo grafů. Bude moci číst články na webu a prohlíţet diskuzi. Registrovat se bude moci tak, ţe prostřednictvím formuláře, nebo osobně poţádá administrátora o registraci. V poţadavku na registraci podaném pomocí formuláře uvede důvod k registraci, své osobní údaje a kontaktní údaje včetně emailu, kam mu bude později administrátorem zasláno rozhodnutí. Bude moci exportovat data z databáze do .csv souboru. Registrovaný uţivatel bude mít stejné moţnosti prohlíţení tabulek, grafů, článků, diskuze a odkazů jako neregistrovaný uţivatel. Kromě tohoto bude navíc moci vloţit na web článek a poté ho kdykoliv upravit, nebo smazat. Dále bude moci přispívat příspěvky do diskuze a zakládat nová diskuzní fóra. Bude mít moţnost měnit své osobní údaje. Bude rovněţ moci vkládat na web odkazy se stručným popisem a uploadovat své soubory (např. datové soubory s naměřenými daty) na server. Administrátor bude mít stejné moţnosti jako registrovaný uţivatel, ale navíc bude moci přidávat nové uţivatele systému, nebo uţivatele rušit. Pro tuto činnost bude pouţívat přehledné formuláře. Bude kontrolovat a případně odebírat příspěvky z diskuze, články, soubory a odkazy. Bude moci importovat do databáze data ze solárních panelů.
18
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.3 Harmonogram 4.3.1 Seznam úloh Úvodní studie Deklarace záměru – určení hlavních cílů projektu Odborný článek – detailní popis všech poţadavků Seznam úloh – vytvoření seznamu potřebných úloh při práci na projektu Harmonogram řešení – časové rozloţení seznamu úloh Kontextový diagram – definice kontextu budoucího systému ve vztahu k jeho okolí Model jednání – stručný výčet moţných interakcí systému a uţivatelů Návrh HW a SW řešení Rozpočet – sestavení fiktivního rozpočtu projektu Analýza rizik – vytvoření seznamu moţných rizik, jejich ohodnocení a návrh postupů, vedoucích k jejich sníţení Kontrola úvodní studie
Analýza Datový model – vytvoření konceptuálního modelu datových struktur Dynamický a funkční model – popis moţných stavů a funkcí aplikace Návrh GUI – návrh vhodného uţivatelského rozhraní Kontrola analýzy
Implementace Návrh datové reprezentace – vytvoření fyzického modelu dat Naprogramování o Solární panely o CMS systém Diskuze Sdílení souborů Správa odkazů Publikace článků Testování a oprava chyb
Uživatelská dokumentace
19
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.3.2 Harmonogram pomocí MS Project
obr. 3 - Harmonogram
20
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.4 Kontextový diagram Kontextový diagram popisuje vztah všech aktérů – terminátorů k systému a datové toky mezi nimi. Zde vystupují jako aktéři čtyři terminátory – neregistrovaný uţivatel, registrovaný uţivatel, administrátor a datalogger solárních panelů. Datové toky popisuje diagram na obr. 4 a budou detailně vysvětleny a popsány v analytické části této práce. Platí zde, ţe mezi systémem a administrátorem jsou navíc (kromě zakreslených datových toků) datové toky registrovaného uţivatele a mezi systémem a registrovaným uţivatelem jsou navíc datové toky neregistrovaného uţivatele (viz. hierarchie uţivatelů na obr. 6).
obr. 4 – Kontextový diagram
21
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.5 Model jednání Model jednání (Use Case Diagram) na obr. 5 popisuje případy uţití systému externími aktéry. Pro přehlednost jsem v diagramu nezakreslil všechny vazby. Administrátor má navíc všechna práva registrovaného uţivatele a ten má navíc všechna práva neregistrovaného uţivatele (viz hierarchie uţivatelů na obr. 6).
obr. 5 – Model jednání
22
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 6 - Hierarchie uživatelů.
4.6 Návrh HW a SW řešení 4.6.1 Návrh HW Zadavatel projektu jiţ má vlastní webový server HP NetServer E60 s 9 GB pevným diskem a 350 MB operační paměti. Počítá se s přechodem na nový server Intel OEM s 300 GB pevným diskem a 4 GB operační paměti.
4.6.2 Návrh SW Na straně serveru: Zadavatel projektu jiţ pouţívá operační systém MS Windows Server 2000, jehoţ součástí je webový server IIS (Internet Information Services) 5.0. Aplikace proto bude provozována na tomto serveru. Po přechodu na nový HW poběţí na serveru operační systém MS Windows Server 2003, jehoţ součástí je webový server IIS 6.0. Aplikace bude napsaná převáţně v jazyce PHP. Server proto musí PHP podporovat a musí na něm být instalováno PHP rozšíření, které je volně k dispozici. Na serveru je jiţ instalováno PHP ve verzi 4.3.4. Pro vykreslení grafů bude na serveru nainstalována knihovna JpGraph, verze 1.20.3. Pro pouţití šablon bude pouţit templatovací systém Smarty, verze 2.6.13. Pro uloţení dat byl zvolen relační databázový systém MySQL, který je na serveru jiţ instalován ve verzi 3.23.49. Na straně uživatele: Pro spuštění aplikace uţivatelem stačí běţně pouţívaný WWW prohlíţeč – např. Internet Explorer, Mozilla Firefox, Opera a další.
23
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.7 Rozpočet 4.7.1 Náklady na mzdy – metoda COCOMO Odhad ceny realizace systému je proveden pomocí Boehmova COCOMO (COnstructive COst MOdel) cenového modelu. Tento model je zaloţen na výběru nejdůleţitějších faktorů, ovlivňujících cenu a dobu řešení projektu. Výsledný odhad vynaloţené práce Kd v člověkoměsících, resp. odhad doby řešení td v měsících se potom spočítají jako Kd = a . (KDSI)b . Π ki , resp. td = c . (Kd)d, kde KDSI je odhad počtu řádků zdrojových instrukcí v tisících, ki je hodnota i-tého faktoru a a, b, c, d jsou empiricky zjištěné hodnoty pro zvolený mód COCOMO modelu. Podle zkušeností řešitelského týmu a náročnosti řešení se mohou pouţít 3 módy – organický, přechodný a vázaný. Pro tento projekt volím organický mód, jelikoţ na projektu pracuje malý tým s nízkými náklady, pouţívají se známé algoritmy a rozsah projektu není velký. Pro organický mód jsou konstanty stanoveny takto: a = 3.20, b = 1.05, c = 2.50, d = 0.38. Střední odhad COCOMO pouţívá k odhadu 15 faktorů. Faktory ki , kde i = 1, .. 15, jsou reprezentovány jako kladná čísla okolo 1. Číselná hodnota faktoru charakterizuje vliv faktoru na projekt, který se dělí do 5-ti kategorií – velmi nízký, nízký, normální, vysoký, velmi vysoký. Kaţdý z faktorů ovlivňuje pozitivně, nebo negativně výsledný odhad. Hodnoty faktorů jsou uvedeny v Tab. 1. Název Hodnota Faktory systému 1.00 RELY 1.08 DATA 0.85 CPLX Faktory počítače 1.00 TIME 1.06 STOR 1.00 VIRT 0.87 TURN Faktory týmu 1.00 ACAP 1.00 AEXP 1.17 PCAP 1.00 VEXP 1.07 LEXP Faktory projektu 0.86 MODP 0.83 TOOL 1.00 SCED
Význam Spolehlivost Rozsah dat Sloţitost programu Časové nároky na systém - rychlost Paměťové nároky Stabilita počítače Rychlost odezvy počítače při vývoji Znalosti a zkušenosti analytika Znalost aplikace Zkušenosti a schopnosti programátorů Znalost virtuálního počítače Znalost programovacího jazyka Moderní programovací metody Pouţití programovacích nástrojů CASE Časový plán
Tab. 1 - Faktory COCOMO modelu
Počet tisíců řádků projektu KDSI jsem odhadl na 15. Po dosazení hodnot do vzorců uvedených výše vyšlo:
24
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
odhad vynaložené práce Kd = 41.58 MM, odhad optimální doby řešení projektu td = 10.31 měsíců a tedy počet řešitelů N = Kd / td = 4. Při předpokládané hrubé mzdě řešitelů 27 000 Kč/měsíc vychází náklady na mzdy zaměstnanců na 1 123 200 Kč.
4.7.2 Celkové náklady K částce vynaloţené na mzdy by se měly ještě připočítat náklady na sociální a zdravotní pojištění a náklady na nájem kanceláře, nákup nového HW a další. V současnosti se tyto náklady obecně odhadují na 60 % hrubé mzdy (z toho 26 % jde na sociální a 9 % na zdravotní pojištění zaměstnance). Souhrn celkových nákladů uvádí tab. 2. Poloţka Mzdy Sociální pojištění (26 % hrubé mzdy) Zdravotní pojištění (9 % hrubé mzdy) Nájem kanceláře, HW a další výdaje Celkem
Částka (Kč) 1 123 200 292 032 101 088 275 184 1 791 504
Tab. 2 - Souhrn celkových nákladů
V případě komerčního vývoje by byly celkové náklady 1 791 504 Kč. Jelikoţ je ale systém vytvářen zdarma a veškeré HW i SW prostředky uţ jsou pořízeny a instalovány, jsou celkové náklady 0 Kč.
25
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.8 Analýza rizik Cílem analýzy rizik je identifikovat a kvantifikovat rizika a poté rozhodnout o jejich přijatelnosti, resp. navrhnout opatření vedoucí ke sníţení rizik.
4.8.1 Identifikace rizik Rizika se dají podle [6] rozdělit na generická rizika, společná pro většinu softwarových projektů a na projektově specifická rizika. Identifikace generických rizik je provedena pomocí metody kontrolních seznamů. Kontrolní seznamy jsou soubory otázek pro určitý druh rizika vedoucí k lepšímu posouzení a ohodnocení rizika. Na základě těchto otázek se tedy určí, zda riziko hrozí či nikoliv a v jaké míře ovlivňuje projekt. Projektově specifická rizika jsem se pokusil odhadnout.
4.8.1.1 Generická rizika Rizika spojená s velikostí projektu – Jelikoţ řeším projekt podobného rozsahu poprvé, je pravděpodobné, ţe neodhadnu jeho velikost dostatečně přesně. Hrozí tedy poměrně vysoké riziko nízkého odhadu sloţitosti. Rizika obchodního dopadu – Projekt je vytvářen jako diplomová práce a nepředpokládá se budoucí komerční vyuţití aplikace. Nehrozí tedy ţádné finanční ztráty. Rizika spojená se zákazníkem – Se zákazníkem (katedra elektrotechnologie) jsem pracoval jiţ dříve na své semestrální práci. Zákazník jasně stanovil své poţadavky a je ochoten konzultovat případné nejasnosti a věnovat v případě potřeby svůj čas. Nicméně je moţné, ţe se v průběhu vývoje aplikace objeví nové skutečnosti a na ţádost zákazníka bude třeba zadání upravit, nebo rozšířit. Procesní rizika – Při vývoji aplikace se budou pouţívat standardy softwarového inţenýrství. Procesní rizika jsou minimální. Technologická rizika – Pouţité SW a HW produkty jsou spolehlivé, prověřené. Pokud by ale došlo k poruše a v jejím důsledku ke ztrátě dat, mohla by být tato ztráta pro projekt kritická. Pravděpodobnost poruchy je však velmi nízká. Rizika vývojového prostředí – Jelikoţ nemám velké zkušenosti s vývojem aplikace podobného typu, je moţné, ţe zvolím nepříliš vhodné vývojové prostředí. Tato špatná volba však nemá na projekt velký vliv. Nemám rovněţ zkušenosti s některými pouţitými technologiemi, a proto hrozí riziko, ţe se negativně projeví nedostatečná zkušenost s pouţitými nástroji. Rizika spojená s týmem a jeho zkušeností – Nejsem zkušený programátor a některé technologie pouţiji poprvé. Riziko negativního vlivu tohoto faktu na projekt je proto poměrně vysoké.
4.8.1.2 Projektově specifická rizika Rizika spojená s uţivatelským prostředím – Mohou nastat nejasnosti okolo rozmístění prvků (formulářů, tlačítek, apod.) v aplikaci. Riziko není vysoké, ale je třeba jej ošetřit. Pozdní odevzdání – U komerčního projektu by toto riziko spadalo spíše do skupiny rizik obchodního dopadu, ale zde je dopad pozdního odevzdání na projekt odlišný. Riziko není vysoké, ale pokud by nastalo byl by jeho dopad kritický.
4.8.2 Ohodnocení rizik Rizika jsou ohodnocena pomocí dvou údajů – pomocí pravděpodobnosti, ţe je riziko reálné a pomocí jeho dopadu, pokud nastane.
26
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Pro ohodnocení dopadu rizik se používají 4 kategorie: 1 – zanedbatelný dopad – Znamená malé odchýlení od poţadavků, moţné nízké překročení rozpočtu, malý časový skluz. 2 – marginální dopad – Znamená odchýlení od poţadavků, niţší podporu produktu, větší překročení rozpočtu, zpoţdění termínu dodání produktu. 3 – kritický dopad – Znamená neakceptovatelné, ale opravitelné odchýlení od poţadavků. Nízkou podporu produktu, velký časový skluz a u komerčních projektů vysoké překročení rozpočtu (do 500 tis. Kč). 4 – katastrofický dopad – Znamená neopravitelné odchylky od poţadavků, vysoké překročení rozpočtu (nad 500 tis. Kč), neakceptovatelný časový skluz. Identifikaci a ohodnocení rizik uvádí tab. 3. Pravděpodobnost a dopad rizika jsem odhadl na základě analýzy provedené při identifikaci rizik. Riziko
Kategorie
Pravděpodobnost
Dopad
Nízký odhad sloţitosti projektu
Rizika odhadu velikosti produktu
50 %
2
Změna poţadavků zákazníkem
Rizika spojená se zákazníkem
25 %
2
Porucha HW, SW při vývoji
Technologická rizika
1%
1
Ztráta dat
Technologická rizika
1%
4
Nevhodně zvolené vývojové nástroje
Rizika vývojového prostředí
10 %
1
Nedostatečné zkušenosti s prací ve zvoleném vývojovém prostředí
Rizika vývojového prostředí
25 %
1
Nedostatečná kvalifikace členů týmu
Rizika spojená s týmem
50 %
3
Špatné provedení GUI
Projektově specifická rizika
20 %
2
Pozdní odevzdání
Projektově specifická rizika
10 %
3
Tab. 3 - Identifikace a ohodnocení rizik
4.8.3 Plán řízení rizik 4.8.3.1 Nízký odhad složitosti projektu Monitorování Průběţná korekce odhadu velikosti projektu podle doposud vytvořených částí systému Snížení rizika Zavedení časových rezerv Porovnání velikosti s podobnými projekty Řízení rizika Vyuţití časových rezerv
27
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
V případě vyčerpání rezerv domluva se zákazníkem na prioritních komponentách systému, které je nutné udělat. Práci na ostatních komponentách přerušit a soustředit většinu úsilí na dokončení prioritních komponent.
4.8.3.2 Změna požadavků zákazníkem Monitorování Průběţné konzultace se zákazníkem Snížení rizika Vytvoření podrobného seznamu poţadavků Předvádění dosavadních výsledků zákazníkovi Řízení rizika Zastavení práce na komponentách systému, kterých se změny týkají Analýza a řešení nových poţadavků
4.8.3.3 Porucha HW, SW při vývoji Monitorování Není třeba návrh způsobu monitorování, závaţná porucha nastává nečekaně a její projev bývá nepřehlédnutelný Snížení rizika Pouţívat ověřený HW a SW Provádět pravidelné aktualizace pouţitého SW Řízení rizika Nákup nového HW Oprava nebo instalace nového SW
4.8.3.4 Ztráta dat Monitorování Průběţná kontrola uloţených verzí Snížení rizika Průběţné zálohy všech zdrojových kódů a vytvářených dokumentů Archivace na více místech – na vlastním počítači, na webovém serveru, na flash kartě Pouţití ověřeného HW a SW Řízení rizika Při poruše na pevném disku pouţití programu pro obnovu dat (není-li provedena záloha jinde) Opětovné naprogramování komponent, jejichţ zdrojové kódy byly ztraceny
4.8.3.5 Nevhodně zvolené vývojové nástroje Monitorování Průběţná kontrola, zda nástroj dostatečně vyhovuje poţadavkům Snížení rizika Volba profesionálních a rozšířených nástrojů s kvalitní technickou podporou Řízení rizika Konzultace s kolegy, případně s vedoucím práce Volba vhodnějšího nástroje
4.8.3.6 Nedostatečné zkušenosti s prací ve zvoleném vývojovém prostředí Monitorování Průběţná kontrola, zda dostatečně rozumím ovládacím prvkům vývojového prostředí a při práci je vyuţívám Snížení rizika Důkladné prostudování dokumentace pouţitých nástrojů, tutoriály Vyzkoušení si vytvoření jednoduchých aplikací
28
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Řízení rizika Důkladné prostudování dokumentace pouţitých nástrojů Porada se zkušenějšími kolegy
4.8.3.7 Nedostatečná kvalifikace členů týmu Monitorování Kontrola, zda mám zkušenosti s vývojem podobných komponent za pouţití zvolených technologií Snížení rizika Nastudování pouţitých technologií z dostupné literatury, nebo z internetu Kontrola analýzy a návrhu systému zkušeným analytikem a programátorem Zavedení časových rezerv pro jednotlivé úlohy Řízení rizika Lepší prostudování pouţitých technologií Porada se zkušeným odborníkem Vyuţití časových rezerv
4.8.3.8 Špatné provedení GUI Monitorování Průběţné předvádění dosavadní práce zákazníkovi Snížení rizika Jasná specifikace poţadavků zákazníka na GUI Vytvoření návrhu a jeho předvedení zákazníkovi Řízení rizika Konzultace se zákazníkem. Zjistit nevyhovující elementy GUI a ty upravit podle poţadavků zákazníka. Pouţití templatovacího systému
4.8.3.9 Pozdní odevzdání Monitorování Průběţná kontrola harmonogramu Snížení rizika Zavedení časových rezerv Přiřazení priorit jednotlivým úkolům Řízení rizika Vyuţití časových rezerv Domluva se zákazníkem
29
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
4.8.4 Řízení rizik – sníţení rizika 4.8.4.1 Nízký odhad složitosti projektu Zavedl jsem časové rezervy pro dílčí úlohy. Tyto rezervy odpovídají přibliţně 40 % předpokládané potřebné doby na vyřešení úlohy. Je to poměrně hodně, ale vzhledem k tomu, ţe s podobným projektem nemám zkušenosti, raději jsem zvolil větší rezervy. Rezervy nejsou nikde explicitně vyznačeny, ale v harmonogramu se s nimi počítá. Odhadovanou velikost projektu jsem porovnal se dvěma staršími diplomovými pracemi. U jedné z nich byla pracnost stanovena na 12 člověkoměsíců, u druhé na 30 člověkoměsíců. Celkový čas na vytvoření projektu byl u jedné z nich přibliţně 5 měsíců a u druhé 9 měsíců. Můj odhad pracnosti je přibliţně 40 člověkoměsíců a čas na vytvoření jsem stanovil na zhruba 7 měsíců. Nebudu zvyšovat odhad pracnosti ani dále zvyšovat časové rezervy.
4.8.4.2 Změna požadavků zákazníkem Zákazník vytvořil jasný seznam poţadavků, který jsem přepracoval do formy odborného článku, se kterým zákazník zcela souhlasí. Dosavadní výsledky budu pravidelně předvádět zákazníkovi.
4.8.4.3 Porucha HW, SW při vývoji Při vývoji aplikace pouţívám klasické HW i SW nástroje, které delší dobu bez problémů fungují. Budu pravidelně aktualizovat operační systém i ostatní pouţívané programy.
4.8.4.4 Ztráta dat Zaloţil jsem adresáře určené pro zálohu dat na několika médiích. Na pevném disku vlastního počítače, na freehostingovém serveru webzdarma.cz a na flash kartě. Zde se budou provádět přírůstkové zálohy kaţdý den. Dále budu kaţdé 2 týdny provádět úplnou zálohu na CD. Za těchto opatření je ztráta dat velmi nepravděpodobná. Záloha se týká zdrojových souborů i projektové dokumentace.
4.8.4.5 Nevhodně zvolené vývojové nástroje Pro analýzu a kreslení UML diagramů volím nástroj SmartDraw verze 7, který nabízí značné mnoţství moţností kreslení různých diagramů včetně UML. Pro naprogramování aplikace jsem na základě doporučení v internetových diskuzích zvolil nástroj PHPEdit verze 2.6.1. Je to nástroj, který poskytuje moţnosti běţné ve všech lepších vývojových prostředích a jeho pouţívání je dostatečně intuitivní.
4.8.4.6 Nedostatečné zkušenosti s prací ve zvoleném vývojovém prostředí Pro všechny zvolené vývojové nástroje existuje kvalitní technická podpora. Dokumentace je k dispozici online. Pro vytváření UML diagramů není potřeba studium dokumentace vývojového prostředí SmartDraw, jelikoţ jeho pouţití je snadné, velmi intuitivní. Nastudoval jsem základní ovládací prvky pro efektivní práci v nástroji PHPEdit.
4.8.4.7 Nedostatečná kvalifikace členů týmu Ke sníţení rizika tohoto typu je hlavní, abych dobře porozuměl pouţitým technologiím. Pořídil jsem si proto odbornou literaturu, ze které čerpám a kterou budu průběţně studovat. Zároveň jsem prošel několik tutoriálů na internetu.
30
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Průběţné výsledky analýzy a implementace systému budu konzultovat s vedoucím této práce, který má v oblasti softwarového inţenýrství a webových metodik velké zkušenosti a v případě potřeby mne upozorní na špatný přístup, chyby v kódu apod.
4.8.4.8 Špatné provedení GUI Zatím jsem se zákazníkem nekonzultoval vzhled aplikace, proto je třeba vytvořit návrh GUI a předvést jej zákazníkovi.
4.8.4.9 Pozdní odevzdání Byly zavedeny časové rezervy viz odstavec 4.8.4.1. Dále zde zavedu priority jednotlivých úloh při implementaci. Priority jsou číslovány od 1 do 4, od nejvyšší k nejniţší. (priorita 1) - Naprogramování části systému pro zpracování dat ze solárních panelů. (priorita 2) - Naprogramování vkládání článků v CMS části systému. (priorita 3) - Naprogramování diskuze v CMS části systému. (priorita 4) - Naprogramování správy odkazů v CMS části systému. (priorita 4) - Naprogramování sdílení souborů v CMS části systému.
31
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5 Analýza 5.1 Konceptuální datový model 5.1.1 Datový slovník 5.1.1.1 Popis notace zápisu datového slovníku = + (...) {...} n{...} {...}n [...|...] # * ° \
skládá se z a můţe chybět opakování opakování nejméně n-krát opakování nejvíce n-krát jeden z moţných klíčová poloţka povinná poloţka volitelná poloţka klasická escape sekvence při psaní speciálních znaků
5.1.1.2 Datové typy použité v konceptuálním datovém modelu číslice = [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ] písmeno_malé = [ a | á | b | ... | ý | z | ţ ] písmeno_velké = [ A | Á | B | ... | Ý | Z | Ţ ] mezera = [ ' ' ] písmeno = [ písmeno_malé | písmeno_velké ] znak = [ číslice | písmeno | mezera | ` | ~ | @ | # | $ | % | ^ | & | \* | \( | \) | \[ | \] | \+ | \= | - | _ | < | > | " | ' | / | \\ ] txt = { znak }
-string = { znak }n vteřina = [ 0 | 1 | ... | 59 ] minuta = [ 0 | 1 | ... | 59 ] hodina = [ 0 | 1 | ... | 23 ] čas = hodina + : + minuta + : + vteřina den = [ 1 | 2 | ... | 31 ] měsíc = [ 1 | 2 | ... | 12 ] rok = 4{číslice}4 datum = rok + měsíc + den int = { číslice } float = int + [ , | . ] + int
32
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.1.2 ER diagram Pro vytvoření konceptuálního modelu jsem pouţil notaci SSADM (Structured Systems Analysis and Design Methodology). Vysvětlení značení různých typů vztahů je na obr. 7.
obr. 7 – Popis typu vztahů entit v SSADM notaci
33
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 8 - Konceptuální datový model – ER diagram
34
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.1.3 Popis entit datového modelu Následující podkapitoly popisují význam jednotlivých entit a jejich atributů. Typy atributů odpovídají poloţkám v datovém slovníku. Dalšími vlastnostmi atributů jsou PK – primární klíč (atribut je klíčem entity nebo jeho součástí) – odpovídá symbolu #. NN – not null (povinný atribut) – odpovídá symbolu *. UQ – unique (stejná hodnota atributu není u dalšího výskytu entity).
5.1.3.1 Solar záznam Tato entita obsahuje všechny potřebné atributy pro poţadovanou reprezentaci dat získaných ze solárních panelů. Kaţdý výskyt entity Solar záznam odpovídá hodnotám získaným v minutových intervalech pro data doručená dnes standardní cestou (jako parametry GETu), nebo hodnotám po pětiminutových intervalech pro data importovaná ze souborů CSV. Atribut Date Time ID
Datový typ datum čas int
Vlastnosti NN, PK NN, PK NN
Ena Enb Enc Va Vb Vc Ia Ib Ic Pac Temp Irrad
float float float float float float float float float float float float
NN NN NN NN NN NN NN NN NN NN NN NN
Popis Datum měření. Čas měření. Identifikační číslo zasílané dataloggerem slouţící k ověření platnosti dat. Celková energie panelu A v kWh. Celková energie panelu B v kWh. Celková energie panelu C v kWh. Hodnota DC napětí na panelu A ve Voltech. Hodnota DC napětí na panelu B ve Voltech. Hodnota DC napětí na panelu C ve Voltech. Hodnota DC proudu na panelu A v Ampérech. Hodnota DC proudu na panelu B v Ampérech. Hodnota DC proudu na panelu C v Ampérech. Střídavý výstupní výkon ve Watech. Skutečná teplota ve °C. Intenzita slunečního záření ve W/m2
Tab. 4 – Popis atributů tabulky Solar záznam
5.1.3.2 Uživatel Entita Uţivatel slouţí k uchování základních informací o registrovaných uţivatelích, administrátorech, nebo neregistrovaných uţivatelích ţádajících o registraci. Atribut ID
Datový typ int
Vlastnosti NN, PK, UQ
Jméno Příjmení Username Password Důvod registrace
30-string 30-string 30-string 30-string txt
NN NN NN, UQ NN NN
Typ
1-string
NN
Email Titul před Titul za
50-string 30-string 30-string
NN
Popis Identifikační číslo uţivatele. Automaticky se inkrementuje. Jméno uţivatele. Příjmení uţivatele. Uţivatelské jméno. Přihlašovací heslo. Důvod uváděný při ţádosti na registraci novým uţivatelem. Určuje, zda uţivatel je (R), či není registrován (N), nebo zda je administrátorem (A). Kontaktní email. Titul před jménem. Titul za jménem.
35
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Telefonní číslo. Číslo ICQ. Adresa, místnost uţivatele.
20-string int 100-string
Telefon ICQ Adresa
Tab. 5 – Popis atributů tabulky Uživatel
5.1.3.3 Vlákno diskuze Obsahuje základní popis jednoho diskuzního vlákna – fóra, kam mohou registrovaní uţivatelé vkládat své příspěvky. Vlákno je zaloţeno samostatně jako diskuzní fórum, nebo se vytvoří automaticky pro kaţdý nový článek, aby bylo později moţné vést k němu diskuzi. Atribut ID
Datový typ int
Vlastnosti NN, PK, UQ
Datum vytvoření Čas vytvoření Nadpis-fórum
datum
NN
Popis Identifikační číslo vlákna diskuze. Automaticky se inkrementuje. Datum zaloţení diskuzního vlákna.
čas 200-string
NN NN
Čas zaloţení diskuzního vlákna. Popis diskuzního fóra.
Tab. 6 – Popis atributů tabulky Vlákno diskuze
5.1.3.4 Diskuzní příspěvek Uchovává příspěvek zveřejněný v samostatné diskuzi, nebo v diskuzi k článku. Atribut ID
Datový typ int
Vlastnosti NN, PK, UQ
Datum Čas Nadpis Obsah
datum čas 200-string txt
NN NN NN NN
Popis Identifikační číslo příspěvku. Automaticky se inkrementuje. Datum přidání příspěvku. Čas přidání příspěvku. Nadpis příspěvku. Textový obsah příspěvku.
Tab. 7 – Popis atributů tabulky Diskuzní příspěvek
5.1.3.5 Dokument Obsahuje stručný popis článku nebo datového souboru. Napsaný článek můţe být uloţen jako soubor (entita Soubor), nebo uloţen v databázi jako text (entita Článek). Jelikoţ si uţivatelé mohou předávat i různé jiné datové soubory a ty mají stejné atributy jako články umístěné v souborech, je zde pouţita jen jedna entita Soubor pro oba typy souborů. Entita dokument je nadtypem entit Soubor a Článek v ISA vztahu. Tyto entity mají tedy shodné následující atributy. Atribut ID Název Datum vloţení Čas vloţení Stručný popis Typ
Datový typ int 200-string datum čas txt 1-string
Vlastnosti NN, PK, UQ NN NN NN NN NN
Popis Identifikační číslo dokumentu. Název dokumentu. Datum vloţení dokumentu na server. Čas vloţení dokumentu na server. Stručný popis obsahu článku nebo souboru. Rozlišení článku (C), novinky (N) a dalších moţných typů vloţených textů od souboru (S).
Tab. 8 – Popis atributů tabulky Dokument
36
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.1.3.6 Soubor Entita Soubor je podtypem entity Dokument a zde uvádím pouze její další atributy (vynechávám popis atributů uvedených u entity Dokument). Souborem zde rozumím buď článek, nebo jakýkoliv jiný datový soubor. O jaký soubor ve skutečnosti jde, se rozlišuje atributem Typ popsaným u entity Dokument. Atribut Formát Cesta
Datový typ 100-string 200-string
Vlastnosti NN NN
Popis Formát uloţeného souboru. Cesta k uloţenému souboru
Tab. 9 – Popis atributů tabulky Soubor
5.1.3.7 Článek Entita Článek je podtypem entity Dokument a zde uvádím pouze její další atributy (vynechávám opět popis atributů uvedených u entity Dokument). Atribut Obsah
Datový typ txt
Vlastnosti NN
Popis Tento atribut slouţí k uloţení textu článku (včetně moţných formátovacích HTML tagů).
Tab. 10 – Popis atributů tabulky Článek
5.1.3.8 Odkaz Obsahuje URL vloţeného odkazu a jeho stručný popis. Atribut ID
Datový typ int
Vlastnosti NN, PK, UQ
URL Popis Datum
200-string txt datum
NN NN NN
Popis Identifikační číslo odkazu. Automaticky se inkrementuje. URL adresa. Popis odkazu. Datum přidání příspěvku.
Tab. 11 – Popis atributů tabulky Odkaz
5.1.3.9 Kategorie Tato entita slouţí pro vytváření kategorií článků, souborů a odkazů. Atribut ID
Datový typ int
Vlastnosti NN, PK, UQ
Název Popis Skupina
txt txt 1-string
NN
Popis Identifikační číslo kategorie. Automaticky se inkrementuje. Název kategorie. Popis kategorie. Pro určení skupiny (článek, soubor nebo odkaz), ke které kategorie patří.
Tab. 12 – Popis atributů tabulky Kategorie
37
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2 Dynamický a funkční model Dynamický model popisuje moţné stavy webové aplikace, moţné akce uţivatelů a reakce systému na tyto akce. Funkční model blíţe specifikuje jednotlivé funkce aplikace. Vycházím zde z modelu jednání uvedeného v úvodní studii, který zde rozvádím a uvádím podrobné případy pouţití. Kvůli přehlednosti jsem podrobný Use case diagram rozdělil na tři menší diagramy – pro kaţdý typ uţivatele jeden. Je zachována hierarchie uţivatelů uvedená v úvodní studii.
obr. 9 – Use case diagram – neregistrovaný uživatel
obr. 10 - Use case diagram – registrovaný uživatel
38
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 11 - Use case diagram – administrátor
Následující text je popisem jednotlivých případů pouţití uvedených v diagramech pouţití v oranţových oválech. Objasňuji v něm, jakým způsobem budou fungovat jednotlivé části aplikace a jak bude probíhat komunikace systému s uţivatelem.
5.2.1 Zobrazení dat ze solárních panelů Data ze solárních panelů mohou zobrazit všichni uţivatelé systému bez nutnosti přihlášení. Data je moţné zobrazit v tabulce nebo v grafu pro zvolený den, měsíc nebo rok. Při zobrazení grafu si uţivatel v menu umístěným pod grafem volí veličinu, kterou chce v grafu vykreslit. Můţe také pomocí kalendáře měnit časový interval, který chce zobrazit. Implicitní je zobrazení hodnot aktuálního dne, měsíce, nebo roku do grafu a pomocí tlačítka lze volně přecházet na zobrazení dat v tabulce a zpět. Popis akcí: 1. Výběr tlačítka „solární panely“ z hlavního menu. 2. Zadání kritérií pro zobrazení – intervalu k zobrazení (denní, měsíční, nebo roční hodnoty) a výběr panelu (panel A, B, C, nebo souhrnné hodnoty pro všechny panely) v levém menu. 3. Systém vykreslí pro zadaná kritéria graf hodnot implicitně nastavené veličiny (dle domluvy energie) pro aktuální den, měsíc nebo rok. 4. Chce-li uţivatel v grafu zobrazit jinou naměřenou veličinu, zvolí ji pomocí tlačítka v menu umístěném pod grafem. 5. Chce-li uţivatel zobrazit data v tabulce, stiskne tlačítko „zobrazit tabulku“. Naopak pokud je zobrazena tabulka a uţivatel chce přejít na zobrazení grafu, stiskne tlačítko „zobrazit graf“. 6. Systém vykreslí příslušný graf, nebo vypíše tabulku. 7. Uţivatel můţe dále volit pomocí kalendáře poţadovaný den pro denní, měsíc pro měsíční a rok pro roční hodnoty. 8. Systém vykreslí příslušný graf, nebo vypíše tabulku pro zvolený panel, časový interval a vybranou veličinu. Pokud nejsou v databázi pro tyto navolené parametry nalezeny ţádné hodnoty, vypíše se hláška o nenalezení hodnot.
39
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 12 – Diagram aktivit – zobrazení dat ze solárních panelů
40
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha Uživatelské rozhraní:
obr. 13 – Uživatelské rozhraní - zobrazení dat ze solárních panelů - graf
obr. 14 - Uživatelské rozhraní - zobrazení dat ze solárních panelů – tabulka
41
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.2 Přihlášení do systému a odhlášení Přihlásit do systému se můţe registrovaný uţivatel, nebo administrátor. Po správném vyplnění přihlašovacího formuláře umístěného v levém menu uţivatelským jménem a heslem je uţivatel přihlášen. Po přihlášení je znovu načtena aktuální stránka, která navíc obsahuje elementy a moţnosti, které se zobrazují jen registrovanému uţivateli, nebo administrátorovi. Odhlásit se uţivatel můţe kdykoliv stiskem tlačítka „odhlásit“. Popis akcí: 1. 2. 3. 4. 5.
Vyplnění a potvrzení přihlašovacího formuláře v levém menu. Kontrola přihlašovacích údajů systémem. Přihlášení uţivatele do systému. Znovunačtení aktuální stránky. Odhlášení se provede po stisku tlačítka „odhlásit“. Následuje načtení aktuální stránky ve variantě pro neregistrovaného uţivatele.
Diagram aktivit:
obr. 15 – Diagram aktivit – přihlášení do systému
Uživatelské rozhraní:
obr. 16 – Uživatelské rozhraní - přihlášení do systému a odhlášení
5.2.3 Registrace Zájemce o problematiku obnovitelných zdrojů se můţe do systému registrovat, aby se později mohl účastnit odborných diskuzí, publikovat vlastní články a měl oproti neregistrovaným uţivatelům další výhody. Při registraci musí uţivatel kromě jiného zadat důvod registrace, coţ usnadní administrátorovi rozhodnutí o registraci uţivatele. Po ověření registračních údajů administrátorem a zařazení uţivatele mezi registrované kontaktuje administrátor nového uţivatele a oznámí mu výsledek registrace.
42
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Popis akcí: 1. Výběr tlačítka „registrace“ v levém menu v oblasti pro přihlášení. 2. Vyplnění registračních údajů a jejich uloţení. 3. Systém zkontroluje správnost údajů a jsou-li v pořádku, přidá uţivatele s příznakem neregistrovaný do databáze. Nejsou-li údaje v pořádku, je uţivatel vyzván k opětovnému vyplnění údajů. 4. Následuje schválení registrace administrátorem. Pokud jsou údaje a důvod k registraci v pořádku, změní administrátor příznak uţivatele na registrovaný, nebo administrátor. Pokud něco není v pořádku můţe administrátor uţivatele z databáze odebrat. Diagram aktivit:
obr. 17 – Diagram aktivit – registrace
Uživatelské rozhraní:
obr. 18 – Uživatelské rozhraní – registrace 1
43
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 19 - Uživatelské rozhraní – registrace 2
5.2.4 Přidání nového uţivatele administrátorem Uţivatele můţe přidat rovněţ sám administrátor. Administrátor zadá ve formuláři stejné registrační údaje, jako by zadal uţivatel při registraci a navíc přímo zvolí typ uţivatele. Popis akcí: 1. 2. 3. 4. 5.
Přihlášení administrátorem do systému. Výběr tlačítka „admin“ v hlavním menu. Výběr tlačítka „přidat uţivatele“ v levém menu. Vyplnění registračních údajů a uloţení. Systém zkontroluje správnost údajů a jsou-li v pořádku, přidá uţivatele do databáze a vytvoří mu adresář. Nejsou-li údaje v pořádku, je administrátor vyzván k opětovnému vyplnění údajů.
Diagram aktivit:
obr. 20 - Diagram aktivit – přidání nového uživatele administrátorem
44
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 21 - Uživatelské rozhraní –přidání nového uživatele administrátorem
5.2.5 Změna osobních údajů Kaţdý přihlášený uţivatel můţe měnit své osobní údaje včetně uţivatelského jména a hesla. Popis akcí: 1. 2. 3. 4. 5.
Přihlášení uţivatele do systému Výběr tlačítka „admin“ v hlavním menu. Výběr tlačítka „osobní údaje“ v levém menu. Změna osobních údajů pomocí formuláře. Systém zkontroluje správnost údajů a jsou-li v pořádku, uloţí změny do databáze. Nejsou-li údaje v pořádku, je uţivatel vyzván k opětovnému vyplnění údajů.
Diagram aktivit:
obr. 22 – Diagram aktivit – změna osobních údajů
Uživatelské rozhraní:
obr. 23 – Uživatelské rozhraní – změna osobních údajů
45
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.6 Změna osobních údajů uţivatelů administrátorem Administrátor můţe měnit osobní údaje všech uţivatelů. Uţivatele vybírá ze seznamu uţivatelů, který je ve dvou variantách – seznam neregistrovaných uţivatelů a seznam registrovaných uţivatelů. Po stisku tlačítka „edituj“ u konkrétního uţivatele v seznamu uţivatelů tak můţe měnit jeho údaje. Popis akcí: Přihlášení administrátorem do systému. Výběr tlačítka „admin“ v hlavním menu. Systém zobrazí seznam registrovaných uţivatelů. Pro výpis neregistrovaných uţivatelů administrátor vybere tlačítko „neregistrovaní uţivatelé“ v levém rozbalovacím menu. 5. Stisk tlačítka „edituj“ u konkrétního uţivatele. 6. Změna údajů uţivatele pomocí formuláře. 7. Systém zkontroluje správnost údajů a jsou-li v pořádku, uloţí změny do databáze. Nejsou-li údaje v pořádku, je uţivatel vyzván k opětovnému vyplnění údajů. 1. 2. 3. 4.
Diagram aktivit:
obr. 24 – Diagram aktivit – změna osobních údajů uživatelů administrátorem
46
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 25 – Uživatelské rozhraní - Změna osobních údajů uživatelů administrátorem
Uţivatelské rozhraní samotné změny údajů je shodné jako u změny osobních údajů registrovaným uţivatelem viz obr. 23. Je zde navíc pouze moţnost nastavení typu uţivatele.
5.2.7 Odebrání uţivatele administrátorem Administrátor můţe rušit uţivatele. Uţivatele vybírá ze seznamu uţivatelů stejně, jako při jejich editaci (kap. 5.2.6). Po stisku tlačítka „smaţ“ u konkrétního uţivatele v seznamu uţivatelů a dodatečném potvrzení je uţivatel vymazán. Popis akcí: Přihlášení administrátorem do systému. Výběr tlačítka „admin“ v hlavním menu. Systém zobrazí seznam registrovaných uţivatelů. Pro výpis neregistrovaných uţivatelů administrátor vybere tlačítko „neregistrovaní uţivatelé“ v levém rozbalovacím menu. 5. Stisk tlačítka „smaţ“ u konkrétního uţivatele. 6. Potvrzení vymazání uţivatele. 7. Systém vymaţe uţivatele z databáze. 1. 2. 3. 4.
47
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 26 – Diagram aktivit – odebrání uživatele administrátorem
Uživatelské rozhraní: Uţivatelské rozhraní pro výběr uţivatele k odebrání je shodné jako na obr. 25.
5.2.8 Vloţení článku Přihlášení uţivatelé mohou psát nové články (formátovat text mohou pomocí HTML tagů) nebo vkládat články v souboru. U obou typů uvedou stručný popis článku, který se zobrazí uţivatelům při procházení seznamu článků. Dále volí kategorii, do které bude článek patřit. Popis akcí: Výběr poloţky „články“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Stisk tlačítka „nový článek“ v levém menu. Volba typu článku – „napsat nový“ pro napsání článku pomocí formuláře, nebo „vloţit soubor“ pro vloţení článku v souboru. 5. Vyplnění formuláře. Autor vyplní název, popis a obsah článku, pro aktuálně psaný článek, nebo název, popis a cestu k souboru, v němţ je článek uloţen. Pokud chce autor uvést související odkazy, přidá maximálně tři. Nakonec volí kategorii, do které článek patří. 6. Kontrola formuláře. Pokud není vyplněn název a obsah, nebo cesta k článku, je uţivatel vyzván k opětovnému vloţení článku. 7. Uloţení článku do databáze. 1. 2. 3. 4.
48
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 27 – Diagram aktivit – vložení článku
Uživatelské rozhraní:
obr. 28 - Uživatelské rozhraní – vložení článku 1
49
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 29 - Uživatelské rozhraní – vložení článku 2
obr. 30 - Uživatelské rozhraní – vložení článku 3
50
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.9 Výpis článku Všichni uţivatelé mohou procházet seznamem článků strukturovaným do kategorií. Po výběru článku a stisku tlačítka „čti dál“ ho mohou dále číst. Popis akcí: 1. Výběr poloţky „články“ z hlavního menu. 2. Výběr článku v seznamu článků. Stisk tlačítka „čti dál“. 3. Zobrazení článku. Článek se zobrazí jako text, nebo, je-li uloţen jako soubor, se zobrazí odkaz na soubor, v němţ je článek uloţen. Za článkem se zobrazí případné odkazy. Diagram aktivit:
obr. 31 - Diagram aktivit – výpis článku
Uživatelské rozhraní:
obr. 32 - Uživatelské rozhraní – výpis článku – článek uložen v souboru
51
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 33 – Uživatelské rozhraní – výpis článku – článek uložen v DB
5.2.10
Přidání komentáře k článku
Všichni přihlášení uţivatelé mohou vkládat své komentáře k článku, nebo reagovat na jiţ vloţené komentáře. Popis akcí: 1. 2. 3. 4. 5. 6. 7. 8.
52
Výpis článku. Chce-li uţivatel přidat nový komentář k článku, stiskne tlačítko „přidat komentář“. Zobrazení komentářů – stisk tlačítka „číst komentáře“. Uţivatel vybere komentář, na který chce reagovat a stiskne tlačítko „reagovat“, umístěné v těle příspěvku. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Systém zobrazí článek, příspěvek, na který uţivatel reaguje, pokud jde o reakci na příspěvek a formulář pro vloţení nového příspěvku. Uţivatel vyplní obsah svého příspěvku ve formuláři a potvrdí. Příspěvek je uloţen do databáze.
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 34 - Diagram aktivit – přidání komentáře k článku
Uživatelské rozhraní:
obr. 35 – Uživatelské rozhraní – přidání komentáře 1
53
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 36 - Uživatelské rozhraní – přidání komentáře 2
5.2.11
Změna článku
Kaţdý autor článku (nebo administrátor) můţe editovat článek, který napsal. Můţe změnit název článku, jeho popis, obsah nebo soubor obsahující článek, odkazy za článkem a kategorii článku. Popis akcí: 1. 2. 3. 4. 5.
Výběr poloţky „články“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr článku k editaci a stisk tlačítka „edituj“. Změna článku pomocí formuláře. Uloţení změn do databáze.
Diagram aktivit:
obr. 37 – Diagram aktivit – změna článku
Uživatelské rozhraní: Uţivatelské rozhraní pro změnu článku je stejné jako při vloţení článku na obr. 29 a na obr. 30.
54
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.12
Smazání článku
Kaţdý autor článku (nebo administrátor) můţe smazat článek, který napsal. Popis akcí: 1. 2. 3. 4. 5.
Výběr poloţky „články“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr článku ke smazání a stisk tlačítka „smaţ“. Potvrzení vymazání článku. Vymazání článku z databáze. Pokud byl článek vloţen jako soubor, vymaţe se soubor z adresáře uţivatele.
Diagram aktivit:
obr. 38 – Diagram aktivit – smazání článku
55
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 39 - Uživatelské rozhraní – smazání článků
5.2.13
Prohlíţení diskuze
Kterýkoliv uţivatel aplikace můţe prohlíţet diskuzi, číst diskuzní příspěvky. Po stisku tlačítka „diskuze“ v hlavním menu se zobrazí seznam diskuzních fór, jejich popis, počet zaloţených témat, celkový počet příspěvků ve fóru, autor diskuzního fóra a čas vloţení posledního příspěvku ve fóru. Kaţdé diskuzní fórum slouţí k členění diskuze na tématicky podobné okruhy a můţe obsahovat několik témat. Po výběru diskuzního fóra a kliknutí na jeho název se zobrazí seznam témat v tomto fóru. U kaţdého tématu je uveden jeho název, počet příspěvků, jeho autor a čas vloţení posledního příspěvku v tématu. Téma je v databázi uloţeno jako jakýkoliv jiný diskuzní příspěvek a je odlišeno úrovní, která má u tématu hodnotu nula a u ostatních příspěvků hodnotu větší nebo rovnu jedné. Po výběru tématu (příspěvku na úrovni nula) se tedy vypíše přehledně odsazený seznam příspěvků vloţených v diskuzi k tomuto tématu. Popis akcí: 1. 2. 3. 4. 5. 6.
Výběr poloţky „diskuze“ z hlavního menu. Systém zobrazí seznam diskuzních fór. Výběr fóra ze seznamu diskuzních fór. Systém zobrazí seznam diskuzních témat. Výběr tématu ze seznamu diskuzních témat. Systém zobrazí výpis diskuzních příspěvků ve vybraném tématu diskuzního fóra.
Diagram aktivit:
obr. 40 – Diagram aktivit – prohlížení diskuze
56
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 41 – Uživatelské rozhraní – prohlížení diskuze 1
obr. 42 - Uživatelské rozhraní – prohlížení diskuze 2
obr. 43 - Uživatelské rozhraní – prohlížení diskuze 3
57
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.14
Zaloţení diskuzního fóra
Kaţdý registrovaný uţivatel má moţnost zaloţit nové diskuzní fórum, obsahující skupinu tématicky blízkých příspěvků. Při zakládání nového fóra vyplní uţivatel jeho název a popis. Popis akcí: Výběr poloţky „diskuze“ z hlavního menu. Stisk tlačítka „nové fórum“. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Vyplnění formuláře a potvrzení. Kontrola systémem zda byl vyplněn název fóra. Pokud ne, nabídne systém opětovné vyplnění formuláře. 6. Uloţení nového diskuzního fóra do databáze. 1. 2. 3. 4. 5.
Diagram aktivit:
obr. 44 – Diagram aktivit – založení diskuzního fóra
Uživatelské rozhraní:
obr. 45 – Uživatelské rozhraní – založení diskuzního fóra
58
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.15
Smazání diskuzního fóra
Autor diskuzního fóra (nebo administrátor) můţe toto fórum vymazat stiskem tlačítka „smaţ“. Vymaţou se zároveň všechna témata a diskuzní příspěvky v tomto fóru. Popis akcí: 1. 2. 3. 4.
Výběr poloţky „diskuze“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr diskuzního fóra a stisk tlačítka „smaţ“. Potvrzení vymazání a následné vymazání fóra a všech jeho témat a příspěvků z databáze.
Diagram aktivit:
obr. 46 – Diagram aktivit – smazání diskuzního fóra
Uživatelské rozhraní: Uţivatelské rozhraní pro výběr diskuzního fóra ke smazání je stejné jako při prohlíţení diskuze viz obr. 41.
59
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.16
Vloţení nového tématu diskuze
Kaţdý registrovaný uţivatel má moţnost zaloţit v diskuzním fóru nové diskuzní téma. Při zakládání nového tématu vyplní uţivatel jeho název a popis. Diskuzní téma je vlastně příspěvek, na nějţ se bude dále v diskuzi reagovat a rozezná se od ostatních příspěvků pomocí atributu úroveň, pro diskuzní téma nastaveném na hodnotu nula. Popis akcí: Výběr poloţky „diskuze“ z hlavního menu. Výběr fóra ze seznamu diskuzních fór. Stisk tlačítka „nové téma“. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Vyplnění formuláře a potvrzení. Kontrola systémem zda byl vyplněn název příspěvku. Pokud ne, nabídne systém opětovné vyplnění formuláře. 7. Uloţení nového diskuzního tématu do databáze. 1. 2. 3. 4. 5. 6.
Diagram aktivit:
obr. 47 – Diagram aktivit – vložení nového tématu diskuze
Uživatelské rozhraní: Uţivatelské rozhraní je stejné jako při zaloţení nového fóra viz obr. 45.
60
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.17
Smazání tématu diskuze
Autor tématu diskuze (nebo administrátor) můţe toto téma vymazat stiskem tlačítka „smaţ“. Vymaţou se zároveň všechny příspěvky, které toto téma obsahuje. Popis akcí: 1. 2. 3. 4. 5.
Výběr poloţky „diskuze“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr diskuzního fóra, v němţ je vloţeno téma. Výběr diskuzního tématu a stisk tlačítka „smaţ“. Potvrzení vymazání a následné vymazání tématu a všech jeho příspěvků z databáze.
Diagram aktivit:
obr. 48 – Diagram aktivit – smazání tématu diskuze
Uživatelské rozhraní: Uţivatelské rozhraní pro výběr diskuzního tématu ke smazání je stejné jako při prohlíţení diskuze viz obr. 42.
61
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.18
Vloţení diskuzního příspěvku
Kaţdý registrovaný uţivatel má moţnost vloţit nový diskuzní příspěvek k vybranému diskuznímu tématu. Téma diskuze je příspěvkem na úrovni 0, příspěvky se tedy vztahují k tématu, nebo dalším vloţeným příspěvkům. Popis akcí: Výběr poloţky „diskuze“ z hlavního menu. Výběr fóra ze seznamu diskuzních fór. Výběr tématu ze seznamu témat ve fóru. Výběr příspěvku, na který uţivatel reaguje a stisk tlačítka „reaguj“. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Vyplnění formuláře a potvrzení. Kontrola systémem zda byl vyplněn název příspěvku. Pokud ne, nabídne systém opětovné vyplnění formuláře. 8. Uloţení nového diskuzního příspěvku do databáze. 1. 2. 3. 4. 5. 6. 7.
Diagram aktivit:
obr. 49 – Diagram aktivit – vložení diskuzního příspěvku
Uživatelské rozhraní:
obr. 50 – Uživatelské rozhraní - vložení diskuzního příspěvku
62
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.19
Smazání diskuzního příspěvku
Autor diskuzního příspěvku (nebo administrátor) můţe tento příspěvek smazat pomocí tlačítka „smaţ“. Smaţe se pouze tento jeden příspěvek a příspěvky, které jsou reakcí na něj, se nesmaţou, ale stanou se reakcemi na příspěvek, na nějţ byl mazaný příspěvek reakcí. Popis akcí: 1. 2. 3. 4.
Prohlíţení diskuze. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr diskuzního příspěvku a stisk tlačítka „smaţ“. Potvrzení vymazání a následné vymazání příspěvku z databáze a upravení vazeb a úrovní příspěvků, které jsou jeho následníkem v diskuzi.
Diagram aktivit:
obr. 51 – Diagram aktivit – smazání diskuzního příspěvku
Uživatelské rozhraní: Uţivatelské rozhraní pro výběr diskuzního příspěvku ke smazání je stejné jako při prohlíţení diskuze viz. obr. 43.
63
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.20
Vloţení souboru
Kaţdý registrovaný uţivatel můţe s ostatními sdílet soubory. Tato funkce slouţí především pro předávání různých datových souborů obsahujících např. naměřené hodnoty solárních panelů apod. Popis akcí: Výběr poloţky „soubory“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Stisk tlačítka „přidat soubor“ v levém menu. Vyplnění formuláře – uţivatel vyplní název, pod kterým bude soubor uloţen a jeho stručný popis, vloţí soubor a vybere kategorii, do které soubor patří. 5. Systém zkontroluje, zda jsou vyplněny nezbytné údaje (název a cesta k souboru) a pokud ne, nabídne uţivateli opětovné vyplnění formuláře. 6. Uloţení záznamu o souboru do databáze a samotného souboru do adresáře uţivatele. 1. 2. 3. 4.
Diagram aktivit:
obr. 52 – Diagram aktivit – vložení souboru
64
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 53 – Uživatelské rozhraní – vložení souboru
5.2.21
Staţení souboru
Kaţdý registrovaný uţivatel má přístup k uloţeným souborům. Seznam souborů se zobrazuje rozdělený na kategorie a u kaţdého souboru je uveden název, popis, uţivatel, který jej vloţil, čas vloţení a formát souboru. Popis akcí: 1. 2. 3. 4.
Výběr poloţky „soubory“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr souboru ze seznamu souborů a stisk tlačítka „stáhni“. Staţení souboru.
Diagram aktivit:
obr. 54 – Diagram aktivit – stažení souboru
65
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Uživatelské rozhraní:
obr. 55 - Uživatelské rozhraní – stažení souboru
5.2.22
Smazání souboru
Uţivatel, který vloţil soubor (nebo administrátor) jej můţe kdykoliv smazat. Popis akcí: 1. 2. 3. 4.
Výběr poloţky „soubory“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr souboru ze seznamu souborů a stisk tlačítka „smaţ“. Potvrzení vymazání a následné vymazání souboru z databáze a z adresáře uţivatele, který jej vloţil.
Diagram aktivit:
obr. 56 – Diagram aktivit – smazání souboru
Uživatelské rozhraní: Uţivatelské rozhraní je pro smazání souboru stejné jako u staţení souboru na obr. 55.
66
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.23
Vloţení odkazu
Kaţdý registrovaný uţivatel můţe vkládat odkazy na jiné stránky, nebo dokumenty. Popis akcí: Výběr poloţky „odkazy“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Stisk tlačítka „přidat odkaz“ v levém menu. Vyplnění formuláře – uţivatel vyplní url adresu odkazu, jeho popis a vybere kategorii, do které patří. 5. Systém zkontroluje, zda jsou vyplněny nezbytné údaje (url) a pokud ne, nabídne uţivateli opětovné vyplnění formuláře. 6. Uloţení odkazu do databáze. 1. 2. 3. 4.
Diagram aktivit:
obr. 57 – Diagram aktivit – vložení odkazu
Uživatelské rozhraní:
obr. 58 – Uživatelské rozhraní – vložení odkazu
67
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.24
Zobrazení odkazů
Seznam odkazů se zobrazuje rozdělený na kategorie všem uţivatelům bez nutnosti přihlášení. Popis akcí: 1. Výběr poloţky „odkazy“ z hlavního menu. 2. Systém zobrazí odkazy v kategoriích. Diagram aktivit: Pro jeho jednoduchost jej zde neuvádím. Postup zobrazení odkazů je dostatečně zřejmý z popisu akcí. Uživatelské rozhraní:
obr. 59 - Uživatelské rozhraní – zobrazení odkazu
5.2.25
Smazání odkazu
Uţivatel, který vloţil odkaz (nebo administrátor) jej můţe kdykoliv smazat. Popis akcí: 1. 2. 3. 4.
68
Výběr poloţky „odkazy“ z hlavního menu. Přihlášení do systému, pokud uţivatel jiţ není přihlášen. Výběr odkazu z výpisu odkazů a stisk tlačítka „smaţ“. Potvrzení vymazání a následné vymazání odkazu z databáze.
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 60 – Diagram aktivit – smazání odkazu
Uživatelské rozhraní: Uţivatelské rozhraní je shodné jako u zobrazení odkazů na obr.59.
5.2.26
Přidání novinky
Administrátor můţe vkládat novinky, které se ostatním uţivatelům zobrazí při vstupu na úvodní stránku a upozorní tak např. na nové zajímavé články na webu, konané akce, přednášky apod. Novinka je uloţena v databázi do tabulky Článek a k jejímu odlišení od běţných článků slouţí atribut typ nastavený na ‘N’. Popis akcí: Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „novinky“ v levém menu. Systém zobrazí všechny vloţené novinky a pod nimi vypíše formulář pro vloţení nové novinky. Vyplnění formuláře a potvrzení. Administrátor vyplní název, popis a text novinky. Kontrola zadaných údajů systémem. Pokud není vyplněn název a text novinky, zobrazí se uţivateli chybová hláška a ten znovu vyplní formulář. 7. Uloţení novinky do databáze. 1. 2. 3. 4. 5. 6.
69
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 61 – Diagram aktivit – přidání novinky
Uživatelské rozhraní:
obr. 62 – Uživatelské rozhraní – přidání novinky
70
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.27
Smazání novinky
Administrátor můţe samozřejmě i rušit dříve vloţené novinky. Popis akcí: 1. 2. 3. 4. 5. 6. 7.
Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „novinky“ v levém menu. Systém zobrazí všechny vloţené novinky. Výběr novinky a stisk tlačítka „smaţ“. Potvrzení vymazání. Vymazání novinky z DB.
Diagram aktivit:
obr. 63 – Diagram aktivit – smazání novinky
Uživatelské rozhraní: Uţivatelské rozhraní je stejné jako u přidání novinky.
5.2.28
Přidání kategorie
Administrátor spravuje kategorie článků, souborů a odkazů. Kategorie jsou tedy rozděleny do tří skupin – články, soubory a odkazy. Popis akcí: Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí všechny kategorie a pod seznamem formulář pro přidání nové kategorie. Administrátor vyplní název, popis a skupinu, do které nová kategorie patří. Název a popis vyplní v českém i anglickém jazyce. 6. Kontrola zadaných údajů systémem. Pokud není vyplněn název kategorie, zobrazí se uţivateli chybová hláška a ten znovu vyplní formulář. 7. Uloţení kategorie do databáze. 1. 2. 3. 4. 5.
71
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 64 – Diagram aktivit – přidání kategorie
Uživatelské rozhraní:
obr. 65 – Uživatelské rozhraní – přidání kategorie
72
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.29
Změna kategorie
Administrátor můţe měnit název a popis kategorií. Popis akcí: Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí seznam kategorií. Výběr kategorie a stisk tlačítka „edituj“. Změna údajů vybrané kategorie ve formuláři a potvrzení. Kontrola zadaných údajů systémem. Pokud není vyplněn název kategorie, zobrazí se uţivateli chybová hláška a ten znovu vyplní změny ve formuláři. 8. Uloţení pozměněné kategorie do databáze. 1. 2. 3. 4. 5. 6. 7.
Diagram aktivit:
obr. 66 – Diagram aktivit – změna kategorie
Uživatelské rozhraní: Uţivatelské rozhraní pro výběr kategorie k editaci je stejné jako při přidání kategorie na obr. 65. Po stisku tlačítka „edituj“ se zobrazí vyplněný formulář (stejný jako formulář pro přidání kategorie) se současnými hodnotami vybrané kategorie, které lze změnit a poté uloţit.
73
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.30
Smazání kategorie
Administrátor můţe rušit kategorie. Je třeba brát v úvahu, ţe můţe být v kategorii uloţen některý článek, soubor, nebo odkaz. Ten je po smazání kategorie bez kategorie a jeví se jako by patřil do kategorie „bez kategorie“. Článku můţe uţivatel později editací nastavit novou kategorii, případně jej můţe smazat. Popis akcí: 1. 2. 3. 4. 5. 6. 7.
Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí seznam kategorií. Výběr kategorie a stisk tlačítka „smaţ“. Potvrzení vymazání. Vymazání kategorie z databáze.
Diagram aktivit:
obr. 67 – Uživatelské rozhraní – smazání kategorie
Uživatelské rozhraní: Uţivatelské rozhraní je stejné jako uţivatelské rozhraní pro přidání, nebo editaci kategorie na obr. 65.
74
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.31
Import dat ze solárních panelů
Administrátor má moţnost vkládat do databáze hodnoty získané z dataloggeru jinou cestou, neţ přes Internet pomocí příkazu GET. To umoţňuje vkládat naměřené hodnoty dojde-li k výpadku serveru, nebo vkládat starší hodnoty za období, kdy ještě webový systém nefungoval. Hodnoty se vkládají v souboru ve formátu .csv, který je moţné získat z dataloggeru solárních panelů. Jelikoţ do listopadu 2005 fungoval datalogger solárních panelů jinak neţ nyní a ukládal naměřené hodnoty do souboru .csv jiné struktury neţ dnes, je import dat rozdělen do dvou částí – import starších dat (před 23.11.2005) a import dat ze současného systému. Při vkládání starších dat se uloţí hodnoty do databáze a existuje-li v databázi údaj, který má stejné datum a čas, je novými hodnotami přepsán. Při importu dat ze současného systému má administrátor více moţností. Nejčastěji zřejmě nastane situace, kdy bude nutné doplnit data po výpadku a ví se, kdy a jak dlouho výpadek probíhal (např. z měsíčních a denních grafů). Můţe tedy zadat časový interval obsaţený v souboru, který chce vloţit, nebo vloţit celý časový interval obsaţený v souboru. Vzhledem k tomu, ţe je v dataloggeru nastaven interval ukládání do interní paměti na 5 minut z důvodu její malé kapacity a interval posílání dat z dataloggeru pomocí GETu je 1 minuta, by nebylo dobré, aby se větším obdobím uloţeným v souboru přepsala část hodnot, které standardní cestou ještě (nebo uţ) doručeny byly. Proto můţe administrátor volit mezi uloţením do databáze jen těch záznamů ze souboru, které v databázi chybí a mezi přepisem celého vybraného období hodnotami ze souboru. Popis akcí: Přihlášení do systému, pokud administrátor jiţ není přihlášen. Stisk tlačítka „solární panely“ v hlavním menu. Stisk tlačítka „vloţení dat“ v levém menu. Vyplnění formuláře. Zadání .csv souboru, volba intervalu a způsob uloţení. Kontrola systémem. Pokud není soubor v pořádku (poţadovaný formát), vypíše se chybová hláška a administrátor vyplní formulář znovu. 6. Uloţení vybraných hodnot ze souboru do databáze. 1. 2. 3. 4. 5.
75
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Diagram aktivit:
obr. 68 – Diagram aktivit - import dat ze solárních panelů
Uživatelské rozhraní:
obr. 69 – Uživatelské rozhraní – import dat ze solárních panelů
76
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
5.2.32
Export dat ze solárních panelů
Pro další vědecké zpracování uloţených dat slouţí export dat do souboru .csv. Uţivatel volí časový interval, za který chce data v souboru stáhnout. Popis akcí: 1. 2. 3. 4. 5.
Stisk tlačítka „solární panely“ v hlavním menu. Stisk tlačítka „export dat“ v levém menu. Vyplnění formuláře. Volba časového intervalu a potvrzení. Systém vygeneruje příslušný .csv soubor a nabídne jej ke staţení. Staţení souboru.
Diagram aktivit:
obr. 70 – Diagram aktivit – export dat ze solárních panelů
Uživatelské rozhraní:
obr. 71 - Uživatelské rozhraní – export dat ze solárních panelů
77
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
6 Implementace 6.1 Fyzický datový model Fyzický datový model vychází z konceptuálního datového modelu uvedeného v kapitole 5.1. Notace je stejná jako u konceptuálního modelu, navíc je zde pouze vlastnost atributu entity FK (Foreign Key) – cizí klíč. Namísto datových typů pouţitých v konceptuálním modelu jsou zde pouţity odpovídající datové typy pouţité v databázi MySQL viz Tab. 14. Neuvádím zde popis atributů jednotlivých entit, který je aţ na cizí klíče jiţ jednou uveden v kapitole 5.1. Jelikoţ se navíc entity, kromě jiţ uvedeného cizího klíče a datových typů, mírně liší v názvu, uvádím zde tabulku, v níţ jsou entitám z konceptuálního modelu přiřazeny entity ve fyzickém modelu dat (Tab. 13). Konceptuální datový model Solar záznam Uţivatel Vlákno diskuze Diskuzní příspěvek Soubor Článek Odkaz Kategorie
Fyzický datový model solar uzivatel vlakno prispevek soubor clanek odkaz kategorie
Tab. 13 – Entity v konceptuálním a fyzickém modelu
Konceptuální datový model datum čas int float n-string txt
Fyzický datový model date time int float varchar (n) , char (n) text
Tab. 14 – Datové typy v konceptuálním a fyzickém modelu
obr. 72 – Fyzický datový model – data ze solárních panelů
78
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 73 - Fyzický datový model – CMS systém
79
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
6.2 Implementace webového rozhraní Webové rozhraní je naprogramováno v jazycích PHP a XHTML za pouţití kaskádových stylů CSS, šablonovacího systému Smarty a pomocné knihovny JpGraph pro vykreslování grafů.
6.2.1 Adresářová struktura a popis důleţitých souborů Pomocí šablonovacího systému Smarty je kompletně oddělena prezentační část (XHTML + CSS) od aplikační části (PHP). Většině PHP souborů umístěných v kořenovém adresáři odpovídají šablony v XHTML souborech umístěných v adresáři /smarty/templates/ . Například pro následující skript uloţený v souboru /ukazka_sablon.php : require("classes/cms.php"); $ukazka = new Cms(); //konstruktor nastavuje smarty $ukazka->smarty->assign('pozdrav',’Nazdárek’); $ukazka->smarty->display('ukazka_sablon.html'); ?> je vytvořena šablona uloţená v souboru smarty/templates/ukazka_sablon.html : {$pozdrav}
Dnes je: {$smarty.now|date_format:"%d.%m.%Y"} Pomocné třídy pro načítání dat z databáze, generování grafů apod. jsou umístěny v adresáři /classes/. Jednotlivé třídy budou podrobněji popsány dále. Pro generování jednotlivých grafů se pouţívají PHP skripty umístěné v adresáři /files/graphs/ . Pro kaţdou jazykovou verzi je vytvořen slovník všech textů vyskytujících se na webu v adresáři /files/xx/lang.php, kde xx je kód jazyka (cs, nebo en). Při přechodu na další jazyk tak stačí přeloţit tyto texty, uloţit nový soubor lang.php do nového adresáře a přidat ikonu nového jazyka do adresáře /files/pictures/. Struktura slovníku je následující: define("STR_AVG_VOLTAGE","Průměrné napětí"); define("STR_AVG_CURRENT","Průměrný proud"); define("STR_AVG_IRRAD","Průměrná Irrad"); Popis dalších důleţitých souborů: /files/menus.php Definice všech menu – hlavní menu, levé menu a menu ke grafům. /files/vars.php Definice údajů nutných pro připojení k databázi. Nastavení implicitního jazyka (čeština). Nastavení parametrů pro vykreslování grafů (rozměry, barvy, formát obrázku apod.). /styles.css Definice kaskádových stylů
80
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
6.2.2 Diagram tříd Kvůli přehlednosti zde uvádím pouze zjednodušený diagram tříd bez uvedených atributů a metod jednotlivých tříd.
obr. 74 – Diagram tříd
6.2.2.1 Cms Tato třída slouţí k inicializaci šablonovacího systému, nastavení jazyka a zavedení slovníku pro zobrazení.
6.2.2.2 Solar Tato třída poskytuje metody pro načtení dat ze solárních panelů při výpisu do tabulek a metody pro import starších dat do DB a export dat z DB do .csv souboru.
6.2.2.3 Graf Tato třída poskytuje metody pro vykreslování spojnicových a sloupcových grafů pro denní, měsíční a roční hodnoty ze solárních panelů. Vyuţívá knihovny JpGraph.
6.2.2.4 Clanek Tato třída poskytuje metody pro načítání článků a novinek z DB, vkládání nových článků a souvisejících odkazů, změny a mazání článků.
6.2.2.5 Diskuze Tato třída poskytuje metody pro načítání diskuzních fór a příspěvků z DB, jejich vytváření a mazání a metody pro vkládání komentářů k článku.
6.2.2.6 Soubor Tato třída poskytuje metody pro vkládání souborů na web jejich zobrazení a jejich mazání.
6.2.2.7 Odkaz Tato třída poskytuje metody pro uloţení odkazů do DB, jejich zobrazení a jejich mazání.
6.2.2.8 Kategorie Tato třída poskytuje metody pro vkládání, editaci a mazání kategorií článků, souborů a odkazů.
81
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
6.2.2.9 Uzivatel Tato třída poskytuje metody pro správu uţivatelů, vytváření nových uţivatelů, editaci osobních údajů a rušení uţivatelů.
6.2.3 Import a export solárních dat Pro import dat standardní cestou pomocí GETu byl vytvořen skript /input.php, který při kaţdém jeho volání překontroluje doručené parametry, přepočítá je (viz popis parametrů uvedený v odborném článku) a uloţí hodnoty do databáze. Pro import solárních dat ze souboru a jejich export do souboru se pouţívají metody třídy Solar. Popis formátu importovaných souborů a exportovaného souboru je uveden v příručce administrátora. Importované soubory jsou dvojího typu, jelikoţ současný datalogger (v provozu od listopadu 2005), ukládá data v jiném formátu, neţ starší datalogger. Je rovněţ třeba upozornit na to, ţe hodnota energie se v dataloggeru dříve ukládala jako přírůstek energie za určitý časový interval, kdeţto dnes je hodnota energie ukládána a pomocí GETu posílána jako celková energie získaná od instalace fotovoltaických panelů. Jelikoţ zálohovaná data ukládaná od instalace panelů nejsou kompletní, nebylo moţné uloţit do databáze starší data (před listopadem 2005) stejným způsobem, jako se ukládají v současnosti. Hodnoty uloţené před 23.11.2005 mají tedy jiný význam (celková získaná energie od počátku dne) neţ hodnoty uloţené později (celková získaná energie od instalace systému) a jsou tomu proto přizpůsobeny i metody pro vykreslování tabulek a grafů.
82
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
7 Testování Cílem testování bylo odhalení moţných chyb a nedostatků aplikace. Kaţdou část aplikace jsem testoval nejdříve sám v průběhu programování (metodami White-box testing). Po dokončení implementace byla kaţdá tato část otestována externím testerem (metodami Black-box testing) a následně jsem opravil případné chyby. Testování ale probíhalo dál, jelikoţ byla aplikace na serveru ČVUT v provozu po celou dobu vývoje, pravidelně se pouţívala (zejména část aplikace zobrazující data ze solárních panelů) a byl jsem v kontaktu s jejími uţivateli, kteří mne o chybách a nedostatcích informovali. Aplikace byla testována v dnes nejpouţívanějších prohlíţečích Mozilla Firefox (verze 1.5), MS Internet Explorer (verze 6) a Opera (verze 9.1). Stránky jsou vytvořeny ve formátu XHTML 1.0 Transitional a jsou validní. Validita byla ověřena pomocí sluţby W3C Markup Validation Service na adrese http://validator.w3.org .
7.1 Odhalené chyby a nedostatky Zde uvádím výčet softwarových chyb, na které jsem se během testování zaměřil. Testování probíhalo během vývoje a dělal jsem proto průběţně záznamy o nalezených chybách. Neuvádím zde všechny odhalené chyby, ale pouze jejich reprezentativní podmnoţinu.
7.1.1 Chyby uţivatelského rozhraní Mezi tyto chyby by se mohly zařadit následující: Některé akce lze provést jen obtíţně nebo nevhodným či zmatečným způsobem. Ovládání není dostatečně intuitivní a nutí proto uţivatele přemýšlet nepřirozeným způsobem. Nízká rychlost aplikace během interakce s uţivatelem. Odhalené chyby: 1. Špatné umístění kalendáře při zobrazení dat ze solárních panelů do grafu. Kalendář byl umístěn nad grafem, coţ způsobilo, ţe se při niţším rozlišení muselo rolovat. Vyřešeno umístěním kalendáře vpravo vedle grafu. 2. Grafy se načítaly nepřiměřeně dlouho (kolem 25 vteřin pro denní grafy). Vyřešeno přidáním indexu nad sloupec date v databázi (nyní trvá načítání denních hodnot z databáze přibliţně 0,06 vteřiny). 3. Špatné umístění menu pro výběr veličiny ke zobrazení do grafu. Původně bylo menu umístěno jako vertikální hned vedle levého menu, čímţ obě menu na první pohled splývala. Vyřešeno umístěním horizontálního menu pod graf. 4. Chyběl popis zkratek veličin uvedených v menu pod grafem. Vyřešeno přidáním popisků, které se zobrazí jako bubliny nad tlačítkem po najetí myší. 5. Grafy pro měsíční hodnoty přesahovaly rozsah stránky. Vyřešeno upravením rozměrů grafů. 6. Doba načítání grafu se v obrázku s grafem uváděla na 13 desetinných míst a byla umístěna v oblasti pro vykreslování hodnot. Vyřešeno volitelným umístěním do pravého dolního rohu a zaokrouhlením času na 3 desetinná místa. 7. Byly zjištěny gramatické chyby v grafech (chyběla interpunkce). Opraveno. 8. Ikona pro přepínání jazyka byla umístěna nestandardně v levém menu. Vyřešeno umístěním ikony do záhlaví stránky vedle hlavního menu. 9. Kolize poloţky „O systému“ v hlavním menu, týkající se webové aplikace s poloţkou „Popis systému“ v levém menu solárních panelů, týkající se popisu fotovoltaického systému. Vyřešeno přejmenováním na „Úvod“ a na „Popis FVS systému“. 10. Po přihlášení do aplikace bylo třeba stisknout některé další tlačítko, aby se na vzhledu stránky projevilo, ţe je uţivatel přihlášen. Stejně tak po odhlášení. Opraveno – aplikace a všechny její části reagují okamţitě.
83
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
7.1.2 Výpočetní chyby Mezi tyto chyby by se mohly zařadit následující: Chyby aritmetiky způsobené chybnými algoritmy. Ztráta přesnosti během výpočtu. Odhalené chyby: 1. Špatný postup při výpočtu průměrného výkonu PDC z hodnot napětí a proudu. Opraveno. 2. Špatný výpočet průměrných ročních hodnot energie u starších dat (před 23.11.2005) . Opraveno.
7.2 Další moţné chyby a nedostatky Mezi další testované softwarové chyby, které však nebyly odhaleny, patří následující. Neoprávněný přístup do aplikace. Dostupnost funkcí aplikace určených výlučně administrátorovi jinými uţivateli. Dostupnost funkcí určených registrovaným uţivatelům neregistrovanými uţivateli. Nefunkčnost nebo špatná funkčnost odkazů a tlačítek na stránce. Špatné zpracování dat vkládaných pomocí formulářů. Nesprávné seřazení článků a diskuze, podle data vloţení.
7.3 Zhodnocení testování Kaţdá funkce aplikace byla pečlivě vyzkoušena nejen během vývoje, ale i za plného provozu aplikace skupinou reálných uţivatelů. Byly nalezeny a opraveny některé podstatné chyby – zejména výpočetní chyby, chyby v designu a v rychlosti interakce.
84
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
8 Závěr Byl úspěšně navrţen a implementován systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů. Systém prezentuje fotovoltaická data přehledným způsobem podle zadání a umoţňuje jejich další vědecké zpracování. Navíc díky moţnosti publikace článků, souborů, odkazů a diskuze lze předpokládat jeho další vyuţití nejen při zpracování hodnot ze solárních panelů, ale rovněţ při elearningu a při předávání znalostí a komunikaci mezi odbornou veřejností. Do budoucna se plánuje rozšíření systému o sběr a zpracování dat z meteorologické stanice. Systém byl implementován jako webová serverová aplikace a umístěn na serveru katedry elektrotechnologie FEL ČVUT. Aplikace je k dispozici na adrese http://andrea.feld.cvut.cz/fvs.
85
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
9 Pouţité zdroje [1] CASTAGNETTO, J. – et al, Programujeme PHP profesionálně, Computer Press, Praha, 2002, ISBN 80-7226-310-2 [2] CEDERHOLM, D., Flexibilní web design, Computer Press, Brno, 2006, ISBN 80-251-1018-4 [3] HARMON, P. – WATSON, M., Understanding UML – The Developer’s Guide, Morgan Kaufmann Publishers, Inc., San Francisco, California, 1998, ISBN 1-55860-465-0 [4] JpGraph documentation [online], URL , [cit. 2007-04-23] [5] MACHÁČEK, Z., Vliv externích podmínek na činnost fotovoltaického systému na ČVUT - FEL, Praha, 2004, 79 s., diplomová práce na FEL ČVUT na katedře elektrotechnologie, vedoucí diplomové práce Prof. Ing. Vítězslav Benda, CSc. [6] MANNOVÁ, B. – VOSÁTKA, K., Řízení softwarových projektů, Skriptum, Vydavatelství ČVUT, Praha, 2005, ISBN 80-01-03297-3 [7] MOLHANEC, M. – MACHÁČEK, Z., Sběr fotovoltaických dat ze solárních panelů na ČVUT FEL Praha, In: 2. Česká fotovoltaická konference. Brno VUT FEI, s. 166-169, Brno, 2006, ISBN 80-239-7361-4 [8] MySQL reference manual [online], URL , [cit. 2007-04-23] [9] NIELSEN, J. – TAHIR, M., Použitelnost domovských stránek, Zoner Press 2005, ISBN 80-8681518-8 [10] PHP manual [online], URL , [cit. 2007-04-23] [11] POKORNÝ, J. – HALAŠKA I., Databázové systémy, Skriptum, Vydavatelství ČVUT, Praha, 2003, ISBN 80-01-02789-9 [12] PROKOP, M., CSS – kaskádové styly pro webdesignery, Computer Press, Brno, 2005, ISBN 80251-0487-7 [13] RICHTA, K. – SOCHOR, J., Softwarové inženýrství І., Skriptum, Vydavatelství ČVUT, Praha, 1998, ISBN 80-01-01428-2 [14] Smarty manual [online], URL , [cit. 2007-04-23] [15] Tvorba www stránek [online], URL , [cit. 2007-04-23] [16] WELLING, L. – THOMSON, L., PHP a MySQL – rozvoj webových aplikací, SoftPress, Praha, 2002, ISBN 80-86497-20-8
86
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
10 Příloha A – CD-ROM Součástí této práce je přiloţené CD obsahující následující adresáře a soubory.
obr. 75 – Struktura CD-ROM
Tento text je ve formátu MS Word a PDF uloţen v adresáři /doc/ stejně jako uţivatelská, administrátorská a instalační příručka. Samotná aplikace (zdrojové kódy a pomocné knihovny) je uloţena v adresáři /appl/ a jeho podadresářích.
11 Příloha B – Uţivatelská příručka Jelikoţ se uţivatelská příručka z velké části shoduje s dynamickým a funkčním modelem a její uvedení zde by nepřiměřeně zvětšilo rozsah tohoto textu, je dostupná pouze na přiloţeném CD.
87
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
12 Příloha C – Instalační příručka Instalace systému není automatizovaná a v jejím popisu se předpokládá, ţe instalaci provádí osoba znalá správy IIS nebo Apache webového serveru a MySQL databáze.
12.1 Poţadavky na systém Operační systém podporující běh následujících komponent – např. MS Windows 2000 Server, nebo MS Windows 2003 Server Webový server – MS IIS od verze 4, nebo Apache od verze 2.0 Rozšíření serveru o PHP verze 4.3 nebo vyšší Databázový systém MySQL od verze 3.23
12.2 Postup instalace 1. Vytvoření cílové složky, do které bude aplikace instalována (např. c:/wwwroot/fvs). 2. Překopírování souborů z instalačního CD ze sloţky /appl/ (včetně všech podadresářů) do cílové složky. 3. Vytvoření databázové struktury – vytvoření databáze a tabulek provedením skriptu v souboru /files/database.sql umístěného v cílové složce. 4. Vytvoření prvního uţivatele systému (administrátora) podle tabulky uzivatel pro další správu aplikace po připojení z PHP. 5. Vyplnění uţivatelského jména a hesla pro připojení k databázi v souboru /files/vars.php umístěného v cílové složce. 6. Nastavení proměnné $DOCUMENT_ROOT v souboru /files/vars.php, provádí-li se instalace na IIS. 7. Nastavení aplikace na webovém serveru. Nastavení IIS serveru pomocí konzoly pro nastavení IIS – vytvoření virtuálního adresáře na zvoleném WEB serveru jehoţ sloţkou bude cílová složka. Nastavení Apache serveru pomocí konfiguračního souboru httpd.conf – nastavení parametru DocumentRoot na cílovou složku.
88
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
13 Příloha D – Příručka administrátora Administrátorská příručka je rozdělena na dvě části: Popis správy aplikace – Popis moţností, které má administrátor navíc oproti běţnému registrovanému uţivateli aplikace. Popis vybraných částí aplikace – Toto zde uvádím zejména proto, abych ulehčil následné úpravy aplikace, jelikoţ se předpokládá další rozšíření aplikace o sběr a zpracování dat z meteorologické stanice.
13.1 Popis správy aplikace 13.1.1
Přihlášení do systému a odhlášení
Po správném vyplnění přihlašovacího formuláře umístěného v levém menu uţivatelským jménem a heslem je administrátor přihlášen a je znovu načtena aktuální stránka, která navíc obsahuje elementy a moţnosti, které se zobrazují jen administrátorovi. Odhlásit se administrátor můţe kdykoliv stiskem tlačítka „odhlásit“. Postup přihlášení: 1. Vyplnění a potvrzení přihlašovacího formuláře v levém menu. 2. Není-li zadaná kombinace uţivatelské jméno / heslo správná, je třeba vyplnit údaje znovu. Postup odhlášení: 1. Stisk tlačítka „odhlásit“ umístěném v levém sloupci pod menu.
obr. 76 –Přihlášení do systému a odhlášení
13.1.2
Přidání nového uţivatele
Administrátor můţe vloţit nového uţivatele následujícím způsobem. Ve formuláři zadá registrační a osobní údaje uţivatele a zvolí typ uţivatele. Typ uţivatele je ve formuláři implicitně nastaven na „běţný uţivatel“ a je moţno jej změnit na „neregistrovaný uţivatel“ nebo na „administrátor“. Postup: 1. 2. 3. 4. 5.
Přihlášení do systému. Výběr tlačítka „admin“ v hlavním menu. Výběr tlačítka „přidat uţivatele“ v levém menu. Vyplnění registračních údajů a uloţení. Nejsou-li údaje v pořádku, je administrátor vyzván k opětovnému vyplnění údajů.
89
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 77- Přidání nového uživatele
13.1.3
Změna osobních údajů uţivatelů
Administrátor můţe měnit osobní údaje všech uţivatelů. Uţivatele vybírá ze seznamu uţivatelů, který je ve dvou variantách – seznam neregistrovaných uţivatelů a seznam registrovaných uţivatelů. Po stisku tlačítka „edituj“ u konkrétního uţivatele v seznamu uţivatelů tak můţe měnit jeho údaje. Postup: Přihlášení do systému. Výběr tlačítka „admin“ v hlavním menu. Systém zobrazí seznam registrovaných uţivatelů. Pro výpis neregistrovaných uţivatelů administrátor vybere tlačítko „neregistrovaní uţivatelé“ v levém rozbalovacím menu. 5. Stisk tlačítka „edituj“ u konkrétního uţivatele. 6. Změna údajů uţivatele pomocí formuláře. 7. Nejsou-li údaje v pořádku, je administrátor vyzván k opětovnému vyplnění údajů. 1. 2. 3. 4.
90
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 78 – Změna osobních údajů uživatelů
13.1.4
Odebrání uţivatele
Administrátor můţe rušit uţivatele. Uţivatele vybírá ze seznamu uţivatelů stejně, jako při jejich editaci. Po stisku tlačítka „smaţ“ u konkrétního uţivatele v seznamu uţivatelů a dodatečném potvrzení je uţivatel vymazán. Postup: Přihlášení do systému. Výběr tlačítka „admin“ v hlavním menu. Systém zobrazí seznam registrovaných uţivatelů. Pro výpis neregistrovaných uţivatelů administrátor vybere tlačítko „neregistrovaní uţivatelé“ v levém rozbalovacím menu. 5. Stisk tlačítka „smaţ“ u konkrétního uţivatele. 6. Potvrzení vymazání uţivatele. 1. 2. 3. 4.
obr. 79 – Odebrání uživatele
13.1.5
Přidání novinky
Administrátor můţe vkládat novinky, které se ostatním uţivatelům zobrazí při vstupu na úvodní stránku a upozorní tak např. na nové zajímavé články na webu, konané akce, přednášky apod. Postup: 1. 2. 3. 4. 5. 6.
Přihlášení do systému. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „novinky“ v levém menu. Systém zobrazí všechny vloţené novinky a pod nimi vypíše formulář pro vloţení nové novinky. Vyplnění formuláře a potvrzení. Administrátor vyplní název, popis a text novinky. Pokud není vyplněn název a text novinky, zobrazí se chybová hláška a administrátor znovu vyplní formulář.
91
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 80 – Přidání novinky
13.1.6
Smazání novinky
Administrátor můţe samozřejmě i rušit dříve vloţené novinky. Postup: 1. 2. 3. 4. 5. 6.
Přihlášení do systému. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „novinky“ v levém menu. Systém zobrazí všechny vloţené novinky. Výběr novinky a stisk tlačítka „smaţ“. Potvrzení vymazání.
Vzhled aplikace při výběru novinky ke smazání je shodný jako při vkládání novinky.
13.1.7
Přidání kategorie
Administrátor spravuje kategorie článků, souborů a odkazů. Kategorie jsou tedy rozděleny do tří skupin – články, soubory a odkazy. Postup: Přihlášení do systému. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí všechny kategorie a pod seznamem formulář pro přidání nové kategorie. Administrátor vyplní název, popis a skupinu, do které nová kategorie patří. Název a popis vyplní v českém i anglickém jazyce. 6. Pokud není vyplněn název kategorie, zobrazí se chybová hláška a administrátor znovu vyplní formulář. 1. 2. 3. 4. 5.
92
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 81 – Přidání kategorie
13.1.8
Změna kategorie
Administrátor můţe měnit název a popis kategorií. Postup: 1. 2. 3. 4. 5. 6. 7.
Přihlášení do systému. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí seznam kategorií. Výběr kategorie a stisk tlačítka „edituj“. Změna údajů vybrané kategorie ve formuláři a potvrzení. Pokud není vyplněn název kategorie, zobrazí se chybová hláška a administrátor znovu vyplní změny ve formuláři.
93
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
obr. 82 – Změna kategorie
13.1.9
Smazání kategorie
Administrátor můţe rušit kategorie. Je třeba brát v úvahu, ţe můţe být v kategorii uloţen některý článek, soubor, nebo odkaz. Ten je po smazání kategorie bez kategorie a jeví se jako by patřil do kategorie „bez kategorie“. Článku můţe uţivatel později editací nastavit novou kategorii, případně jej můţe smazat. Postup: 1. 2. 3. 4. 5. 6.
Přihlášení do systému. Stisk tlačítka „admin“ v hlavním menu. Stisk tlačítka „správa kategorií“ v levém menu. Systém zobrazí seznam kategorií. Výběr kategorie a stisk tlačítka „smaţ“. Potvrzení vymazání.
Vzhled aplikace při výběru kategorie ke smazání je shodný jako při přidání kategorie.
13.1.10
Import dat ze solárních panelů
Administrátor má moţnost vkládat do databáze hodnoty získané z dataloggeru jinou cestou, neţ přes Internet pomocí příkazu GET. To umoţňuje vkládat naměřené hodnoty dojde-li k výpadku serveru, nebo vkládat starší hodnoty za období, kdy ještě webový systém nefungoval. Hodnoty se vkládají v souboru ve formátu .csv, který je moţné získat z dataloggeru solárních panelů. Jelikoţ do listopadu 2005 fungoval datalogger solárních panelů jinak neţ nyní a ukládal naměřené hodnoty do souboru .csv jiné struktury neţ dnes, je import dat rozdělen do dvou částí – import starších dat (před 23.11.2005) a import dat ze současného systému. Při vkládání starších dat se uloţí hodnoty do databáze a existuje-li v databázi údaj, který má stejné datum a čas, je novými hodnotami přepsán. Při importu dat ze současného systému má administrátor více moţností. Nejčastěji zřejmě nastane situace, kdy bude nutné doplnit data po výpadku a ví se, kdy a jak dlouho výpadek probíhal (např. z měsíčních a denních grafů). Můţe tedy zadat časový interval obsaţený v souboru, který chce vloţit, nebo vloţit celý časový interval obsaţený v souboru. Vzhledem k tomu, ţe je v dataloggeru nastaven interval ukládání do interní paměti na 5 minut z důvodu její malé kapacity a interval posílání dat z dataloggeru pomocí GETu je 1 minuta, by nebylo dobré, aby se větším obdobím uloţeným v souboru přepsala část hodnot, které standardní cestou ještě (nebo uţ) doručeny byly. Proto můţe administrátor volit mezi uloţením do databáze jen těch záznamů ze souboru, které v databázi chybí a mezi přepisem celého vybraného období hodnotami ze souboru.
94
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
Postup: Přihlášení do systému. Stisk tlačítka „solární panely“ v hlavním menu. Stisk tlačítka „vloţení dat“ v levém menu. Vyplnění formuláře. Zadání .csv souboru, volba intervalu a způsob uloţení. Pokud není soubor v pořádku (poţadovaný formát), vypíše se chybová hláška a administrátor vyplní formulář znovu. 6. Uloţení vybraných hodnot ze souboru do databáze. 1. 2. 3. 4. 5.
obr. 83 –Import dat ze solárních panelů
Formát importovaného .csv souboru pro data získaná po 23.11.2005: Jednotlivé hodnoty na řádku jsou odděleny středníkem a první řádek obsahuje slovní popis záznamů v příslušném sloupci. Význam hodnot na jednom řádku (hodnoty jsou očíslovány podle pozice na řádku): 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Číslo měření Datum (dd.mm.yyyy) Čas (hh:ii) Interval [min] Napětí pole A [V] Proud z pole A [A] Energie pole A [kWh] Proud z pole A [A] Proud z pole B [A] Energie pole B [kWh] Napětí pole C [V] Proud z pole C [A] Energie pole C [kWh] Výkon do sítě [W]
95
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
15. Celková energie [kWh] 16. Teplota [°C] 17. Intenzita záření [W/m2]
Formát importovaného .csv souboru pro data získaná před 23.11.2005: Jednotlivé hodnoty na řádku jsou odděleny středníkem a první dva řádky obsahují slovní popis záznamů v příslušném sloupci. Význam hodnot na jednom řádku (hodnoty jsou očíslovány podle pozice na řádku): 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
96
Datum (dd.mm.yyyy) Čas (hh:ii) Intenzita záření [W/m2] Teplota [°C] Výkon panelu A [W] Napětí DC na panelu A [V] Proud DC na panelu A [A] Napětí AC na panelu A [V] Proud AC na panelu A [A] Interval ukládání panelu A [s] Teplota panelu A [°C] Energie panelu A získaná během intervalu [Ws] Výkon panelu B [W] Napětí DC na panelu B [V] Proud DC na panelu B [A] Napětí AC na panelu B [V] Proud AC na panelu B [A] Interval ukládání B [s] Teplota panelu B [°C] Energie panelu B získaná během intervalu [Ws] Výkon panelu C [W] Napětí DC na panelu C [V] Proud DC na panelu C [A] Napětí AC na panelu C [V] Proud AC na panelu C [A] Interval ukládání C [s] Teplota panelu C [°C] Energie panelu C získaná během intervalu [Ws] Celková získaná energie během intervalu [Ws]
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
13.1.11
Export dat ze solárních panelů
Pro další vědecké zpracování uloţených dat slouţí export dat do souboru .csv. Uţivatel volí časový interval, za který chce data v souboru stáhnout. (Pozn: Možnost exportu dat ze solárních panelů má jakýkoliv uživatel, je tedy popsána i v uživatelské příručce. Zde ji uvádím pouze proto, aby byla informace o importu solárních dat do databáze a jejich exportu z databáze ucelená. ) Postup: 1. 2. 3. 4. 5.
Stisk tlačítka „solární panely“ v hlavním menu. Stisk tlačítka „export dat“ v levém menu. Vyplnění formuláře. Volba časového intervalu a potvrzení. Systém vygeneruje příslušný .csv soubor a nabídne jej ke staţení. Staţení souboru.
obr. 84 – Export dat ze solárních panelů
Formát exportovaného .csv souboru: Jednotlivé hodnoty na řádku jsou odděleny středníkem a první řádek obsahuje slovní popis záznamů v příslušném sloupci. Význam hodnot na jednom řádku (hodnoty jsou očíslovány podle pozice na řádku): 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Datum (dd.mm.yyyy) Čas (hh:ii:ss) Celková energie [kWh] Energie panelu A [kWh] Energie panelu B [kWh] Energie panelu C [kWh] Napětí panelu A [V] Napětí panelu B [V] Napětí panelu C [V] Proud panelu A [A] Proud panelu B [A] Proud panelu C [A] Výkon do sítě [W] Teplota [°C] Intenzita záření [W/m2]
97
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
13.2 Popis vybraných částí aplikace Veškeré cesty k souborům a adresářům uvedené v následujícím popisu jsou relativní a vztahují se ke kořenovému adresáři aplikace.
13.2.1
Přidání nového tlačítka do hlavního menu
Editace souboru /files/menus.php. Je-li například vytvořena stránka meteo_about.php, přidá se odkaz na ni do hlavního menu tímto způsobem: $main_menu = array( "index" => MM_MAIN, "solar_about" => MM_SOLAR, "meteo_about" => MM_METEO, "clanky" => MM_CLANKY, "diskuze" => MM_DISKUZE, "soubory" => MM_SOUBORY, "odkazy" => MM_ODKAZY); Pořadí poloţky v poli $main_menu určuje pozici zleva v hlavním menu a MM_METEO je název tlačítka v příslušné jazykové variantě definovaný v souborech /files/xx/lang.php, kde xx je kódem příslušného jazyka, tímto způsobem: define(“MM_METEO“, “¨Meteo data“); Je rovněţ třeba pro správné zobrazení tlačítka v hlavním menu upravit soubor style.css následujícím způsobem: #main_menu a:active, ... , div#meteo_about #zal-meteo_about a /* přidaný řádek */ {...}
13.2.2
Vytvoření levého menu
Jsou-li vytvořeny např. stránky meteo_about.php, meteo_day.php, meteo_month.php, meteo_year.php a jim odpovídající html šablony, je moţné vytvořit levé menu s tlačítky odkazujícími na tyto stránky podobně jako u přidání tlačítka do hlavního menu editací souboru /files/menus.php. $leve_menu_meteo = array(
"about" => STR_METEO_MENU_ABOUT, "day" => STR_MENU_DAY, "month" => STR_MENU_MONTH, "year" => STR_MENU_YEAR);
Chci-li toto levé menu zobrazit např. při prohlíţení stránky meteo_about.php, je třeba do souboru meteo_about.php přidat řádky: require("files/menus.php"); $smarty->assign('leve_menu',$leve_menu_meteo); a do souboru /smarty/templates/meteo_about.html následně vloţit řádky:
Poté bude třeba upravit soubor style.css, aby se správně zvýraznilo tlačítko aktuální stránky: #leve_menu a:active, ... , div#meteo_about_leve .zal-meteo_about a /* přidaný řádek */ {...}
13.2.3
Generování grafů
Pro generování grafů je třeba vyuţít metody třídy Graf umístěné v souboru cms_graf.php. U všech typů grafů je použit následující postup: Je vytvořen php soubor (např. /files/graphs/muj_graf.php) generující určitý graf. Tento graf se na stránce vykreslí jako obrázek po vloţení následujícího řádku do html šablony: Společné nastavení parametrů jako jsou rozměry grafů, barvy, fonty, umístění popisků, formát souboru apod. lze provést editací souboru /files/vars.php. Zde je uveden příklad php souboru, který generuje graf: require("../../classes/cms_graf.php"); $graf_env = new Graf(’den’); $graf_env->init(“Nadpis grafu“, “Popis osy Y“); Parametrem konstruktoru Graf( ) je pro denní data hodnota ’den’, pro měsíční ’mesic’ a pro roční ’rok’. Je-li hodnota ’den’, bude se generovat spojnicový graf, jinak se bude generovat sloupcový graf. Následuje načtení hodnot z databáze do pomocných polí. Jedno pomocné pole (např. $polex) slouţí pro uloţení hodnot časové osy X a do dalších pomocných polí se ukládají odpovídající hodnoty vybrané veličiny. Např. pro vykreslení denních h odnot energie je v $polex[i] hodnota času i-tého záznamu pro vybraný den a v $poley[i] je hodnota energie i-tého záznamu pro tento den. $dotaz = “...“ ; $radky = mysql_query($dotaz); $PocetZaznamu = mysql_num_rows($radky) ; ... $polex = range(1,$PocetZaznamu); /* pro naplnění časové osy */ $poley = range(1,$PocetZaznamu); /* pro naplnění hodnotami */ if ($PocetZaznamu > 0){ /* naplnění polí $polex a $poley hodnotami z databáze */ while ($zaznam = MySQL_Fetch_Array($radky)){ ... } /* nastavení barev, rozměrů atd. */ $graph = $graf_env->set_env($time_dif, ’normal’); Po načtení hodnot se nastaví parametry grafu pro vykreslení pomocí metody set_env($time, $typ_grafu), kde parametr $time je čas provádění SQL dotazu a parametr $typ_grafu určuje zda se bude do grafu kreslit jedna veličina (hodnota ’normal’), porovnání více hodnot jedné veličiny (hodnota ’porovnani’), nebo se budou kreslit dvě různé veličiny (hodnota ’dve_veliciny’).
99
Systém pro prezentaci naměřených fotovoltaických hodnot ze solárních panelů na ČVUT FEL Praha
/* vykreslení grafu */ $graf_env->vykresli($graph,array($polex,$poley),NULL, array(BARVA)); } else{ /* hláška o nenalezení hodnot */ $graf_env->vypis_nejsou_hodnoty(); } ?> Po nastavení parametrů pro vykreslení grafu je zavolána metoda vykresli($graph, $hodnoty, $legenda, $barvy), která konečně vykreslí graf. Důleţité jsou zde následující parametry: $hodnoty = array($polex, $poley1, $poley2, $poley3, …), kde $polex (obor hodnot) odpovídá hodnotám časové osy (Pro denní data obsahuje toto pole hodnoty klasickou TimeStamp – počet sekund od 1.1.1970. Pro měsíční, resp. roční hodnoty obsahuje toto pole čísla dnů v měsíci, resp. čísla měsíců). $poley1, $poley2 atd. jsou pole funkčních hodnot. $legenda = array($str1, $str2, …), kde $str1, $str2 atd. odpovídají polím $poley1, $poley2 atd. a jsou jejich popisem uváděným v legendě grafu (vpravo nahoře). Legenda se uplatní pouze pro více zobrazovaných hodnot. $barvy = array($color1, $color2, …), kde $color1, $color2 atd. odpovídají polím $poley1, $poley2 atd. a jsou to barvy, kterými se vykreslí příslušná hodnota jako křivka ve spojnicovém grafu pro denní hodnoty, nebo jako sloupec v sloupcovém grafu pro měsíční, nebo roční hodnoty. Načtu-li například z databáze hodnoty napětí pro zvolený den do polí $A, $B a $C pro jednotlivé panely a hodnoty TimeStamp do pole $T, uloţím vše do pole $hodnoty = array($T, $A, $B, $C). Dále vytvořím legendu $legenda = array(“FV pole A”, “FV pole B”, “FV pole C”) a přiřadím hodnotám barvy pomocí $barvy = array(BARVA_1, BARVA_2, BARVA_3), kde BARVA_1 aţ BARVA_3 jsou barvy nastavené v souboru /files/vars.php. Po zavolání metody vykresli($graph, $hodnoty, $legenda, $barvy) systém vygeneruje graf podobný tomu na následujícím obrázku.
obr. 85 – Graf pro porovnání denních hodnot napětí
100