Rozšíření využití distribuované virtuální laboratoře počítačových sítí ve výuce

Z VirtlabWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 12:57, 4. 8. 2008
Fil130 (Diskuse | příspěvky)

← Předchozí porovnání
Verze z 21:32, 6. 8. 2008
Fil130 (Diskuse | příspěvky)
(Přesunutí dokumentu)
Následující porovnání →
Řádka 1: Řádka 1:
Rozsireni moznosti pro hodnoceni uloh pedagogem, automatizace testovani topologii a poloautomatizace pro podporu manualniho hodnoceni Rozsireni moznosti pro hodnoceni uloh pedagogem, automatizace testovani topologii a poloautomatizace pro podporu manualniho hodnoceni
-<center><h1>Specifikace požadavků</h1>+<br /><b>Aktuální verze připravovaného projektu je dostupná na URL:</b><br /> [http://docs.google.com/View?docid=dgd86ft8_44dpbrmrgd http://docs.google.com/View?docid=dgd86ft8_44dpbrmrgd]
- +
-subsystému automatizace <u>kontroly a hodnocení</u> úloh pro Virtuální laboratoř+
-</center>+
- +
-<h2>Cíl projektu</h2>+
- +
-<p style="text-indent: 20px">Připravovaný projekt částečné automatizace kontroly a hodnocení má snížit časové nároky na kontrolu řešení jednotlivých úloh Virtuální laboratoře, umožnit zvýšení počtů paralelně vypracovávaných úloh a také snížení počtů studentů pracujících na jedné úloze. Systém podle specifikovaných kritérií zkontroluje konfiguraci vytvořenou studentem, umožní mu upravit své řešení a následně jej vyhodnotí a výsledky nabídne vyučujícímu. Kritéria kontroly jsou definována při tvorbě úlohy.</p>+
- +
-<h2>Specifikace požadavků</h2>+
- +
-<h3>Tvorba úlohy</h3>+
- +
-<h4>Obecný náhled</h4>+
-<center>[[Soubor:Tvorba_ulohy.PNG]] <br />Diagram 1: Tvorba úlohy</center>+
- +
-<p style="text-indent: 20px">V nynější verzi Virtuální laboratoře je úloha specifikována textovým a grafickým zadáním pro pochopení studentem a dále pak specifikací požadavků na dynamicky vyhledávaná laboratorní zařízení a informací, jak daná zařízení spojit (pro fyzického zapojení). Pro potřeby testování konfigurace je nutné ke tvorbě úloh přidat definování pravidel testování a pro potřeby variability zadání pro využití ve výuce také parametrizace jednotlivých zadání. Pravidla testování říkají, které prvky mají interakci s jinými a jakou – funkčnost této interakce bude ověřena při testování. Parametrizace zadání znamená vložení parametrů umožňující diferenciaci dané úlohy na základě např. IP adresování, výběr směrovacích protokolů apod. Tyto parametry nemají vliv na topologii, avšak ovlivňují výsledek testování.</p>+
- +
-<p style="text-indent: 20px">Pravidla testování mohou a nemusejí být definována a vztahují k jedné úloze. Pokud nejsou definována pravidla testování, nedefinují se ani parametrizace úlohy (z hlediska testování, dále jen parametrizace). Pro každou úlohu je jedna skupina pravidel testování a několik parametrizací.</p>+
- +
-<p style="text-indent: 20px">Ke každé úloze, ke které jsou definována pravidla testování, musí být minimálně jedna výchozí parametrizace, která bude použita, je-li úloha řešena uživatelem nespadajícího do výuky nebo studentem, který není součástí instance úlohy.</p>+
- +
-<h4>Proměnné</h4>+
- +
-<p style="text-indent: 20px">Při vytváření pravidel testování se používají proměnné. Parametrizace je skupina proměnných (použitých v definici testovacích pravidel) s hodnotami. Každá parametrizace je unikátní jednotka. Při testování konfigurace jsou použity nedefinovaná pravidla testovaní dané úlohy a proměnné jsou nahrazeny hodnotami z použité parametrizace.</p>+
- +
-<p>Proměnné jsou dvou typů:<br />+
-a) proměnné používané v testovacích pravidlech – hodnota definována v parametrizaci<br />+
-b) proměnné používané v testovacích pravidlech – hodnotu vyplní student do formuláře</p>+
- +
-<p>Proměnná se skládá z identifikátoru (používané systémem), názvu proměnné, popisu proměnné a typu.</p>+
- +
-<p>Parametrizace se skládá z hodnot proměnných použitých v testovacích pravidlech a ze slovního zadání, které podrobněji specifikuje zadání úlohy (popis jaké hodnoty mají být použity v závislosti na hodnotách proměnných dané parametrizace apod.)</p>+
- +
-<h4>Tvorba pravidel testování</h4>+
-<p style="text-indent: 20px">Pravidla testování jsou buďto základní předdefinovaná (např. ping) nebo lze zadat vlastní kousek skriptu, který má být proveden, a regulární řetězec, který bude aplikován na výsledek skriptu a rozhodne o úspěšnosti provedeného testu.</p>+
- +
-<center>[[Soubor:Tvorba_pravidel.PNG]]<br />Diagram 2: Tvorba pravidel testování</center>+
- +
-<p style="text-indent: 20px">Tvůrce pravidel si zvolí PC (počítač topologie, možno i router a další prvky, dále jen PC) pro které bude definovat pravidla testování. Zobrazí se mu formulář, na kterém může:<br /><br />+
- +
- +
-a) spravovat proměnné, které používá pro tvorbu pravidel (přidávat, editovat, mazat), v této fázi nemají proměnné hodnoty, hodnoty se jim přiřazují při tvorbě parametrizací<br /><br />+
- +
- +
-b) vybrat si ze seznamu základních testovacích pravidel, která jsou již v systému nadefinována jako např. ping a v závislosti na pravidle k němu dodat potřebný počet svých vytvořených proměnných – pro pin bude např. potřeba jen jedna.<br /><br />+
- +
- +
-c) vytvořit „vlastní testovací pravidlo“ - vložení části skriptu který se má provést, lze používat proměnných a dále je pak nutné uvést regulární řetězec, který bude aplikován na výsledek provedeného skriptu. Nastane-li shoda, je výsledek testu započítán jako správný.</p>+
- +
-<h4>Tvorba parametrizací</h4>+
- +
-<p style="text-indent: 20px">Jakmile jsou vytvořena pravidla testování, je potřeba vytvořit minimálně jednu základní výchozí parametrizaci. A dále je pak možno podle potřeby vytvořit další parametrizace. Při tvorbě jedné parametrizace jsou proměnným používaným v pravidlech testování přiřazeny hodnoty. Dále pak každá parametrizace obsahuje detailnější rozšíření stávajícího zadání úlohy. Je potřeba říci studentům hodnoty proměnných, které budou potřebovat pro splnění úlohy (např. IP adresy interface jsou odlišné pro různé parametrizace).</p>+
- +
- +
-<h3>Otevření úlohy (vytvoření instance)</h3>+
-<center>[[Soubor:Otevreni_ulohy.PNG]] <br />Diagram 3: Vytvoření instance úlohy</center>+
- +
-<p style="text-indent: 20px">Učitel si přeje zadat úlohu studentům, proto vytvoří instanci úlohy. Instance znamená, že vyučující vybere jednu úlohu ze seznamu úloh, vybere jednu parametrizaci, podle které se bude řešení testovat, zvolí testy, které se mají provést, a vybere studenty, kteří mají danou instanci řešit. Instance úlohy je tvořena na základě vybrané úlohy, zvolené parametrizace a na základě studentů řešících tuto úlohu.</p>+
- +
-<p style="text-indent: 20px">Vyučující si může po zvolení úlohy a parametrizace vybrat, které testy mají být provedeny, pokud si nepřeje standardně všechny. Vybrané testy budou aplikovány na vypracovanou úlohu odevzdávajícími studenty (tito budou s těmi to testy obeznámeni pro další úpravu) a také budou aplikovány při konečném odevzdání a výsledky uloženy pro další zpracování.</p>+
- +
-<p style="text-indent: 20px">Po aktivaci úlohy je úloha přístupná k rezervaci a k řešení pouze vybraným studentům. Instance úlohy slouží hlavně ke školním účelům.</p>+
- +
- +
-<h3>Rezervace a vypracování úlohy</h3>+
-<center>[[Soubor:Rezervace_vypracovani.PNG]] <br />Diagram 4: Rezervace a vypracování úlohy</center>+
- +
-<p style="text-indent: 20px">Rezervace úlohy probíhá dvěma způsoby. Pokud není uživatel (student) zapsán na žádnou instanci úlohy, může si vybrat jakoukoli úlohu, rezervovat si ji a vypracovat. Jestliže jsou v úloze definovány pravidla testování, může si uživatel zvolit, zda si nechá řešení otestovat. V tomto případě musí při řešení postupovat v souladu s výchozí parametrizací. Pokud si nepřeje řešení testovat, může úlohu řešit libovolným způsobem.</p>+
- +
-<p style="text-indent: 20px">Pokud je student součástí nějaké instance, může si úlohu této instance zarezervovat. Poté úlohu řeší podle příslušné parametrizace. Po vypracování úlohy je potřeba zadat do připraveného formuláře relevantní data pro otestování konfigurace a také data vyžádaná vyučujícím pro hodnocení úlohy (výpis směrovací tabulky apod). Část formuláře pro zadávání dat pro testování je generován dynamicky na základě vybraných pravidel testování. Po vyplnění a odeslání formuláře je student seznámen s výsledky dílčích testů. Student má možnost upravit řešení. Po odevzdání úlohy jsou výsledky testování a data vyplněná do formuláře uložena v databázi a následně nabídnuta vyučujícímu.</p>+
- +
-<h2>Analýza a návrh</h2>+
- +
-<h3>Způsob připojení na testované zařízení</h3>+
- +
- <p style="text-indent: 20px">Testování probíhá pomocí BASH skriptů. Skripty budou dynamicky generované PHP skripty na řídícím serveru a budou se pomocí konzolového rozhraní připojovat na prvky topologie a testovat funkčnost.</p>+
- +
-<center>[[Soubor:Topologie.jpeg]] <br />Obrázek 1: Způsob připojení na testovaná zařízení</center>+
- +
- <p style="text-indent: 20px">Server na kterém běží WWW rozhraní subsystému automatické kontroly a hodnocení úloh generuje pomocí PHP skriptů BASH skript. Vygenerovaný skript je po vytvoření spuštěn, pomocí konzolového rozhraní se připojí na vzdálené prvky vytvořené topologie a provede testy nakonfigurované pro daný stroj. Výsledky testů ukládá do databáze. Po skončení pokračuje původní PHP dále nebo je informován jiný PHP skript o ukončení testování.</p>+
- +
- +
- +
-<h2>Slovníček pojmů</h2>+
- +
- +
-<b>parametrizace</b> - jedna parametrizace představuje jedinečné naplnění proměnných používaných v testovacích pravidlech+
- +
- +
-<b>instance úlohy</b> – představuje jednu úlohu s vybranou jednou parametrizací a skupinou studentů tuto úlohu vypracovávajíce. Vyučující otevírá úlohu studentům a těmto vybere jednu parametrizaci, podle které budou úlohu vypracovávat a podle které se úloha automaticky zkontroluje. Student si může zarezervovat → vypracovat pouze instanci, ke které přísluší.+
- +
-<h2>Otázky a poznámky</h2>+
- +
- <p style="text-indent: 20px">Ve které fázi definuje učitel, jaká další data mají být odevzdána? V odevzdávacím formuláři budou požadována data podle použitých proměnných, avšak dále může učitel říct, co dalšího chce vědět. Možnosti: V obecném zadání úlohy nebo při vytváření testovacích pravidel nebo při vytváření jednotlivých parametrizací?</p>+
<br /><br /> <br /><br />

Verze z 21:32, 6. 8. 2008

Rozsireni moznosti pro hodnoceni uloh pedagogem, automatizace testovani topologii a poloautomatizace pro podporu manualniho hodnoceni


Aktuální verze připravovaného projektu je dostupná na URL:
http://docs.google.com/View?docid=dgd86ft8_44dpbrmrgd



Úloha má jednu topologii, jeden obrázek, zadání v několika jazycích, jednu sadu testovacích pravidel a několik parametrizací. Pokud jsou definována testovací pravidla, musí být vytvořena minimálně jedna výchozí parametrizace, aby šla testovací pravidla použít.



Návrh - úvahy

  • Testovaci skripty - kam ? Do VSECH (a JENOM) Linuxovych stanic, nebo dalsi stanice pripojitelne "nekam" do topologie ? Nebo navic jeste modul Tunserveru ?
  • Jak kopirovat skripty do FS XENovych Linuxu - pres konzoli ? Pri startu instance mountovat jeste cast FS, kde budou predtim nakopirovane testovaci skripty ?
Osobní nástroje