\chapter{Závěr}
\label{chap:zaver}

Pro~splnění zadání této diplomové práce bylo třeba napsat poměrně obsáhlou aplikaci. Vizualizace minimalizace logických
funkcí je implementačně velmi náročná. Je nutné implementovat minimalizační algoritmy a poté ještě vytvořit grafické
rozhraní. Grafické knihovny ale nenabízí příliš vhodné prostředky pro~vykreslení vizualizačních metod. Bylo tedy
nezbytné vše postavit na základních třídách a ty poté upravit. Nejsložitější a časově nejnáročnější částí byla
jednoznačně implementace Booleovské n-krychle ve~3D prostoru. Zaručit kompatibilitu mezi platformami nebyl jednoduchý
úkol, a to i přesto, že OpenGL je standard, který by měl fungovat všude stejně. Realita ovšem taková není. Liší se
nejen mezi platformami, ale i~mezi některými instalacemi Windows. Krychli bylo tedy potřeba několikrát značně upravit
a~nakonec byly pro lepší stabilitu úplně vypuštěny textury.

Celkově myslím, že aplikace splnila všechny požadavky zadání. Přesto jsem si vědom, že některé části mohli být splněny
lépe. Především nejsem úplně spokojen se zobrazením průběhu obou algoritmů. Generování průběhu Quine--McCluskey je
pomalé a vzhledově nevyhovující. To je způsobeno výběrem základní třídy, na které je vykreslování postaveno. Co
se týče Espressa, mělo by asi dostat větší prostor. V~rozvržením však dostaly přednost uživatelsky více použitelné
součásti jako jsou seznamy pro výběr termů. Na~druhou stranu jsem velmi spokojen s~výsledným zpracováním Karnaughovy
mapy, kterou všichni testovací uživatelé ohodnotili velice kladně. I~zpracování Booleovské n-krychle se dle mého názoru
povedlo. I když by možná bylo dobré trochu vylepšit její ovládání. Co se týče konzolové části, je třeba uvést, že je to
pouze rozšíření aplikace, které není součástí zadání. To je také důvod, proč jsem se hlouběji nezabýval jejím
zprovozněním ve~Windows. Osobně si nemyslím, že by ji někdy nějaký uživatel Windows spustil, proto by to bylo asi
i~zbytečné úsilí.

Textová část práce se zaměřila především na minimalizační metody a jejich popis. Veškeré teoretické základy uvádí
kapitola \ref{chap:mini}. V~kapitole \ref{chap:bmin} byl pak podrobně popsán program, který byl v~následující kapitole
\ref{chap:test} otestován na uživatelích. To bylo velmi přínosné, protože bylo ozřejmeno mnoho drobných
nedostatků. Textová část zároveň může sloužit i jako manuál k~aplikaci, což byl jeden z~mých cílů.

Hlavním mým cílem bylo dostat původní aplikaci, která fungovala jen pod Linuxem, do~stavu použitelnosti na~všech
počítačích. To se myslím povedlo, i když bude třeba ještě udělat mnohá vylepšení, než bude aplikace rozšířena mezi
uživatele. Plán budoucího vývoje uvádí následující sekce.


\section{Budoucí vývoj}
\label{sec:future}

První věc, kterou bude třeba udělat je instalátor. V~Linuxu bude stačit udělat soubor \code{configure}, který by měl
ověřit všechny závislosti. Ve~Windows bude třeba najít vhodný instalační program, který automaticky provede instalaci
za~uživatele. Po zabudování instalátoru by okamžitě měla vyjít verze 1.0.0, která by se měla objevit na Google Code
\cite{google-code}.

Ve verzi 1.1.0 by měla být kompletně změněna pravdivostní tabulka a vykreslení průběhu algoritmu Quine--McCluskey. To by
mělo být společně s~nově přidanou nápovědou postaveno na knihovně QtWebkit. V plánu je také vytvoření rozšiřovatelného
plovoucího layoutu a přidání obrázků pro~lepší grafický vzhled. Poslední věcí je ukládání sezení (sessions), které by
mohlo být načítáno při dalším spuštění.

V~budoucnu by pak mohlo dojít ještě k~rozšíření a zabudování shellu do~grafické aplikace, tedy k vytvoření nějakého
nového okna s~příkazovou řádku. Mohlo by dojít i k~rozšíření na~vícevýstupové funkce. To by si ale vyžádalo poměrně
mnoho velkých změn v~jádru, což v~blízké době není moc pravděpodobné. 

Další vývoj bude především záležet na~tom, zda se aplikace rozšíří mezi velký počet uživatelů. Také bude dost podstatné,
zda se někdo zapojí do~jejího vývoje, protože sám už pravděpodobně nebudu mít tolik času. 




