SOUSEDÍK, T. Klient protokolu DNS s grafickým rozhraním vhodný pro demonstrativní účely [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2014.
Diplomová práce je zaměřena na návrh a implementaci klienta protokolu DNS s grafickým rozhraním. Zadání práce bylo splněno, výsledná aplikace umožňuje vše, co bylo požadováno. Nad rámec zadání se student věnoval i implementaci funkcí souvisejících s technikou DNSsec. Student pracoval samostatně, avšak průběžně prezentoval a konzultoval dosažené výsledky. Určité rezervy lze spatřoval pouze ve slabší dokumentaci vytvořeného programu a přehlednosti zdrojového kódu, který obsahuje minimum komentářů. Ve formálním zpracování lze nalézt pouze drobné nedostatky. Práci hodnotím A/90 bodů.
Z formálního hlediska má diplomová práce dobrou grafickou úroveň, ale obsahuje několik překlepů (nesprávné skloňování). Z hlediska obsahu je práce rozdělena na dvě části. První, teoretická, zahrnuje na 27 stranách popis protokolu DNS včetně struktury záznamů DNS. Druhá, praktická, pak na zbylých třinácti stranách popisuje návrh a strukturu aplikace DNSresolver, která byla v rámci řešení práce vytvořena. Součástí práce je velká (73 stran) textová příloha obsahující obsah všech zdrojových souborů. To mi však přijde kontraproduktivní. Tato příloha je pro čtenáře nečitelná a zájemce se na ni bude dívat v rámci projektu, který je součástí přiloženého zip archívu. Smysl by měly například struktury (jako ResolverParams či DNSreply), na které by bylo odkazováno v rámci textu samotné práce. Lze konstatovat, že zadání bylo z větší části splněno. Postrádám však zmínku o programu nslookup a srovnání navrženého programu s programem nslookup. K diplomové práci je přidána příloha, v níž je umístěna samotná přeložená aplikace a zdrojové kódy aplikace psané v jazyku C# ve vývojovém prostředí MS Visual Studio 2012. Ve zdrojových kódech byly zahrnuty generované soubory z adresářů \bin a \obj, které tam dle mého názoru nepatří (kdo nemá vývojové prostředí, použije přeloženou aplikaci, kdo je má, tomu se tyto souboru při překladu vygenerují). Přiložené zdrojové kódy působí rozpracovaným dojmem. V projektu je zařazen zdrojový soubor Old Answer.cs, který je kompletně zakomentován. Napříč zdrojovými soubory se vyskytují nejen zakomentované řádky ale i celé zakomentované metody. Z programátorského hlediska si nelze nevšimnout prohřešků typu duplikování kódu, kdy například stejná statická metoda getbit je implementována duplicitně na několika místech. Další věcí je uvádění jmen konkrétních cest přímo ve zdrojovém kódu (String FileP = "c:\\moje\\škola\\bity.txt";). Slušelo by se číst tuto cestu z konfiguračního souboru. V neposlední řadě je to velmi častý výskyt tzv. magických konstant. Opět by pro lepší čitelnost kódu a neduplikování těchto konstant stálo za to tyto konstanty pojmenovat symbolickými jmény a tyto dále v kódu používat. Kladně ale hodnotím oddělení GUI vrstvy a výkonné vrstvy, které je v samostatné assembly. Přiložená aplikace DNSresolver je funkční, hlavní okno je však velice neintuitivní. Chybí popisky jednotlivých editačních polí, comboboxů, radiobuttonů a pod. Stejně tak informace o průběhu spojení (např. že hostitel neodpovídá) je posílána pouze na Debug konzolu, ale uživatel aplikace se nic nedozví. I přes uvedené nedostatky doporučuji diplomovou práci k obhajobě.
eVSKP id 73839