Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Michal Bureš
Ak. rok: 2023/2024
Vedoucí: Ing. Jiří Hynek, Ph.D.
Oponent: doc. Ing. Radek Burget, Ph.D.
Tato práce se zabývá návrhem, implementací a testováním nového informačního systému pro zpracování značných objemů dat z chytrých zařízení pomocí uživatelských kritérií – terminologicky klíčových indikátorů výkonnosti. Práce popisuje oblast internetu věcí a chytrých měst a pojednává o klíčových indikátorech výkonnosti a jejich použitelnosti pro sledování chytrých zařízení a transformaci dat z těchto zařízení na prakticky uplatnitelné poznatky. Dalším významným tématem práce jsou informační systémy, jejich architektura a výkonnost – zde práce popisuje různé pojmy a aspekty pomocí kterých lze definovat a vyhodnocovat výkonnost software, zejména informačních systémů a webových služeb. Následně se již práce zabývá samotným systémem a to nejprve z hlediska specifikace požadavků, určených rozborem potenciálních uživatelů a jejich potřeb a také rozborem již existujících řešení a jejich nedostatků. Významné požadavky na nový systém zahrnují proudové zpracování dat z chytrých zařízení v reálném čase, vysokou kapacitu systému, stabilitu systému a rozšiřitelnost. Posléze je popsán návrh systému s důrazem na datový model systému, proces vyhodnocení klíčových indikátorů výkonnosti a architekturu systému a poté implementace, s důrazem na implementaci klientské strany systému, implementaci jednotlivých služeb tvořících backend systému, komunikaci mezi těmito službami pomocí technologie RabbitMQ atd. Poslední část práce, věnovaná testování systému, se zaměřuje na výkonnost systému, resp. na propustnost jednotlivých služeb při zpracování zpráv z chytrých zařízení, optimalizaci propustnosti, přínos horizontálního škálování a celosystémovou latenci.
Internet věcí, Chytrá města, Klíčové indikátory výkonnosti, Informační systémy, Architektura informačních systémů, Výkonnost, Proudové zpracování dat, Zpracování dat v reálném čase, Propustnost, Škálovatelnost, Souběžnost, Paralelismus, MQTT, Go, React, TypeScript, GraphQL, RabbitMQ
Termín obhajoby
21.08.2024
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
A
Průběh obhajoby
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.
Otázky k obhajobě
Jazyk práce
čeština
Fakulta
Fakulta informačních technologií
Ústav
Ústav informačních systémů
Studijní program
Informační technologie (BIT)
Složení komise
doc. Ing. Radek Burget, Ph.D. (předseda) doc. Ing. Petr Motlíček, Ph.D. (člen) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) doc. Mgr. Kamil Malinka, Ph.D. (člen) Ing. Bohuslav Křena, Ph.D. (člen)
Posudek vedoucíhoIng. Jiří Hynek, Ph.D.
Student ke své práci přistupoval svědomitě. Zaobíral se netriviální problematikou, jejíž výstupy budou využité v dalším výzkumu v oblasti IoT. Navrhuji hodnocení stupněm A.
Cílem práce bylo navrhnout a implementovat informační systém pro výkonné zpracování dat z chytrých zařízení. Práce měla převážně průzkumný charakter. Student porovnal jazyky C++, Rust a Go, které přináší výkonnostní zlepšení oproti tradičním jazykům pro tvorbu serverových webových aplikací. Dále prostudoval vhodné architektury a technologie pro tvorbu informačních systémů (mikroslužby, proudové zpracování s využitím front, RabbitMQ). Mimo jiné se musel dobře seznámit s problematikou internetu věcí, principy zasílání zpráv (např. protokol MQTT). Zadání považuji za obtížnější.
Práci s literaturou hodnotím jako nadprůměrnou. Student aktivně dohledával a pečlivě studoval odborné publikace, jejichž poznatky se snažil aplikovat v praktické části práce.
Student byl aktivní během celého akademického roku. Účastnil se průběžných online konzultací, na které byl pečlivě připraven. Důvody posunu odevzdání práce byly konzultovány a považuji je za opodstatněné.
Práce byla dokončena v předstihu. Její obsah byl konzultován.
Výsledné řešení s názvem RIoT včetně zdrojových kódů bylo uveřejněno ve službě Github pod licencí MIT.
Známka navržená vedoucím: A
Posudek oponentadoc. Ing. Radek Burget, Ph.D.
Pan Bureš důkladně prostudoval související problematiku a navrhl pokročilé řešení, které je po technické stránce velmi kvalitní. Toto řešení je dopracované do detailů a připravené k nasazení v praxi. Přes některé výhrady, které mám ke způsobu psaní technické zprávy a k některým výše uvedeným návrhovým rozhodnutím, považuji výsledek za nadprůměrný a navrhuji hodnotit stupněm A.
Stupeň hodnocení: průměrně obtížné zadání
Cílem zadání je návrh řešení, které umožní zpracovat proudy dat ze senzorů chytrých zařízení a vyhodnocovat je v reálném čase na základě předem stanovených kritérií. Zadání považuji za průměrně obtížné.
Technická zpráva je přehledně strukturovaná a pokrývá jak teoretickou část věnovanou informačním systémům, jejich architektuře a výkonnosti a analýze požadavků, tak i praktickou část věnovanou návrhu, implementaci a testování vlastního řešení. Text je ve všech částech velmi podrobný, architektura výsledného systému je zajímavě technicky řešena s důrazem na škálovatelnost. Přesto však některá návrhová rozhodnutí nejsou z textu zcela zřejmá, nebo možná v ostatních informacích zanikají. Jedná se např. o způsob využití relační databáze, která, jak autor sám uvádí v závěru, zůstává výkonnostním úzkým hrdlem nebo způsob reprezentace a ukládání definic vyhodnocovaných kritérií v podobě stromových struktur přímo v relační databázi, který se jeví jako poněkud složitý a současně omezující. Důsledkem je potom potom například i poněkud nepřehledný E-R diagram na str. 39.
Z typografického hlediska je technická zpráva velmi pečlivě zpracována a i po jazykové stránce je velmi kvalitní. Drobnou výhradu mám jen k poněkud rozvláčnému stylu psaní, kdy občas autor nejde přímo k věci, ale prokládá text subjektivními úvahami, kterými se při řešení zabýval, mnohokrát opakuje jména autorů citovaných publikací apod. Na to, že cíle práce jsou poměrně přímočaré, se popis řešení jeví místy až zbytečně komplikovaný. Celkově však text považuji za nadprůměrně pečlivě zpracovaný.
Implementačním výstupem je aplikace sestávající z modulárně řešené serverové části a klientské části poskytující uživatelské rozhraní. Architektura řešení je velmi pěkně navržena a je implementována pomocí moderních technologií. Celá aplikace je plně funkční a připravená k nasazení v praxi. Pozitivně hodnotím i využití vhodných existujících technologií pro monitorování informačních systémů za účelem vyhodnocení výkonnosti celého řešení.
Implementované řešení je dostupné jako software s otevřeným kódem na serveru GitHub a je potenciálně užitečné jako výchozí bod pro další podobné aplikace.
Stupeň hodnocení: zadání splněno
Zadání považuji za splněné bez výhrad.
Stupeň hodnocení: přesahuje obvyklé rozmezí
Technická zpráva svým rozsahem mírně přesahuje rozmezí obvyklé pro bakalářskou práci. Jak uvádím níže, text práce je v některých pasážích poněkud rozvleklý, všechny částí jsou však relevantní k tématu práce a žádná není vysloveně nadbytečná.
Seznam zdrojů je na bakalářskou práci nadprůměrně rozsáhlý a obsahuje relevantní zdroje. Tyto zdroje jsou v textu práce řádně citovány.
Známka navržená oponentem: A
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová