Analýza a návrh systému pro SelfTesty

Transkript

Analýza a návrh systému pro SelfTesty
BAKALÁŘSKÁ PRÁCE
Analýza a návrh systému pro
SelfTesty
Analysis and design for SelfTest
system
Filip Bocek
U ni c or n C ol le ge © 20 11
U ni c or n C ol le ge , V Ka ps l ov n ě 27 67 /2 , Pr aha 3, 1 30 00
N áze v pr á c e v ČJ :
N áze v pr á c e v AJ :
A na l ýza a ná vr h s ys t ém u
p r o S el fT e s t y
A na l ys i s and de s i gn f or
S el fT es t s ys t em
A ut or :
F il i p B oc ek
Ak adem ic k ý r ok :
2 010 / 20 1 1
K ont ak t:
E - m ai l: boc ek .f @ em a il.c z
T e l.: ( +42 0) 72 1 2 73 49 2
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
1.
ZADÁNÍ
▪3▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
2.
ABSTRAKT
Předmětem této bakalářské práce je analýza a návrh rozšíření Informačního systé-
mu (SelfTest systém), který umožňuje vytvářet a řešit testy nanečisto tzv. SelfTesty. Ty slouží studentům jako zpětná vazba při ověřování jejich studijních znalostí. Součástí práce je
také implementace prototypové mobilní SelfTest aplikace, která bude se systémem komunikovat. Cílem je vhodně analyzovat požadavky, které jsou na SelfTest systém kladeny, navrhnout způsob, jakým lze stávající SelfTest systém rozšířit, a vyvinout mobilní aplikaci, která
s ním bude komunikovat a kolaborovat.
Bakalářská práce je rozdělena do tří hlavních částí - teoretickou a dvě praktické.
V teoretické části je popsán e-learning jako podoba moderního způsobu vzdělávání, je definováno jeho členění a jsou zachyceny způsoby, jakými lze jeho formy realizovat v praxi,
spolu se stanoviskem, které v tomto ohledu zaujímá Unicorn Universe, e-learningový systém
Unicorn College.
První praktická část se zabývá analýzou a návrhem SelfTest systému. Kapitola zachycuje klíčové požadavky, které musí systém pokrývat, a navrhuje způsob jejich implementace. Je zde navržena architektura, jsou definovány případy užití, komunikační rozhraní
pro mobilní aplikace a další funkční body.
Druhá praktická část je zaměřena na implementaci mobilní SelfTest aplikace a popisuje způsob, jakým byla řešena implementace nejdůležitějších procesů, včetně ukázek
grafického rozhraní.
Klíčová slova: SelfTest, SelfTest systém, SelfTest aplikace, Analýza, Návrh, Windows Phone 7, e-learning, Unicorn Universe, Unicorn College
▪4▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
3.
ABSTRACT
The bachelor thesis deals with the analysis and design of the Information system
(SelfTest system) and its extension. The system allows you to create and solve the mock
tests so-called SelfTests. These SelfTests are used by students as a feedback to verify their
knowledge, learning skills. The thesis also includes the implementation of a prototype mobile
SelfTest application that will communicate with the system. The aim of the thesis is to suitably analyse the requirements that are laid to SelfTest system, suggest the way to extend
existing SelfTest system and develop a mobile application that will cooperate with it.
The bachelor thesis has a theoretical and two practical parts. The theoretical part
describes e-learning as a form of modern education way. Then is defined its structure/segmentation and there are recorded the ways that can be realized in practice. Unicorn Universe as e-learning system of Unicorn College also have standpoint.
The first practical part deals with analysis and design of the SelfTest system. The
chapter describes the key requirements that must be cover by the system and suggest the
way to implement them. There is proposed architecture. There are also defined cases of
use, interfaces for mobile applications and other functional items.
The second part aimed at the implementation of a mobile SelfTest application and
describes the implementation of the most important processes, including examples of graphical interfaces.
Keywords: SelfTest, SelfTest system, SelfTest application, Analysis, Design, Windows Phone 7, e-learning, Unicorn Universe, Unicorn College.
▪5▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
4.
PROHLÁŠENÍ
Prohlašuji, že svou bakalářskou práci na téma Analýza a návrh systému pro SelfTesty jsem
vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou též uvedeny v seznamu literatury a použitých zdrojů.
Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení § 11 a následujících autorského zákona č. 121/2000 Sb.
V Praze dne
…….……………….
Filip Bocek
▪6▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
5.
PODĚKOVÁNÍ
Děkuji vedoucímu bakalářské práce Petru Buchlákovi za účinnou metodickou, pedagogickou
a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.
▪7▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
6.
OBSAH
1.
2.
3.
4.
5.
6.
7.
Zadání..................................................................................................................................3
Abstrakt...............................................................................................................................4
Abstract...............................................................................................................................5
Prohlášení...........................................................................................................................6
Poděkování.........................................................................................................................7
Obsah...................................................................................................................................8
Úvod...................................................................................................................................10
7.1 Popis jednotlivých kapitol......................................................................................10
7.2 Konvence použité v této práci...............................................................................11
8. E-learning..........................................................................................................................12
8.1 Definice pojmů.........................................................................................................12
8.1.1 Definice v širším slova smyslu..........................................................................12
8.1.2 Definice v užším slova smyslu..........................................................................12
8.1.3 E-reading...............................................................................................................13
8.2 Základní formy e-learningu....................................................................................13
8.2.1 Online e-learning.................................................................................................14
8.2.1.1 Synchronní.........................................................................................................14
8.2.1.2 Asynchronní.......................................................................................................15
8.2.2 Offline e-learning.................................................................................................16
8.3 Vývoj e-learningu....................................................................................................16
8.3.1 Počítačem podporované vzdělávání (1990 – 1999)......................................17
8.3.2 Vzdělávání pomocí webových technologií (1997 – 1999)............................17
8.3.3 Systémy řízeného elektronického vzdělávání (1999 – 2005)......................17
8.3.4 Learning Content Management system...........................................................18
8.4 Výhody a nevýhody e-learningu...........................................................................19
8.5 E-learning na Unicorn College..............................................................................19
8.5.1 Unicorn Universe jako LMS (LCMS).................................................................19
8.5.1.1 Studijní materiály online..................................................................................20
8.5.1.2 Delegování úkolů a schůzek a komunikace.................................................20
8.5.1.3 Kolaborativní spolupráce na projektech.......................................................20
8.5.1.4 Audio a videopodcasty....................................................................................21
8.5.1.5 SelfTesty............................................................................................................21
9. Analýza a návrh SelfTest systému...............................................................................22
9.1 Popis společnosti....................................................................................................22
9.2 Klíčové procesy Unicorn College.........................................................................23
9.2.1 Proces výuky........................................................................................................25
9.3 Záměr........................................................................................................................26
9.4 Shrnutí problému.....................................................................................................27
9.5 Definice projektu.....................................................................................................28
9.5.1 Cíle projektu.........................................................................................................28
9.5.2 Rozsah...................................................................................................................28
9.5.3 Výstupy projektu..................................................................................................29
9.6 Identifikace požadavků...........................................................................................30
9.6.1 Funkční požadavky..............................................................................................30
9.6.2 Nefunkční požadavky..........................................................................................33
9.7 High Level pohled na architekturu.......................................................................34
9.7.1 Popis......................................................................................................................36
9.8 Klíčové funkčnosti...................................................................................................37
10. Implementace SelfTest aplikace.................................................................................39
10.1 Windows Phone 7.................................................................................................39
10.1.1 Platformy pro vývoj aplikací.............................................................................40
▪8▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.1.2 Vnitřní struktura WP7........................................................................................41
10.1.3 Persistence dat ve WP7...................................................................................41
10.2 Implementované funkčnosti.................................................................................43
10.3 Persistence dat v SelfTest aplikaci....................................................................44
10.4 Načtení dat při prvním spuštění.........................................................................45
10.5 Vytváření SelfTestů..............................................................................................53
10.6 Programátorská instalace....................................................................................57
11. Závěr................................................................................................................................58
12. Conclusion......................................................................................................................59
13. Seznam použité literatury............................................................................................60
14. Seznam použitých internetových zdrojů....................................................................61
15. Seznam použitých symbolů a zkratek........................................................................62
16. Seznam obrázků............................................................................................................63
17. Seznam tabulek.............................................................................................................64
18. Seznam příloh................................................................................................................65
Příloha 1 – ukázkové xml předmětu..................................................................................66
Příloha 2 – CD obsahující technický projekt, text práce, implementovanou aplikaci a
zdrojové kódy........................................................................................................................67
▪9▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
7.
ÚVOD
Vzdělávání, proces osvojování dovedností a znalostí, je důležitým aspektem dnešní
doby. Až donedávna zůstával koncept vzdělávání v základu pořád stejný. Za poslední desetiletí můžeme pozorovat, že s technologickým pokrokem a především s masivním rozšířením
Internetu, se začíná způsob, jakým se člověk vzdělává, učí nebo sdílí informace, měnit. Unicorn College, soukromá vysoká škola se zázemím a podporou úspěšné softwarové
společnosti, se snaží využívat potenciál, který dnešní doba a technika nabízí, a proto nabízí
vzdělávání i formou „e-lerningu“. Umožňuje jí to především propracovaný informační systém
Unicorn Universe, který je přístupný všem studentům odkudkoli právě prostřednictvím Internetu. Zde studenti najdou všechny studijní materiály a podporu pro vzdělávání. Nyní budou mít k dispozici i možnost testovat nebo ověřovat své znalosti pomocí tzv. SelfTestů
(jednoduchý test, ve kterém uživatel odpovídá na otázky vybráním správné odpovědi).
Cílem této práce je analyzovat požadavky na systém, který bude SelfTesty poskytovat, provést návrh architektury a definovat rozhraní, které budou moci využívat další podpůrné aplikace, ke komunikaci se SelfTest systémem. Jednou z nich bude i nativní mobilní
SelfTest aplikace, implementována pro platformu Windows Phone 7, jejíž prototyp je také
jedním z výstupu této práce.
Účelem této práce je nabídnout co nejinteraktivnější způsob vzdělávání a docílit v
tomto ohledu vyšší efektivity, než tomu bylo doposud. Samozřejmě poté tyto benefity prezentovat jménem školy a docílit vyššího počtu studentů a prestižnějšího jména.
7.1
Popis jednotlivých kapitol
•
Kapitola 8: E-learning – v této kapitole se podíváme, jakými způsoby se lze
v dnešní době s využitím Internetu a dostupných technologií vzdělávat. Dále bude
rozebrána přidaná hodnota e-learningu včetně SelfTestů.
•
Kapitola 9: Analýza a návrh SelfTest systému – zde jsou zachyceny poža-
davky, jež by měl SelfTest systém a SelfTest aplikace splňovat, spolu s návrhem
designu.
•
Kapitola 10: Implementace SelfTest aplikace – kapitola popisující detailní
implementaci prototypové SelfTest aplikace pro mobilní zařízení.
▪ 10 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
7.2
Konvence použité v této práci
Informace obsažené v této práci jsou jak teoretického, tak praktického charakteru.
Obzvláště v praktické části se budou vyskytovat ukázky části kódů nebo návrhové diagramy.
Pro odlišení byly použity různé typografické konvence. Pro plné porozumění zde uvádím
jejich výčet a popis.
•
Neproporcionální písmo − všechny ukázky zdrojových kódů jsou psaný tímto
písmem.
• Tučné písmo – zvýrazňuje důležité informace nebo klíčové pojmy.
• Kurzíva – text psavý kurzívou označuje nějakou dodatečnou informaci. V ukázkách
zdrojových kódů bývá kurzívou psaná dokumentace. Pokud je tento text navíc ohraničen uvozovkami, jedná se o citaci.
▪ 11 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.
E-LEARNING
V této kapitole si vysvětlíme, co se pod tímto pojmem skrývá, jakým způsobem lze
e-learning rozdělit a realizovat v praxi.
8.1
Definice pojmů
Při čtení různých knížek či Internetových článků zabývajících se problematikou
e-learningu, narazíme na spoustu různých a často nesourodých definic, které se pokouší pojem e-learning co nejvýstižněji popsat. Hlavní příčinou je velká různorodost prostředí, pro
které lze tento pojem definovat. Z tohoto důvodu se obeznámíme s definicí e-learningu
„v širším a užším slova smyslu“1, tak, jak popisuje Mgr. Kamil Kopecký, Ph. D.
8.1.1
Definice v širším slova smyslu
V tomto ohledu je e-learning „aplikace nových multimediálních technologií a Interne-
tu do vzdělávání za účelem zvýšení jeho kvality posílením přístupu ke zdrojům, službám,
k výměně informací a ke spolupráci“.2 V tomto pojetí lze za e-learning chápat jakoukoli technologii, službu či médium využívající IT (Informační technologie) ke zvýšení kvality a efektivity vzdělávání. Můžeme tedy v tomto ohledu označit i použití multimediálního CD nebo prezentace během přednášky za e-learning. Jde o „multimediální podporu vzdělávacího procesu za použití moderních informačních a komunikačních technologií (ICT), jejichž primárním
úkolem je zvýšit kvalitu a dostupnost vzdělávání“.3
8.1.2
Definice v užším slova smyslu
Tato definice vystihuje e-learning jako „vzdělávání, které je podporované moderními
technologiemi a které je realizováno prostřednictvím počítačových sítí – intranetu a zejména
Internetu“.4 S tímto popisem spojuje e-learning většina populace. Můžeme říci, že jde o co
nejefektivnější využití dostupných technologií k předání informací kdykoli a kdekoli. Samozřejmě intranet a Internet nejsou jediné sítě, které lze využít k sdílení a přístupu k informacím. Můžeme zde zahrnout také mobilní sítě a další.
1
KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 6.
2
Tamtéž.
3
KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 6.
4
Tamtéž.
▪ 12 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
E-learning se snaží působit na co nejvíce lidských smyslů. Pro zrak je určen elektronický text (online studijní přednášky) s propracovanou grafikou a názornými ukázkami. Zde
je důležité rozeznávat dva pojmy, a to e-learning a e-reading (viz dále). Pro sluch jsou určeny audio podcasty (audio záznam přednášky – mluvené slovo). Další množina podkladů působí na více smyslů zároveň. Jedná se především o video záznamy přednášek, živý streaming (živý přenos přímo z lekce), interakce přes whiteboardy (virtuální tabule, na kterých vidí
všichni účastníci cokoli, co se na tuto tabuli napíše nebo nakreslí) nebo živá konference, kde
má student, kromě samotného sledování, možnost s lektorem komunikovat psaným textem,
nebo mluveným slovem.
8.1.3
E-reading
Proces e-learningu je procesem řízeným, znamená to, že se zde vyskytují osoby
(lektor, pedagog, školitel a jiní), které ho usměrňují, popřípadě řídí. Nejedná se tedy
o distribuci elektronických studijních materiálů skrze informační sítě. Samotná tato distribuce
bývá (tyto studijní materiály) často nazývaná e-reading a ten řízený není.5
8.2
Základní formy e-learningu6
Nejčastěji bývá e-learning rozdělován na online e-learning a offline e-learning.
Obrázek 1: Základní formy e-learningu
Zdroj 1: E-learning (nejen) pro pedagogy, vlastní úprava
5
KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 9–13.
6
Převzato z tamtéž.
▪ 13 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.2.1
Online e-learning
Do této kategorie se řadí e-learning vycházející z definice užšího pojetí. Jsou to tedy
způsoby vzdělávání, které jsou závislé na počítačových sítích (intranet, Internet, mobilní sítě
ad.). Studující má tedy volný přístup k potřebným studijním materiálům, jež se na síti nacházejí. Online e-learning lze dále rozdělit na dvě další podkategorie.
8.2.1.1
Synchronní
Je vyžadováno konstantní připojení a studující je schopen komunikovat s lektorem
v reálném čase. Je tedy navázána souvislá virtuální komunikace. Ta může mít různou podobu v závislosti na použitém komunikačním kanálu. Mezi hlavní představitele této kategorie
považujeme následující komunikační kanály a komunikátory.7
• Chat – jedná se o jednoho z nejznámějších představitelů synchronní komunikace
v reálném čase. Zainteresované osoby spolu komunikují v textové podobě. V dnešní době
se k chatování nejčastěji využívá facebook nebo specializované chatroomy.8 Unicorn
College a její školní informační systém Unicorn Universe, který je základem pro e-learning
v této instituci, nedisponuje přímou implementací chatu. Částečně ji ovšem nahrazuje
možnost komunikace v komentačních bodech či nad stavem artefaktu. Z pohledu praktického využití bych ovšem tyto způsoby komunikace zařadil spíše do kategorie asynchronního elearningu (viz následující kapitola).
• Audiokonference – dochází k přenosu hlasu v reálném čase mezi účastníky
konference. Jednoduše si lze audiokonferenci představit jako telefonát několika lidí
najednou, kdy každý slyší každého. Dochází k velice interaktivnímu přenosu informací. Veliké využití nalezneme u týmové práce či tzv. kolaborativního učení.9 Pro realizaci se často
využívá telefonování přes Internet (VoIP), nebo jakýkoli jiný software, který disponuje
možností uspořádání audiokonferencí. Mezi nejznámější zástupce patří Skype, ICQ, TeamSpeak a další. Informační systém Unicorn Universe tuto funkčnost pro studenty Unicorn
College nenabízí.
•
Videokonference – její základ tvoří přenos videa mezi účastníky konference.
Součástí je audiokonference, neboť v drtivé většině případů v oblasti vzdělávání nemá video
7
U každého příkladu bude vysvětlen jeho princip a poté bude popsáno několik způsobů, jak této
komunikace využívat, spolu s příklady programů, které se realizací této oblasti zabývaji. Nakonec
bude popsán způsob, jakým má popřípadě nemá tuto oblast pokryta Unicorn College.
8
Specializovaná webová stránka nabízející chatování nad různými tématy nebo kategoriemi. Je zde
možné vytvořit vlastní chatroom jen pro zvané hosty, který může posložit například pro komunikaci
lektora s vybranými studenty.
9
Metoda vzdělávání, ve které jsou studenti rozděleni do vícečlenných týmů. Díky společné
spolupráci a interakci ve skupině získává student požadované vědomosti nebo zkušenosti.
▪ 14 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
bez audia smysl. Prvek obrazu slouží pro rychlejší a hlubší vtáhnutí do děje či situace. Student má pocit, že se něčeho opravdu účastní. Videokonference má využití jak u přenosů
z lekcí nebo přednášek, tak jako podpora kolaborativního studia. Pro realizaci lze vyžít softwarové nástroje jako Skype, ICQ, TeamViewer, Microsoft NetMeeting, Microsoft Office Live
Meeting a další.
Unicorn Universe tuto funkčnost aktuálně nenabízí. Unicorn College ovšem plánuje
do budoucna něco takového zařadit do svého portfolia.
• Whiteboard – tento pojem se požívá jako označení virtuální tabule, na kterou
mohou všichni zúčastněni v reálném čase kreslit, psát nebo vkládat jiný obsah a jejich výstupy jsou okamžitě viditelné a dostupné pro všechny ostatní. Tuto funkčnost nabízí například
Microsoft NetMeeting nebo Microsoft Office Live Meeting.
• Sdílení aplikace nebo obrazovky – další způsob synchronního e-learningu využívaný v případech, kdy lektor názorně demonstruje nějakou funkčnost, nebo například
v programování implementuje v reálném čase aplikaci spolu se studenty, kteří vidí přesně to
samé, co lektor. Tuto funkčnost stejně jako předešlý whiteboard nabízí Microsoft NetMeeting, Microsoft Office Live Meeting, TeamViewer a další.
• Instant messaging – funkce velice podobná chatu s rozdílem nutnosti instalace
klientské aplikace (messenger) do počítače. Druhou diferenciací je možnost využití i u asynchronního e-learningu, kdy je odeslána zpráva doručena příjemci ihned po jeho připojení
k Internetu resp. messengeru. Mezi nejpoužívanější aplikace patří ICQ, Trillian, Miranda
nebo Jabber. V systému Unicorn Universe lze využít komunikaci v komentačních bodech,
zasílaní zpráv nebo komunikaci nad artefakty. Platí zde ovšem stejné omezení jako v případě chatu.
8.2.1.2
Asynchronní
Tento typ e-learningu je typický pro diskusní fóra. Účastníci komunikace spolu nekomunikují v reálném čase. Komunikace probíhá spíše formou odesílání zpráv popř.e-mailů.10
10 KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 13.
▪ 15 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.2.2
Offline e-learning
U tohoto způsobu vzdělávání není nutností nebo podmínkou připojení k síti či In-
ternetu. Offline e-learning svým pokrytím zasahuje do definice v širším slova smyslu. Studijní
materiály jsou obsaženy na paměťových discích (CD-ROM, DVD, Flash disc, externí HDD
ad.). Tento způsob bývá hojně využíván pro domácí samostudium a přípravu. Patří zde široká škála výukových programů, které bývají často dodávány spolu se zakoupenými knihami, a jsou určeny nejen k efektivnějšímu vstřebání informací, ale často také k otestování
nově nabytých znalostí.11
8.3
Vývoj e-learningu
Podle využití ICT technologií lze obecně rozdělit e-learning do několika úrovní, které
se postupně v čase vyvíjely a nadále rozvíjely.
Obrázek 2: Úrovně e-learningu
Zdroj 2: E-learning (nejen) pro pedagogy, vlastní úprava
11 KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s.13.
▪ 16 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.3.1
Počítačem podporované vzdělávání (1990 – 1999)
Tato úroveň e-learningu je spojena s offline e-learningem. Není tedy zapotřebí počí-
tačové sítě nebo připojení k internetu. Řadí se zde především vzdělávací programy, studijní
materiály nebo kurzy, které byly distribuovány na optických discích či jiných přenosných médiích. Nevýhodou CBT je téměř nemožná aktualizace distribuovaného obsahu. Informace
nebylo možné aktualizovat po síti ani z Internetu a jedinou možností bylo distribuovat novou
(aktualizovanou) verzi programu na přenosných médiích. V dnešní době je využíván většinou jen pro domácí vzdělávání s využitím speciálních offline vzdělávacích programů.12
8.3.2
Vzdělávání pomocí webových technologií (1997 – 1999)
Jedná se o jednu z prvních forem elektronického vzdělávání využívající online připo-
jení k Internetu. Vzdělávací materiály, programy nebo kurzy jsou distribuovány přes síť a přístup k nim má tedy každý student s připojením k intranetu či Internetu s patřičným oprávněním. Zde již řadíme jak synchronní, tak asynchronní verzi elektronického vzdělávání. Nejvýraznějším benefitem WBT je okamžitá aktualizace obsahu. Odpadá nutnost složité, časově
náročné a nákladné redistribuce. Na druhou stranu má WBT i jednu velkou nevýhodu a tou
je absence jednotné standardizace a administračních nástrojů.13
Vlivem zpřístupnění informací široké škále potencionální konzumentů, začal narůstat
i tlak na rozvoj a vývoj propracovanější administrace WBT. Začala tedy přicházet doba
řízeného vzdělávání.
8.3.3
Systémy řízeného elektronického vzdělávání (1999 – 2005)
Pojmem řízené, je myšleno ze strany Informačního Systému (IS) nebo programu.
LMS je tedy IS nebo jiný program, který je nasazen na serveru a poskytuje podporu výuky.
Tyto nástroje by měly poskytovat rozhraní pro tvorbu, aktualizací a administraci studijních
materiálů nebo kurzů v online prostředí daného IS. Dalšími vlastnostmi by měla být podpora
pro synchronní a asynchronní komunikaci mezi studujícími, lektory a školou. Také zde jsou
nástroje pro hodnocení studentů a jejich studijních výsledků. Výraznou odlišností od WBT,
kromě možnosti propracované administrace, je podpora zavedeným LMS standardů. Je tedy
možné exportovat data z jednoho systému a importovat je do jiného.14
12 VOŽENÍLEK, V. a kol. Klimatická změna v e-learningové výuce. Olomouc, 2010, s. 34.
13 KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 23–24.
14 VOŽENÍLEK, V. a kol. Klimatická změna v e-learningové výuce. Olomouc, 2010, s. 34.
▪ 17 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Neposlední důležitou vlastností LMS je možnost verifikace studentů (testování jejích
znalostí), které může být realizováno například pomocí SelfTestů.
8.3.4
Learning Content Management system
Jedná se o nástroje (systémy), které slouží k tvorbě a sestavování studijního obsahu
na té nejnižší úrovni a libovolně obsah kombinují. Lze tedy sestavit svůj vlastní kurz, popřípadě textový podklad k přednášce, pomocí kombinace několika již existujících obsahů.
Převládá zde myšlenka, že ne všechny části kurzu jsou stejně důležité nebo zajímavé pro
všechny studenty. Zvlášť pokud navštěvují stejný kurz studenti různého zaměření. Je tedy
možné vytvářet individuální plány a kurzy. Samozřejmě LCMS obsahují také stejné
funkčnosti jako LMS, nejsou tedy jejich úzkou specializací, ale spíše nadstavbou.15
15 KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006, s. 27–29.
▪ 18 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.4
Výhody a nevýhody e-learningu 16
Obrázek 3: Výhody a nevýhody e-learningu
Zdroj 3: Klimatická změna v e-learningové výuce, vlastní úprava
8.5
E-learning na Unicorn College
Nyní se podívejme, jakým způsobem realizuje elektronické vzdělávání UCL. Jaký
Informační sytém používá pro podporu vzdělávání, a které druhy e-learningu zaštiťuje.
8.5.1
Unicorn Universe jako LMS (LCMS)
Informační systém Unicorn Universe není specializovaný LMS ani LCMS. Jeho vyu-
žití je mnohem širší, ale obsahuje spoustu funkčností, které z něho vytváří dostatečně
schopný systém pro řízení elektronického vzdělávání na Unicorn College. Nedostatek má
v absenci funkčností pro podporu synchronního e-learningu. Unicorn College ovšem plánuje
16 VOŽENÍLEK, V. a kol. Klimatická změna v e-learningové výuce. Olomouc, 2010, s. 37–38.
▪ 19 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
do budoucna tento nedostatek odstranit. Dále budou stručně popsány vlastnosti, které Unicorn Universe z pohledu e-learningu nabízí.
8.5.1.1
Studijní materiály online
Škola může publikovat přednášky pro studenty online a umožnit jim tak jednodušší
přípravu na zkoušky, testy, nebo mohou posloužit v případě studentovy nepřítomnosti na
hodině. Výhodou tohoto řešení je veliká úspora času ze strany studenta. Nemusí trávit
spoustu času výpisky nebo vypracováváním svých vlastních materiálů. Student díky tomu
získá čas, který může věnovat důkladnějšímu studiu nebo seberealizaci. Navíc lze díky tomu
získat přehled o přednášce či hodině ještě před jejím samotným začátkem. Student si může
dané materiály dopředu nastudovat a svou účast na přednášce nebo hodině využít nejen
k poslechu, ale také k následné diskuzi či vysvětlení oblastí, které mu nejsou plně srozumitelné.
Tyto materiály lze jednoduše v systému vytvářet, aktualizovat a spravovat. Díky citacím je také velice jednoduché vytvářet vlastní kurzy na míru jako u LCMS.
8.5.1.2
Delegování úkolů a schůzek a komunikace
V systému je možné studentům posílat zprávy, úkoly nebo si domlouvat schůzky.
Celý proces docházení na přednášky a semináře, odevzdávání úkolů a komunikace s lektory
či studijním oddělením, je tedy plně elektronicky řízen. Student má v systému svůj kalendář,
kde vidí všechny nadelegované hodiny, kurzy, schůzky či aktivity.
Všechny novinky, které na škole probíhají, a o kterých by měli studenti vědět, jsou
publikovány na portále novinek, tím je zaručena aktuální informovanost.
8.5.1.3
Kolaborativní spolupráce na projektech
Pokud studenti pracují na zadaných projektech v týmech, řídí ho přímo v systému,
kde si vytvoří projektový portál a postupně vytvářejí výstupní obsah. Díky řízení projektu
v systému je zaručena dostupnost aktuálních a stejných dat pro všechny členy týmu. Ti
mohou navíc pro komunikaci využít zasílaní zpráv nebo si přímo delegovat úkoly, na kterých
budou pracovat.
▪ 20 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
8.5.1.4
Audio a videopodcasty
Téměř každý předmět, který je na škole vyučován, má na svém portále předmětu
v Unicorn Universe odkazy na stažení audio a video záznamů z přednášek. Ty jsou vhodné
obzvláště pro samostudium a také jako doplnění a oživení k e-learningu. Po nahrání těchto
záznamů do telefonu se může student vzdělávat kdekoli.
8.5.1.5
SelfTesty
Aktuálně vyvíjeným projektem na Unicorn College a zároveň předmětem této práce
je systém na testování znalosti (SelfTest systém). Ten umožňuje jednoduchý a rychlý způsob ověření znalostí tím, že studentovi zobrazí test složený z několika vybraných otázek
a student poté vybírá dle svého nejlepšího uvážení správné odpovědi. Nakonec se dozví výsledek. Výhodou je rychlé zmapování znalostní situace. Student poté ví, kde má mezery,
a které části přednášek by si měl ještě dostudovat nebo zopakovat.
▪ 21 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.
ANALÝZA A NÁVRH SELFTEST SYSTÉMU
V této praktické části se zaměříme SelfTest systém. Podíváme se, jakým způsobem
tento systém ovlivní dosavadní procesy UCL a jaký bude mít přínos.
9.1
Popis společnosti
Unicorn College s.r.o. sídlí v Praze. „Je velmi dobře materiálně vybavenou soukro-
mou vysokou školou, která deklaruje těžiště svého vzdělávání do oblasti profesního bakaláře. Značný důraz klade na propojení vzdělávací a tvůrčí činnosti s praxí (výraznou podporu
má v tomto ohledu ve firmě Unicorn). UCL dbá na transparentnost procesů, včetně procesu
přijímacího řízení (tj. na jasné dodržování nároku na kvalitu). Na velmi dobré úrovni je systém elektronických opor studia, což umocňuje transparentnost celého vzdělávacího procesu.
Tyto skutečnosti považuje sama vysoká škola za své silné stránky spolu se zdůrazněním, že
absolventi školy zůstávají v oboru.
UCL získala v roce 2006 státní souhlas k oprávnění působit jako soukromá vysoká
škola a akreditaci pro vzdělávací činnost v následujících studijních programech a oborech:
 Bakalářský studijní program Ekonomika a management
 studijní obor Ekonomika a management
 Bakalářský studijní program Systémové inženýrství a informatika
 studijní obor Informační technologie
 studijní obor Management ICT projektů
Oba studijní programy jsou akreditovány pro uskutečňování v prezenční i kombinované formě.“ (Geršlová a kol., 2010).
▪ 22 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.2
Klíčové procesy Unicorn College
Všechny procesy Unicorn College jsou spojeny se vzděláváním. Nemusí s ním sou-
viset přímo, ale svou podstatou umožňují jeho realizaci (proces akreditace nových oborů,
Imatrikulace nových studentů, přijímací řízení a další). Mezi klíčové procesy patří především
ty, které sehrávají důležitou roli v podpoře vzdělání. Následující obrázek zachycuje 4 hlavní
procesy, jejich vazby, vstupy, výstupy a cíle.
▪ 23 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Obrázek 4: Klíčové procesy Unicorn College
Zdroj 4: Vlastní ilustrace
▪ 24 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Žlutě zvýrazněný proces vzdělávání studentů, je pro nás z pohledu této práce naprosto klíčový. Navrhovaný SelfTest systém a SelfTest aplikace svou podstatou právě tento
proces obohatí. Detailně se na tento proces zaměříme v následující podkapitole.
9.2.1
Proces výuky
Jedná se o klíčový proces školy. Tento proces bude obohacen a rozšířen o navr-
hovaný SelfTest systém. Jak je z následujícího obrázku patrné, systém bude mít vliv na přípravu (samostudium) v období zkoušek a testů. Bude tedy umožňovat testování znalostního
portfolia studenta.
Unicorn ES
Powered University
SelfTesty
Přednáška Přednáška Projekt
Studenti
Nárust
Know How
Proces výuky v průběhu semestru
Zahájení výuky
Seminář
Seminář Workshop
Přidaná
hodnota
Příprava na
zkoušky a testy
Lektoři
Uzavření semestru
Promoce
Absolvent s přidanou
hodnotou
Obrázek 5: Proces - Výuka na UCL, vlastní ilustrace
Zdroj 5: Vlastní ilustrace
▪ 25 ▪
Složení zkoušek
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.3
Záměr
UCL chce svým studentů a partnerům nabídnout v rámci studijních materiálů, které
již má k dispozici v systému Unicorn Universe, také možnost otestovat znalosti v kontextu
daných studijních materiálů. UCL chce disponovat uceleným vzdělávacím balíčkem, jehož
součástí by měl být i způsob otestovat nabyté znalosti. Proto jsem si po konzultaci s vedoucím katedry IT, zvolil jako téma své bakalářské práce analýzu a design systému pro SelfTesty. Tento systém bude umožňovat studentům skládat SelfTesty (testy nanečisto) nebo
ostré testy z vybraných studijních okruhů (přednášek, topiců). Lektorům systém nabídne, pomocí jednoduchého uživatelského rozhraní, sestavování testů dle vybraných studijních oblastí a kritérií.
SelfTest systém doplní současné univerzitní vzdělávací materiály a dopomůže k vytvoření kompletního balíčku, jenž umožní studentům přednášky nejen přečíst nebo
zhlédnout, ale následně také otestovat své znalosti, případně si samotný SelfTest sestavit.
STS bude dostupný prostřednictvím webového rozhraní, ale UCL chce, aby byla jedna
funkční část systému (vytváření a skládání SelfTestů) přístupná i přes nativní mobilní aplikaci. Tato aplikace bude schopná pracovat v offline i online režimu. STS bude integrován i s
klíčovým firemním systémem Unicorn Universe (dále jen UU).
UCL již základní verzi STS provozuje. V první fázi projektu, o které pojednává tato
práce, chce UCL rozšířit dosavadní verzi o nové vlastnosti a funkčnosti, včetně podpory nativních mobilních aplikací. V rámci této etapy bude vytvořena prototypová mobilní aplikace
pro platformu Windows Phone 7.
Cílem je co nejefektivněji podpořit a zjednodušit způsob vzdělávání a přípravy na
testy studentům UCL.
Udržuje
Prohlížeč
Selftest system
Mobilní telefon
Mobilní aplikace
Uživatel
Obrázek 6: High level pohled na navrhované řešení
Zdroj 6: Vlastní ilustrace
▪ 26 ▪
Synchronizace dat
Administrátor
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.4
Shrnutí problému
UCL disponuje sofistikovaným e-learningovým systémem, který studentům nabízí
veškeré studijní předměty online. Chybí však možnost otestování znalostí a lektoři nemohou
efektivně vytvářet testy tak, aby je studenti v systému rovnou mohli vypracovat.
Obrázek 7: Očekávané přínosy pro zákazníka
Zdroj 7: Vlastní ilustrace
▪ 27 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.5
Definice projektu
V této kapitole budou popsány cíle, které očekáváme, že tento projekt naplní. Dále
se stanoví, co vše bude tímto projektem řešeno (definuje se rozsah) a nakonec bude uveden
seznam výstupů práce.
9.5.1
Cíle projektu
1. Zvýšení efektivity procesu vzdělávání na Unicorn College.
2. Zvýšení atraktivity vzdělávání.
3. Finanční přínos pro školu.
4. Vytvoření kompletního vzdělávacího balíčku (audio a video přednášky, textové
podklady a SelfTesty).
9.5.2
Rozsah
Realizování projektu (nasazení nové verze SelfTest systému) ovlivní všechny lektory
na Unicorn College, včetně vedení. Bude nutné provést školení, kde bude demonstrován
způsob požívání a administrace systému. Spolu se s ním bude předán všem zúčastněným
krátký uživatelský manuál. Školení pro studenty nebude nutné. Uživatelské rozhraní je velice
jednoduché a intuitivní.
Hlavními požadavky, z pohledu systému, jsou schopnost vytvářet, generovat, řešit
a vyhodnocovat SelfTesty. S tím úzce souvisí nutnost rozhraní, které umožní lektorů plnit
systém daty (otázkami), z kterých budou SelfTesty generovány.
Z pohledu nativní mobilní aplikace jsou klíčovými požadavky generování a vyhodnocení SelfTestů, aktualizace a synchronizace se systémem. Mobilní aplikace je určená především pro studenty, proto zde není implementováno rozhraní pro administraci ze strany lektorů. Veliký důraz je kladen na spolupráci se systémem, ze kterého bude aplikace získávat
data.
Nasazení STS do produkčního prostředí neovlivní, z pohledu studenta, dosavadní
zavedené procesy. Dojde pouze k jejich doplnění. V rámci procesu vzdělávání budou mít
studenti navíc možnost využít funkčností tohoto systému k přípravě na testy či zkoušky.
▪ 28 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
K výraznějšímu ovlivnění dojde ze strany lektora. Ten bude muset (na popud vedení
školy) plnit systém daty, což zabere jeho čas. SelfTest systém je významný benefit, který
může ovlivnit potenciální zájemce o studium na škole.
Pomocí reportů, které systém nabízí, bude mít vedení možnost porovnat úspěšnost
studentů, jež systém využívali jako přípravu na testy, se studenty, kteří systém nevyužili.
Pokud budou úspěšnější studenti využívající systém, lze jej za určitých podmínek (předešlé
výsledky studenty, počet studentů) prohlásit jako faktor, který prokazatelně přispívá ke
zvýšení vědomostí.
Nejvyšší prioritou je bezproblémová spolupráce mezi systémem a všemi doplňujícími aplikacemi, které s ním budou komunikovat a spolupracovat. Poté bude tento systém
(benefit) prezentován zájemcům o studium.
Pokud nasazení proběhne hladce a studenti systém přijmou, dojde k zefektivnění výuky a přípravy na testy čí zkoušky. Unicorn College bude disponovat kompletním vzdělávacím systémem a dojde k upevnění jejího postavení jak na poli soukromých, tak veřejných vysokých škol.
9.5.3
Výstupy projektu
Název
Popis
SelfTest mobilní
aplikace
Nativní mobilní aplikace, která umožňuje studentům a partnerům školy
testovat a ověřovat jejich znalosti ve vybraných oblastech. Na rozdíl od
systému nenabízí administrační rozhraní pro lektory. Aplikace je na
systému závislá, protože zde dochází k synchronizaci dat.
Analýza a design
Dokument zachycuje dosavadní funkčnosti a schopnosti systému
rozšíření SelfTest
a detailně analyzuje a popisuje navrhovaná rozšíření.
systému
Technický projekt
Dokument kompletně popisující navrhovaný systém ve všech úrovních
abstrakce. Popisuje jak SelfTest systém, tak mobilní aplikaci.
Dokumentace
Dokumentace k projektu, která bude složit jako specifikace popisující
kompletně celý IS.
Zdrojové kódy
Veškeré zdrojové kódy včetně knihoven, které jsou nutné pro nasazení
do produkčního prostředí.
Tabulka 1: Výstupy projektu
▪ 29 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.6
Identifikace požadavků
Požadavky na software se standardně dělí do dvou kategorií – funkční a nefunkční.
Mezi funkční se řadí především ty požadavky, které kladou nároky na funkce software. Nefunkční požadavky se naopak zaměřují na výkonnost, podporu, bezpečnost, grafické rozhraní a další aspekty.
9.6.1
Funkční požadavky
Funkční požadavky jsou rozděleny do dvou kategorií. První jsou požadavky na celý
systém a druhou kategorií jsou požadavky na nativní mobilní aplikaci, která je také součásti
zadání.
 Absolvování cvičných testů
 Student si vybere oblast (předmět, topicy), ze které si chce nechat vygene-
rovat test, počet otázek a test se automaticky vygeneruje. Po zodpovězení
všech otázek se test vyhodnotí a ihned informuje studenta o dosaženém výsledku.
 Evidence historie
 Všechny absolvované testy se ukládají na daný studentský účet, kde je
možno shlédnout historii všech dosažených výsledků.
 Reporty pro univerzitu
 Statistické údaje, jako počet absolvovaných testů na předmět, úspěšnost
studentů, nejaktivnější studenti atp., by měly být v podobě přehledných
reportů dostupné pro vedení školy.
 Evidence testových otázek
 Univerzitní lektoři vytvářejí testovací otázky v externích souborech, které
mají předem danou strukturu. Tyto dokumenty jsou nahrány do systému
a dále zpracovávány.
 Otázky mohou být vytvářeny přímo v prostředí systému.
 Úprava nebo mazání otázek je možné pouze v systému.
▪ 30 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
 Vytvoření SelfTestu
 SelfTest muže být vytvořen dvěma způsoby:
 Vytvoření vlastního testu – Lektor sám vybere, které otázky v tes-
tu chce. Každá otázka má definovanou bodovou hodnotu. Výsledkem je na míru vytvořený SelfTest.
 Vytvoření testu podle šablony – Tento způsob je jednodušší. Lek-
tor vybere oblasti, ze kterých chce test vygenerovat a počet otázek.
Systém poté sám SelfTest vygeneruje. U tohoto způsobu ztrácí lektor kontrolu nad vybranými otázkami.
 Nově vytvořený SelfTest je na své vlastní webové adrese, na kterou je
možné jednoduše odkázat hypertextovým odkazem například v UU.
 Absolvování ostrých testů v systému
 Lektor sestaví test a ten uloží v systému. Studenti se v den konání testu
(přednáška, test, zkouška) přihlásí do systému a otevřou si připravený test.
Během časem vymezené doby, studenti odpoví na všechny otázky a odešlou test k vyhodnocení. Obratem zjistí, jakého dosáhli výsledku. Výsledek
se uloží a bude k dispozici lektorům.
 Automatické generování SelfTestů
 SelfTest se sám rychle a jednoduše vygeneruje a poté i vyhodnotí. Vše pro-
bíhá automatizovaně a uživatelé systému mohou věnovat svůj čas a pozornost pouze na absolvování testů. Navíc systém šetří čas i lektorům, kteří
si mohou nechat test rychle vygenerovat a poté ho jen vytisknou, nebo jej
dají studentům napsat přímo na počítači a nemusí se starat ani o vyhodnocování.
 Administrace uživatelských účtů
 Vlastník účtu bude mít možnost měnit své údaje. Administrátor bude moci
kompletně spravovat (CRUD) všechny uživatelské účty.
 Administrace SelfTestů
 Lektor bude moci vyhledávat, editovat či mazat jím vytvořené SelfTesty.
▪ 31 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
 Načtení (vytvoření) SelfTestu z externího souboru
 Lektor bude mít možnost vytvořit test např. v excelu, kde vyplní data do při-
pravené šablony, a tento soubor se poté nahraje do systému, který ho následně zpracuje a vygeneruje SelfTest, nebo jen uloží nové otázky do databáze.
Mobilní aplikace bude obsahovat, oproti systému, pouze některé funkčnosti. Je zbytečné umožňovat v mobilní aplikaci například vytvářet testovací otázky. Mobilní platforma
není vhodná pro psaní rozsáhlejších textů, proto bude tato aplikace podporovat jen následující oblasti:
 Sestavování a absolvování SelfTestů
 Student si vybere předmět a topicy (témata), ze kterých chce test vygene-
rovat a aplikace ho sestaví. Uživatel poté vybere správné odpovědi (dle svého uvážení), následuje vyhodnocení a uložení SelfTestu do historie.
 Prohlížení historie
 Aplikace obsahuje historii vyřešených SelfTestů. Ty je možné prohlížet.
Ukládá se kompletní SelfTest, ne jen údaje o počtu dosažených bodů. Lze
tedy vidět všechny otázky a odpovědi.
 Synchronizace
 Při prvním spuštění aplikace, dojde k navázání komunikace se systémem
a stažení vybraných předmětů, spolu s jejich topicy a otázkami.
 Aplikace má poté svou vlastní databázi testovacích otázek, ze kterých je
možno generovat SelfTesty. Díky tomu je možné aplikaci plně využívat
i v režimu offline.
 Uživatel má možnost si dodatečně stáhnout další data (otázky) nebo aktua-
lizovat stávající.
▪ 32 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.6.2
Nefunkční požadavky
 Dostupnost prostřednictvím internetu
 Systém bude dostupný pomocí internetu a běžně používaného webového
prohlížeče.
 Dostupnost 24x7
 Systém bude dostupný 24x7 (přesná hodnota bude specifikována v SLA),
případné odstávky systému budou předem oznámeny a budou prováděny
v době, kdy bude systém vytížen nejméně. Systém by měl být dostupný po
celý den, ovšem předpokládá se, že na začátku semestru bude systém
celkově vytížen mnohem méně než v polovině a ke konci semestru, kdy se
píšou testy. Větší vytížení se očekává i v průběhu noci před zkouškami a
testy. Zvláště v zápočtových týdnech a v průběhu zkouškového období, musí
být systém dostupný.
 Integrace s mobilními zařízeními
 Systém bude mít multiplatformní komunikační API, díky kterému nebude
problém vytvářet nové nativní aplikace, které budou se systémem
komunikovat a umožňovat tak provádět SelfTesty na různých koncových
zařízeních.
 Snadná rozšiřitelnost a škálovatelnost
 Systém bude připraven na růst testovaných studijních oblasti a počet
uživatelů.
 Systém musí být připraven na podporu (komunikační API) pro více než
jednoho mobilního zařízení.
 Do budoucna se plánuje vývoj nativních aplikací pro ostatní mobilní
platformy.
 Reportován pro vedení
 Vedení školy bude mít k dispozici informace o výsledcích a úspěšnosti
studentů.
▪ 33 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
 Jazyková mutace
 Mobilní aplikace bude dostupná ve třech jazykových mutacích (CZ, EN, SK),
především kvůli zahraničním studentům studujících v anglickém jazyce.
SelfTesty budou přístupné jak českým a slovenským studentům, tak
studentům studujících v anglickém jazyce.
 Dostatečný výkon
 Systém by měl bez problému generovat a vyhodnocovat testy pro všechny
studenty. Především musí zvládnout větší vytížení ve výše zmíněných
termínech.
 Zabezpečený „role based“ přístup
 Pro přístup do systému bude nutné přihlášení, každý uživatel bude obsazen
v definované roli (viz. Aktéři v kapitole o UC).
9.7
High Level pohled na architekturu
Následující obrázek zachycuje základní pohled na architekturu SelfTest systému
a SelfTest aplikace. Je zde znázorněna vnitřní struktura komponent, vrstvy, ze kterých se
systém a aplikace skládají a základní koncept komunikace mezi těmito systémy.
▪ 34 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Seftest systém
Prezentační vrstva
Browser
GUI
Business vrstva
Vytváření
testů
Správa
testů
Databázový
Controller
Komunikační Reportovací
Controller
Controller
Controller
Uživ. účtu
Integrační vrstva
Datová vrstva
Uživatel
Databáze
Databáze
testových otázek uživatelů
Webové služby
Synchronizace dat
Mobilní aplikace
Integrační vrstva
Prezentační vrstva
Smartphone
Webové služby
GUI
Business vrstva
Správa
testů
Datová vrstva
Controller
Komunikační Databázový
uživatelského Controller
Controller
účtu
Obrázek 8: Přehled architektury
Zdroj 8: Vlastní ilustrace
▪ 35 ▪
Databáze
testových otázek
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.7.1
Popis
Podle aktuálně nasazené verze bude systém postaven na frameworku Ruby on
Rails, jako databáze bude využita mySQL. Mobilní aplikace bude vyvinuta pro platformu
Windows Phone 7, která je postavena na technologii Silverlight ve verzi 3, jež je speciálně
upravena právě pro WP7.
Data budou v mobilní aplikaci ukládaná ve formátu XML, stejný formát budou mít
i data, která si mezi sebou systém a aplikace budou zasílat. Pro práci s XML daty na straně
aplikace bude využito rozšíření Linq to XML, které poskytuje .NET Framework.17
Webová služba sloužící pro komunikaci s mobilní aplikací bude nasazena na
stejném serveru jako samotný systém.
Bližší detaily ohledně navržené architektury naleznete v technickém projektu, který
je na v příloze na CD.
17 Detailní popis komunikace a práce s daty na straně aplikace je popsán v kapitole 10.
▪ 36 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
9.8
Klíčové funkčnosti
V této kapitole budou představeny klíčové Use Cases 18, které jsou, nebo budou
v systému obsaženy. Následující obrázek je Use Case diagram komponenty Správa testů.
Jedná se pouze o jednu z několika komponent. Zbylé diagramy a detailní popis všech UC
naleznete v technickém projektu, který je součástí přílohy této práce.
<<
inc
l ud
e>
>
Vytvoř vlastní test
clud
<< in
Uživatel
Admin
e >>
Vygeneruj test
Vytvoř test
podle šablony
Lektor
Importuj data
Vygeneruj odkaz
Unicorn
Universe
Zobraz test
z odkazu
Uživatel
ude >>
<< incl
<< i
nclu
d
Udělej test
Vyhodnoť test
e >>
Aktualizuj historii
Student
Partner
Obrázek 9: Use Case diagram - Komponenta Správa testů
Zdroj 9: Vlastní ilustrace
18 Use Case (dále UC) slouží k popsání sady akcí spouštěných systémem, které vedou k očekávaným
výsledkům. Tyto výsledky vyžaduje příslušný Actor nebo zainteresovaná osoba, UC popisuje, co
systém má dělat, nikoliv jak se to má dělat. Zachycuje konkrétní funkčnost či chování v systému,
včetně všech možných variant. Popisuje chování systému, komponenty, podsystému či třídy a to bez
ohledu na jeho vnitřní strukturu. UC se obvykle označuje elipsou a jménem.
▪ 37 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
V tabulce níže jsou stručně popsány Use Cases, které jsou zachyceny na obrázku 9.
Detailní popis všech UC naleznete v příloze.
Kód
Název
Popis
UC01
Vytvoř vlastní test
Lektor vytvoří test způsobem, při kterém sám vybírá
otázky, které budou obsažené v testu. Nejdříve se určí
oblast, ze které bude test vytvořen. Poté systém
zobrazí všechny otázky obsažené v této oblasti. Lektor
vybírá z otázek, které mu systém nabízí. Každé otázce
se přiřadí bodová hodnota.
UC02
Jednodušší verze předešlého UC. lektor vybere pouze
oblast, ze které bude test sestaven, počet otázek,
Vytvoř test podle šablony
počet bodových hodnot otázek a celkový počet bodů
testu.
UC03
Vygeneruj test
Vygenerování samotného testu podle parametrů
zadaných uživatelem. Výsledkem je sestavený testový
formulář. U každé otázky je možné zaškrtnout
správnou odpověď.
UC04
Vygeneruj odkaz
Systém vygeneruje hypertextový odkaz, skrze který se
můžou studenti, například z UU, jednoduše a rychle
dostat na SelfTest.
UC05
Zobraz test z odkazu
Po kliknutí na hypertextový odkaz je student
přesměrován na webovou adresu, na které se zobrazí
připravený SelfTest.
UC06
Udělej test
Zobrazí vygenerovaný testový formulář. Vybrání
správných odpovědí na otázky v testovém formuláři.
Vyhodnoť test
Systém zpracuje vyplněný testový formulář. Dojde ke
kontrole všech zvolených možností podle správných
odpovědí. Následně se vypočítá počet dosažených
bodů. Uživateli se zobrazí opravený formulář, na
kterém jsou navolené odpovědi spolu se správnými
odpověďmi na všechny otázky. Nechybí bodové
ohodnocení.
Importuj data
Proces načtení a zpracování otázek a odpovědí
z externího souboru. Načtená data jsou převedena
a uložena do systémové databáze k dalšímu
používání.
UC07
UC08
Tabulka 2: Stručný popis UC, komponenty Správa testů
▪ 38 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.
IMPLEMENTACE SELFTEST APLIKACE
V této kapitole se bude popsán na způsob, jakým byly výše zmíněné funkce imple-
mentovány v SelfTest aplikaci. Nebudou chybět ukázky uživatelského rozhraní a vybraných
kusů zdrojového kódu (všechny zdrojové kódy včetně aplikace jsou v příloze na CD).
Nejprve se ale blíže podívejme na platformu Windows Phone 7.
10.1
Windows Phone 7
Windows Phone 7 je nově nastupující mobilní platformou do společnosti Microsoft.
Její předchůdce Windows Mobile již přestal stačit konkurenčním mobilním platformám, které
přinášely propracované grafické rozhraní, jednoduché a velmi moderní uživatelské rozhraní
a možnost jednoduchého ovládání pouze prsty. Společnost HTC sice nad Windows Mobile
stavěla svou vlastní grafickou nadstavbu (jak tomu ostatně dělá dodnes například nad
Androidem), ale ani to tomuto systému nepomohlo od úpadku.
Microsoft musel začít hledat cestu, jak se udržet na poli mobilních operačních systémů. Padlo rozhodnutí o vývoji úplně nové mobilní platformy, ne
pouhé další verze Windows Mobile, nebo
její nadstavby či upgrade, ale úplně nového mobilního operačního systému. To je
také jedním z důvodů nekompatibility
aplikací, které byly vyvinuty pro Windows
Mobile 6.5.
V roce 2008 došlo k reorganizaci
týmu, který se zabýval vývojem Windows
Mobile, a začal vývoj Windows Phone 7
(dále jen WP7). Vývoj probíhal rychle
a v únoru 2010 byl odhalen. K jeho vydání došlo 21. října 2010 v Evropě a o
měsíc později v Severní Americe. Hlavní
historické body shrnuje obrázek 10.
Zdroj 10: en.wikipedia.org, Převzato
Obrázek 10: Historie Windows Phone 7
▪ 39 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.1.1
Platformy pro vývoj aplikací
Pro WP7 nebyl vyvinut žádný nový nebo speciální programovací jazyk či Fra19
mework . Microsoft pouze přizpůsobil již existující. K vývoji aplikací můžete použít
programovací jazyk C#, nebo Visual Basic, které zaštiťuje .NET Framework 20. Navrch se
platforma WP7 skládá z dvou hlavních Frameworků: Silverlight a XNA. Silverlight se používá
převážně k vývoji business aplikací a jednoduchých 2D transformací. K vývoji her a složitějších 3D transformací a vizualizací se naopak využívá XNA.21
Silverlight používá XAML22 a návrháři mají poměrně volnou ruku při výběru nástroje,
ve kterém budou uživatelské rozhraní navrhovat. Ukázku jednoduchého XAML kódu zachycuje následující obrázek.
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.Background>
<ImageBrush ImageSource="Images/erb1.png" />
</Grid.Background>
<!--TitleGrid is the name of the application and page title-->
<Grid x:Name="TitleGrid" Grid.Row="0">
<TextBlock Text="{Binding Path=LokalizovaneZdroje.nazev,
Source={StaticResource LokalizovaneTexty}}"
x:Name="textBlockPageTitle"
Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock Margin="0,10,0,0"
Text="{Binding Path=LokalizovaneZdroje.hlavniMenu,
Source={StaticResource LokalizovaneTexty}}"
x:Name="textBlockListTitle"
Style="{StaticResource PhoneTextTitle1Style}"/>
</Grid>
</Grid>
19 Softwarová struktura, která slouží jako podpora při programování, vývoji a organizaci jiných
softwarových projektů. Může obsahovat podpůrné programy, knihovny, API, návrhové vzory nebo
doporučené postupy při vývoji.
20 Framework vyvíjený Microsoftem, společný pro většinu jejich vývojových platforem.
21 LEE, H., CHUVYROV, E. Beginning Windows Phone 7 Development. New York: Apress, 2010,
s. 7.
22 XAML (Extensible Application Markup Language), deklarativní značkovací jazyk pro vytváření
grafického uživatelského rozhraní.
▪ 40 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.1.2
Vnitřní struktura WP7
Struktura projektu, který je vyvíjen pro WP7, se skládá z XAML souborů, jež vytvářejí
uživatelské rozhraní a grafiku. „Code behind“ souborů, které daným XAML souborům definují
obsluhu událostí a logické chování. Každý XAML soubor má jeden „code behind“. Složitější
funkce a algoritmy je vhodné implementovat v separátních třídách nebo knihovnách.
Při kompilaci projektu dojde k vytvoření .xap souboru, který je ve finále nahráván na
cílového zařízení, kde bude aplikace spuštěna. Je to tedy obdoba klasického .exe souboru
ve Windows.
10.1.3
Persistence dat ve WP7
Data, která aplikace využívá, mohou být uložena na několika místech. První
možností je lokálně, jako součást .xap souboru, to v případě, že existují data již při kompilaci
a poté jsou přístupná pouze v režimu pro čtení. Pokud budou data získávána až za běhu
aplikace, tak druhou možností je ukládání do izolovaného úložiště (Isolated Storage). Třetím
způssobem je persistence do cloudové databáze přes webové služby.
Izolované úložiště není fyzicky ve spouštěcím souboru aplikace. Tento prostor je
udělován a spravován systémem. Můžeme tedy jednoduše říci, že se jedná o externí databázi aplikace v zařízení. Pojem databáze ovšem není příliš vhodný, neboť WP7 nenabízí
podporu pro žádnou databázi v pravém slova smyslu. Na rozdíl od Windows Mobile, kde
mohli využívat vývojáři SQL Server Compact, ve Windows Phone 7 tato podpora chybí. Pro
ukládání dat lze tedy využít pouze XML, JSON, textové nebo binární soubory.
V izolovaném úložišti jsou ukládány dva druhy dat. Lokální nastavení (Local
Settings) a uživatelské datové soubory. Lokální nastavení je soubor, do kterého jsou ukládány informace ve tvaru klíč – hodnota. Vývojáři mohou v tomto úložišti také vytvářet složky
a složkové struktury, které slouží pro větší přehlednost při ukládání dat. Přehled možností
persistence dat a logickou organizaci izolovaného úložiště zachycuje následující obrázek.
Zdroje, které má aplikace k dispozici, jsou samozřejmě omezené. Proto by měla být v paměti
zařízení ukládána jen ta nejdůležitější data. Pokud bude mít telefon k dispozici 10% a méně
volné paměti, obdrží uživatel zprávu o nedostatku paměti pro aplikaci a ta může být
i okamžitě ukončena.23
23 ZHU, X. dotnetslackers.com [online]. 8.3.2011 [cit. 2011-03-20]. Windows Phone 7
Silverlight Programming – Isolated Storage. URL: <http://dotnetslackers.com/articles/silverlight/Windows-Phone-7-Silverlight-Programming-Isolated-Storage.aspx>
▪ 41 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Obrázek 11: Možnosti persistence dat ve WP7
Zdroj 11: http://dotnetslackers.com/articles/silverlight/Windows-Phone7-Silverlight-Programming-Isolated-Storage.aspx, Upravená ilustrace
▪ 42 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.2
Implementované funkčnosti
Mobilní aplikace disponuje pouze funkčnostmi, které využije student. Není zde
implementováno žádné rozhraní pro administraci či editaci. Umožňuje tedy především
testování znalostí SelfTesty, které si sám student na mobilním zařízení vygeneruje. Data, ze
kterých se SelfTesty generují, jsou stažena ze systému. Uživatel má možnost si SelfTesty
ukládat do historie a zpětně si je procházet.
Obrázek 12: Use Case diagram SelfTest Aplikace
Zdroj 12: Technický projekt, Vlastní ilustrace
▪ 43 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Všechny stažené předměty se zobrazují v nabídce při vytváření SelfTestu. Pokud
uživatel zapomněl nějaký předmět vybrat, nebo ho v danou chvíli nepotřeboval, může v nabídce Aktualizace v hlavním menu daný předmět nalézt a dodatečně stáhnout.
10.3
Persistence dat v SelfTest aplikaci
Aplikace neukládá žádná data lokálně přímo do aplikace. Všechna data a nastavení
jsou uložena v izolovaném úložišti. Data se tedy přenáší mezi cloudovou databází (SelfTest
systém database) a izolovaným úložištěm aplikace. Při prvním spuštění aplikace, dojde
k navázání komunikace se SelfTest systémem a k následnému stažení seznamu
dostupných předmětů. Uživateli se tento seznam zobrazí a vybere si ty předměty, o které
v tu chvíli jeví zájem (nedochází tedy ke stažení všech). Poté se tyto předměty se všemi
jejich otázkami stáhnou ze systému a uloží do zařízení.
Všechna data jsou ukládaná ve formátu XML. K operacím nad nimi je využit Linq to
XML. Data, která jsou přijímána aplikací, jsou již ze systému odesílána ve formátu XML.
Systém sám podle přijatého požadavku sestaví požadovaný soubor a odešle ho SelfTest
aplikaci, která ho poté uloží do svého izolovaného úložiště.
Detailní struktura dat v aplikaci je zachycena na následujícím obrázku.
Obrázek 13: Izolované úložiště SelfTest Aplikace
Zdroj 13: Vlastní ilustrace
▪ 44 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.4
Načtení dat při prvním spuštění
Jedná se o jeden z klíčových procesů, který aplikace realizuje. Dochází k navázání
komunikace se SelfTest systémem a ukládání dat do aplikace. Stručně je tento proces zachycen na následujícím obrázku.
Obrázek 14: Proces prvního spuštění
▪ 45 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Při prvním spuštění aplikace dochází k ukládání defaultního nastavení do Local
Settings. Přitom dojde i k identifikaci, že se jedná o první spuštění aplikace, a místo zobrazení hlavního menu, se zobrazí obrazovka prvního spuštění.
//Pokud se aplikace spouští poprvé, zobrazí se obrazovka Prvního
//spuštění
if (Settings.CheckFirstStart() == true)
{
//Uložení nastavení aplikace
Settings.SetLocalSettings();
Uri nUri = new Uri("/FirstStart.xaml", UriKind.Relative);
((App)Application.Current).RootFrame.Navigate(nUri);
}
Jako první se tedy objeví obrazovka FirstStart.xaml, na které je zobrazena informace
o následujících krocích a tlačítko, jehož událost OnClick vyvolá odeslání požadavku na seznam předmětů. Uživatelské rozhraní obrazovky FirstStart.xaml ilustruje následující obrázek.
Obrázek 15: Uživatelské rozhraní
obrazovky FirstStart.xaml
▪ 46 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Při procesech, které mohou trvat delší dobu, jako generování ST nebo právě
stahování dat ze systému, je uživateli zobrazena obrazovka indikující načítání nebo zpracovávání dat. Této obrazovce říkáme BackGroundWorker (Loading...). Po kliknutí na tlačítko
Stáhni předměty (Get subjects), se zobrazí BackGroundWorker a odešle požadavek skrze
webovou službu na seznam dostupných předmětů (metoda GetListOfSubjects).
//Vyvolání webové služby a čekání na zpracování požadavku
//Mezi tím je zobrazen Loading...
void backroungWorker_DoWork(object sender, DoWorkEventArgs e)
{
//Asynchronní vyvolání metody webové služby na
//seznam dostupných předmětů
client.GetListOfSubjectsAsync();
// backroungWorker je zobrazen dokud, není ukončena tato metoda
//Po 50ms intervalech kontrolujeme, zda došlo
//ke stažení seznamu předmět (down = true)
while (down == false)
{
Thread.Sleep(50);
}
}
Jakmile dojde ke stažení XML souboru se seznamem dostupných předmětů, je
spuštěna událost GetListOfSubjectsCompleted. Ta vyvolá metodu, která zpracuje přijatý
XML soubor. Poté nastaví příznak stažení na true (podle toho pozná BackGroundWorker, že
došlo ke dokončení stahování a ukončí se) a nakonec dojde k přesměrování na následující
obrazovku, kde již bude zobrazen seznam dostupných předmětů.
//Metoda je vyvolána pokud dojde k úspěšnému stažení dat ze systému
void client_GetListOfSubjectsCompleted(object sender,
ServiceReference.GetListOfSubjectsCompletedEventArgs e)
{
//Načtení předmětů z XML souboru
Store.aktualniPredmety =
XMLManager.LoadPredmety(XDocument.Parse(e.Result));
//Nastavení příznaku, že došlo ke stažení
down = true;
//Přesměrování na obrazovku s výběrem dostupných předmětů
NavigationService.Navigate(new Uri("/FirstStartSubjects.xaml",
UriKind.Relative));
}
▪ 47 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Metoda LoadPredmety třídy XMLManager zpracovává přijatý XML soubor a zpět
vrací objektovou podobu seznamu dostupných předmětů. K práci se souborem je využito
Linq to XML. Soubor se neukládá ihned do izolovaného úložiště, k uložení dojde až v příštím
kroku, kde uživatel specifikuje, které předměty chce stáhnout.
/// <summary>
/// Na základě načteného XDocumentu z XML souboru vytvoří objektový List
předmětů
/// </summary>
/// <param name="loaded">XML XDocument předmětů</param>
/// <returns>List objektů předmětu</returns>
public static List<Predmet> LoadPredmety(XDocument loaded)
{
//Načtení listu předmětů z přijatého XDocumentu pomocí do Linq dotazu.
//Načítá se vše co je v elementu "subject" výsledný dotaz je rovnou
přetypován na generický list
List<Predmet> result = (from c in loaded.Descendants(predmet)
select new Predmet
{
Nazev = (string)c.Attribute(nazev),
Topicy = (from b in loaded.Descendants(topic)
where (string)b.Parent.Parent.Attribute(nazev) ==
(string)c.Attribute(nazev)
select new Topic
{
Nazev = (string)b.Attribute(nazev)
}).ToList<Topic>()
}).ToList<Predmet>();
return result;
}
Je důležité, aby přijatý XML soubor měl definovanou strukturu, protože jinak by nebylo možné tento soubor zpracovat. Při dotazování nad souborem definujeme, kde hledáme
(element nebo atribut). Soubor, který dodržuje definovanou strukturu a může být tedy odeslán k zpracování do aplikace, zachycuje následující ukázka.
<?xml version="1.0" encoding="utf-8" ?>
<subjects>
<subject name="Bezpecnost a ochrana dat">
<topics>
<topic name="Prednaska 1" />
<topic name="Prednaska 2" />
</topics>
</subject>
<subject name="Matematika 1">
<topics>
<topic name="Prednaska 1" />
<topic name="Prednaska 2" />
</topics>
</subject>
</subjects>
▪ 48 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Po zpracování souboru a načtení seznamu předmětů dojde k přesměrování na obrazovku FirstStartSubjects.xaml, na které je zobrazen seznam dostupných předmětů ve formě ListBoxu, ze kterého je možné vybrat libovolný počet předmětů.
Uživatel si vybere předměty, o které má zájem a zmáčkne tlačítko Potvrdit (Submit),
které
spustí
obslužnou
metodu
pro
událost
OnClick.
Dojde
opět
k
zobrazení
BackGroundWorkeru a k navázání komunikace s webovou službou. Volána je metoda GetSubject, která jako parametr přijímá název předmětu, pro který má aplikaci odeslat jeho XML
soubor. Tato metoda je volána v cyklu, pro každý vybraný předmět zvlášť. Detailní popis
chování po zmáčknutí tlačítka Potvrdit (Submit) zachycuje následující kód.
//Vyvolání webové služby a čekání na zpracování požadavku
//Mezi tím je zobrazen Loading...
void backroungWorker_DoWork(object sender, DoWorkEventArgs e)
{
//Vytvoření nového prázdného listu předmětů
List<Predmet> vybranePredmety = new List<Predmet>();
▪ 49 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
//Procházení seznamu vybraných předmětů
foreach (var s in lstPredmety.SelectedItems)
{
//Do vybraných předmětů uložíme ty, které si uživatel vybral.
vybranePredmety.Add(Store.aktualniPredmety.First
(a => s.ToString() == a.Nazev));
//Pro každý předmět komunikujeme s webovou službou,
//která zpětně odešle XML soubor pro požadovaný předmět
client.GetSubjectAsync(s.ToString());
}
//Do listu aktuálních předmětů uložíme vybrané
Store.aktualniPredmety = vybranePredmety;
//Pokud se nejedná o první spuštění, ale o aktualizaci
//stare - list již stažených předmětů,
//pokud se aplikace spouští poprvé je prázdný
if (stare.Count != 0)
{
//Vybrané předměty se zaktualizují přes referenci aktuálních
Store.aktualniPredmety.AddRange(stare);
}
//Uložení seznamu vybraných předmětů s jejich topicy do souboru
"Predmety.xml"
XMLManager.SavePredmety(vybranePredmety);
//BackroungWorker je zobrazen, dokud není ukončena tato metoda
//Po 50ms intervalech kontrolujeme, zda došlo
//ke stažení seznamu předmět; (down = true)
while (down == false)
{
Thread.Sleep(50);
}
}
Až zde dochází k uložení seznamu vybraných předmětů do souboru Predmety.xml.
O vytvoření XML souboru z objektového listu předmětů se stará metoda SavePredmety třídy
XMLManager. Jakým způsobem k vytvoření souboru dochází, popisuje následující kód.
/// <summary>
/// Uložení Listu předmětů do XML souboru
/// </summary>
/// <param name="subjects">List předmětů, který chceme uložit do XML
public static void SavePredmety(List<Predmet> subjects)
{
using (IsolatedStorageFile storage =
IsolatedStorageFile.GetUserStoreForApplication())
{
//Vytvoření základní kostry XML dokumentu - hlavička a root
element "predmety"
XDocument _doc = new XDocument(new XDeclaration("1.0", "utf-8",
"yes"), new XElement(predmety));
▪ 50 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
//Procházení všech předmětů, které jsou uloženy v seznamu
foreach (Predmet sub in subjects)
{
//Pro každý předmět se vytvoří nový XElement "predmet" a
vytvoří se mu atribut "nazev" a child element "topicy"
XElement Xsub = new XElement(predmet, new XAttribute(nazev,
sub.Nazev), new XElement(topicy));
//Procházení všech topiců, které předmět má
foreach (Topic top in sub.Topicy)
{
//Pro každý topic se vytvořen nový element "topic" a jeho
atribut "nazev"
XElement Xtop = new XElement(topic, new
XAttribute(nazev,top.Nazev));
//Vytvořený elemetnt topicu se přidá do elementu "topics"
daného předmětu
Xsub.Element(topicy).Add(Xtop);
}
//Vytvořený element předmětu i s jeho všemi topicy se přidá do
root elementu "subjects"
_doc.Element(predmety).Add(Xsub);
}
//Uložení sestaveného XDocumentu do XML souboru v izolovaném
úložišti
using (IsolatedStorageFileStream location = new
IsolatedStorageFileStream(Files.PredmetyFile,
FileMode.OpenOrCreate, storage))
{
_doc.Save(location);
location.Close();
}
}
}
Výsledkem je XML uložený soubor, který přesně odpovídá definovanému standardu,
jenž byl ukázán výše. Mezitím dochází ke stahování dat jednotlivých předmětů. Ve třídě
FirstStartSubjects.xaml.cz je definován delegát pro událost GetSubjectCompleted, která se
vyvolá, pokud dojde k úspěšnému stažení souboru.
Ihned po úspěšném stažení dojde k vyvolání metody SavePredmet třídy XMLManager, která přijatá data uloží do XML souboru v izolovaném úložišti (Ukázka XML souboru předmětů je v příloze). Jakmile dojde ke stažení všech vybraných předmětů a jejich
uložení, skončí loadingová simulace BackGroundWorkeru a dojde k zobrazení hlavní nabídky. Ukládání přijatých dat do souboru zachycuje následný kód.
▪ 51 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
/// Uložení jednoho předmětu do souboru
/// <param name="_doc">XDocument, který byl sestaven z přijatého XML (v
textové podobě) ze systému.</param>
public static void SavePredmet(XDocument _doc)
{
//Získání přístupu a místa v izolovaném úložišti
using (IsolatedStorageFile storage =
IsolatedStorageFile.GetUserStoreForApplication())
{
//Název předmětu poslouží jako název souboru pro daný předmět
string path = (string)_doc.Element(predmet).Element(nazev);
//Pokud soubor neexistuje, bude vytvořen, jinak přepsán
using (IsolatedStorageFileStream location = new
IsolatedStorageFileStream(path + ".xml",
FileMode.OpenOrCreate, storage))
{
_doc.Save(location);
location.Close();
}
}
}
Tímto je proces prvního spuštění ukončen a při každém dalším spuštění aplikace se
zobrazí rovnou hlavní nabídka (MainPage.xaml). Uživatelské rozhraní této obrazovky zachycuje následující obrázek.
Obrázek 17: Uživatelské rozhraní
obrazovky MainPage.xaml
▪ 52 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.5
Vytváření SelfTestů
Proces vytvoření (sestavení) nového SelfTestu, jeho vyřešení a vyhodnocení, začíná
stisknutím tlačítka SelfTests v hlavní nabídce. Poté dojde k načtení seznamu předmětů. Ty
se při prvním zobrazení načítají ze souboru Predmety.xml, při každém následujícím načtení
(až do ukončení aplikace) je již tento seznam uložen v paměti. Uživatelské rozhraní obrazovky se seznamem předmětů je na obrázku 20.
Uživatel si vybere předmět, ze kterého si chce sestavit SelfTest, kliknutím na jeho
název. Poté se zobrazí obrazovka se seznamem témat (topiců), které vybraný předmět nabízí (Obrázek 21). Uživatel vybírá kliknutím topicy, které chce mít v SelfTestu obsaženy.
Svůj výběr potvrdí stiskem tlačítka Submit.
Obslužná metoda události OnClick tlačítka Submit odešle vybraná kritéria (předmět
a topicy) k zpracování a vygenerování SelfTestu.
Obrázek 18: Uživatelské rozhraní
obrazovky VyberPredmet.xaml
Obrázek 19: Uživatelské rozhraní
obrazovky VyberTopic.xaml
▪ 53 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
K vygenerování nového SelfTestu je volána metoda GenerateQuestionsFromFile
třídy StManager. Ta vyvolá načtení otázek ze souboru .xml (metoda NactiOtazky třídy
XMLManager). Podrobné chování aplikace je zachyceno následujícím kódem.
///
///
///
///
<summary>
Vygenerování otázek pro SelfTest ze souboru
</summary>
<param name="predmet">Předmět, ze kterého chceme ST
vygenerovat</param>
/// <param name="topicy">Topicy pro které chceme ST vygenerovat</param>
/// <returns>Požadovaný počet otázek náhodných otázek, pro ST</returns>
public static List<Otazka> GenerateQuestionsFromFile(string predmet,
List<string> topicy)
{
//Načtení všech otázek, které odpovídají vybraným kritériím, ze
souboru
Store.otazkyVPameti = XMLManager.NactiOtazky(predmet, topicy);
//Vygenerování požadovaného počtu náhodných otázek ze všech načtených
return GenerateQuestions();
}
Metoda NactiOtazky přebírá jako parametry název vybraného předmětu (tento název je shodný s názvem XML souboru, ve kterém jsou uloženy všechny otázky tohoto
předmětu) a seznam názvů vybraných témat (topiců). Metoda načte odpovídající soubor
a pomocí Linq to XML je sestaven dotaz, který z daného souboru načte pouze ty otázky, které odpovídají vybraným kritériím. Zpět metoda vrací list odpovídajících otázek.
Z těchto otázek je náhodně vybrán uživatelem specifikovaný počet (v nastavení si
může uživatel specifikovat z kolika náhodně vybraných otázek se má SelfTest skládat; defaultní hodnota je 20). Tyto náhodně vybrané otázky jsou poté metodou RenderClearSelfTest zpracovány a výsledkem je vygenerovány SelfTest. (Obrázek 22)
Nově sestavený SelfTest uživatel řeší vybíráním správných odpovědí. Po ukončení
vybírání zmáčkne tlačítko vyhodnotit, které je zobrazeno na aplikační liště. ST je odeslán
k vyhodnocení, o které se stará metoda VyhodnotST. Ta nastaví odpovědím, podle toho zda
byly či nebyly správně vybrány, různé příznaky, které barevně odlišují, zda byla zvolená odpověď správná, nebo špatná. Vyhodnocený ST je zobrazen obrázcích 23 a 24.
Pokud je v nastavení zapnuto automatické ukládání historie, dojde ihned po vyhodnocení ST k jeho uložení do historie (History.xml). O tuto funkci se stará metoda SaveToHistory třídy XMLManager. Ta z vyhodnoceného ST (jeho objektu), sestaví Xdocument
(objektová podoba XML dokumentu), který je přidán jako nový element do stávajícího souboru History.xml.
▪ 54 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Obrázek 21: Uživatelské rozhraní
obrazovky SelfTest.xaml (vyhodnocený)
Obrázek 20: Uživatelské rozhraní
obrazovky SelfTest.xaml (nově
vygenerovaný)
Aplikační lišta na spodní části obrazovky, nabízí spoustu dalších funkcí. Tlačítko
Retry (Znovu), které sestaví nový ST, ze stejného předmětu i topiců (při generování se otázky již nenačítají ze souboru, ale z paměti, což šetří čas). Dalším tlačítkem je Menu, které nás
vrátí do hlavní nabídky.
Aplikační lišta dále nabízí vysouvací menu, kde se nacházejí tři užitečné odkazy.
Prvním je Změnit předmět, který nás odkáže na obrazovku pro výběr jiného předmětu.
Druhým odkazem je Změnit topicy, který nám umožní definovat jiné topicy pro stejný
předmět. Třetí je Změnit nastavení, které uživatele odkáže na obrazovku Nastaveni.xaml,
kde je možné upravovat nastavení aplikace. Aplikační lišta i s nabídkou je zachycena na obrázku 25.
▪ 55 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
Obrázek 22: Uživatelské rozhraní
obrazovky SelfTest.xaml (vyhodnocený
2)
Obrázek 23: Uživatelské rozhraní
obrazovky SelfTest.xaml (aplikační lišta)
Detailní informace o ostatních funkcích, které aplikace nabízí, jsou popsány v technickém projektu, který je součástí přílohy.
Jedná se stále ještě o prototypovou aplikaci, proto se může zdát, že nejsou dotaženy všechny detaily do úplného konce. Vývoj dále pokračuje tak, aby bylo možné odhalit finální verzi již v akademickém roce 2011 / 2012.
▪ 56 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
10.6
Programátorská instalace
Pokud budete chtít SelfTest aplikaci testovat, emulovat nebo dále vyvíjet, neobejde-
te se bez následujícího software a jeho doplňků:
1. Microsoft Visual Studio 2010 Express for Windows Phone
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/windows-phonedeveloper-tools
2. Windows Phone Developer Tools January 2011 Update
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-65974313-912a-f0cca9c7d277
3. Zune Software
http://www.zune.net/en-us/products/software/download/
4. SQL Server 2008 Express nebo SQL Server 2008 R2 Express
http://www.microsoft.com/express/Database
5. Azure Tools for Visual Studio (Updated April 2011)
http://www.microsoft.com/windowsazure/getstarted/
Windows Azure je potřebný pro vytvoření lokální webové služby, která bude simulovat komunikaci s STS. Pro spuštění této služby nainstalujte výše jmenovaný software,
otevřete projekt WAT1 (součást přílohy na CD) ve Visual Studiu a spusťte ho stisknutím
klávesy F5. Pokud se podaří službu úspěšně nasadit (chvíli to trvá, mějte proto strpení), zobrazí
se
její
rozhraní
v
okně
webového
prohlížeče.
Zkontroluje,
zda
je
URL
http://127.0.0.1:81/Service1.svc. Pokud je vaše adresa jiná, upravte nastavení reference na
tuto službu v projektu SelfTest aplikace (Solution Explorer → Service references → kliknout
pravým tlačítkem myši na → ServiceReference → Confiruge Service Reference... → do
pole Address vložte Vaší URL).
▪ 57 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
11.
ZÁVĚR
Cílem této práce bylo analyzovat požadavky na SelfTest systém, provést návrh ar-
chitektury a definovat rozhraní, které budou moci využívat další podpůrné aplikace ke komunikaci a výměně dat. Jednou z nich bude i nativní mobilní SelfTest aplikace implementovaná
pro platformu Windows Phone 7.
V rámci této práce došlo k vytvoření technického projektu, který popisuje stávající
SelfTest systém, požadavky, které jsou na něj kladeny, a navrhuje rozšíření, která by bylo
vhodné implementovat. K významnému kroku došlo v oblasti podpory dalších aplikací. Bylo
navrženo komunikační rozhraní poskytující API, které mohou využívat další aplikace. Jednou
z aplikací, která toto rozhraní realizuje, je nativní mobilní SelfTest aplikace pro platformu
Windows Phone 7, jejíž implementace je dalším výstupem této práce. Struktura dat, která
jsou v rámci komunikace vyměňována, byla navržena tak, aby toto rozhraní mohly bez
problému implementovat i aplikace vyvinuté pro jiné mobilní platformy.
SelfTest aplikace umožňuje uživatelům vytváření SelfTestů, jejich vyhodnocování,
ukládání do historie a aktualizování dat. Práce s aplikací je velice interaktivní a jednoduchá.
Aplikace stahuje data přímo ze SelfTest systému a ukládá si je lokálně. Připojení k internetu
je tedy nutné pouze při prvním spuštění aplikace, kdy dojde ke stažení požadovaných dat
a při případných aktualizacích.
SelfTest systém spolu s mobilní aplikací doplňují Unicorn Universe, jakožto
e-learningový systém Unicorn College, a dohromady vytvářejí komplexnější podporu vzdělávání, nabízejí studentům efektivnější způsob učení, rozšiřují nabídku benefitů, které škola
svým studentům nabízí, a zvyšují celkovou atraktivitu studia.
V rámci této bakalářské práce došlo k naplnění všech stanovených cílů a požadavků, které na ni byly kladeny. Výstupy této práce budou v nejbližší době použity k produkčnímu nasazení a přínos, který tato práce nabízí, budou moci využít všechny zainteresované
strany. Oficiální představení SelfTest aplikace je plánováno v akademickém roce 2011 –
2012.
▪ 58 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
12.
CONCLUSION
The aim of this thesis was to analyse the requirements for SelfTest systém, design
architecture and to define an interface that will be used by other applications to communicate
and exchange data. One of this applications will be native mobile SelfTest appliation for
Windows Phone 7 platform.
As a part of this thesis has been created a technical project, witch describes the
current SelfTest system, requirements that are laid to it and suggest extensions, witch
should be implemented. A significant step was taken in support of other applications. Communication interface was designed to provide an API that can use other applications. One of
the applications that implements this interface is a native mobile SelfTest application, witch
implementation is another outcome of this work. Data that are exchanged in the communication are designed so that this interface can be implemented by other applications without
any problems.
SelfTest application allowes users to create SelfTests, evaluate them, store them in
a history and update data. Working with the application is highly interactive and easy. The
application downloads data directly from SelfTest systém and stores them localy. An internet
connection is only neccessary when you launch application for the first time or when you
want to update the data. During first start all required data will be downloaded.
SefTest system with the SetfTest application supply Unicorn Universe as a elearning system of Unicorn College and together create more complex support for education,
offer students more effective way of training, expand the range of benefits with school offers
for its students and overall attractiveness of the study.
The bachelor thesis meets all the objectives and requirements that were placed on it.
The outputs of this thesis will be soon deployed into production and contribution offered by
the thesis offers will be available for all involved parties.
▪ 59 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
13.
SEZNAM POUŽITÉ LITERATURY
1. CAMERON, R. Pro Windows Phone 7 Development, New York: Apress, 2011.
2. KOPECKÝ, K. E-learning (nejen) pro pedagogy. Olomouc: Hanex, 2006.
3. LEE, H., CHUVYROV, E. Beginning Windows Phone 7 Development. New York:
Apress, 2010.
4. PETZOLD, CH. Programming Windows Phone 7. Redmond: Microsoft Press, 2010.
5. RANDOLPH, N., FAIRBAIRN, CH. Professional Windows Phone 7 Application Development: Building Applications and Games Using Visual Studio, Silverlight, and
XNA. Indianapolis: Wiley Publishing, Inc., 2011.
6. THURRATT, P. Windows Phone 7 Secrets. Indianapolis: Wiley Publishing, Inc.,
2011.
7. VOŽENÍLEK, V. a kol. Klimatická změna v e-learningové výuce. Olomouc: Univerzita
Palackého v Oomouci, 2010.
▪ 60 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
14.
SEZNAM POUŽITÝCH INTERNETOVÝCH ZDROJŮ
1. MARSHALL, K. Clarity Consulting [online]. 3.11.2010 [cit. 2011-03-25].
WP7 Serialization Comparison.
URL: <http://blogs.claritycon.com/blog/2010/11/03/wp7-serialization-comparison/>.
2. Msdn [online]. 28.1.2011 [cit.2011-03-11]. How to: Handle Orientation Changes on
Windows Phone.
URL: <http://msdn.microsoft.com/en-us/library/ff769553(VS.92).aspx>.
3. STRICKLAND, N. Msdn [online]. 30.7.2010 [cit. 2011-04-01]. Windows Phone 7 in 7:
The Application Bar. URL: <http://msdn.microsoft.com/en-us/gg241264>.
4. STRICKLAND, N. Msdn [online]. 13.8.2010 [cit. 2011-03-28]. Windows Phone 7 in 7:
Globalization and Localization. URL: <http://msdn.microsoft.com/en-us/gg241256>.
5. STRICKLAND, N. Msdn [online]. 30.7.2010 [cit. 2011-04-03]. Windows Phone 7 in 7:
Connecting to Web Services. URL: <http://msdn.microsoft.com/en-us/gg241261>.
6. STRICKLAND, N. Msdn [online]. 30.7.2010 [cit. 2011-03-10]. Windows Phone 7 in 7:
Using Isolated Storage. URL: <http://msdn.microsoft.com/en-us/gg241265>.
7. WindowsPhoneGeek [online]. 10.3.2011 [cit. 2011-03-13]. All aboud WP7 Isolated
Storage – intro to Isolated Storage.
URL: <http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage--intro-to-isolated-storage>.
8. WindowsPhoneGeek [online]. 10.3.2011 [cit. 2011-03-14]. All aboud WP7 Isolated
Storage – Store data in IsolatedStorageSettings.
URL: <http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage-storedata-in-isolatedstoragesettings>.
9. ZHU, X. dotnetslackers.com [online]. 8.3.2011 [cit. 2011-03-20]. Windows Phone 7
Silverlight Programming – Isolated Storage. URL: <http://dotnetslackers.com/articles/silverlight/Windows-Phone-7-Silverlight-Programming-Isolated-Storage.aspx>.
10. Stackoverflow [online]. 8.12.2010 [cit. 2011-05-12]. WP7 – How to set start page to
external page (in library). URL: <http://stackoverflow.com/questions/4392338/wp7how-to-set-start-page-to-external-page-in-library>.
▪ 61 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
15.
SEZNAM POUŽITÝCH SYMBOLŮ A ZKRATEK
Zkratka
Popisek
STS
SelfTest systém
STA
SelfTest aplikace
ST
SelfTest
UCL
Unicorn College
UU
Unicorn Universe
UC
Use Case – případ užití
ICT
Informační a komunikační technologie
REQ
Požadavek
LMS
Learning Management System
LCMS
Learning Content Management System
CBT
Computer Based Training
WBT
Web Based Training
WP7
Windows Phone 7
WS
Webová služba
XML
Datový soubor, jehož možná struktura je znázorněna v příloze 1
▪ 62 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
16.
SEZNAM OBRÁZKŮ
Obrázek 1: Základní formy e-learningu...................................................................................13
Obrázek 2: Úrovně e-learningu...............................................................................................16
Obrázek 3: Výhody a nevýhody e-learningu...........................................................................19
Obrázek 4: Klíčové procesy Unicorn College..........................................................................24
Obrázek 5: Proces - Výuka na UCL, vlastní ilustrace.............................................................25
Obrázek 6: High level pohled na navrhované řešení..............................................................26
Obrázek 7: Očekávané přínosy pro zákazníka.......................................................................27
Obrázek 8: Přehled architektury..............................................................................................35
Obrázek 9: Use Case diagram - Komponenta Správa testů...................................................37
Obrázek 10: Historie Windows Phone 7.................................................................................39
Obrázek 11: Možnosti persistence dat ve WP7......................................................................42
Obrázek 12: Use Case diagram SelfTest Aplikace.................................................................43
Obrázek 13: Izolované úložiště SelfTest Aplikace..................................................................44
Obrázek 14: Proces prvního spuštění.....................................................................................45
Obrázek 15: Uživatelské rozhraní obrazovky FirstStart.xaml.................................................46
Obrázek 16: Uživatelské rozhraní obrazovky FirstStartSubjects.xaml...................................49
Obrázek 17: Uživatelské rozhraní obrazovky MainPage.xaml................................................52
Obrázek 18: Uživatelské rozhraní obrazovky VyberPredmet.xaml.........................................53
Obrázek 19: Uživatelské rozhraní obrazovky VyberTopic.xaml..............................................53
Obrázek 20: Uživatelské rozhraní obrazovky SelfTest.xaml (nově vygenerovaný)................55
Obrázek 21: Uživatelské rozhraní obrazovky SelfTest.xaml (vyhodnocený)..........................55
Obrázek 22: Uživatelské rozhraní obrazovky SelfTest.xaml (vyhodnocený 2).......................56
Obrázek 23: Uživatelské rozhraní obrazovky SelfTest.xaml (aplikační lišta).........................56
▪ 63 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
17.
SEZNAM TABULEK
Tabulka 1: Výstupy projektu....................................................................................................29
Tabulka 2: Stručný popis UC, komponenty Správa testů.......................................................38
▪ 64 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
18.
SEZNAM PŘÍLOH
1. Ukázkový XML soubor předmětu.
2. CD obsahující technický projekt, text práce, implementovanou aplikaci a zdrojové
kódy
▪ 65 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
PŘÍLOHA 1 – UKÁZKOVÉ XML PŘEDMĚTU
<?xml version="1.0" encoding="utf-8" ?>
<subject code="SEC">
<name>Bezpecnost a ochrana dat</name>
<topics>
<topic name="Prednaska 1">
<questions>
<!--Duvod proc mam nazev topicu ulozen i v atribudu otazky je kvuli
rychlejsimu vyhledavani-->
<question topic="Prednaska 1" pointValue="5">
<text>Jaká je podstata útočníka typu insider?</text>
<answers>
<answer correctness="true">
<text>Jedná se o element peoplewaru IS, který se stává sám
útočníkem</text>
</answer>
<answer correctness="false">
<text>Jedná se o hackera, který nejprve propašuje trojského koně
dovnitř do IS a poté útočí</text>
</answer>
<answer correctness="false">
<text>Jedná se o elektronického útočníka útočícího nejčastěji z
internetových červů</text>
</answer>
<answer correctness="false">
<text>Jedná se o hackera, který má přístup k vnitřní zoně za
firewallem</text>
</answer>
</answers>
</question>
</questions>
</topic>
</topics>
</subject>
▪ 66 ▪
Bakalářská práce
Analýza a návrh systému pro SelfTesty
Analysis and design for SelfTest system
PŘÍLOHA 2 – CD OBSAHUJÍCÍ TECHNICKÝ PROJEKT,
TEXT PRÁCE, IMPLEMENTOVANOU APLIKACI A
ZDROJOVÉ KÓDY
CD je přiloženo do vazby tištěné verze bakalářské práce.
Struktura CD:
1. Složka: Bakalářská práce
◦ Soubor: Bakalarska_prace_Filip_Bocek.odt
◦ Soubor: Bakalarska_prace_Filip_Bocek.pdf
2. Složka: Technický projekt
◦ Zde se nacházejí veškeré dokumenty popisující SelfTest systém
◦ Zde se nacházejí veškeré dokumenty popisující SelfTest aplikaci
3. SelfTest aplikace
1. Složka: STA – aplikace
◦ Obsahuje spouštěcí .xap soubor pro mobilní telefon.
2. Složka: STA – zdrojové kódy
◦ Obsahuje projekt STA vytvořený v Microsoft Visual Studiu 2010
3. Složka: Webová služba
◦ Obsahuje projekt WAP1 vytvořený v Microsoft Visual Studiu 2010.
Jedná se o testovací webovou službu, kterou lze simulovat komunikaci s
SelfTest systémem.
▪ 67 ▪

Podobné dokumenty

Hlavní dokument - Technologie společnosti Microsoft pro vývoj

Hlavní dokument - Technologie společnosti Microsoft pro vývoj Některé produkty doprovázejí ukázky kódu. Pokud není uvedeno jinak, byly vytvořeny právě a jedině pro použití v tomto dokumentu a otestovány jako funkční. Nicméně na různých konfiguracích může dojí...

Více

28 /8 4 7/9 31/8 Stře 30 /8 27/8 Sob 3 /9 2/9 P 25 /8 29

28 /8 4 7/9 31/8 Stře 30 /8 27/8 Sob 3 /9 2/9 P 25 /8 29 se s rolí producenta. Posádka hvězdné lodi U. S. S. Enterprise zkoumá nejvzdálenější kouty a nezmapovaná místa vesmíru. A zde se setkávají s novým, záhadným nepřítelem, který je i celou Federaci vy...

Více

Vlákna v C - Joseph Albahari

Vlákna v C - Joseph Albahari azyk C# podporuje paralelní spouštění kódu pomocí tzv. multithreadingu. Přeloženo do normálního jazyka – můžeme spouštět několik částí kódu najednou, každou část na samostatném vlákně. Představte s...

Více

ZDE (opět v PDF) - Tomáš Kápl bloguje

ZDE (opět v PDF) - Tomáš Kápl bloguje možnosti vývoje pro tento relativně nový operační systém. V této práci se budu zaměřovat pouze na technologii Silverlight a jazyk C#. V práci je popsán vznik a krátká historie tohoto systému. Násle...

Více

ASP.NET MVC

ASP.NET MVC JavaScripty, ve výchozím projektu zde máme javascriptové knihovny pro Ajax a také

Více

(zveřejněna 1. 3. 2012) PDF - Národní digitální knihovna

(zveřejněna 1. 3. 2012) PDF - Národní digitální knihovna monografie).
 Tento
 soubor
 .md5
 obsahuje
 kontrolní
 součet
 pro
 každý
 soubor
 obsažený
 v
PSP
 balíčku.
 Z
tohoto
 důvodu
 nejsou
 samostatné
 kontrolní
 součty
 součástí
 podsložek
 balíčku....

Více

Dokument ke stažení - iPad ve škole a práci

Dokument ke stažení - iPad ve škole a práci přehledně psát poznámky a sdílet je s ostatními, přes tvorbu různých materiálů plných interaktivních médii jako jsou videa, 3D objekty a nebo hudba. Vše co vytvoříte, tak hned můžete bez problémů v...

Více

(zveřejněna 20. 5. 2014) PDF

(zveřejněna 20. 5. 2014) PDF Další částí PSP balíčku je hlavní METS dokument. Hlavní METS záznam tedy obsahuje: ● dmdSec – bibliografická metadata k číslu periodického dokumentu včetně popisu nadřazených entit (např. ročník, t...

Více