+ All Categories
Home > Documents > InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se...

InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se...

Date post: 11-Feb-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
53
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Informační systém autodopravy 2010 Roman Slíva
Transcript
Page 1: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHOKATEDRA INFORMATIKY

BAKALÁŘSKÁ PRÁCE

Informační systém autodopravy

2010 Roman Slíva

Page 2: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Místopřísežně prohlašuji, že jsem celou práci včetně příloh vypracoval samostatně.

2. červenec 2010 Roman Slíva

i

Page 3: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Anotace

Cílem této bakalářské práce bylo vytvořit elektronickou verzi autodopravy. Tentoprojekt je řešený jako webová aplikace s možností evidence vytíženosti vozidel,tankování vozidel a jejich oprav.

ii

Page 4: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Děkuji Ing. Jiřímu Hronkovi za vedení mého bakalářského projektu a za cennérady při konzultacích.

iii

Page 5: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obsah

1. Úvod 1

2. Technologie webových aplikací 2

3. Uživatelská dokumentace 43.1. Instalace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.2. Spuštění . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.3. Přihlášení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.4. Po přihlášení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.4.1. Role administrátora webové aplikace . . . . . . . . . . . . 53.4.2. Role vedoucí autoprovozu . . . . . . . . . . . . . . . . . . 63.4.3. Role řidiče . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.5. Popis činnosti administrátora aplikace . . . . . . . . . . . . . . . 73.6. Popis činnosti vedoucího autodopravy . . . . . . . . . . . . . . . . 7

3.6.1. Evidence vozidel . . . . . . . . . . . . . . . . . . . . . . . 83.6.2. Přidat nové vozidlo . . . . . . . . . . . . . . . . . . . . . . 83.6.3. Upravit vozidlo . . . . . . . . . . . . . . . . . . . . . . . . 103.6.4. Přehled vozidel . . . . . . . . . . . . . . . . . . . . . . . . 113.6.5. Evidence řidičů . . . . . . . . . . . . . . . . . . . . . . . . 123.6.6. Přidat nového řidiče . . . . . . . . . . . . . . . . . . . . . 123.6.7. Upravit řidiče . . . . . . . . . . . . . . . . . . . . . . . . . 133.6.8. Karta řidiče . . . . . . . . . . . . . . . . . . . . . . . . . . 133.6.9. Evidence jízd . . . . . . . . . . . . . . . . . . . . . . . . . 143.6.10. Přidat novou jízdu . . . . . . . . . . . . . . . . . . . . . . 143.6.11. Upravit jízdu . . . . . . . . . . . . . . . . . . . . . . . . . 153.6.12. Evidence oprav . . . . . . . . . . . . . . . . . . . . . . . . 163.6.13. Přidat novou opravu . . . . . . . . . . . . . . . . . . . . . 163.6.14. Upravit opravu . . . . . . . . . . . . . . . . . . . . . . . . 163.6.15. Evidence tankování . . . . . . . . . . . . . . . . . . . . . . 183.6.16. Přidat nové tankování . . . . . . . . . . . . . . . . . . . . 183.6.17. Upravit tankování . . . . . . . . . . . . . . . . . . . . . . . 183.6.18. Statistika . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.7. Popis činnosti řidiče . . . . . . . . . . . . . . . . . . . . . . . . . 20

4. Programátorská dokumentace 214.1. Použité řešení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1.1. Visual Studio 2008 . . . . . . . . . . . . . . . . . . . . . . 214.1.2. II7 na Windows Server 2008 R2 . . . . . . . . . . . . . . . 234.1.3. C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.1.4. Platforma .NET . . . . . . . . . . . . . . . . . . . . . . . . 244.1.5. ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

i

Page 6: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.1.6. SQL Server 2008 . . . . . . . . . . . . . . . . . . . . . . . 254.2. Use Case - případy užití . . . . . . . . . . . . . . . . . . . . . . . 274.3. Databázový diagram . . . . . . . . . . . . . . . . . . . . . . . . . 284.4. Struktura databáze . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4.1. Popis jednotlivých tabulek . . . . . . . . . . . . . . . . . . 304.5. Popis metod a uživatelských prvků . . . . . . . . . . . . . . . . . 35

4.5.1. Altairis Simple ASP.NET SQL Providers . . . . . . . . . . 354.5.2. Metody použité v administrátorské sekci . . . . . . . . . . 354.5.3. Metody použité v hlavní části aplikace . . . . . . . . . . . 364.5.4. Ovládací prvky pro ověřování . . . . . . . . . . . . . . . . 374.5.5. Regulární výrazy a jejich použití ve validaci . . . . . . . . 39

5. Závěr 42

6. Conclusions 43

7. Dodatek 44

Reference 45

ii

Page 7: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Seznam obrázků

1. Úvodní přihlašovací dialog . . . . . . . . . . . . . . . . . . . . . . 52. Úvodní nabídka pro administrátora aplikace . . . . . . . . . . . . 63. Úvodní nabídka vedoucího autodopravy . . . . . . . . . . . . . . . 64. Administrátorská sekce . . . . . . . . . . . . . . . . . . . . . . . . 75. Evidence vozidel . . . . . . . . . . . . . . . . . . . . . . . . . . . 86. Přidat nové vozidlo . . . . . . . . . . . . . . . . . . . . . . . . . . 107. Zobrazení požadovaných údajů . . . . . . . . . . . . . . . . . . . 118. Upravit vozidlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119. Přehled vozidla . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210. Evidence řidičů . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211. Přidat nového řidiče . . . . . . . . . . . . . . . . . . . . . . . . . 1312. Upravit řidiče . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313. Karta řidiče . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1414. Evidence jízd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415. Přidat novou jízdu . . . . . . . . . . . . . . . . . . . . . . . . . . 1516. Upravit jízdu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1517. Evidence oprav . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618. Přidat novou opravu . . . . . . . . . . . . . . . . . . . . . . . . . 1619. Upravit opravu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1720. Evidence tankování . . . . . . . . . . . . . . . . . . . . . . . . . . 1821. Přidat nové tankování . . . . . . . . . . . . . . . . . . . . . . . . 1822. Upravit tankování . . . . . . . . . . . . . . . . . . . . . . . . . . . 1923. Statistika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1924. Model události ASP stránky . . . . . . . . . . . . . . . . . . . . . 2525. Případy užití . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2726. Databázový diagram . . . . . . . . . . . . . . . . . . . . . . . . . 2827. Struktura databáze . . . . . . . . . . . . . . . . . . . . . . . . . . 2928. Validační ovládací prvky . . . . . . . . . . . . . . . . . . . . . . . 3729. Validátory RequiredFieldValidator a RangeValidator . . . . . . . 3930. Validátory RequiredFieldValidator a RegularExpressionValidator . 41

iii

Page 8: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Seznam tabulek

1. VIN - jedinečné označení automobilu . . . . . . . . . . . . . . . . 92. Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303. UsersInRole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304. Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315. Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316. Typy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327. Tankovano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328. Opravy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339. Jizdy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3310. Ridici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3411. Validační prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3812. Metaznaky regulárních výrazů . . . . . . . . . . . . . . . . . . . . 4013. Kvantifikátory regulárních výrazů . . . . . . . . . . . . . . . . . . 40

iv

Page 9: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

1. Úvod

V současné době mají majitelé služebních vozidel zákonem danou povinnostzaznamenávat údaje o cestách, které auta vykonávají. Tento účetní doklad sloužífinančnímu úřadu ke kontrole, zda není vůz neoprávněně používán k soukromýmúčelům. Soukromě lze služební vůz použít, ale jen za předpokladu, že tomajitel svými stanovami umožňuje a zároveň musí být soukromé cesty řádnězaznamenány a celkové náklady na provoz vozidla sníženy o podíl soukromýchcest.Zákonem nařízená evidence má hned několik úskalí. Většina živnostníků a firemzáznamy uchovává v písemné podobě v takzvané knize jízd, což je tiskopis obsa-hující předtištěné listy formuláře, do nichž jsou údaje o cestě vypisovány. Ručněpsaná kniha jízd se ale může ztratit nebo poškodit, může obsahovat chybnéúdaje nebo některé záznamy mohou chybět úplně. Nastávají pak problémy sezpětnou rekonstrukcí dat nebo kontrolou správnosti údajů.Tato webová aplikace přináší mnoho výhod, z nichž nejvýznamnějším přínosemje kontrola správnosti dat (návaznosti kilometrů, tankování), dále jednoduchostzadávání pomocí předem vložených šablon a v neposlední řadě také snadnétřídění a prohlížení dat pomocí filtrů.Účelem programu je pomoci při shromažďování dat při evidenci najetýchkilometrů, vytíženosti vozidel, stavu PHM, evidenci oprav a pravidelných STKa zajistit jejich správnost, v opačném případě rychlou nápravu.

Specifikace zadání

Požadavky na práci:

• Evidence vozidel

• Evidence řidičů

• Evidence PHM

• Evidence oprav

• Evidence jízd dle použití vozidla

• Řešení jako webová aplikace s ohledem na většinu doposud používanýchprohlížečů

• Programátorská dokumentace

• Uživatelská dokumentace

1

Page 10: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

2. Technologie webových aplikací

Technologie ASP.NET je jednou z nejdynamičtěji se rozvíjejících technologiípro vývoj webových aplikací. Historickým předchůdcem technologie ASP.NETbyly stránky ASP. Od první verze ASP až po momentálně vyvíjenou verziASP.NET 4.0 došlo k obrovskému kvalitativnímu růstu této technologie.Kód stránek ASP (a jiných skriptovacích systémů, například PHP) představuje zhlediska teorie programování lineární programový modul, přičemž se skriptovacíkód mísí s kódem HTML. Proto je vývoj webových aplikací v těchto systémechnáročný a zdlouhavý a tedy i drahý. Jedním z východisek je právě technolgieASP.NET. Základem této technologie jsou dynamické stránky, jejichž kód se předprvním spuštěním kompiluje. Tím se odstraní nutnost analýzy a interpretacejednotlivých řádků při každém přístupu klienta. Kompilovaný kód je proto ohodně rychlejší. Klasické stránky ASP pomocí skriptů na straně serveru přímogenerují stránky HTML, které se pošlou klientovi. Stránky se interpretují odzačátku do konce bez možnosti ošetřovat vzniklé stavy a události.ASP.NET používají stejnou technologii oken, dialogů a formulářů jako běžnéaplikace Windows. K jednotlivým vizuálním prvkům se vážou procedury proošetření stavů a událostí. Technolgie ASP.NET je úzce navázaná na techno-logickou platformu Microsoft .NET Framework zapouzdřující sadu objektůpoužitelných na straně klienta a serveru.Velmi důležitou částí .NET frameworku jsou podporované jazyky. .NET fra-mework je jazykově nezávislý, pro libovolnou úlohu lze v principu použít jakýkolivz podporovaných jazyků. Ne všechny jazyky jsou ale vyvíjeny Microsoftem,řada jich je vyvíjena partnerskými firmami. Z jazyků vyvíjených Microsoftemnemají všechny stejnou vizuální podporu pro vývoj toho kterého typu aplikace.Po těchto vylučovacích kritériích nám zůstanou dva použitelné jazyky – C# aVisual Basic.NET.Z těchto dvou jazyků si může vybrat podle svých osobních preferencí, výsledekbude stejný, pokud jde o funkčnost i výkonnost. Visual Basic.NET připomínádobře známé skriptovací jazyky, je pro začátečníky lépe čitelnější, ovšem naúkor větší „ukecanostiÿ. C# je elegantní, moderní, sevřený, ale pro začátečníkapravděpodobně obtížněji čitelný.V typických aplikacích zpravidla je potřeba zobrazit data z relační databáze, aťuž je to katalog zboží, seznam oblíbených písniček anebo sportovní výsledky.Webové stránky ASP.NET mohou zobrazit data z libovolné databáze, ke kteréje k dispozici ODBC nebo OLEDB ovladač – což by se v podstatě dalo zkrátitna „z libovolné databázeÿ.Většinou se používá relační databáze SQL Server 2005 nebo nejnovější SQLServer 2008. Edice těchto serverů ve verzi Express Edition je zdarma a nabízíplnohodnotou paletu funkcí. Jenom namátkou – referenční integrita mezitabulkami, uložené procedury, triggery, uživatelsky definované funkce, přirozenápodpora XML typu, možnost rozšiřování funkcí v .NET jazycích díky integraci

2

Page 11: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

.NET frameworku do databázového stroje atd. Tato edice má sice i některáomezení. Dokáže využít pouze 1 GB paměti RAM, což je pro naše potřebypoměrně astronomická hodnota. Maximální velikost datového souboru je 4GB, což pro většinu menších webových aplikací opět s rezervou stačí. Početsoučasných databázových připojení není (na rozdíl od předchůdce MSDE 2000)nijak omezen. Pokud by byla v budoucnu potřeba přejít na některou z vyššíchverzí SQL Serveru 2005, např. protože výše uvedená omezení nestačí je možnosttak učinit velmi snadno. Všechny edice databáze totiž mají stejný formátsouboru, které tak můžeme během okamžiku odpojit od edice Express a připojitk vyšší edici.K provozování webových aplikací v ASP.NET je potřeba samozřejmě nějakýwebový server. Tento problém se nemusí řešit při vývoji, neboť vývojovéprostředí, které se používá obsahuje vestavěný webový server tzv. ASP.NETDevelopment Server. Pro vývoj je naprosto dostatečný, ale má určitá omezení,která znemožňují jeho použití pro provoz hotového webu. Podporuje totiž pouzelokální připojení (tj. prohlížeč a webový server musí být na stejném počítači),není automaticky spouštěn při startu apod.Pro provozování hotového webu jej musíme umístit na počítač s InternetInformation Serverem (IIS). Podporované verze jsou IIS 5.0 a vyšší. IIS nabízívše, co je pro provozování webu potřebné, a to ve scénáři pro intranet i proInternet.Pokud chceme provozovat web v internetovém scénáři a nemáme vlastní server,který by byl trvale připojený k Internetu a vhodný pro hostování našeho webu,můžeme využít služby hosterů. Řada z nich ASP.NET 2.0 a SQL Server 2005Express podporuje za měsíční přijatelný peníz. Mnozí z nich dávají k dispoziciomezené hostování aplikace zdarma.

3

Page 12: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

3. Uživatelská dokumentace

V této kapitole popíšeme způsob práce s webovou aplikací Autodoprava.Popíšeme způsob vkládání řidičů, vozidel, PHM, oprav a jejich úprav.Na konci kapitoly jsou uvedeny konkrétní příklady, jak s aplikací pracovat.

3.1. Instalace

Aplikaci je možno provozovat na libovolném webovém serveru, který podpo-ruje technologii ASP.NET 2.0 a vyšší. Adresář, ve kterém je aplikace umístěna,musí být nastavený jako aplikační. Jelikož se v projektu pracuje s databází, kteráje založena na technologii Microsoftu, musí na tomto webovém serveru být ak-tivní Microsoft SQL Server 2005 nebo vyšší nebo musí být zajištěno propojenína funkční a aktivní SQL Server běžící na jiném serveru.

3.2. Spuštění

Spuštění aplikace se provádí pomocí zadání URL (Uniform Resource Locator)v internetovém prohlížeči (např. Internet Explorer, FireFox, atd.). URL by mělobýt ve tvaru: http://isaut.netstudent.eu

3.3. Přihlášení

Po zadání adresy do prohlížeče se načte úvodní stránka s odkazem pro přihlá-šení. Po kliknutí na odkaz je zobrazen přihlašovací dialog.

Po vložení uživatelského jména a hesla se uživatel autorizuje. Pokud uživatel-ské jméno nebo heslo není správně zadáno, systém vyzve uživatele k opětovnémuzadání.

3.4. Po přihlášení

Poté co se uživatel úspěšně přihlásí do systému, je mu podle přidělené rolezobrazena jedna z možných stránek.

4

Page 13: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 1. Úvodní přihlašovací dialog

3.4.1. Role administrátora webové aplikace

Pokud se do aplikace přihlásí administrátor. Je mu zobrazena úvodní stránkadle obrázku 2 s odkazem do administrátorské sekce. Nad touto nabídkou je in-formace pod jakým uživatelským účtem se přihlásil s možností změny hesla aodhlášení.

5

Page 14: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 2. Úvodní nabídka pro administrátora aplikace

3.4.2. Role vedoucí autoprovozu

Pokud se do aplikace přihlásí vedoucí autodopravy. Je mu zobrazena dle ob-rázku 3 úvodní stránka webové aplikace. Vedoucí autoprovozu si může v nabídce„vybratÿ svoji činnost. Role vedoucího autoprovozu je v systému nejdůležitější.Má na starost veškerou evidenci autoprovozu, jejich správnost a aktualizaci údajův ní.

Obrázek 3. Úvodní nabídka vedoucího autodopravy

6

Page 15: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

3.4.3. Role řidiče

Pokud se do aplikace přihlásí řidič. Je mu zobrazena úvodní stránka webovéaplikace. Řidič si může v nabídce „vybratÿ pouze jednu činnost a to záznam otankování vozidla.

3.5. Popis činnosti administrátora aplikace

Po vstupu administrátora aplikace do administrátorské sekce. V této sekci dleobrázku 4 je tabulka s názvem Správa uživatelů, kde je přehled všech uživatel-ských účtů, které mají nastaven přístup do této aplikace s možností změny rolenebo dokonce zvolený účet odstranit. V případě této volby je ošetřen tento úkoninformativní hláškou s možností odvolání.Druhá tabulka umožňuje přidat uživatele (účet) a po úspěšném přidání a po-tvrzení tlačítkem POKRAČOVAT mu lze v tabulce Správa uživatelů přidatpříslušnou roli.

Obrázek 4. Administrátorská sekce

3.6. Popis činnosti vedoucího autodopravy

Po úspěšném přihlášení je vedoucímu dopravy zobrazena hlavní část aplikaces pestrým výběrem činností.

• Evidence vozidel

• Evidence řidičů

• Evidence jízd

7

Page 16: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

• Evidence oprav

• Evidence tankování

3.6.1. Evidence vozidel

V této sekci dle obrázku 5 je seznam všech vozidel s jejich údaji. Zde lze novávozidla přidávat a stávající vozidla vyhledávat dle RZ(registrační značky) nebovozidlům měnit údaje. Pokud vozidlo již není uvedeno v jiných evidencích lzetoto vozidlo i smazat.

Obrázek 5. Evidence vozidel

3.6.2. Přidat nové vozidlo

Zde lze novému vozidlu vyplnit údaje a odeslat tlačítkem Vložit nové vo-zidlo do databáze. Při tomto úkonu je ověřena správnost zadávaných údajů a vpřípadě chybného zadání nebo nevyplnění požadovaných údajů je zobrazena infor-mativní hláška s textem o povinnosti zadat uvedené údaje a současně je u těchtoinkriminovaných polí zobrazena „červená hvězdičkaÿ na obrázku 8. Po uspěšnémvložení údajů o novém vozidle je možné vložit další vozidlo nebo tlačítkem Ná-vrat do evidence se vrátit zpět do evidence vozidel a případně zkontrolovatnově přidaný záznam.Tak jsou ošetřeny všechny formuláře pro zadávání a úpravu údajů v celé webovéaplikaci.U vozidel se mimo jiné vkládá údaj o výrobním čísle (VIN)Zkratka VIN (Vehicle Identification Number) je mezinárodní označování pro se-dmnáctimístné číslo karosérie. Je jedinečným celosvětovým identifikátorem vozi-dla. Pro bezpečné označení vozidla hraje důležitou roli rovněž značka CZ jako

8

Page 17: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

oficiální označení České republiky. Pokud totiž odcizené vozidlo někdo převeze dozahraničí, samotný anonymní VIN nemusí být úplně využitelný neboť databázeodzizených vozidel nejsou ani v rámci Evropy úplně propojeny. Stejný principznačení proto používají i ostatní země a před číselný kód dávají značku svéhostátu. Údaje o vozidle i majiteli jsou uloženy v centrální policejní databázi OCIS,do které má možnost přístupu i Interpol. Navíc značku CZ vyžadují spolu s VINpojišťovny na slevy na pojistném.

Tabulka VIN: Tato tabulka pomůže trochu objasnit, co se skrývá ve směsicipísmen a číslic. V tomto konkrétním případě jde o vozidla Daewoo viz Tabulka 1

Číslo znaku Označení Možnosti1 Kontinent K - Asie, S - Evropa

2 Země L - Korea, U - Polsko

3 Výrobce A - Daewoo Motor

4 Model T - Lanos, Nexia, J -Nubira, Espero

5 Poháněná kola a převodovka F - přední náhon,mechanická převodovka,A - přední náhon,automatická převodovka

6,7 Typ karosérie 08 - 3 dvéřovýhatchback, 19 - 4dvéřový sedan, 48 -5 dvéřový hatchback

8 Typ motoru B - 0.8, C - 1.3 SOHC,Y - 1.5 SOHC, 6 - 1.6DOHC

9 Určení automobilu 1 - obecné, C -speciální

10 Model roku T - 1996, V - 1997,W - 1998, X - 1999, Y- 2000, 1 - 2001, 2 -2002

11 Místo výroby B - Pupyong, Korea,C - Changwon, Korea,Kunsan, Korea, Nysa -Polsko

12-17 Číslo karosérie 000000-999999

Tabulka 1. VIN - jedinečné označení automobilu

9

Page 18: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 6. Přidat nové vozidlo

3.6.3. Upravit vozidlo

Po stisknutí tlačítka Upravit z Evidence vozidel je v tomto formuláři mož-nost upravit vybraný záznam a pak po úpravě zvolit tlačítko Aktualizovat vo-zidlo, které po ověření vloží údaje do databáze. V případě chybného zadánínebo nevyplnění požadovaných údajů je zobrazena informativní hláška s textemo povinnosti zadat uvedené údaje a současně je u těchto inkriminovaných polízobrazena „červená hvězdičkaÿ viz. obrázek 7. Po uspěšném vložení údajů o no-vém vozidle je možné vložit další vozidlo nebo tlačítkem Návrat do evidencese vrátit zpět do evidence vozidel a případně zkontrolovat nově přidaný záznam.

10

Page 19: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 7. Zobrazení požadovaných údajů

Obrázek 8. Upravit vozidlo

3.6.4. Přehled vozidel

Po stisknutí tlačítka Přehled z Evidence vozidel je v tomto formuláři mož-nost prohlédnout vybraný záznam o vozidle. Po prohlédnutí údajů o vozidle jemožné tlačítkem Návrat do evidence se vrátit zpět do evidence vozidel.

11

Page 20: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 9. Přehled vozidla

3.6.5. Evidence řidičů

V této sekci dle obrázku 10 je seznam všech řidičů s jejich údaji. Zde lze novéřidiče přidávat a stávajícím řidičům měnit údaje.

Obrázek 10. Evidence řidičů

3.6.6. Přidat nového řidiče

Zde lze novému řidiči vyplnit údaje a odeslat tlačítkem Vložit nového ři-diče do databáze. Při tomto úkonu je ověřena správnost zadávaných údajů av případě chybného zadání nebo nevyplnění požadovaných údajů je zobrazenainformativní hláška s textem o povinnosti zadat uvedené údaje a současně je utěchto inkriminovaných polí zobrazena „červená hvězdičkaÿ. Po uspěšném vloženíúdajů o novém řidiči je možné vložit dalšího řidiče nebo tlačítkem Návrat do

12

Page 21: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

evidence se vrátit zpět do evidence řidičů a případně zkontrolovat nově přidanýzáznam.

Obrázek 11. Přidat nového řidiče

3.6.7. Upravit řidiče

Po stisknutí tlačítka Upravit z Evidence řidičů je v tomto formuláři mož-nost upravit vybraný záznam a pak po úpravě zvolit tlačítko Aktualizovat ři-diče, které po ověření vloží údaje do databáze. V případě chybného zadání nebonevyplnění požadovaných údajů je zobrazena informativní hláška s textem o po-vinnosti zadat uvedené údaje a současně je u těchto inkriminovaných polí zob-razena „červená hvězdičkaÿ. Po uspěšném vložení údajů o řidiči je možné vložitdalšího řidiče nebo tlačítkem Návrat do evidence se vrátit zpět do evidencevozidel a případně zkontrolovat nově přidaný záznam.

Obrázek 12. Upravit řidiče

3.6.8. Karta řidiče

Po stisknutí tlačítka Karta řidiče z Evidence řidičů je v tomto formulářimožnost prohlédnout vybraný záznam o řidiči. Po prohlédnutí údajů o řidiči jemožné tlačítkem Návrat do evidence se vrátit zpět do evidence řidičů.

13

Page 22: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 13. Karta řidiče

3.6.9. Evidence jízd

V této sekci dle obrázku 14 je seznam všech vykonaných jízd s jejich údaji.Zde lze nové jízdy přidávat a zapsaným jízdám měnit údaje.

Obrázek 14. Evidence jízd

3.6.10. Přidat novou jízdu

Zde lze nové jízdě vyplnit údaje a odeslat tlačítkem Vložit novou jízdu dodatabáze. Při tomto úkonu je ověřena správnost zadávaných údajů a v případě

14

Page 23: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

chybného zadání nebo nevyplnění požadovaných údajů je zobrazena informativníhláška s textem o povinnosti zadat uvedené údaje a současně je u těchto inkrimi-novaných polí zobrazena „červená hvězdičkaÿ. Po uspěšném vložení údajů o novéjízdě je možné vložit další jízdu nebo tlačítkem Návrat do evidence se vrátitzpět do evidence jízd a případně zkontrolovat nově přidaný záznam.

Obrázek 15. Přidat novou jízdu

3.6.11. Upravit jízdu

Po stisknutí tlačítka Upravit z Evidence jízd je v tomto formuláři možnostupravit vybraný záznam a pak po úpravě zvolit tlačítko Aktualizovat jízdu,které po ověření vloží údaje do databáze. V případě chybného zadání nebo nevypl-nění požadovaných údajů je zobrazena informativní hláška s textem o povinnostizadat uvedené údaje a současně je u těchto inkriminovaných polí zobrazena „čer-vená hvězdičkaÿ. Po uspěšném vložení údajů o jízdě je možné vložit další jízdunebo tlačítkem Návrat do evidence se vrátit zpět do evidence jízd a případnězkontrolovat nově přidaný záznam.

Obrázek 16. Upravit jízdu

15

Page 24: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

3.6.12. Evidence oprav

V této sekci dle obrázku 17 je seznam všech vykonaných oprav s jejich údaji.Zde lze nové opravy přidávat a zapsaným opravám měnit údaje.

Obrázek 17. Evidence oprav

3.6.13. Přidat novou opravu

Zde lze nové jízdě vyplnit údaje a odeslat tlačítkem Vložit novou opravudo databáze. Při tomto úkonu je ověřena správnost zadávaných údajů a v případěchybného zadání nebo nevyplnění požadovaných údajů je zobrazena informativníhláška s textem o povinnosti zadat uvedené údaje a současně je u těchto inkri-minovaných polí zobrazena „červená hvězdičkaÿ. Po uspěšném vložení údajů onové opravě je možné vložit další opravu nebo tlačítkem Návrat do evidencese vrátit zpět do evidence oprav a případně zkontrolovat nově přidaný záznam.

Obrázek 18. Přidat novou opravu

3.6.14. Upravit opravu

Po stisknutí tlačítka Upravit z Evidence opravu je v tomto formuláři mož-nost upravit vybraný záznam a pak po úpravě zvolit tlačítko Aktualizovat

16

Page 25: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

opravu, které po ověření vloží údaje do databáze. V případě chybného zadánínebo nevyplnění požadovaných údajů je zobrazena informativní hláška s textemo povinnosti zadat uvedené údaje a současně je u těchto inkriminovaných polízobrazena „červená hvězdičkaÿ. Po uspěšném vložení údajů o jízdě je možné vlo-žit další opravu nebo tlačítkem Návrat do evidence se vrátit zpět do evidenceoprav a případně zkontrolovat nově přidaný záznam.

Obrázek 19. Upravit opravu

17

Page 26: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

3.6.15. Evidence tankování

V této sekci dle obrázku 20 je seznam všech vykonaných tankování s jejichúdaji. Zde lze nové tankování přidávat a zapsaným tankováním měnit údaje.

Obrázek 20. Evidence tankování

3.6.16. Přidat nové tankování

Zde lze novému tankování vyplnit údaje a odeslat tlačítkem Vložit novétankování do databáze. Při tomto úkonu je ověřena správnost zadávaných údajůa v případě chybného zadání nebo nevyplnění požadovaných údajů je zobrazenainformativní hláška s textem o povinnosti zadat uvedené údaje a současně je utěchto inkriminovaných polí zobrazena „červená hvězdičkaÿ. Po uspěšném vloženíúdajů o novém tankování je možné vložit další tankování nebo tlačítkem Návratdo evidence se vrátit zpět do evidence tankování a případně zkontrolovat nověpřidaný záznam.

Obrázek 21. Přidat nové tankování

3.6.17. Upravit tankování

Po stisknutí tlačítka Upravit z Evidence tankování je v tomto formulářimožnost upravit vybraný záznam a pak po úpravě zvolit tlačítko Aktualizovat

18

Page 27: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

tankování, které po ověření vloží údaje do databáze. V případě chybného zadánínebo nevyplnění požadovaných údajů je zobrazena informativní hláška s textemo povinnosti zadat uvedené údaje a současně je u těchto inkriminovaných polízobrazena „červená hvězdičkaÿ. Po uspěšném vložení údajů o tankování je možnévložit další tankování nebo tlačítkem Návrat do evidence se vrátit zpět doevidence tankování a případně zkontrolovat nově přidaný záznam.

Obrázek 22. Upravit tankování

3.6.18. Statistika

V této sekci je možné prohlížet statistiku jednotlivých vozidel. Po výběru SPZvozidla se aktualizují údaje o vybraném vozidle.

Obrázek 23. Statistika

19

Page 28: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

3.7. Popis činnosti řidiče

Po úspěšném přihlášení je řidiči zobrazena pouze část aplikace a to přidánínového tankování bez možnosti úpravy takto vytvořeného záznamu.Pro přidání nového záznamu tankování platí stejné ověřování vkládaných údajů,jako u vedoucího dopravy.

20

Page 29: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4. Programátorská dokumentace

4.1. Použité řešení

Aplikace je vytvořena v prostředí Microsoft Visual Studia 2008, za použití.NET frameworku 3.5. Jako programovací nástroj je použit jazyk C# a technolo-gie ASP.NET. Pro ukládání dat je použit Microsoft SQL Express 2008. Aplikaceje uložena na webu s IIS 7, která je součástí operačního systému Windows Server2008.

4.1.1. Visual Studio 2008

Pro napsání nějaké jednoduché webové stránky nepotřebujeme složité vývo-jové prostředí. Mnohdy nám stačí obyčejný textový editor, jednotlivá dokonalejšíprostředí nám pouze usnadňují práci a poskytují komfort pro psaní kódu. Ano,tak tomu bylo v minulosti, kdy na napsání zdrojového kódu dokázal zkušenýtvůrce webu využít třeba jen notepad. To samozřejmě za určitých předpokladůlze stále, ale nevyužít pro tvorbu současných web aplikací vývojový nástroj bybyla cesta velice obtížná a rozhodně zdlouhavá.Můžeme samozřejmě také využít jiné prostředí, Microsoft pro tvorbu webaplikací nabízí také Visual Web Developer 2008, který nabízí obdobný komfort,je ale redukován o některé funkcionality Visual Studia. Visual Studio prošlo takésvými vývojovými verzemi. Visual studio 2008 je robustní nástroj pro tvorbukonzolových ale také webových aplikací. Umožňuje nám vytvořené stránkynavrhovat v design režimu, ladit zdrojový kód, podporuje užitečné nástrojejako IntelliSense, vestavěný web server a mnoho dalšího. Proto jsou ASP.NETstránky vytvářeny v tomto vývojovém prostředí.

1. WYSIVYG model

Součástí studia je tzv. design mód neboli záložka pro tvorbu návrhu. Zdemůžete jednotlivé součásti stránky navrhnout bez nutnosti psaní zdro-jového kódu, ten se vygeneruje automaticky. Definice wysiwyg nástrojůje vlastnost, která zaručuje, že výsledek se skutečně zobrazí tak, jakvypadá v době návrhu.

2. Používání šablon

Výběrem šablony zahájíme práci na vašem webovém projektu. V pod-statě jde o to, jaký typ aplikace chceme vyvíjet přednostně, ať už ASPstránku či webovou službu. Po zvolení šablony se implicitně vygenerujepříslušná kategorie. Oba typy aplikací se však kompilují a vykonají ob-dobně a tak můžete během vývoje přidávat do projektu další stránky či

21

Page 30: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

služby. Můžeme také využít nějakou vyhotovenou šablonu z dřívějškači vyhledat šablonu z online zdrojů. Oblíbenými šablonami jsou takérůzné starter kity, ve kterých jsou připraveny šablony šité na míru urči-tému řešení jako např. webový portál, osobní stránky, diskusní fórum,blog a další.

3. IntelliSense

IntelliSense je výborná pomůcka pro zjednodušení psaní, která mimo jinétaké ve svém důsledku minimalizuje počet syntaktických chyb, kteréuživatel může vytvořit. IntelliSense je nástroj, který na základě námipsaného zdrojového textu nabízí možné použití výběru dalších zdro-jových slov. Můžete tedy například vybrat ze seznamu dlouhý názevovládacího prvku, který byste jinak psali ručně. IntelliSense také nabízívšechny dostupné metody a vlastnosti při použití konkrétního objektu,třídy či proměnné. Tím je zajištěna zmíněná redukce chyb, neboť připoužití IntelliSense se vývojáři nemůže stát, že vybere metodu či vlast-nost, která pro daný objekt není definována.

4. Vestavěný web server

Předchozí verzi studia jste mohli využívat pro tvorbu ASP.NET stránekve spolupráci s Internetovou informační službou (IIS). Mnoho admi-nistrátorů mi dá za pravdu, že docházelo často k problémům s pořadíminstalace jednotlivých produktů, neboť IIS nebyla standardně instalo-vaná s operačním systémem a když jste ji chtěli doinstalovat až po in-stalaci Visual Studia, nastávaly problémy. Nyní tyto i další náležitostijako provoz virtuálního adresáře Inetpub a další již odpadají. VisualStudio 2008 obsahuje integrovaný web server a na něm je stránka svygenerovaným číslem portu spuštěna.

5. Možnosti ladění

Visual Studio 2008 je mocný nástroj, v němž se vytvářejí webové ale takédesktopové aplikace. K základním vlastnostem vývojového prostředípatří možnosti ladění projektů. To se týká samozřejmě i webovýchaplikací. Pokud chceme aplikaci ladit, zvolíme z nástrojové lišty tla-čítko Start Debugging. Obdobně jako u desktopových aplikací vyu-žíváme zarážky – tzv. breakpointy. Pokud máme umístěnou zarážkukdekoliv v programu a spustíme ladění, program se zastaví na danémřádku kódu. V menu Debug máme mimo jiné nabídku možností StepInto, Step Over, Step Out a Continue. Tyto volby mají také přiřa-zeny horké klávesy a nástrojové ikonky. Step Into označuje krokovánídovnitř a znamená fakt, že pokud na daném řádku bude volání ně-jaké funkce či metody, bude krokování pokračovat právě uvnitř této

22

Page 31: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

funkce. Pokud zvolíme Step Over – krokovat přes, toto volání funkceprovedeme celé, neboť je reprezentováno právě jedním řádkem kódu.Odkrokovat ven z volané procedury můžeme příkazem Step Out. Po-kud nepotřebujeme program krokovat, zvolíme Continue – pokračovata program poběží dále, dokud nenarazí na další breakpoint.

4.1.2. II7 na Windows Server 2008 R2

Windows Server 2008 R2 zahrnuje množství vylepšení, díky nimž toto vydánípředstavuje vůbec nejrobustnější webovou aplikační platformu Windows Server.Nabízí aktualizovanou roli webového serveru, službu Internet Information Servi-ces (IIS) 7.5 a širší podporu technologií .NET v serverovém jádru. Cíle při ná-vrhu služby IIS 7.5 se soustředily na vylepšení, která umožní správcům webovýchserverů snáze nasazovat a spravovat webové aplikace, jež zvyšují výkon i škálo-vatelnost. Kromě toho služba IIS 7.5 obsahuje zjednodušené funkce pro správu anabízí více způsobů přizpůsobení prostředí webového serveru našim potřebám.Zjednodušení úsilí potřebného pro správu a podporu webových aplikací je proslužbu IIS 7.5 jedním z klíčových odlišujících prvků. Součástí této verze je pod-pora vyšší úrovně automatizace, nové scénáře vzdálené správy a vylepšené pub-likování obsahu pro vývojáře a autory. Mezi tyto funkce patří:

- Rozšíření možností Správce služby IIS prostřednictvím nových modulů prosprávu

- Automatizace běžných úloh správy prostřednictvím modulu WindowsPowerShell Provider for IIS

- Podpora .NET již v základní instalaci Server Core, umožňující správuASP.NET a vzdálenou správu prostřednictvím Správce služby IIS

S využitím možností izolace fondu aplikací ve službě IIS 7.0, která zvýšila zabez-pečení a spolehlivost, nyní každý fond aplikací v IIS 7.5 běží pod samostatnouidentitou s nižšími oprávněními. Tato skutečnost zvyšuje zabezpečení aplikací aslužeb provozovaných v IIS 7.5.

4.1.3. C#

Programovací jazyk C# je čistě objektový programovací jazyk určený vý-hradně k programování pro platformu .NET. Pokud jde o syntaxi, je odvozenaod jazyka C++, jeho tvůrci se ale výrazně inspirovali zkušenostmi s jazykemJava.Jazyk C# byl navržen a implementován firmou Microsoft pro platformu .NET.Ze všech vyšších programovacích jazyků, v nichž lze vyvíjet programy pro tutoplatformu, poskytuje největší možnosti, neboť byl vyvíjen společně s ní a je jítedy nejlépe přizpůsoben.

23

Page 32: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.1.4. Platforma .NET

Platforma .NET je soubor technologií, které vyvinula firma Microsoft. Tatoplatforma se využívá jak k vývoji, tak k následnému spouštění aplikací v pro-středí Windows. Platforma obsahuje sadu knihoven, které jsou potřebné pro běhaplikace, základní komponentou je .NET Framework.V této platformě můžeme programovat v různých jazycích (např. C#, VB.NET,J# atd.). Bez ohledu na to v jakém jazyce byla aplikace napsána se vždy překládádo mezijazyka Common Intermediate Language (CIL).

4.1.5. ASP.NET

Název ASP.NET pochází z názvu aktivních serverových stránek ASP (ActiveServer Pages), které vznikly v 90. letech. ASP.NET není jednoduše novágenerace ASP, ale kompletně přepsaná a přeorganizovaná technologie pro tvorbuwebových aplikací.Protože je technologie ASP.NET odvozena v přímé odezvě na problémy, kteréměli vývojáři s klasickými ASP, některé její části vypadají na první pohledvelice podobně. Koncepce webových formulářů (WebForms), webových služebnebo serverových ovládacích prvků (Server Controls) dávají ASP.NET síluvytvořit reálnou aplikaci, která běží na tenkém klientovi, mnohem výkonnější av mnohem kratším čase.Jakmile je otevřen vykonatelný soubor např. *.aspx, překladač jazyka .NETvygeneruje řízený (někdy také nazvaný jako spravovaný – managed) kód, kterýse skládá z instrukcí zapsaných v kódu MSIL. Tento kód je někdy také ozna-čován jako společný zprostředkovací jazyk CIL (Common Language Interface).Instrukce MSIL se na požádání zkompilují metodou JIT (Just In Time) donativního strojového kódu za běhu. Kompilace JIT funguje tak, že kód, kterýse nikdy nezavolá, se ani nezkompiluje. Ve většině případů se určitá metodazkompiluje technikou JIT jen jednou — při svém prvním volání — a následněse uloží do paměti, aby ji příště bylo možné vykonat bez zpoždění. KompilaceJIT výrazně snižuje výkonnost při prvním spuštění, ale její negativní efektyjsou minimalizovány tím, že daná metoda se kompiluje jen jednou během celéhoživota aplikace.ASP.NET stránky se neinterpretují jako skriptovací jazyky, nýbrž se kompilují.Kompilace probíhá ve dvou fázích. Nejprve se kód napsaný v libovolnémprogramovacím jazyce zkompiluje do jazyka MSIL. Druhá fáze kompilace těsněpřed spuštěním stránky JIT kompiluje kód do nízkoúrovňového strojového jazyka.

Princip zpracování událostí ASP.NET

Po zaslání prvního požadavku klienta, jenž je pouhé zapsání URL adresydo webového prohlížeče, musí server vytvořit objekty stránky, vykonat iniciali-

24

Page 33: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

zační kód a přetvořit webové prvky do HTML podoby, které poskytne klientovi.Poté, co se na straně klienta spustí událost, která zajistí odeslání stránkyzpět na server (postback), server znovu vytváří objekty stránky a kontrolujetzv. stav zobrazení stránky. V další fázi musí zjistit, která operace vyvolalapostback a tuto událost obslouží. V této chvíli se obvykle zpracovává na serverunějaká zásadní akce, pro kterou byla stránka poslána zpět serveru. Následujeaktualizace objektů stránky a stavu zobrazení. Poté se opět generuje HTML kódz příslušných ASP objektů, stránka je poskytnuta klientovi a objekty stránkyjsou uvolněny z paměti. Pokud dojde k další události postback, celý proces seznovu zopakuje. Uvedený model zpracování ilustruje obrázek 24.

Obrázek 24. Model události ASP stránky

4.1.6. SQL Server 2008

SQL Server 2008 je jedním z nejvyspělejších dostupných relačních databázo-

25

Page 34: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

vých systémů (RDBMS). Skvělým rysem SQL Serveru 2008 je integrace běhovéhoprostředí .NET CRL do databázového stroje SQL Serveru 2008, což umožňujeimplementovat databázové projekty pomocí spravovaného kódu napsaného v ně-kterém jazyce platformy .NET, jako je třeba Visual C# .NET nebo Visual Basic.NET. Kromě toho je SQL Server 2008 vybaven řadou služeb, mezi něž patřínapříklad služby pro analýzu, transformaci dat, tvorbu sestav, notifikační službya Service Broker.SQL Server 2008 je produkt vyvinutý v souladu s vizí společnosti Microsoft prodatovou platformu, protože organizacím umožňuje kdykoli spravovat libovolnádata z jakéhokoli místa. Dovoluje ukládat data ze strukturovaných, částečněstrukturovaných a nestrukturovaných dokumentů, jako jsou obrázky a multime-diální soubory, přímo v rámci databáze. SQL Server 2008 nabízí širokou škáluintegrovaných služeb, které vám umožní provádět další operace s daty, jako na-příklad dotazy, vyhledávání, synchronizaci, generování sestav a vytváření analýz.SQL Server 2008 poskytuje nepostradatelným podnikovým aplikacím maximálníúroveň zabezpečení, spolehlivosti a škálovatelnosti. Chtějí-li firmy v dnešním dy-namickém světě podnikání reagovat na nové příležitosti, musí být schopny rychlenasazovat řešení pro interakci s daty. SQL Server 2008 omezuje čas a nákladypotřebné pro vývoj a správu aplikací.Získáte přístup k datům napříč celým podnikem a kontrolu nad nimi, ať už jsouuložena kdekoli - od největších serverů v datovém centru přes stolní počítačeaž po mobilní zařízení. SQL Server 2008 je komplexní platforma, která poskytujeinteligentní přístup k informacím všude, kde je uživatelé potřebují. Uživatelé pra-cující s informacemi tak mají přímý přístup k datům prostřednictvím nástrojů,které každodenně používají.SQL Server 2008 představuje škálovatelnou platformu pro business intelligenceoptimalizovanou pro integraci, generování sestav a analýzu dat, díky které mo-hou organizace poskytovat uživatelům analytické informace bez ohledu na jejichumístění.SQL Server 2008 snižuje prostřednictvím flexibilního řešení konsolidace serverůnabízejícího spravovatelnost a výkon na podnikové úrovni náklady na hardwarea údržbu.SQL Server 2008 představuje ucelenou a škálovatelnou platformu pro datovésklady, která organizacím umožňuje rychleji integrovat data do datových skladů,škálovat a spravovat rostoucí objemy dat a počty uživatelů a zároveň všem uži-vatelům poskytovat nezbytný přístup k datům.SQL Server 2008 představuje škálovatelný, vysoce výkonný databázový stroj pronepostradatelné aplikace, které požadují nejvyšší úrovně dostupnosti a zabezpe-čení při nízkých celkových nákladech na vlastnictví dosažených prostřednictvímspravovatelnosti na podnikové úrovni.SQL Server 2008 tvoří základ ucelené platformy pro datovou programovatelnostumožňující přistupovat k nepostradatelným obchodním datům a manipulovat snimi z nejrůznějších zařízení, platforem a datových služeb.

26

Page 35: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.2. Use Case - případy užití

V následující části je vypsány hlavní případy užití v aplikaci.

Obrázek 25. Případy užití

27

Page 36: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.3. Databázový diagram

Zde je názorně zobrazen diagram o všech tabulkách v databázi a jejich vzá-jemných vztazích.

Obrázek 26. Databázový diagram

28

Page 37: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.4. Struktura databáze

Zde je názorně zobrazen diagram o všech třídách v databázi a jejich vzájem-ných vztazích. Celá struktura je implementována na databázovém serveru SQLServer 2008.

Obrázek 27. Struktura databáze

29

Page 38: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.4.1. Popis jednotlivých tabulek

V této části naleznete popis jednotlivých databázových tabulek.

Tabulka Users: V této tabulce jsou uložena základní data o uživatelích apli-kace.Popis tabulky:

Atribut TypUserId int,PK

UserName char

PasswordHash char

PasswordSalt char

Email varchar

Comment text

Enabled bit

DateCreated datetime

DateLastLogin datetime

DateLastActivity datetime

DateLastPasswordChange datetime

Tabulka 2. Users

Tabulka UsersInRole: Tato tabulka spojuje uživatele a role do které jsoupřiřazeni.

Popis tabulky:

Atribut TypHashId int,PK

Username varchar,FK

RoleName varchar,FK

Tabulka 3. UsersInRole

30

Page 39: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Roles: Tato tabulka obsahuje role, které se budou v aplikaci vysky-tovat a to administrátor, vedoucí autodopravy a řidič.

Popis tabulky:

Atribut TypRoleName varchar,PK

Tabulka 4. Roles

Tabulka Auto: V této tabulce jsou uložena data o vozidlech.Popis tabulky:

Atribut TypIdAuto int,PK

Nazev nvarchar

SPZ nchar

Poznamka nvarchar

Spotreba decimal

Nadrz int

RokVyroby datetime

Palivo nchar

Technicka datetime

Hmotnost int

MaxRychlost int

CisloMotoru nvarchar

CisloKaroserie nvarchar

ImageId uniqueidentifier

Tabulka 5. Auto

31

Page 40: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Typy: V této tabulce jsou uložena data o různých druzích jízd. Na-příklad služební, pracovní, soukromá atd.Popis tabulky:

Atribut TypIdTyp int,PK

Ucel nvarchar

Tabulka 6. Typy

Tabulka Tankovano: V této tabulce jsou uložena data o tankování vozidel,které provádějí převážně řidiči a pouze do této tabulky mají přístup a mohouzadávat údaje o tankování.Popis tabulky:

Atribut TypIdTank int,PK

Auto int,FK

Datum datetime

Misto datetime

Mnozstvi decimal

CenaLitr decimal

DruhPHM nchar

DruhPorizeni nchar

Provedl int,FK

Poznamka nvarchar

Tabulka 7. Tankovano

32

Page 41: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Opravy: V této tabulce jsou uložena data o opravování vozidel, kteréprovádějí převážně řidiči a pokud je to vážnější oprava, tak se pořizuje záznam oopravě v servisu.Popis tabulky:

Atribut TypIdOprav int,PK

Auto int,FK

Provedl int,FK

Ucel nvarchar

Datum datetime

Cena decimal

Poznamka nvarchar

Tabulka 8. Opravy

Tabulka Jizdy: V této tabulce jsou uložena data o jízdách řidičů.Popis tabulky:

Atribut TypIdJizda int,PK

Auto int,FK

Ridic int,FK

Datum datetime

DatumKonec datetime

CasOd datetime

CasDo datetime

Trasa nvarchar

Najeto int

PocatecniStav int

KoncovyStav int

Typ int,FK

Poznamka nvarchar

Tabulka 9. Jizdy

33

Page 42: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Ridici: V této tabulce jsou uložena data o řidičích.Popis tabulky:

Atribut TypIdRidic int,PK

Prijmeni nvarchar

Jmeno nvarchar

Poznamka nvarchar

Skupiny ntext

Ulice nvarchar

Telefon nchar

Mesto nvarchar

PSC nchar

Narozen datetime

ImageId uniqueidentifier

Tabulka 10. Ridici

34

Page 43: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.5. Popis metod a uživatelských prvků

V této kapitole jsou popsány hlavní metody a uživatelské prvky.

4.5.1. Altairis Simple ASP.NET SQL Providers

Provider object model v ASP.NET 2.0 představuje velký krok kupředu protistarší verzi. Vestavěné SQL providery jsou ovšem pro většinu aplikací praktickynepoužitelné, protože vyžadují velice specifickou databázovou strukturu.Hlavním motivem při použití Altairis Simple ASP.NET SQL Providersbyla nicméně snadná integrace se zbytkem databázové struktury aplikace.

Knihovna Altairis Simple ASP.NET SQL Providers obsahuje tři providery:

• Altairis.Web.Providers.SimpleSqlMemebrshipProvider- membership provider pro správu uživatelů

• Altairis.Web.Providers.SimpleSqlProfileProvider- profile provider pro uchovávání dalších údajů o uživatelích

• Altairis.Web.Providers.SimpleSqlRoleProvider- role provider pro správu rolí a členství uživatelů v nich

4.5.2. Metody použité v administrátorské sekci

• Metody

– protected void Page_Load(object sender, EventArgs e)- aktualizuje stránku při načtení

– protected void AdminCheckBox_CheckedChanged(object sender, EventArgs e)- přidává uživatele nebo odebírá uživatele v roli administrátora

– protected void VedouciCheckBox_CheckedChanged(object sender, EventArgs e)- přidává uživatele nebo odebírá uživatele v roli vedoucího autodo-pravy

– protected void RidicCheckBox_CheckedChanged(object sender, EventArgs e)- přidává uživatele nebo odebírá uživatele v roli řidiče

35

Page 44: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.5.3. Metody použité v hlavní části aplikace

• Metody

– protected void Page_Load(object sender, EventArgs e)- podle parametru v QueryStringu určuje režim komponenty Form-View

– protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e)- přidává uživatele nebo odebírá uživatele v roli administrátora

– protected void FormView1_ItemCommand(object sender, FormViewCommandEventArgs e)- přidává uživatele nebo odebírá uživatele v roli vedoucího autodo-pravy

36

Page 45: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

4.5.4. Ovládací prvky pro ověřování

Kromě úmyslných chyb a nepravdivých údajů však musíme vzít v potaz i fakt,že člověk není neomylný a některé údaje může opomenout nebo udělat tu a tampřeklep. Tyto chyby by mohly mít za následek spousty problémů jako nesprávněvyplněné tabulky uživatelů, časová náročnost při dohledávání chyb apod. Protomusí existovat mechanismus, který tyto chyby odhalí již na samotném počátkucelé akce.Na straně klienta se typicky pro kontrolu vstupních údajů používal javascript.Dobře napsaný skript tak odhalí spoustu chyb a překlepů ještě před odeslánímna server a ušetří se tak serverové zdroje. Jenže platnost dat je nutné ověřit takéna serveru. Proto byly v ASP.NET vyvinuty validační ovládací prvky, které jemožné svázat s ovládacími prvky, které vyžadují nějaký vstup od uživatele a tytovalidátory automaticky ověřují platnost na obou stranách.Validačních ovládacích prvků je šest, jejich ikony z toolboxu jsou na obrázku28. Tyto validátory pamatují na většinu obvyklých situací, jak kontrolovat data,a jsou ve své podstatě předepsanou sadou kontrol, které bychom psali zdlouha-vým kódem. Pokud tato předepsaná sada validátorů nevyhovuje naší situaci prokontrolu, máme možnost definovat vlastní konstrukci validátorů.

Obrázek 28. Validační ovládací prvky

37

Page 46: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Validátory: V této tabulce jsou validátory a jejich charakteristikaPopis tabulky:

Validační prvek Charakteristika<asp:RequiredFieldValidator> Zkontroluje, zda-li ovládací

prvek, do kterého se vyplňujídata, není prázdný

<asp:CompareValidator> Zkontroluje porovnáním, zda-lipožadovaná hodnota vyhovujepředepsané hodnotě

<asp:RangeValidator> Zkontroluje, zda-li vstupníhodnota vyhovuje určitémupovolenému rozsahu hodnot

<asp:RegularExpressionValidator> Zkontroluje, zda-li vstupníhodnota vyhovuje předepsanémuregulárnímu výrazu

<asp:CustomValidator> Zkontroluje, zda-li vstupní dataodpovídají předepsané vlastnílogice

<asp:ValidationSummary> Zobrazí souhrné chybové hlášeníze všech přítomných validátorů

Tabulka 11. Validační prvky

Ověřujeme-li data od uživatele jiným validátorem než je RequiredFieldVali-dator a uživatel ponechá pole prázdné, validace skončí úspěšně.Z výše uvedeného faktu plyne skutečnost, že většinou kombinujeme pro kontroluvstupních dat RequiredFieldValidátor s dalším validátorem.Pokud jsou všechny ovládací prvky platné, je hodnota vlastnosti Page.isValidrovna True. V jediném okamžiku se tak dovíme, zda-li jsou všechny ovládacíprvky v pořádku.Podobným validátorem jako CompareValidator je RangeValidator, ten pracuje sestejnými datovými typy, jen místo relačních operátorů definuje rozsahy platnýchhodnot pro vstupní data. Povolené hodnoty jsou oznámeny uživateli v popisku.Po stisku validačního tlačítka RangeValidatory zkontrolují hodnoty a oznámípřípadnou chybu. Rozsah platnosti jsou definovány vlastnostmi MinimumValue aMaximumValue. Tyto hodnoty pak nadefinujeme tak, aby odpovídaly zvolenémudatovému typu Type.

38

Page 47: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 29. Validátory RequiredFieldValidator a RangeValidator

4.5.5. Regulární výrazy a jejich použití ve validaci

Regulární výraz je předpis pro textové řetězce. Pomocí něj jsou specifiko-vány podmínky, kterým řetězce musí vyhovovat. Umožňují vytvářet pravidla prokomplikované tvary řetězců. Jsou jediným nástrojem pro možnost kontroly nadurčitou posloupností znaků, které například charakterizují tvar emailové adresy,URL adresy, různých telefonních čísel a dalších řetězců, pro které platí určitápravidla. Regulární výrazy jsou tvořeny metaznaky a kvantifikátory. Metaznakyurčují různé zápisy libovolných znaků, které se mohou v řetězci vyskytovat.

39

Page 48: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Tabulka Regulární výrazů: V této tabulce jsou metaznaky regulárních vý-razůPopis tabulky:

Metaznaky Charakteristika. Tečka reprezentuje jakýkoliv znak kromě \n

[abc] Vyhovuje jakýkoliv jediný znak, který jeuveden v množině

[^abc] Vyhovuje jakýkoliv znak, který není uveden vmnožině

[1-9a-zA-Z] Vyhovující jsou znaky z uvedeného rozsahu

\w Vyhovuje jakýkoliv slovní znak, tj. písmena,číslice a podtržítko

\W Vyhovuje jakýkoliv jiný znak než písmeno,číslice a podtržítko

\s Vyhovuje jakýkoliv prázdný znak (mezera,tabulátor, nový řádek atd.)

\S Vyhovuje jakýkoliv neprázdný znak

\d Vyhovuje jakýkoliv znak, který je číslicí

\D Vyhovuje libovolný znak, který není číslicí

Tabulka 12. Metaznaky regulárních výrazů

Pomocí metaznaků definujeme přípustné posloupnosti znaků. Aby byl nástrojregulárních výrazů ještě mocnější, jsou zavedeny tzv. kvantifikátory, které určujípočet výskytů jednotlivých skupin metaznaků.

Tabulka kvantifikátorů: V této tabulce jsou kvantifikátory regulárníchvýrazůPopis tabulky:

Kvantifikátory Charakteristika* Vyhovuje jakýkoliv počet výskytů (i nulový)

+ Vyhovuje jeden nebo více výskytů

? Vyhovuje žádný nebo jeden výskyt

{N} Vyhovuje N výskytů

{N,} Vyhovuje N nebo více výskytů

{N,M} Vyhovuje N až M výskytů

Tabulka 13. Kvantifikátory regulárních výrazů

40

Page 49: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Obrázek 30. Validátory RequiredFieldValidator a RegularExpressionValidator

41

Page 50: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

5. Závěr

Cílem této práce bylo vytvořit aplikaci, která umožňuje vedoucím autodo-pravy vést evidenci jízd, řidičů, tankování a vozidel.Jako další rozšíření aplikace by mohlo být zaměřeno na podrobnější statistikuvytížení vozidel s podporou grafů.

42

Page 51: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

6. Conclusions

I made application for registration of motor vehicles. Manager of road trans-port can audit vehicles and their occupancy.

43

Page 52: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

7. Dodatek

V aplikaci je použita knihovna Altairis Simple ASP.NET SQL Provi-ders pro aplikační logiku administrátorské sekce a je volně ke stažení na adrese:http://altairiswebsecurity.codeplex.com/ a je šířena pod licencí Microsoft SharedSource Permissive License (MS-PL), což znamená, že její zdrojový kód se můžeupravovat a šířit.

44

Page 53: InformaŁní systØm autodopravy · Technologie ASP.NET je jednou z nejdynamiŁtìji se rozvíjejících technologií pro vývoj webových aplikací. Historickým płedchødcem technologie

Reference

[1] České stránky věnované ASP.NET České stránky věnované ASP.NEThttp://www.aspnet.cz

[2] Microsoft Developer Network (MSDN)http://www.msdn.com

[3] The Official Microsoft ASP.NET 2.0 Sitehttp://www.asp.net

[4] Vidya Vrat Agarwal, James Huddleston Databáze v C# 2008, ComputerPress, Brno 2009

[5] Matthew MacDonald, Mario Szpuszta, ASP.NET 2.0 a C# tvorba dynamic-kých stránek profesionálně

[6] CodeProject. Free source code and programming helphttp://www.codeproject.com

45


Recommended