• Nebyly nalezeny žádné výsledky

8 NÁVRH ARCHITEKTURY, REALIZACE SYSTÉMU

8.2 W EBOVÁ APLIKACE

8.2.2 Webová služba

Webová služba dotazníkového systému nabízí funkce především pro rychlé exportování a importování informací na pozadí.

Obr. 18. Webové metody

Obr. 19. Parametry webových metod

Obrázek zobrazuje možné funkce, které jsou na webové službě implementovány. Metoda ExportData například jako vstupní parametry akceptuje parametr identifyKey, který je datový string (textový řetězec). Dále pak parametr questionaryid, který je datový typ int (číslo). Zadáním těchto dvou parametrů se vygeneruje xml dokument, který je zároveň návratovou hodnout této webové metody. Tento xml dokument potom obsahuje data

konkrétního dotazníku. Dokument obsahuje data nejen definující samotný dotazník, ale také data získané od uživatelů (vyplněné dotazníky).

Obr. 20. Exportované údaje z webové služby

8.3 Databázová část

Databázová část aplikace, kromě samotného udržování informací, umožňuje i upravené pohledy na data. Pohled (anglicky nazývané View) je databázový objekt, který uživateli poskytuje data ve stejné podobě jako tabulka. Na rozdíl od tabulky, kde jsou data přímo uložena, obsahuje pohled pouze předpis, jakým způsobem mají být data získána z tabulek a jiných pohledů. Dotazníkový systém implementuje dva pohledy:

• V_Question – jde o pohled nad tabulkami Question a Users

• V_Questionary – jde o pohled nad tabulkami Questionary a Users

Na databázová úrovni dotazníkového systému jsou dále implementovány spínače tzv.

triggery, které zajišťují konzistenci nových dat:

• TR_Users_AI

• TR_Answer_AI

• TR_Question_AI

• TR_Questionary_AI

• TR_QuestionaryWithQuestion_AI

• TR_QuestionWithAnswers_AI

• TR_Data_AI

Prefix „TR“ definuje označení pro trigger. Po podtržítku jako oddělovači následuje jméno tabulky, které je dále následováno opět oddělovačem a na samotném konci názvu je označení „AI“. Označení AI představuje zkratku pro význam „po uložení“ (after insert) a znamená to, že po vytvoření nového záznamu v tabulce je dále spuštěn trigger příslušné tabulky, které dále provádí nějakou akci.

Obr. 21. Databázový trigger nad tabulkou Users

Ukázka triggeru TR_Users_AI, který je definován pro nového registrovaného uživatele, tedy nad tabulkou Users. Je mu automaticky přiřazena role USER do vazební tabulky UsersInRoles.

9 VZOROVÝ VÝZKUM, PŘÍPADOVÁ STUDIE

Jak provést vzorový výzkum s pomocí dotazníkového systému s vyhodnocením příslušných údajů, je nastíněno v této kapitole. Je třeba si uvědomit, že již implementovaná část dotazníkového systému poskytuje ty nejzákladnější prvky a pokročilé prvky jako např.

složitější otázky a případně složitější statistické vyhodnocování, bude implementováno v rámci dalšího rozvoje systému.

9.1 Analýza vzorového výzkumu

U tohoto vzorového dotazníku budeme zkoumat, jaký názor mají lidé na finanční krizi, která celý svět postihla. Dotazník bude obsahovat otázky, které se budou respondenta ptát, jakým způsobem existenci krize pociťuje, kdy si myslí, že se situace zlepší apod. Na konci dotazníku předpokládejme otázky již na samotného respondenta, aby se lépe dalo mezi respondenty rozlišovat.

Otázky, které dotazník bude obsahovat budou definovány následovně:

• Celosvětová finanční krize, která nyní probíhá, se dotýká Všech kolem nás, souhlasíte?

• Mnoho lidí kvůli finanční krizi omezilo svoje výdaje a více šetří, jak jste na tom Vy?

• Jakým způsobem se Vás dotkla finanční krize?

• Česká republika plánuje zavést společnou evropskou měnu (euro), ale kvůli finanční krizi se může přijetí oddálit. Kdy myslíte, že tuto měnu česká republika přijme?

• Jste muž nebo žena?

• Kolik Vám je let?

Nejprve jsou nastíněny otázky, které mohou být pro uživatele nejzajímavější. Je potřeba jistým způsobem respondenta hned od začátku neodradit nezajímavými otázkami (jako např. kolik Vám je let). Je osvědčeno, že respondenta, který vyplní převážnou část dotazníku se zajímavými otázky, pak již malé množství těchto již obecnějších otázek neodradí.

9.2 Vytvoření otázek, dotazníku a navázání otázek

K provádění akcí, jako vytváření otázek, dotazníku apod. je nutné se nejprve do systému přihlásit. Po přihlášení zvolíme v menu otázky, poté stiskneme tlačítko Vytvořit a objeví se ovládací prvky, které se pro první otázku vyplní následovně:

Obr. 22. Vytvoření uzavřené otázky v systému

První otázka tedy dává uživateli na výběr jednu ze dvou možností. Oproti tomu druhá otázka je situována na výběr z více možností.

Obr. 23. Vytvoření otevřené otázky v systému

Třetí otázka nabízí uživateli možnost vlastního sebevyjádření. K dispozici je textové pole, kde může napsat svůj vlastní názor na danou otázku. Tedy jako typ otázky je zvoleno uživatelské pole a zaškrtnuta je použit odpověď 1.

Čtvrtá otázka je situována na výběr jedné z možností s tím rozdílem, že při volbě poslední je dána uživateli možnost k názoru (je to tedy polouzavřená otázka). Ostatní zbylé otázky jsou již podobného typu.

Pro vytvoření dotazníku stačí v menu zvolit dotazníky, poté stisknout vytvořit a otázky navázat. Navázání otázek potom vypadá následovně:

Obr. 24. Navázání otázek v dotazníku

Po vyplnění názvu dotazníku je potom možné vytvořený dotazník uložit. Je možné zaškrtnout, zda dotazník bude nebo nebude publikovaný (tzn. veřejně dostupný i nepřihlášeným uživatelům). Stisknutím tlačítka Uložit se daný dotazník uloží do databáze.

9.3 Vyplnění dotazníku

Uložený dotazník, který byl vytvořen dle daných parametrů a je možné jej začít plnit odpověďmi, vypadá vygenerovaný následovně:

Obr. 25. Vygenerovaný dotazník

Výsledný dotazník má očekávaný vzhled, který je dynamicky vygenerován. Po vyplnění dotazníku a následném uložení jsou dotazníková data uloženy v databázi a připravena na další zpracování.

9.4 Vyhodnocení údajů

Uložený dotazník, který byl vytvořen dle daných parametrů a je možné jej začít plnit odpověďmi, vypadá vygenerovaný následovně:

Implementovaná část vyhodnocování dotazníkových údajů poskytuje základní rozdělení odpovědí. Pro lepší vizualizaci je implementováno grafické zobrazování pomocí softwarové komponenty Microsoft Charts. Odpovědi, které se získají od uživatele vyplněním příslušným textových polích, nejsou graficky vystiženy.

Ukázka implementovaného zobrazení vyplněných údajů pro první otázku spravovaného dotazníku:

Obr. 26. Základní vyhodnocení dotazníku

9.5 Export dat

Pokud by dotazníkový systém měl sloužit převážně jako systém, který jen sbírá data od uživatelů a vyhodnocování údajů by prováděl nějaký třetí statistický software, je možné údaje vyexportovat. Nebo je možné data exportovat kvůli důvodům běžné archivace a zálohování.

Export data je možné provést bud za pomocí webové služby se znalostí identifikačního klíče nebo z webové aplikace za předpokladu, že je uživatel přihlášen. Exportované údaje vzorového dotazníku jsou ve strukturovaném formátu XML a proto tento dotazník mají tuto podobu.

Konkrétní exportované data vzorového dotazníku jsou uvedeny v příloze P II.

10 MOŽNOST DALŠÍHO ROZVOJE

Dotazníkový systém, který byl výše analyzován a částečně implementován, lze bezpochyby dále rozvíjet a vylepšovat. Každou rozvíjenou část systému lze popsat samostatně, nicméně pro rozvíjení a další úpravy je vždy dobré vytvořit analýzu, kde jsou návrhy úprav a dopady na systém detailně rozebrány.

10.1 Uživatelské rozhraní

V rámci uživatelského rozhraní lze uvažovat o implementaci úprav, které by mohli při vyplnění dotazníku dle nastavení nabízet otázky uživateli dynamicky, a to jedna otázka na jednu stránku. Aktuální stav je ten, že dotazník s otázkami je systémem dynamicky vygenerován na jednu stránku jako seznam otázek, které uživatel vyplní a systému tlačítkem odešle. Možná alternativa dynamického chování by mohla být založena na tom, že uživateli se zobrazí stránka s jednou otázkou. Po vyplnění otázky jsou údaje automaticky odeslány systému, který dále přegeneruje stránku uživateli s další otázkou.

Tento přístup dynamického generování dotazníku nabízí určitou pružnost a může být uživatelsky příjemnější, ovšem nabízí také určitá úskalí. Jedním z nich může být například udržování průběžného stavu vyplnění dotazníku v systému. Dynamická chování je tedy dobré použít jako alternativu ke statickému vygenerování dotazníku, tedy aby zadavatel dotazníku měl volbu příslušnou variantu zvolit.

10.2 Aplikační a databázová část

V aplikační a databázové části lze uvažovat o rozšíření systému na podporu takových otázek, které není nikdy snadné vyhodnocovat a je potřeba širší implementace pro jejich reprezentaci. Jsou to otázky, které např.

• mohou obsahovat další podotázky

• mohou korespondovat s jinými v rámci nějakých vazeb

• mohou obsahovat i jiné prvky než výběr textové odpovědi či vyplnění textového pole (třeba vyplnění otázky jako výběr z možných obrázků apod.)

V části vyhodnocování lze uvažovat o vytvoření různých filtrů, které by dokázali dynamicky v rámci výběru daného filtru výsledky vyhodnocování uživateli různě zobrazovat.

ZÁVĚR

Cílem této diplomové práce byla analýza a implementace dotazníkového systému pro internetové průzkumy. Výchozími body pro dosažení cíle bylo, aby zadavatel daného průzkumu měl možnost v systému vytvořit otázky (i s možnými odpověďmi), dotazník a tyto otázky k dotazníku navázat tak, aby byl dotazník připraven pro vyplnění uživatelem.

Po analýze základních požadavků byla naimplementována převážná část dotazníkového systému, která nabízí základní funkce pro sběr údajů v Internetu. Zadavatel průzkumu, jako registrovaný uživatel systému, má k dispozici obvyklé funkce, jaké lze od dotazníkových systému očekávat.

Dotazníkový systém a jeho model a funkce byly navrženy tak, aby systém byl otevřený vůči třetím systémům. K tomu slouží funkce jako např. možnost rychlého vyvolání dotazníku URL odkazem a hlavně část webové služby s rozhraním pro efektivní import a export získaných údajů.

Data, která byla do systému importována nebo byla získána vyplněním dotazníků jsou v systému udržována v relační databázi a je tak zajištěna jejich konzistence. Exportování a importování údajů potom probíhá ve strukturované podobě textového formátu XML, které je definováno a validováno příslušnou šablonou XSD.

Ovládání a zobrazení uživatelského rozhraní, správa účtu a práce s daty byly navrženy tak, aby dotazníkový systém byl co nejvíce intuitivní a uživatel snadno pochopil význam a možnosti implementovaných funkcí.

Současná analyzovaná a implementovaná verze systému je jistým základem k existenci takového dotazníkového systému, který dokáže plně uspokojit potřeby zadavatele na nejrůznější internetové průzkumy. Podařilo se tak naplnit cíle, které byly na počátku stanoveny.

Stejně jako se zlepšuje vše kolem nás, tak i dotazníkový systém je možné dále vylepšovat, aby byl plnohodnotným a uznávaným otevřeným systémem, který napomáhá lidem při jejich práci.

ZÁVĚR V ANGLIČTINĚ

The aim of this thesis was to analyze the questionnaire and the implementation of a system for online surveys. Starting point for achieving the objective has been to sponsor the survey had the opportunity to create a system in question (with the possible answers), and these issues a questionnaire to establish a questionnaire to be prepared a questionnaire for completion by.

After analyzing the basic requirements were implemented in a large part of the questionnaire, which offers basic functionality for data collection over the Internet. The submitter survey as a registered user of the system has the usual features which can be expected from the questionnaire system.

The questionnaire and the system model and features were designed so that the system was open to third systems. This function serves as an example, a quick recall questionnaire referring URL and the main part of a web services interface for efficient import and export of the data.

The data that was imported to the system or was obtained by filling out questionnaires in the system are maintained in a relational database and ensures their consistency. Exporting and importing data is then structured in the form of a textual XML format that is defined and validated by the report template XSD.

Control and user interface, account management and data analysis were designed so that the questionnaire system was the most intuitive and user can easily understand the importance and possibilities of the implemented functions.

Current analyzed and implemented version of the system is essential to the existence of such a questionnaire system that can fully satisfy the needs of the appropriate authority at various internet surveys. We managed to meet the goals that were set at the beginning. In the same way all around us improves and questionnaire system can be further improved to be a full-fledged and respected open system, which helps people in their work.

SEZNAM POUŽITÉ LITERATURY

[1] MACDONALD, Matthew, SZPUSZTA, Mario. ASP.NET 3.5 a C-Sharp 2008 : Tvorba dynamických stránek profesionálně. Jan Pokorný, Jan Gregor. 1. vyd.

[s.l.] : Zoner Press, 2008. 1584 s. ISBN 978-80-7413-008-3.

[2] SZPUSZTA, Mario, MATTHEW, MacDonald. ASP.NET 3.5 a C Sharp 2008 : Tvorba dynamických stránek profesionálně. 2008. aktualiz. vyd. BRNO : Yoner Press, 2008. 1585 s. , CD. PROFESIONÁLNĚ. ISBN 978-80-7413-008-3.

[3] ELLER, Frank. C Sharp : Začínáme programovat. 1. vyd. Praha : Grada Publishing a.s., 2002. 240 s. ISBN 80-247-0324-6.

[4] PÍSEK, Slavoj. ASP.NET : Začínáme programovat. 1. vyd. Praha : Grada Publishing a.s., 2003. 228 s. ISBN 80-247-0526-5.

[5] LACKO, Luboslav. SQL : hotová řešení pro SQL Server, Oracle a MySQL : pochopte jazyk relačních databází na typických příkladech, dotazy, skripty a prográmky přímo pro vaše aplikace, připojení webové aplikace v PHP i ASP.NET k databázi . 1. vyd. Brno : Computer Press, 2003. 298 s. , 1 CD-ROM. ISBN 80-7226-975-5.

[6] PUNCH, Keith F. . Základy kvantitativního šetření. 1. vyd. Praha : Portál, 2008.

150 s. ISBN 978-80-7367-381-9.

[7] Framework [online]. [cit. 2010-05-02]. Dostupný z WWW:

<http://cs.wikipedia.org/wiki/Framework>.

[8] Dotazník - Struktura dotazníku [online]. 2007. Dotaznik-online.cz, c2007 [cit.

2009-07-14]. Dostupný z WWW: <http://www.dotaznik-online.cz/zaklady-dotazniku.htm>

[9] Dotazník : Zásady tvorby dotazníku [online]. 2007 [cit. 2009-04-02]. Dostupný z WWW: <http://www.dotaznik-online.cz/index.htm>

SEZNAM POUŽITÝCH SYMBOLŮ A ZKRATEK

RUP Rational Unified Process – metodika vývoje softwaru .NET Prostředí pro běh aplikací a služeb

ASP Active Server Pages – skriptovací platforma

IDE Integrated Development Environment – vývojové prostředí SQL Structured Query Language (skriptovací dotazovací jazyk) T-SQL Transact-SQL – proprietární rozšíření do SQL

IIS Internet Information Services – internetová informační služba GUI Graphical User Interface – grafické uživatelské rozhraní

URL Uniform Ressource Locator – řetězec znaků ke specifikaci umístění zdroje PK Primary Key – primární klíč

FK Foreign Key – cizí klíč

XML Extensible Markup Language – obecný značkovací jazyk XSD XML Schéma Definition – popisuje strukturu XML

SEZNAM OBRÁZKŮ

Obr. 1. Uzavřená otázka ... 16

Obr. 2. Polouzavřená otázka... 16

Obr. 3. Architektura systému... 26

Obr. 4. Rozdělení aktérů... 30

Obr. 5. Diagram užití Admin a User... 31

Obr. 6. Resetování hesla ... 33

Obr. 7. Změna hesla... 34

Obr. 8. Přihlášení ... 34

Obr. 9. Diagram aktivit pro vytvoření dotazníku ... 35

Obr. 10. Diagram užití Anonym ... 36

Obr. 11. Vytvoření nového účtu ... 36

Obr. 12. Datový model - uživatelská část... 38

Obr. 13. Datový model - databázová část... 39

Obr. 14. Klient - Server komunikace... 42

Obr. 15. Přehled dotazníků v systému ... 43

Obr. 16. Programová struktura projektu ... 44

Obr. 17. Menu... 45

Obr. 18. Webové metody... 46

Obr. 19. Parametry webových metod ... 46

Obr. 20. Exportované údaje z webové služby ... 47

Obr. 21. Databázový trigger nad tabulkou Users ... 48

Obr. 22. Vytvoření uzavřené otázky v systému... 50

Obr. 23. Vytvoření otevřené otázky v systému ... 51

Obr. 24. Navázání otázek v dotazníku... 52

Obr. 25. Vygenerovaný dotazník... 53

Obr. 26. Základní vyhodnocení dotazníku ... 54

SEZNAM PŘÍLOH

P I DB tabulky

P II Exportované data vzorového dotazníku

PŘÍLOHA P I: DB TABULKY

Users

Roles

UsersInRoles

Questionary

Question

QuestionaryWithQuestions

Answer

QuestionWithAnswers

Data

PŘÍLOHA P II: EXPORTOVANÉ DATA VZOROVÉHO DOTAZNÍKU

<IRQS_EXPORT xmlns="">

<HEAD>

<INFO>

<id>43</id>

<TITLE>Finanční krize</TITLE>

<ISPUBLIC>True</ISPUBLIC>

<INTRO></INTRO>

<COMMENT></COMMENT>

<DATECREATED>6.4.2010 10:28:08</DATECREATED>

</INFO>

<DEFINITION>

<QUESTION id="108" QuestionText="Celosvětová finanční krize, která nyní probíhá, se dotýká Všech kolem nás, souhlasíte?">

<ANSWER id="154" AnswerText="Souhlasím" QuestionAdditionText="" />

<ANSWER id="155" AnswerText="Nesouhlasím" QuestionAdditionText="" />

</QUESTION>

<QUESTION id="109" QuestionText="Kde myslíte, že lidé nejvíce omezili své výdaje?">

<ANSWER id="156" AnswerText="Šetří na jídle" QuestionAdditionText="" />

<ANSWER id="157" AnswerText="Nakupují méně oblečení" QuestionAdditionText="" />

<ANSWER id="158" AnswerText="Méně cestují" QuestionAdditionText="" />

<ANSWER id="159" AnswerText="Omezili ostatní výdaje (alkohol, cigarety, kina atd.)"

QuestionAdditionText="" />

</QUESTION>

<QUESTION id="110" QuestionText="Jakým způsobem se Vás dotkla finanční krize?">

<ANSWER id="160" AnswerText="" QuestionAdditionText="" />

</QUESTION>

<QUESTION id="111" QuestionText="Kdy myslíte, že Česká republika přijme společnou evropskou měnu?">

<ANSWER id="161" AnswerText="2013" QuestionAdditionText="" />

<ANSWER id="162" AnswerText="2014" QuestionAdditionText="" />

<ANSWER id="163" AnswerText="2015" QuestionAdditionText="" />

<ANSWER id="164" AnswerText="jiný rok.." QuestionAdditionText="Uveďte" />

</QUESTION>

<QUESTION id="112" QuestionText="Jste muž nebo žena?">

<ANSWER id="165" AnswerText="Muž" QuestionAdditionText="" />

<ANSWER id="166" AnswerText="Žena" QuestionAdditionText="" />

</QUESTION>

<QUESTION id="113" QuestionText="Kolik Vám je let?">

<ANSWER id="167" AnswerText="méně jak 18" QuestionAdditionText="" />

<ANSWER id="168" AnswerText="19 - 34" QuestionAdditionText="" />

<ANSWER id="169" AnswerText="35 a více" QuestionAdditionText="" />

</QUESTION>

</DEFINITION>

</HEAD>

<DATA>

<FILL>

<RECORD id_Question="108" id_Answer="154" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="156" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="159" AnswerAdditionText="" />

<RECORD id_Question="110" id_Answer="160" AnswerAdditionText="mám míň pracovních příležitostí" />

<RECORD id_Question="111" id_Answer="163" AnswerAdditionText="" />

<RECORD id_Question="112" id_Answer="165" AnswerAdditionText="" />

<RECORD id_Question="113" id_Answer="168" AnswerAdditionText="" />

</FILL>

<FILL>

<RECORD id_Question="108" id_Answer="154" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="156" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="157" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="159" AnswerAdditionText="" />

<RECORD id_Question="110" id_Answer="160" AnswerAdditionText="méně cestuji" />

<RECORD id_Question="111" id_Answer="163" AnswerAdditionText="" />

<RECORD id_Question="112" id_Answer="166" AnswerAdditionText="" />

<RECORD id_Question="113" id_Answer="167" AnswerAdditionText="" />

</FILL>

<FILL>

<RECORD id_Question="108" id_Answer="155" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="157" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="158" AnswerAdditionText="" />

<RECORD id_Question="110" id_Answer="160" AnswerAdditionText="žádným způsobem" />

<RECORD id_Question="111" id_Answer="163" AnswerAdditionText="" />

<RECORD id_Question="112" id_Answer="166" AnswerAdditionText="" />

<RECORD id_Question="113" id_Answer="168" AnswerAdditionText="" />

</FILL>

<FILL>

<RECORD id_Question="108" id_Answer="154" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="156" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="157" AnswerAdditionText="" />

<RECORD id_Question="110" id_Answer="160" AnswerAdditionText="přišel jsem o práci" />

<RECORD id_Question="111" id_Answer="161" AnswerAdditionText="" />

<RECORD id_Question="112" id_Answer="165" AnswerAdditionText="" />

<RECORD id_Question="113" id_Answer="169" AnswerAdditionText="" />

</FILL>

<FILL>

<RECORD id_Question="108" id_Answer="155" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="156" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="157" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="158" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="159" AnswerAdditionText="" />

<RECORD id_Question="110" id_Answer="160" AnswerAdditionText="" />

<RECORD id_Question="111" id_Answer="162" AnswerAdditionText="" />

<RECORD id_Question="112" id_Answer="165" AnswerAdditionText="" />

<RECORD id_Question="113" id_Answer="167" AnswerAdditionText="" />

</FILL>

<FILL>

<RECORD id_Question="108" id_Answer="154" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="158" AnswerAdditionText="" />

<RECORD id_Question="109" id_Answer="158" AnswerAdditionText="" />