Aktuální informace FIT ke koronaviru najdete zde.

Softwarové inženýrství

Závěrečné práce

Bakalářské práce

Spravování stavu ve webových aplikacích SPA s více klienty

Autor
Tomáš Bydžovský
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Marek Skotnica
Oponenti
Ing. David Šenkýř
Anotace
Tato práce se zabývá správou stavu webových Single Page Aplikací (SPA) a jeho synchronizací na více klientech. V posledních letech rostoucí složitost webových aplikací vedla k vytvoření nových systémů a návrhových vzorů, které se zabývají správou stavu. Přesto nejsou koncepty správy stavu příliš známé a nabídka existujících řešení může být nepřehledná. Tato práce popisuje koncepty správy stavu a synchronizace dat v reálném čase. Součástí práce je analýza současných řešení a technik, zejména návrhového vzoru Redux a jeho implementace v podobě knihovny NgRx a také protokolu WebSocket a jeho využití v knihovně SignalR. V této práci je navržen design systému pro správu stavu webové aplikace se synchronizací v reálném čase s využitím návrhového vzoru Redux a knihovny SignalR. Jedná se o aplikaci podobnou aplikaci Google Drawings. Aby bylo možné demonstrovat nové koncepty a možnosti takového systému, byla podle navrženého designu vytvořena ukázková implementace ve formě prototypu.

Webová vzdálená správa

Autor
Filip Dolník
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Jiří Hunka
Oponenti
Ing. Filip Glazar
Anotace
Práce se zabývá vzdálenou správou webových aplikací. Cílem práce je vytvořit návrh a na jeho základě prototyp, který má umožnit správci vzdáleně ovládat webovou aplikaci. Při návrhu řešení je hlavní důraz kladen na to, aby uživatel nemusel instalovat a používat žádný dodatečný software. V prostředí webu se o takovéto vzdálené správě hovoří jako o co-browsingu. V teoretické části práce jsou popsány vlastnosti co-browsingu a také různé metody, jak lze realizovat. Z nich jsem zvolil metodu synchronizace výstupu JavaScriptového enginu. Hlavním rozdílem oproti jiným existujícím řešením je využití částečné peer-to-peer architektury ke zlepšení odezvy. Výsledkem práce je prototyp umožňující správci ovládat uživatelovu webovou stránku. V práci je popsána architektura prototypu a principy na jakých funguje. Dále jsou zde návrhy, jak vyřešit jeho současná omezení. Tyto informace lze použít při tvorbě plnohodnotného nástroje pro vzdálenou webovou správu.

Aplikace pro zaměstnance ČSOB

Autor
Viktor Müller
Rok
2019
Typ
Bakalářská práce
Vedoucí
Ing. Miroslav Balík, Ph.D.
Anotace
V této bakalářské práci je popsána softwarová analýza, návrh a implementace mobilní aplikace pro operační systém Android v jazyce Kotlin. Práce se dále zabývá popisem použitých technologií pro vývoj a testování Android aplikace. Výsledkem práce je mobilní aplikace pro zaměstnance Československé obchodní banky, a.s., pomocí které lze pohodlně vyhledávat interní informace napříč bankovními systémy. Aplikace je připravena pro integrační testování se skutečnými bankovními servery.

Extrakce textur z fotografií

Autor
Danil Luzin
Rok
2018
Typ
Bakalářská práce
Vedoucí
Ing. David Sedláček, Ph.D.
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Tato bakalářská práce popisuje proces analýzy, návrhu a implementace nástroje pro extrakci textur. Nástroj vytvoří pro 3D model získaný fotorekonstrukcí obrazové soubory, které se dají použít pro otexturování tohoto 3D modelu. Vstupem programu je 3D model, sada fotografií a kalibrační data kamer. Práce popisuje techniky, přístupy a výzvy přítomné v oboru extrakce textur. V této práci je implementováno pár nových způsobu řešení některých z těchto problému. Výsledkem práce je plně funkční nástroj napsaný v C++.

Framework pro vyhodnocování úspěšnosti algoritmů častých sekvencí v doporučovacích systémech

Autor
Michal Bajer
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Tomáš Řehořek, Ph.D.
Oponenti
doc. Ing. Pavel Kordík, Ph.D.
Anotace
Tato bakalářská práce pojednává o analýze sekvenčních dat, hledání častých vzorů v časově uspořádaných datech a jeho využití k doporučování produktů zákazníkům internetových obchodů na základě jejich historie nákupů. Cílem práce je navrhnout a implementovat framework, který umožňuje zpracovat nasbíraná data, najít v nich vzory a určit na jejich základě pravděpodobné pokračování sekvence nákupů zákazníka. Dalším cílem je umožnit vyhodnocení úspěšnosti několika různých algoritmů a vybrat nejvhodnější pro specifický účel. Výsledkem práce je návrh, diskuze možností a implementace funkčního frameworku pro doporučování produktů a vyhodnocení úspěšnosti. Na konec proběhla analýza kvality doporučení za použití implementovaných algoritmů. Implementace práce proběhla v jazyce Java.

Funkcionální programování pro web frontend

Autor
Jan Luxemburk
Rok
2017
Typ
Bakalářská práce
Vedoucí
doc. Ing. Robert Pergl, Ph.D.
Oponenti
Ing. Lukáš Janeček
Anotace
Tato práce se věnuje novému programovacímu jazyku Elm. Elm je důkladně prozkoumán. Na teoretické úrovni, v kontextu konceptů functionálního programovaní jako jsou "pure" funkce, "side" efekty nebo perzistentní datové struktury. Z praktického pohledu se věnuji dostupným vývojářským nástrojům a knihovnám. Součástí práce je i ukázková Elm aplikace.

Řízení projektu a infrastruktury portálu pro podporu výuky předmětu BI-DBS

Autor
Oldřich Malec
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Jiří Hunka
Oponenti
Ing. Michal Valenta, Ph.D.
Anotace
Práce se zaměřuje na efektivní řízení softwarového projektu, jehož cílem je vyvinout podpůrnou webovou aplikaci pro výuku předmětu BI-DBS na FIT ČVUT. Práce popisuje problémy s vedením vícečlenných týmů, zabývá se problematikou nasazování a udržitelnosti běhu výsledného softwaru a jeho průběžného vývoje. Cílem práce bylo navrhnout a začít používat postupy a nástroje, díky kterým se efektivně skloubí běžící systém a jeho průběžný vývoj za minimálního výskytu chyb. Jako metodika vývoje byla zvolena kombinace Extrémního programování a Feature-driven development, průběh práce je sledován v Redmine. Zdrojový kód aplikace je verzován a testován na Gitlabu. Poslední kapitola také obsahuje praktické ukázky konfigurace některých služeb potřebných pro běh samotné aplikace. Z práce lze vycházet při řízení jiných projektů obdobných rozměrů či pokračování v řízení stejného projektu.

Aplikace pro získávání dat z logů

Autor
Michal Stejskal
Rok
2017
Typ
Bakalářská práce
Vedoucí
Ing. Josef Vogel, CSc.
Oponenti
Ing. Tomáš Zahradnický, Ph.D.
Anotace
Tato bakalářská práce se zabývá návrhem a vývojem systému pro prohledávání a agregaci log souborů a generováním událostí na základě nalezených dat. V první části je popsána architektura tohoto systému, příkladové případy užití, požadavky na tento systém, popis uživatelů systému a zvolené technologie. Na základě výsledků první části, je ve druhé části popsán proces implementace jednotlivých komponent systému, rozhraní jejich komunikace a popis vyhledávání a zpracování výsledků indexovacího nástroje. Vyvinutými komponentami jsou RESTful Java API, které zpracovává požadavky klientské aplikace, vytváří vyhledávací objekty na indexovací nástroj a generuje události na základě nalezených dat. Dále byla vyvinuta klientská aplikace sloužící k interakci s uživatelem a zpracování výsledků vrácených systémovým RESTful API. Systémové RESTful API bylo implementováno v jazyce Java, klientská aplikace v AngularJS 2. Jako indexovací nástroj byl zvolen Elasticsearch. Celý systém byl otestován a popis průběhu testování a zvolené testovací metody, jak automatického, tak manuálního testování, jsou popsány ve třetí kapitole. Proces nasazení systému do produkčního či testovacího prostředí je popsán ve čtvrté kapitole. V této kapitole je popsána kontejnerizace jednotlivých komponent systému nástrojem Docker a propojení jejich komunikace. V závěru je diskutována budoucnost systému a další možná rozšíření.

Webová služba pro pokročilou analýzu textu

Autor
Jan Švejda
Rok
2017
Typ
Bakalářská práce
Vedoucí
doc. Ing. Pavel Kordík, Ph.D.
Oponenti
Ing. Karel Klouda, Ph.D.
Anotace
Mnoho statistických modelů a modelů strojového učení, které se snaží pokořit problémy zpracování přirozeného jazyka, mají potenciál asistovat lidem v mnoha oborech. V rámci této práce je vytvořena aplikace, která zpřístupňuje takové modely aplikované na doménu článků z internetu prostřednictvím webové služby a webové stránky. Tím je novinářům a editorům článků poskytnuta možnost získat více informací o jejich článku, umožňuje to integraci těchto modelů s externími systémy a nabízí to interaktivní experimentování s nimi také lidem, kteří se o zpracování přirozeného jazyka zajímají. Jak webová služba tak stránka byly úspěšně navrhnuty a implementovány, a to s důrazem na bezpečnost a škálovatelnost. Aplikace je navržena takovým způsobem, aby bylo možné ji v budoucnu snadno rozšířit o novou funkcionalitu.

Návrh a implementace buněčného automatu simulujícího dynamickou rekrystalizaci

Autor
Jakub Tkáč
Rok
2017
Typ
Bakalářská práce
Oponenti
doc. Ing. Ivan Šimeček, Ph.D.
Anotace
Cílem této bakalářské práce je navrhnout, implementovat a vizualizovat buněčný automat simulující dynamickou rekrystalizaci. Implementace algoritmu byla sestavena na základě vědecké publikace, doktorské práce a existujícího kódu v jazyku CellLang. Uživatelské rozhraní je implementováno v jazyce C++ s využitím frameworku Qt. Výsledná aplikace zobrazuje mikrostrukturu a vizualizuje spočtené výsledky výpočtů uživateli. Jedná se o křivku mechanického napětí, křivku střední velikosti zrna a hustotu dislokací. Výsledky simulace lze ukládat. Je zde možnost načíst si inicializační mikrostrukturu nebo si vygenerovat vlastní v programu na základě definovaných parametrů pomocí pseudo-statické rekrystalizace. Volitelnost parametrů zaručuje možnost simulace materiálu deformovaného v různých podmínkách.