Objektovo-orientované programovanie, ak. rok 2011/12

  Prebieha Týždeň spolupráce s praxou 2012 – zaujímavé prednášky partnerov fakulty z praxe

Projekt


Počas semestra budete pracovať na projekte. Na tejto stránke nájdete pokyny ohľadom jeho realizácie.

Projekt pozostáva z nasledujúcich zložiek:

Vypracovanie a odovzdanie všetkých zložiek projektu v akceptovateľnom stave je podmienkou získania zápočtu. Plagiáty nebudú tolerované.



Rámcové zadanie

Vytvorte program na tvorbu interaktívneho modelu organizácie. Organizácia pozostáva zo súčastí, ktoré reprezentujú pracovníkov a nástroje alebo stroje, ktoré pri práci používajú alebo obsluhujú. Súčasti môžu tvoriť väčšie celky, a to ako pracovníci (zoskupenia), tak aj nástroje a stroje (kombinované alebo zreťazené nástroje a stroje).

Každá súčasť reaguje na podnet inak v závislosti od jej typu. Reakcia môže znamenať aj interakciu so súčasťami, ktoré sú s danou súčasťou späté. Podnety interakcií prichádzajú zvonku, od používateľa programu.

Pri realizácii je rozhodujúca vnútorná reprezentácia, ale musí byť možné sledovať činnosť programu z jeho výstupu.

Príkladom môže byť továreň. Používateľ vytvorí model s určitým počtom pracovníkov, nastaví im odbornosť, priradí im nástroje, definuje vedúcich pracovníkov atď. Následne prostredníctvom zvoleného vedúceho pracovníka môže vydať napríklad príkaz vyrobiť určitý druh tovaru podriadeným pracovníkom. Pracovníci vyhovejú príkazu alebo budú namietať, že ho nie sú schopní splniť, lebo nemajú vhodný nástroj. Ďalšie možnosti práce s modelom môžu závisieť od druhu továrne. Podobne je možné modelovať hocijakú organizáciu nie nevyhnutne výrobného charakteru: školu, banku, lyžiarske stredisko…

^


Upresnenie rámcového zadania

Rámcové zadanie je abstraktné — musíte ho upresniť. Sformulujte upresnenie rámcového zadania v niekoľkých odsekoch. Projektu dájte vlastný názov.

Svoj návrh konzultujte s asistentom. Odovzdajte ho do pripraveného miesta odovzdávania v Akademickom informačnom systéme najneskôr pred začiatkom 6. cvičenia. Ak asistent to vyžaduje, zadanie odovzdajte aj na papieri na začiatku 6. cvičenia.

Aj keď zadanie má byť sformulované aplikačne, z používateľského hľadiska – t.j. nemali by ste v ňom používať termíny z domény riešenia (objekt, trieda a pod.) – myslite na to ako v ňom použijete OO vlastnosti Javy. Vytvorte si dostatočný priestor. Nebojte sa formulovať zadanie aj širšie – to neznamená, že všetko budete musieť naprogramovať.

^


Program a dokumentácia

Jadrom projektu je objektovo-orientovaný program v programovacom jazyku Java vypracovaný podľa zadania.

Program sprevádza dokumentácia, ktorá pozostáva z dvoch časti:

V správe o realizácii projektu krátko (na niekoľkých stranách) informujete o vašom projekte. V správe uveďte:

Javadoc dokumentácia je dokumentácia generovaná priamo z programu nástrojom javadoc vo formáte HTML. Poskytnite dostatočne jasný komentár v zodpovedajúcej forme pre nástroj javadoc ku všetkým dôležitým prvkom vášho programu.

^


Práca na projekte

Na projekte pracujte systematicky počas semestra. V tomto by vám mali pomôcť špeciálne úlohy na cvičeniach zamerané na prácu na projekte. Tieto úlohy budú zaradené do cvičení od tretieho týždňa. Pri realizácii projektu využite možnosť konzultácií s asistentmi na cvičeniach.

Práca na projekte počas semestra preukázaná na cvičeniach je jednou z podmienok akceptovania projektu, a tvorí aj významnú zložku jeho hodnotenia. Na jej zdokumentovanie bude pre každé cvičenie vytvorené miesto odovzdania v AIS-e, do ktorého by ste mali vložiť aktuálnu verziu projektu s krátkym opisom zmien (v rozsahu niekoľkých viet alebo odrážok) voči predchádzajúcej verzii. Samotné odovzdanie nepostačuje a potrebné je, aby ste progres na projekte aistentovi na cvičeniach aj prezentovali.

Na vypracovanie projektu môžete potrebovať aj dodatočný čas mimo cvičení. Jednou z možnosti je využitie voľného prístupu do CPU.

Práca na projekte je individuálna. Nie je povolené vytváranie skupín. Výmena skúsenosti medzi študentmi je vítaná pokiaľ neprekračuje pravidlá akademickej korektnosti.

^


Odovzdanie projektu

Projekt musíte odovzdať pred začiatkom 11. cvičenia podľa rozvrhu vášho krúžku do pripraveného miesta odovzdávania v Akademickom informačnom systéme. Tento termín je striktný a nebudú možné dodatočné odovzdávania.

Projekt uložte do pripraveného miesta odovzdania v Akademickom informačnom systéme v tvare archívu ZIP alebo RAR. Projekt musíte odovzdať pred prezentáciou. Poradie prezentácií určuje asistent. Iný spôsob odovzdania nie je akceptovateľný. Miesto odovzdania sa automaticky uzavrie na konci cvičenia. Asistent môže požadovať správu o realizácii projektu aj v tlačenej forme.

Súčasťou odovzdania projektu je aj jeho krátka prezentácia a obhajoba. Hodnotenie prezentácie a obhajoby je súčasťou hodnotenia práce na projekte v rámci semestra. Neprezentovaný projekt sa nepovažuje za odovzdaný. Ak ste projekt asistentovi ukazovali počas semestra, asistent môže rozhodnúť, že prezentácia a obhajoba nie sú potrebné. Prezentácie projektov pokračujú podľa potreby aj na 12. cvičení (ale projekt musí byť odovzdaný pred 11. cvičením ako je opísané vyššie).

Na záverečnú prezentáciu a obhajobu je pre každého študenta vymedzený len krátky čas (10 minút), v ktorom nie je možné prezentovať všetky záležitosti, ktoré by mohli prispieť k hodnoteniu. Pre získanie lepšieho hodnotenia preto pracujte priebežne a informujte asistenta o tom, ako sa váš projekt vyvíja.

Po záverečnej prezentacii a obhajobe vám asistent oznámi orientačné slovné hodnotenie. Definitívne rozhodnutie vrátanie akceptovania projektu sa dozviete prostredníctvom AIS-u po detailnom prezretí projektu.

^


Podmienky akceptovania projektu

Aby bol akceptovaný, projekt musí byť vlastnou prácou študenta, ktorý ho odovzdáva, musí byť odovzdaný a prezentovaný najneskôr v stanovenom termíne a musia byť splnené nasledujúce kritériá:

  1. Projekt musí zodpovedať spresnenému zadaniu a zásadným požiadavkam asistenta.
  2. Program musí obsahovať zmysluplné dedenie medzi vlastnými triedami s prekonávaním vlastných metód.
  3. V programe musí aspoň v minimálnej miere byť použité zapuzdrenie.
  4. Program musí obsahovať dostatok komentáru na pochopenie kódu.
  5. Dokumentácia musí zodpovedať programu.
  6. Študent musí prezentovať významný progres v projekte v kľúčových objektovo-orientovaných záležitostiach na cvičeniach pred záverečnou prezentaciou.
  7. Študent pri prezentácii musí vedieť vysvetliť program.

Nesplnenie týchto kritérií má za následok neakceptovanie projektu, dôsledkom čoho je neudelenie zápočtu. Študent nemá nárok na opravné odovzdanie projektu.

^


Hodnotenie projektu

Pri projekte sa hodnotí:

Prislúchajúce počty bodov nájdete v časti Podmienky absolvovania.

Hlavnými kritériami pri hodnotení projektu sú miera splnenia zadania, uplatnenie objektovo-orientovaných čŕt v programe (predovšetkým využitie zapuzdrenia, dedenia a polymorfizmu) a kvalita dokumentácie.

Ďalšie kritériá zahŕňajú:

Podmienkou získania aj vyššieho hodnotenia nie je splnenie všetkých uvedených kritérií. Zvlášť významnú pozíciu má použitie návrhových vzorov.

^



Valentino Vranić
vranic at fiit.stuba.sk