Bakalářské práce realizované v.net/c# Bachelor thesis implemented in.net/c# Ing. Marek Musil 1 Abstrakt Platforma.NET je používána k vytváření velmi efektivních a uživatelsky přívětivých aplikací. Nabízí řadu zajímavých a praktických komponent a nástrojů, které usnadňují vývoj. Díky tomu lze získat robustní a snadno ovladatelné aplikace nabízející řadu zajímavých funkcí. Výuka programování a tvorby formulářových aplikací je a měla by být orientována tímto směrem. Semestrální či jiné práce vyučovaného předmětu zaměřeného na tvorbu formulářových aplikací často nemají příliš praktické užití. Zajímavým výstupem ale může být bakalářská práce. Ta může být realizována ve spolupráci s firmou (s praxí), pro interní potřeby školy nebo praktické využití v některé z laboratoří katedry. V tomto příspěvku je prezentováno zvýšení zájmu studentů oboru Aplikovaná informatika a Počítačové systémy Vysoké školy polytechnické Jihlava o práce implementované na platformě.net za uplynulé období a představeny zajímavé práce, které byly realizovány jak ve spolupráci s praktickou sférou, tak i pro potřeby školy. Součástí výsledného hodnocení je vhodnost nasazení.net pro tvorbu formulářových aplikací, ale i odůvodnění zvýšeného zájmu studentů o tuto problematiku. 1 Ing. Marek Musil, e-mail: marek.musil@vspj.cz, Katedra elektrotechniky a informatiky, Vysoká škola polytechnická Jihlava, Tolstého 15, 586 01 Jihlava, ČR, tel. +420 567 567 141 111
Úvod Platforma.NET je používána k vytváření velmi efektivních a uživatelsky přívětivých aplikací. Nabízí řadu zajímavých a praktických komponent a nástrojů, které usnadňují vývoj. Díky tomu lze získat robustní a snadno ovladatelné aplikace nabízející řadu zajímavých funkcí. Platfroma.NET byla vyvinuta společností Microsoft a představena v roce 2001. První verze spolu s vývojovým prostředím Visual Studio byla uvolněna v následujícím roce 2002. Jazyk C# byl navržen a implementován pro platformu.net a ze všech vyšších jazyků integrovaných v této platformě poskytuje největší možnosti. Protože byl C# vyvíjen současně s.net, je mu nejvíce přizpůsoben. [1] Platforma.NET obecně podporuje tvorbu nejen formulářových a webových aplikací, ale i mobilních aplikací, dále nabízí řadu komponent a nástrojů pro práci s databázemi a s xml, nástroje pro generování pdf-souborů a nástroje pro práci v počítačové síti. Velmi zajímavým rozšířením je WPF (Windows Presentation Foundation) spolu s XAML (extensible Application Markup Language). Ve srovnání s typickými formulářovými aplikacemi, aplikace vytvořená ve WPF poskytuje nový vzhled, nové principy přizpůsobení ovládacích prvků, nové grafické funkce včetně animací 3D a nové programovací rozhraní. [2] Programy vytvářené ve WPF lze psát kompletně pomocí C# nebo i s využitím jiného programovacího jazyka ze specifikace CLS (Common Language Specification). Navíc je možné využít nový značkovací jazyk XAML (extensible Application Markup Language), který je založený na XML. Kromě obvyklých komponent lze využít i uvedených rozšířených možností. Platforma.NET je dobrým řešením vytváření formulářových aplikací. Ve výuce programování a tvorby formulářových aplikací by měla být pozornost tímto směrem. Semestrální či jiné práce studovaného předmětu zaměřeného na tvorbu formulářových aplikací vytvářené během studia často nemají příliš praktické užití. Zajímavé řešení zapojení studentů ve výuce je prezentováno v [3]. Zajímavým výstupem ale může být bakalářská práce. Ta může být realizována ve spolupráci s firmou (s praxí), pro interní potřeby školy, pro vědecké účely nebo praktické využití v některé z laboratoří katedry. V tomto příspěvku je prezentováno zvýšení zájmu studentů oboru Aplikovaná informatika a Počítačové systémy Vysoké školy polytechnické Jihlava o práce implementované v prostředí.net za uplynulé období a představeny zajímavé práce, které byly realizovány jak ve spolupráci s praktickou sférou, tak i pro potřeby školy. Součástí výsledného hodnocení je vhodnost užití.net pro tvorbu formulářových aplikací, ale i odůvodnění zvýšeného zájmu studentů o tuto problematiku.
Počty bakalářských prací realizované s využitím.net - použité metody a způsob řešení Vysoká škola polytechnická Jihlava nabízí bakalářské obory Aplikovaná informatika a Počítačové systémy. Do výuky programovacích předmětů je zařazen předmět Programování desktopových aplikací, jehož náplní je získání znalostí a zvládnutí dovedností v oblasti vývoje formulářových aplikací na platformě.net/c#. Tento předmět je zařazen ve studijním plánu do letního semestru 2. ročníku studia (4. semestr). Předcházejí předměty Programování 1, Programování 2 a předmět Datové struktury a algoritmy. Tabulka č. 1: Přehled počtu bakalářských prací za uplynulé období, které byly realizovány na platformě.net nebo ve spolupráci s firmou. Tabulka 1 zobrazuje počty obhájených bakalářkých prací v jednotlivých akademických rocích. Řádek označený.net udává počet bakalářských prací realizovaných na platformě.net, řádek firma označuje počet bakalářských prací realizované ve spolupráci s externí firmou a řádek firma +.NET označuje počet prací realizovaný ve spolupráci s firmou a to na platformě.net. Sloupeček 2014/2015 označuje počty právě řešených témat. Z tabulky vyplývá, že zájem o téma.net rapidně narostl počínaje akademickým rokem 2012/2013. Zájem o tyto práce přicházel ze strany studentů a je zřejmě ovlivněn inovací předmětu Programování WIN32 aplikací ve staré dobíhající akreditaci. Výuka Win32 API byla nahrazena v rámci možných změn a s ohledem na vývojové trendy výukou.net/c#. V nové akreditaci započaté akademickým rokem 2013/2014 je již plně v tomto předmětu nově pojmenovaném Programování desktopových aplikací (PDA) vyučován pouze.net/c#. Následuje představení nejzajímavějších prací. Aplikace pro evidenci více pracovních činností a kontrolu zadaných údajů Cílem této práce bylo vytvoření uživatelské formulářové aplikace, která umožňuje zadávat aktivity z více pracovních činností a kontrolovat překryvy aktivit a překročení povoleného počtu hodin. Přestože tato funkcionalita není příliš zajímavá, řešení uživatelského rozhraní práce přináší mnoho prezentativních prvků. Práce byla vytvořena s využitím WPF a XAML,
vzhled aplikace byl volen v duchu mobilních aplikací z důvodu možného přechodu používání na tabletech. Práce byla obohacena o instalátor aplikace, automatickou kontrolu a stahování nové verze přes internet. Obrázek č. 1: Aplikace pro kontrolu pracovních činností, jejich překryvů a dovoleného počtu hodin. Realizována s využitím WPF a XAML v designu mobilních aplikací. Plánovač úkolů V této práci bylo užito barevného přechodu komponenty k visualizaci informace, jak moc je aktuální plnit daný úkol. V práci bylo navíc využit vláken pro pravidelný refresh visualizace. Obrázek č. 3: Grafická visualizace akutnosti plnit úkol [6]. Směrování fotovoltaického panelu pomocí PLC Cílem práce byl návrh a implementace systému ovládající polohu fotovoltaického panelu v závislosti na poloze zdroje záření. Aplikace využívá komunikace s kontrolérem a řídí jej. Řízení modelu vlakového uzlu Tato práce měla za cíl vytvořit aplikaci pro řízení modelu vlakového uzlu připojeného přes sériovou linku. V této práci je využito nástrojů komunikace přes sériové rozhraní a visualiazačních nástrojů pro zobrazení v aplikaci.
Obrázek č. 2: Aplikace pro řízení modelu vlakového uzlu. 3D krychle Zajímavou prací realizovanou v rámci bakalářské práce je model 3D-krychle. Tato krychle je konstruována 8 x 8 x 8 diod a pomocí rozsvěcovaných diod zobrazuje sekvenci znaků. Krychle je řízena kontrolérem, který lze ovládat prostřednictvím bluetooth pomocí mobilní aplikace. Lze tak měnit barvu písma, ale i zobrazovaný text. Přestože je tato práce řešena v jazyku C, přinášela zde řešení s ohledem na omezenou velikost paměti na mikroprocesoru. Místo trojrozměrného pole logického datového typu jsou využity jednotlivý bity celého čísla (integer) pro rozsvícení 16 diod. Bity jsou získávány maskováním. Mezi další řešená témata Generátor zkouškových testů umožňující generovat zkouškové testy podle vlastního nastavení a vytvářet si specifické sady testovacích otázek. V práci jsou využity nástroje pro práci s xml, které jsou použity pro exportování sady otázek/generovaného testu např. do jiné aplikace generující testy. Tím může být například generování testů v moodlu. Mezi další zajímavé aplikace patří především databázové aplikace pro praktické užití: aplikace pro správu pojistných smluv, aplikace pro vedené jednoduchého účetnictví řešící specifické požadavky zákazníka. Dále pak síťová aplikace řízení šířky pásma a správa uživatelů pomocí C# aplikace v bezdrátové síti pomocí systému MkroTik ROuterOS a MikroTik API. V uvedených pracích jsou využity komponenty nabízené platformou.net. V současné době jsou řešena témata zaměřená na porovnání výkonosti kolekcí (rychlost
operací prováděných nad kolekcemi) a porovnání rychlostí prováděných databázových operací nad různými databázovými systémy (Sql a db4o). Závěr Statistika bakalářských prací byla provedena na základě informací vyhledaných v informačním systému školy a na základně informací od kolegů, které z jimi vedených či oponovaných prací mají toto téma. Zjištěné výsledky potvrzují, že inovace předmětu PWA měla zřejmě vliv na zvýšení zájmu o platformu.net s tím, že studenti přicházeli s vlastním tématem bakalářské práce. Lze využívat dostupných komponent. Dalšími zajímavými oblastmi jistě může být tvorba webových aplikací v.net, ale také tvorba mobilních aplikací. Tato témata jsou náplní předmětů nové akreditace platné od akademického roku 2013/2014. Literatura [1] VIRIUS, Miroslav. C#: hotová řešení. Vyd. 1. Brno: Computer Press, 2006, 341 s. ISBN 80-251-1084-2. [2] PETZOLD, Charles. Mistrovství ve Windows Presentation Foundation. Vyd. 1. Brno: Computer Press, 2008, 928 s. ISBN 978-80-251-2141-2. [3] FALDÍK, O., MALO, R., PODBORSKÝ, M. Výuka předmětu Webové aplikace na Mendelově univerzitě v Brně. In Informatika XXVI/2013: Sborník abstraktů z mezinárodní odborné pedagogicky zaměřené konference. MOTYČKA, Arnošt. 1. vydání. Brno: Mendelova univerzita v Brně. 2013. s. 1-2. ISBN 978-80-7375-834-9. [4] LESÁK, Jakub. Řízení modelu vlakového uzlu. Jihlava, 2014. Bakalářská práce. Vysoká škola polytechnická Jihlava. [5] NESHYBA, Petr. Směrování fotovoltaického panelu pomocí PLC. Jihlava, 2013. Bakalářská práce. Vysoká škola polytechnická Jihlava. [6] ŠEBESTA, Michal. Plánovač úkolů. Jihlava, 2014. Bakalářská práce. Vysoká škola polytechnická Jihlava.