Softwarové inženýrství

Závěrečné práce

Bakalářské práce

Návrh a implementace webového rozhraní pro telerehabilitaci

Autor
Jan Petržílka
Rok
2021
Typ
Bakalářská práce
Oponenti
Ing. Jiří Mlejnek
Anotace
Obsahem práce je vypracování webové aplikace pro telerehabilitaci dle požadavků vedoucího práce. Aplikace umožňuje uživateli s rolí správce definovat šablony formulářů a uživateli s rolí klient tyto šablony použít k vložení informací o provedení úkolu. Šablona může obsahovat videonahrávku. Aplikace postoupí vyplněný formulář se souborovými přílohami ke zpracování návazné aplikaci, která není předmětem této práce, a klientovi zobrazí informace o výsledku zpracování. Uživatelé v roli terapeut mají přiřazené uživatele v roli klient a mají přístup k úkolům svých klientů. Aplikace nad rámec obvyklých požadavků obsahuje funkčnosti pro pořízení videonahrávky s využitím Media Recording API a pro přenos velkých souborů o velikosti stovek MB z webového prohlížeče na server. Pro zabránění zahlcení linky při přenosu dat na server je použit vlastní algoritmus řízení toku dat. Uživatelské rozhraní je provedeno česky a anglicky s plně parametrizovanou lokalizací. Serverová část je implementovaná v Javě, jako databáze je použit PostgreSQL.

Návrh vybavení interiéru pomocí metod umělé inteligence

Autor
Eliška Svobodová
Rok
2021
Typ
Bakalářská práce
Vedoucí
Ing. Mgr. Ladislava Smítková Janků, Ph.D.
Oponenti
prof. RNDr. Tomáš Skopal, Ph.D.
Anotace
Tato práce přispívá k výzkumu automatizovaného interiérového designu návrhem a implementací nového systému. Proces designu je rozdělen na plánování funkčních zón pomocí simulovaného žíháni a na aranžování nábytku genetickým algoritmem. Výsledky obou algoritmů jsou dotaženy gradientním sestupem. Systém dokáže splnit požadavky od uživatele na tvar místnosti, její funkce a použitý nábytek. Experimenty ukazují schopnost systému navrhnout interiér různě tvarovaných místností s různým výběrem kusů nábytku.

Mobilní aplikace Seznamovák

Autor
Michaela Kučerová
Rok
2021
Typ
Bakalářská práce
Vedoucí
Ing. Tomáš Nováček
Anotace
Tato práce se zabývá vývojem mobilní aplikace Seznamovák pro operační systém Android v programovacím jazyce Kotlin. Součástí práce je analýza původní verze aplikace společně se stanovením požadavků kladených na nové řešení, na které navazuje návrh a implementace tohoto řešení. Nakonec se práce zabývá uživatelským testováním aplikace. Výsledkem práce je funkční mobilní aplikace, jež bude sloužit účastníkům a organizátorům seznamovacího kurzu Fakulty informačních technologií ČVUT v Praze.

Podpora tvorby a automatická oprava zjednodušeného relačního zápisu v portálu dbs.fit.cvut.cz

Autor
Martin Šach
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Jiří Hunka
Oponenti
Ing. Ivan Halaška
Anotace
Tato bakalářská práce popisuje návrh, implementaci a testování aplikace pro výukový portál kurzu Databázové systémy. Konkrétně se jedná o nástroj pro transformaci zjednodušeného relačního zápisu do vhodného datového formátu napsaný v programovacím jazyce Kotlin a textový editor umožňující snadnější zápis uživatelského vstupu, který obsahuje i vlastní našeptávač a který je napsán v JavaScriptu. Výsledkem této práce je aplikace, která je nasazená a používaná na výukovém portálu výše zmíněného kurzu.

Android mobilní aplikace pro osobní bezpečnost

Autor
Bich Phuong Phamová
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Eliška Šestáková
Oponenti
Ing. Marek Suchánek
Anotace
Tato bakalářská práce se zabývá návrhem a implementací mobilní aplikace osobní bezpečnosti pro operační systém Android. Jsou využity nejen standardní praktiky vývojového procesu nýbrž i moderní technologické služby jako jsou Google Mapy či platforma Firebase. Výsledkem je funkční prototyp. Aplikace uživateli umožňuje přivolat okamžitou pomoc v krizové situaci. Naopak v případě, že se uživatel stane svědkem protiprávního jednání, má schopnost poslat hlášení varujíc tak své okolí. V práci je uvedena analýza současných řešení, specifikace požadavků, návrh architektury aplikace, její implementace a uživatelské testování. V poslední části jsou diskutovány možnosti budoucího vývoje.

Platforma pro podporu interaktivního městského mobiliáře využívající procesor ESP32

Autor
Jakub Topič
Rok
2020
Typ
Bakalářská práce
Vedoucí
Ing. Pavel Kubalík, Ph.D.
Oponenti
Ing. Vojtěch Miškovský, Ph.D.
Anotace
Tato bakalářská práce se zabývá návrhem, implementací a testováním systému pro podporu interaktivního městského mobiliáře. Hlavní částí tohoto systému je prototyp řídicí jednotky založené na procesoru ESP32, která v instalovaných prvcích mobiliáře zajišťuje sběr dat a ovládání jednotlivých funkcí. Zbytek systému tvoří doprovodná webová aplikace, pomocí které je možné řídicí jednotky vzdáleně konfigurovat, monitorovat jejich provoz a vizualizovat jimi naměřená data. Serverová část je implementována pomocí webového frameworku Flask pro Python a klientská část byla vytvořena za pomoci frameworku Vue.js a jazyka TypeScript. Při vývoji bylo využito techniky průběžné integrace, která umožnila automatizaci validace a nasazování jednotlivých částí systému.

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.