Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Michal Bureš
Acad. year: 2023/2024
Supervisor: Ing. Jiří Hynek, Ph.D.
Reviewer: doc. Ing. Radek Burget, Ph.D.
This thesis deals with the design, implementation, and testing of a new information system for processing significant volumes of data from smart devices using user criteria – terminologically Key Performance Indicators. The thesis describes the domain of the Internet of Things and Smart Cities and discusses Key Performance Indicators and their applicability for monitoring smart devices and transforming data from these devices into practically applicable knowledge. Another significant topic of the thesis is information systems, their architecture, and performance – here the thesis describes various concepts and aspects through which it is possible to define and evaluate the performance of software, especially information systems and web services. Subsequently, the thesis deals with the system itself, first from the perspective of requirement specification, determined by analysis of potential users and their needs, and also analysis of existing solutions and their shortcomings. Significant requirements for the new system include stream processing of data from smart devices in real-time, high system capacity, system stability, and expandability. Later, the design of the system is described with an emphasis on the data model of the system, the process of evaluating Key Performance Indicators, and the architecture of the system, followed by implementation with an emphasis on the implementation of the client side of the system, the implementation of individual services forming the backend of the system, communication between these services using RabbitMQ technology, etc. The final part of the thesis, dedicated to testing the system, focuses on system performance, i.e., the throughput of individual services in processing messages from smart devices, optimization of throughput, benefits of horizontal scaling, and system-wide latency.
Internet of Things, Smart Cities, Key Performance Indicators, Information Systems, Architecture of Information Systems, Performance, Stream Processing of Data, Real-time Data Processing, Throughput, Scalability, Concurrency, Parallelism, MQTT, Go, React, TypeScript, GraphQL, RabbitMQ
Date of defence
21.08.2024
Result of the defence
Defended (thesis was successfully defended)
Grading
A
Process of defence
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.
Topics for thesis defence
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
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)
Supervisor’s reportIng. 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.
Grade proposed by supervisor: A
Reviewer’s reportdoc. 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.
Evaluation level: 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.
Evaluation level: zadání splněno
Zadání považuji za splněné bez výhrad.
Evaluation level: 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.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová