r.I
TECHNICKA UNIVERZITA V LIBERCI'..4-,' I,JLult,r mr'( h,l rrn rt y. :,)k'.mnr,ky
I
'r'arr,,borovyrI rlurir' I
opoN ENTN I posu oer z{vEnedn E nrnu rrxReN I pRAcE
Autor zdvdredn6
prdce: Jaroslav
HrabalN6zev pr6ce:
Objektovdorientovanf framework
pro provoznidata
podzemnichz6sobnik0
prynuOponent
prdce
ing.lgor
KopetschkePracoviSt6
oponentia Technickd
univerzitav
LiberciA. Kvalita abstraktu, klidov6 slova odpovidaji neplni
prace
Velmi dobfe (2)B. Rozsah a zpracovani
reserse . .
Velmi dobie minus (2-)C. Reseni pr6ce po teoretick6
str6nce
Dobie (3)D. Vhodnost, piimeienost pouiit6
metodiky
Velmi dobie minus (2-) E. Uroveri zpracovdni vlsledk0 adiskuse
Nedostatedne (4) F. Vlastni piinos k feseneproblematice
Velmi dobFe minus (2-)G. Formulace zeveru
pr6ce
Dobie (3)H. Splneni zad5ni (cil0)
prece
Nesplnenol.
Skladba, spravnost a tplnost citaci literemichidaj0
Velmi dobie minus (2-) J. Typografick6 a jazykove uroveh (vd.pravopisu)
NedostateenC (4)K. Form6lni nelezitosti
prdce
Dobie (3)(struktura textu, iazeni kapitol, piehlednost ilustraci)
Komentaie di piipominky:
JiZ pii prvnim eteni pr6ce vykazuje znaky konceptu, nikoliv finalniho produktu.
Po strance syntakticke lze konstatovat, Ze autor evidentne svou preci nedetl (vdty dasto zadinaji malym pismenem, misty jsou neUplne nebo nedavaji smysl, vyskytuji se slangove a hovorove Wrazy).
Po strance obsahov6 m5m velik6 v,.ihrady od kapitoly 3 dale a jeiich souhrn z dfrvodu rozsahlosti uvedu v piiloze. Visledna implementace navrhu neodpovida popisu uvedenem v preci - podrobnosti opCt viz.
oiiloha.
Piilo2ena aplikace je (snad) funkdni za piedpokladu piesn6ho dodr2enijednotliwch kroki, ktere nejsou formou dokumentace pops6ny. Aplikaci se podaiilo po importu externich (k pr6ci neplilo:enych) knihoven zkompilovat a spustit, ale ani po hodind prace s ni jsem nedokezal ziskat kizeny \^istup.
Celkove pr6ce pfrsobijako nedotazene a ve spechu odbyt6.
...pokraiuje na strane 2
TECHNICKA UNIVERZITA V LIBERCI:FMIMS rSrdenrskii 14o2t7 4t)1 lTLrberecl
tel +.120 185 353 129 \ tneno ptJmen@tulcz wtrty tu!cz DtC Cz 467 17 8851
:::I
r..t
TECHNICKA UNIVERZITA V LIEERCI '1471 t alult.r mechatr)nrky ,nfornrJtrkyd 'trez rr)bor ()vyah
\!udr I
Celkov6 zhodnoceni:
Jak jsem uvedl Wse, podrobni komentSi k jednotliwm vihradAm plikladem v piiloze. Konstatovani v
zavCru, Ze byl vytvoien funkeni famework, mi \rzhledem k piedloZenemu Wsledku piipad6 znaene nadneseny.
Dle m6ho nazoru v,isledek nespliuje naroky kladen6 na bakaleiskou praci a autor by ji mel piepracovat.
Ot6zky k obhajobC:
1. Cetl tste svou praci pied odevzd6nim do tisku ?
2. Vysvdtlete rozdil mezi tiidou Collections a rozhranim Collection z baliku java.util.'
3. Popiste blize strukturu soubor0 TBD a uvedle, jedna-li se o standardizovany form6t nebo ne
4. Proe je tiida Virtual potomkem tiidy LoadJSON a jak tato konstrukce zapad6 do ob.iektoveho modelu frameworku ?
5. M0:ete jako soud6st prezentace odpovedi na tyto otazky uk6zat UML diagram tlid Vaseho frameworku ?
Celkov6 klasifikace:
Prace nesphiuje pozadavky na udeleni akademickeho titulu, a proto ji nedoporueuji k obhajobe Navrhuji tuto praci klasifikovat
stupn6m
Nedostatedn6 (4)V
Libercidne 2. eervna 2015
Podpisem soudasn6 potvrzuji,
ie
nejsem v 2adn6mosobnim
vztahu k autorovi prace//
,//F:1-- --
' /z / \_:.-.- \
'podpis oponenta
TECHNICKA UNIVERzITA V LIBERCI FllllMS Studenlskd 14O2t2 461 17 Liberec 1
lel
+12O 185 353 429 | lmeno prtmeni@tul cz 1 www lul cz 1 DIC: CZ 467 47 885 |::!I
Piiloha oponentniho posudku bakal6isk6 prdce
Autor
prSce:
Jaroslav HrabalNSzev
price:
Objektovd orientovani framework pro provozni data podzemnich zdsobniki plynu.Oponent:
ing. lgor KopetschkeI'otlrobrtifii polris vlihI-atl
l< 1tt'itciJazvkovii, formiilni
a
svntaktickd UroveiJak
jii
bylo ieaeno v posudku, autor psal prdci evidentn6 ve spEchu a neprovedl n5slednou revizi textu. V6tyiasto
zatinajimalfm
pismenem, pojmenovdni n6kterich prom6nnVcha
metod takt6;obdas vz5jemnE neodpovidaji skutednosti. V textu se hojn6 vyskytuji hovorov6 rny'razy, napiiklad:
.
strana 33-
"Vlisledkem metod a//, group a wellNames je treemapa s klliem javovsk6ho iasu piedstavujici ias m6ieni a hodnoutou v podob6 listu double hodnot. ".
strana 34-
"... hodnoty ve tvaru listo doubelu"Kompletnivlidet pravopisnlich chyb a hovorovich vlirazi by rozsahem konkuroval ce16 prdci.
Obsahov6
6rovei
Kapitola 3
Definovat OOP jako styl programovdnf
-
zde bych asinaiel lepii a
piesn6jSi formulaci. Nicm6n6 tvrdit,ie
princip "OOP spoiiva v rozdilen[ programu no dilti idsti o postupnem fuienl tdchto men;ich i6sti progromu" je velice zavdddjici, protoie toto neni unikdtni vlastnost pouze OOP. Steind tak neni unikdtem OOP znovupoutitelnost k6d u.ze stejn6ho drivodu mdm vlihrady k podkapitole 3.2 popisu.iici princip dEdianosti.
Kapitola 3.6
Kapitola se vdnuje t6matu Java Collections Framework. Zcela chybi popis kolekci nebo alespoti ndstin hierarchie rozhrani a
tiid.
V prvni v6t6 .ie sice konstatovina existencetiidy
Collections, coZ ov5em neni zdkladni API .iednotlivich rozhrani konkr6tnfchtyp0
kolekci (touje
rozhrani Collection), ale nadstavbovd tiida poskytujici algoritmy mj. pro prdci s existujicimi instancemi.Niisledni popis jednotliv'i'ch rozhrani opdt obsahuje chyby .iak faktick6, tak syntaktick6
- "
TiidaTreeMap implementuje rozhranf map."
Kapitola 5
Je zmiiovdn souborovr/'
formiit
TBD, ale nikde neni popsdno, jednii-li seo
u:ivatelem navrienliform6t, nebo form6t
stand a rdizovan!',
kaidopddnE chybijeho
popis.Ten lze dovodit
pouzez piiloien'/ch obrdzktr.
Kapitola 6
Tato kapitola
a
souvisejici podkapitoly popisuji samotnvobjektovi
ndvrh frameworku. Strukturaobjekt0 popsand
vpodkapitole 6.1 nerespektuje poiadovanou
hierarchiiVirtual -> Storage -> Wellcroup -> Well -> Quantity
Chyb6.iici
tiida
WellGroup by mdla piedstavovat skupinu sond na zdsobniku a obsahovat seznam .iednotlivrich sond. Naproti tomu zcela chybi a ilenstvi ve skupinEje
realizovdno pouze atributem piimo v tiidd Well. Tim se zbytein6 komplikuje vyhleddvdni sond patiicich do konkrdtni skupiny Misto obrdzkui.7
by m6l b!'t uveden UML diagram tfid.V kapitole 6.5 je popisovdn balidek main a tiida Main, kter6 dle popisu slouii k testovdni frameworku.
Toto je velice zavAdljici, proto:e standardnd
je
pro tyto rltely pouiivdna ndkter6 z metod testovdni SW, napiiklad JUnit testy, kter6 pot6 logicky stoji mimo samotnou aplikaci.Kapitola 8.2.2 nese
nizev
Ukliiddnidat
z datov6ho souboru,piitom
popisuje naaitdni dat zTBD souborfr a jejich zpracov6 ni.lmplementace frameworku
Zde jsou m6 v'i'hrady asi nejv6tii. V k6du se vyskytu.ie mnoistvi nepouiitfch importt. Baliiky jsou pouze jedno{rovriov6, coi pro znovupouiitelnost jako framework neni vhodn6.
NEkte16 tiidy (napiiklad well) obsahuje zcela nesmyslnd atribut cs typu Scanner, navic
nepouiiti
Pfitom tato tiida miibit
dle ndvrhu tfidou obalovou (bean) zapouzdiujici pouze atributy sondy s piistupem pomoci metod get a set. Atributy navic nespliuji princip zapouzdieni, protoie zcela chybi mod ifikdtor private.Tiida Virtual m6la reprezentovat dle zaddnivirtuiilni zdsobnik, mj jako seznam zdsobnik0 re6lnrl'ch.
V popisu v prdci zcela schdzi. Navic je potomkem tiidy LoadJSON,
jejimi
ridelem je pouze naateni zdsobniku a souvisejicich dat ze souboru typu json. Toto ddd6nije v kontextu idelu tiidy Virtualz pohledu objektov6ho modelu zcela chybn6.
Mimochodem, v prdci zcela schdzi zminka o pr6ci s datovfm typem ison.
Tifda Main (vrihrady viz Wie) obsahuje k6d s napevno deklarovanou absolutni cestou k souborrjm, kterou lze obejft pouze Upravou zdrojov6ho k6du a nikoli napf. parametrem pii spuitdni.
Piilo:end datov6 soubory neobsahuji jak'i koli piiklad priice s json.
Zdrojov6 k6dy jsou poskytnuty bez nutnrich knihoven tietich stran, kte16 nejsou standardni souddsti Javy (napi. org.json.*), tudi: je bylo nutno pied kompilaci stdhnout. Kompilace prob6hla v poiiidku.
Z divod0 vriie uveden'i'ch nelze spustit testovacitiidu Main bez nutnfch programou/ch tiprav.
Grafick6 rozhrani obsahuje nei(astnd 4 spustiteln6 tiidy,
piiiemi
pouze jedna z nich umoini prdcis aplikaci. Bohuiel, prdce s aplikacije nepiehlednS a ani po hodin6 testovdni se mi nepodaiilo projit v5emi fkony bez vfskytu chyby.
Na rozdil od tvrzeni autora v prdci, neni oietiena spousta stavt, kter6 vyvolajivfjimku
-
staii zvolitsoubor se Spatnou strukturou a aplikace vypiSe na konzoli chybov6 hl;i5eni anii je uiivatel o tomto informovdn. Jakdkoli nekonzistence v datech, zvolen6m postupu, nadefinovanrich krit6riich atd. op6t skonCiv'/pisem chyby
-
ovsem nikoli vljimkou zachycenou programStorem, ale interni rnljimkou Javy, kde uiivatel nem6 Sanci zjistit piitinu vrijimky v kontextu iinnosti.V Liberci dne 2.6.2OLs
Ing. lgor Kopetschke