Basic info on subject


Jít rychle na

[Předmět] [Časový rozvrh výuky] [Hodnocení předmětu] [Přednášky] [Cvičení] [Úlohy] [Projekty] [Testy]

Hodnocení

Hodnocení předmětu PB138 je trojsložkové, zahrnující:

  • úlohy řešené na cvičeních v průběhu semestru (-12 až +12 bodů);

  • obhajovaný týmový projekt (0 až 48 bodů) nebo individuální projekt (0 až 35 bodů);

  • závěrečná písemka (0 až 40 bodů).

Pozor, úlohy mohou přispět až +12, ale také až -12 body do celkového hodnocení.

Výsledná známka je dána celkovým počtem bodů:

Tabulka 1. Hodnocení podle bodů

ZkouškaZápočet
E ... A: 70...100 bodůzapočteno: 50...85 bodů
F: 0...69 bodůnezapočteno: 0...49 bodů

Přednášky obecně

Přednáška se koná vždy ve středu ve 14:00 v posluchárně D1.

Cvičení obecně

text pokynů ke cvičením

Projekty obecně

Charakteristika

Součástí výuky v předmětech PB138, PV168 a PA165 je řešení individuálního nebo týmového projektu. Cílem projektu je prokázat znalost probíraných technologií a schopnost jejich vhodného uplatnění při řešení nějakého rozsáhlejšího reálného problému. Aby projekty splnily svůj účel, je nutné dodržet soubor základních pravidel. Seznamte se s těmito pravidly důkladně, neboť jejich porušení pro vás může mít fatální následky.

Hodnocení

Hodnocení projektů probíhá během jejich obhajob a skládá se z několika složek:

  • vlastní řešení (18 bodů) – jak byl projekt vyřešen, jestli byly použity adekvátní prostředky a zdali bylo dodrženy všechny požadavky zadání;

  • obhajoba (8 bodů) – jak pečlivě byla obhajova připravena a provedena;

  • dokumentace (8 bodů) – kvalita dokumentace k projektu, www stránek projektu a zpráv jednotlivých řešitelů;

  • řízení a organizace projektu (14 bodů) – jak kvalitně byl vývojový proces organizován; jde zejména o harmonogram a dodržení kontrolních bodů (za každý kontrolní bod náleží tři body), jestli byly správně a účelně používány podpůrné nástroje (subversion, maven), apod.

Podmínkou ke získání bodového hodnocení za projekt je nutné, aby byl projekt úspěšně vyřešen. Nelze tedy očekávat bodový zisk za obhajobu, dokumentaci a organizaci projektu, pokud bude vlastní řešení vykazovat zásadní vady.

Studenti, kteří ukončují předmět pouze zápočtem, řeší individuální projekt za 35 bodů. Tam je rozdělení bodů následující:

  • vlastní řešení (13 bodů);

  • obhajoba (6 bodů);

  • dokumentace (6 bodů);

  • řízení a organizace projektu (10 bodů).

Zadání

Zadání projektu jsou vystavena v informačním systému jako balík témat Projekty u daného předmětu. Zveřejněná zadání projektů jsou pouze rámcová. Je možné je upřesňovat či doplňovat, ale veškeré změny musí schválit autor příslušného zadání (je u zadání uveden jako vedoucí). Pokud máte zájem o své vlastní téma, můžete jej navrhnout svému cvičícímu, aby Vám jej vypsal. Téma musí mít přiměřený rozsah a odpovídat zaměření kurzu, tj.

  • u předmětu PB138 musí být jedním z klíčových nástrojů XML a související technologie;

  • u předmětu PA165 musí být projekt realizován pomocí J2EE;

  • u předmětu PV168 může jít o libovolný projekt realizovaný v jazyce Java.

Projekt nemusí být samoúčelný a řešený pouze v kontextu některého z těchto předmětů. Může jít o projekt do jiného předmětu, bakalářskou či diplomovou práci nebo i o projekt do práce, pro kamaráda, apod. Musíte však počítat s nutností dodržení těchto pravidel. V případě týmových projektů řešených zároveň jako diplomová či bakalářská práce je nutné věnovat zvýšenou pozornost dodržení pravidel pro řešení těchto prací a požadavku na jejich samostatné vypracování.[1]S ohledem na časový souběh předmětů PB138 a PV168 se přímo nabízí možnost řešení společného projektu v obou předmětech, což studentům mající oba předměty zapsány silně doporučujeme. Pozor na dodržení zadání! Každou změnu v zadání musí schválit jeho autor a veškeré změny v zadání musí být zaznamenány v informačním systému. Pokud Váš projekt nebude odpovídat svému zadání v informačním systému nebo nebude splňovat některé z pokynů uvedených v tomto textu (např. programovací jazyk, formát dokumentace apod.), projekt bude hodnocen nízkým počtem bodů (případně nebude hodnocen vůbec). Projekty mohou být individuální nebo týmové, v závisloti na předmětu a typu jeho ukončení:

  • v PB138 řeší individuální projekt studenti ukončující předmět zápočtem, ostatní řeší projekt týmový;

  • v PA165 řeší všichni studenti týmový projekt;

  • v PV168 si student může vybrat.

Týmové projekty se řeší typicky ve čtyřčlených týmech. Pokud se k danému tématu přihlásí méně než tři studenti, je možné projekt řešit v takto redukovaném týmu pouze se souhlasem autora zadání. Každý tým si určí svého vedoucího, který bude práci koordinovat.

Prostředky a nástroje

Primárním protředkem pro realizaci projektů je jazyk Java. V odůvodněných případech může autor zadání projektu povolit pro realizaci jeho části jiný programovací jazyk (Groovy, JavaScript, Perl, Python, Smalltalk, C/C++). Nesmí být použit jazyk PHP, a to ani kdyby jej schválil autor zadání! Všechny projekty (individuální i týmové) musí být uloženy v subversion repozitory na stroji kore.fi.muni.cz. Subversion je systém pro řízení verzí, který výrazně usnadňuje týmový vývoj. Navíc umožní cvičícím sledovat pokrok při řešení jednotlivývh projektů. Pozor, je nutné dodržovat pokyny na adrese http://kore.fi.muni.cz:5080/subversion/! Dalším užitečným nástrojem je Maven. Tento nástroj automatizuje řadu činností, které je nutné provádět při realizaci projektů. Umí automaticky překládat projekt, spouštět testy, generovat různé reporty, generovat www stránky projektu apod. Každý nově zřízený projekt na stroji kore má automaticky vygenerované příslušné projektové sobory, abyste mohli systém maven začít hned používat. Použití systému maven je povinné v tom smyslu, že Váš projekt musí být možné pomocí tohoto nástroje překládat a generovat k němu všechny reporty. V projektu by měly být maximálně využity adekvátní prostředky:

  • v případě projektů do PB138 jde zejména o dotazovací jazyky (XPath, XQuery), nativní XML databáze, rozhraní JAXP, JAXM, JAXB, SOAP, XSLT transformace, atd.;

  • v případě projektů do PA165 jde o jednotlivé technologie z J2EE, jako jsou Servlety, JSP, JSF, JDO, EJB, JMS, webové služby, atd.

Hodnocení projektu bude závislé i na tom, jak šikovně využijete možností příslušných technologií a dostupných nástrojů. Můžete využívat libovolný volně dostupný (alespoň pro výukové účely) software.

Řešení

Na řešení projektů máte k dispozici čas od jejich zadání do obhajoby. Dejte si však pozor na dodržení předepsaných kontrolních bodů. Pro získání příslušných účtů a přístupu do repozitory postupujte podle pokynů na adrese http://kore.fi.muni.cz:5080/subversion/. Kdykoli je v projektu použit XML formát, musí k němu být vytvořeno (a dostupné) DTD, Relax NG nebo XML Schema, případně jiný formální model (Schematron, Examplotron, DSD...). Všechny projekty musí mít webové nebo GUI rozhraní (nebo obě), případně ještě rozhraní na příkazovém řádku. Pokud je někde požadováno generování tiskového výstupu, postačí vytvoření souboru ve formátu PDF nebo XHTML (nejlépe pomocí příslušné XSLT šablony). Pozor! Na stroji kore se jako váš domovský adresář připojuje Váš domovský adresář ze stroje atlas (to je ten, co máte např. na serveru aisa). Aby to fungovalo, musíte si na adrese https://fadmin.fi.muni.cz/auth/sit/export_home.mpl povolit export domovského adresáře pro stroj kore.fi.muni.cz pomocí protokolu nfs.

Kontrolní body

Pro kontrolu průběhu řešení projektů jsou stanoveny tři kontrolní body:

Zadání projektů

tento kontrolní bod ověřuje, že mají všichni studenti vybraný projekt, založenou repozitory a zveřejněnou první verzi www stránek projektu. Taktéž se ověřuje základní rozdělení rolí při řešení projektu. Termín pro splnění těchto podmínek je čtrnáct dní od zahájení procesu zadávání projektů.

Zahájení řešení

tento kontrolní bod ověřuje, že tým už na projektu začal pracovat. Musí být hotový alespoň základní návrh aplikace a tento návrh musí být zdokumentován a zveřejněn na www stránkách projektu. Termín pro splnění těchto podmínek je čtrnáct dní od předchozího kontrolního bodu.

Finalizace vývoje

tento kontrolní bod ověřuje, že tým dokončil hlavní vývoj a že probíhá už pouze ladění, odstraňování chyb a implementace různých pomocných funkcí a vylepšení. Termín pro splěnění těchto podmínek je 72 hodin před obhajobou projektu.

Dodržení kontrolních bodů může být ověřeno i zpětně pomocí systému subversion, takže nezapomeňte příslušné materiály a zdrojové kódy pravidelně vkládat do repozitory!

Dokumentace

Každý projekt musí mít také dokumentaci. Primární dokumentací jsou minimálně dvoustránkové zprávy k projektu, které vypracovává každý člen týmu zvlášť. Pokud je to pro daný typ projektu užitečné, může být k projektu přiložena i další projektová dokumentace. Za dokumentaci se považují také dobře komentované zdrojové kódy. Pokud je výstupem projektu nějaké obecně použitelné api, musí být dokumentováno pomocí systému JavaDoc. Dokumentace k projektům (zejména zprávy k projektu) musí primárné ve formátu DocBook, z něhož se potom generuje např. HTML nebo PDF. Stránky projektu generované systémemem Maven mohou být ve formátu xdoc.

Obhajoba

Úspěšné vyřešení projektů budou studenti prokazovat jejich obhajobou. Obhajoby se budou konat ve zkouškového období a jejich datum i místo konání bude zveřejněno v informačním systému (u předmětu PA165 jako zkouškový termín, v ostatních případech v aplikaci rozpisy). Na obhajobu jednoho projektu je k dispozici 20 minut včetně dotazů i diskuse. Vlastní prezentace by neměla přesáhnout 15 minut, jinak bude přerušena a na obhajobu daného projektu bude nahlíženo jako na nedobře připravenou. Vedoucí týmu na začátku představí zadání projektu, řešitelský tým a stručně shrne dosažené výsledky. Poté vystoupí každý člen týmu s představením své části projektu, uvede použité technologie a nastíní architekturu své části systému. Na závěr proběhne diskuse. Součástí obhajoby by měla být elektronická prezentace výsledků (slidy, ukázky přístupné na síti, notebooku apod.). Dejte si pozor, ať nezacházíte do zbytečných technických detailů. Zmínit se o konkrétních problémech, které bylo nutné vyřešit, je samozřejmě důležité, nicméně popisovat dlouhé popisovače aplikací ve formátu XML není dobrá strategie obhajoby. Před obhajobou projektu musí být na www stránky projektu umístěny aktuální informace, finální verze programové části, dokumentace a zprávy k projektům. Na stránkách nesmí chybět ani všechny použité knihovny a jiné nástroje, které jsou potřebné pro překlad či používání nástroje. Samozřejmě není nutné přidávat instalační balíky s JDK nebo JRE.

Rozvrh

Rozvrh předmětu PB138 je:

  • úlohy řešené na cvičeních v průběhu semestru (-12 až +12 bodů);

  • obhajovaný týmový projekt (0 až 48 bodů) nebo individuální projekt (0 až 35 bodů);

  • závěrečná písemka (0 až 40 bodů).

Pozor, úlohy mohou přispět až +12, ale také až -12 body do celkového hodnocení.

Výsledná známka je dána celkovým počtem bodů:

Tabulka 2. Hodnocení podle bodů

ZkouškaZápočet
E ... A: 70...100 bodůzapočteno: 50...85 bodů
F: 0...69 bodůnezapočteno: 0...49 bodů

Slidy předmětu

PB138 má hodně slidů.

Charakteristika předmětu

PB138 je prakticky zaměřený bakalářský předmět s cílem seznámit se základními principy a technologiemi návrhu, tvorby a zpracování seminstrukturovaných značkovaných dat na bázi XML.

Úlohy obecně

Zadání úloh je možné nalézt v informačním systému na adrese https://is.muni.cz/auth/el/1433/jaro2005/PB138/za/. V průběhu semestru se řeší celkem čtyři úlohy, za každou z nich je možné získat 3 body. Ty student obdrží za včas odevzdanou úlohu, která neobsahuje žádné chyby. Pokud je úloha odevzdaná pozdě nebo obsahuje chyby a byla vrácena, student za ni získá nulový počet bodů. Pokud úloha není odevzdaná vůbec, přísluší za ni -3 body. Pozor! Pokud je při opravování úlohy nalezena chyba, student je povinen úlohu opravit a odevzdat znovu. Dokud není úloha bez chyby, považuje se za neodevzdanou (včetně tříbodové penalizace)! Pokud bude odhalen plagiát, úloha bude hodnocena jako neodevzdaná a případ bude postoupen disciplinární komisi.

Slidy předmětu

PB138 má hodně slidů.