Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Milan Takáč
Acad. year: 2024/2025
Supervisor: Ing. Jan Fiedor, Ph.D.
Reviewer: Ing. Bohuslav Křena, Ph.D.
The goal of this thesis is to design and implement an editor simplifying writing system requirements. The solution is to create a block-based text editor which will visualize the terms of the text as blocks. The editor is implemented as a configurable web component with two editor modes-block and text. The user can switch between the editor modes, where the block mode is the primary one. In the block mode the user sees text visualized as blocks and can reorganize individual parts of the text. The Evaluation chapter depicts the typical user interactions with the editor.
requirements engineering, block-based editor, React, requirements editor, EARS, syntax highlighting
Date of defence
17.06.2025
Result of the defence
Defended (thesis was successfully defended)
Grading
C
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 C.
Topics for thesis defence
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Intelligent Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. RNDr. Milan Češka, Ph.D. (předseda) Ing. Radek Kočí, Ph.D. (člen) Ing. Šárka Květoňová, Ph.D. (člen) Ing. David Bařina, Ph.D. (člen) Ing. Marta Jaroš, Ph.D. (člen)
Supervisor’s reportIng. Jan Fiedor, Ph.D.
Celkově hodnotím práci velmi kladně. Technická zpráva je sice i přes několik iterací přípomínek trochu slabší, kompenzuje ji ovšem dobrý realizační výstup. Vytvořená komponenta je plně funkční a umožňuje evaluaci hybridních metod specifikace požadavků kombinujících textovou a grafickou reprezentaci. Pro tyto účely bude také využita společností Honeywell.
Cílem práce bylo vytvořit konfigurovatelnou komponentu pro editaci textu reprezentovaného sekvencí bloků, jenž lze integrovat do uživatelských rozhraní nástrojů pro vývoj systémů. Primární využití takovéto komponenty je pro specifikaci požadavků svázaných s modely vyvíjených systémů, kde tyto modely reprezentují část termů (bloků), ze kterých se požadavky skládají, a zbylé bloky jsou obvykle klíčová slova šablon a gramatik definujících strukturu těchto požadavků.
Vytvořená komponenta umožňuje experimentování a usnadňuje evaluaci hybridních metod specifikace požadavků kombinujících textovou a grafickou reprezentaci a podporující plynulý přechod mezi nimi. Práci hodnotím jako náročnější, jelikož vyžaduje od studenta přicházet s řešeními problémů, na které v typických projektech nenarazí a kde se tedy nemůže opírat o znalosti a informace z literatury či jiných zdrojů.
Student využil jak doporučenou literaturu, tak si samostatně vyhledával další relevantní a potřebné zdroje.
Student byl aktivní a samostatný. Práci pravidelně konzultoval a přicházel s vlastními myšlenkami, jak řešit problémy, na které narazil. Zapracoval také veškeré připomínky na funkcionalitu a vizuální stránku komponenty od vedoucího práce.
Student začal sepisovat text práce v dostatečném předstihu, text práce byl několikrát konzultován a všechny připomínky byly zapracovány.
Práce bude využita společností Honeywell pro účely experimentování a evaluace hybridních metod specifikace požadavků kombinujících textovou a grafickou reprezentaci. Plánuje se také integrace této komponenty do nástroje SysON, jenž slouží pro návrh systémů s využitím jazyka SysMLv2 a kde lze s výhodou využít vytvořenou komponentu pro specifikaci požadavků svázaných s těmito modely. Toto je velmi častý případ užití a jazyk SysMLv2 dokonce definuje uložení takovýchto požadavků v rámci samotného modelu.
Grade proposed by supervisor: B
Reviewer’s reportIng. Bohuslav Křena, Ph.D.
Jak prototyp editoru, tak technickou zprávu považuji za dobré, byť obojí by se dalo vylepšit, jak je uvedeno v předchozích bodech. Student však odvedl kus užitečné práce, čímž prokázal schopnosti očekávané od bakaláře.
Evaluation level: průměrně obtížné zadání
Struktura technické zprávy je vcelku logická, byť důsledně nesleduje etapy životního cyklu softwaru. Například požadavky jsou diskutovány v kapitole 4 zaměřené podle názvu na návrh, přičemž použitelné technologie jsou probrány již v kapitole 3, tedy dříve než požadavky. Nekonzistence v etapách vývoje softwaru se objevuje i v samotném textu práce, konkrétně v podkapitolách 2.1 až 2.4.
Práce by si zasloužila ještě jednou přečíst a odstranit evidentní chyby: namátkou na straně 8 zdvojený text "that can be used for this purpose" nebo chybné vysvětlení zkratky UML ("United Modeling Language"), na straně 20 odkazy na neexistující obrázek 1.1 (správně měl být odkaz na obrázek 4.1) nebo na straně 38 nezvyklá sazba uvozovek okolo slova "sanitation". Obrázek 2.2 by jistě bylo vhodnější překreslit do vektorové grafiky a přetékání textu za pravý okraj při zarovnání do bloku celkovému dojmu také nepřidá. Frekvence chyb ale není vysoká, takže čtenáře příliš neruší.
Vytvořený editor lze považovat za zdařilý prototyp, který však ještě není plně připraven pro praktické nasazení. Uživatel by jistě rád označoval bloky jenom myší nebo používal standardní klávesy či klávesové zkratky (např. Del resp. Ctrl+X pro smazání resp. vyjmutí označených bloků). Hodila by se i klávesová zkratka pro přepnutí textového a blokového módu. Bylo by potřeba odstranit i implementační chyby (často nefunguje šipka nahoru ani rozpoznávání bloků s více slovy; v některých situacích nedokáže editor označené bloky vložit na požadované místo, jen je neustále přesouvá, až je nakonec ztratí zcela; přepnutím mezi módy editoru se ztratí uživatelsky definované bloky). Implementaci editoru student určitě věnoval dost času a problémy, se kterými se potýkal, nebyly triviální. Řada funkcí editoru pracuje tak, jak bych očekával, a oceňuji, že se mi editor podařilo zprovoznit na svém počítači za pár minut. Za pozitivní také považuji to, že se editor choval stejně nezávisle na použitém prohlížeči (Firefox, MS Edge, Google Chrome).
Práce ověřila koncept blokového editoru, na který lze navázat.
Evaluation level: zadání splněno
Evaluation level: splňuje pouze minimální požadavky
Technická zpráva má přibližně 49 normostran, s rezervou tedy splňuje minimální požadavky. Všechny texty mají v práci svůj smysl. V některých místech by čtenář ocenil více informací, aby lépe pochopil provázanost jednotlivých myšlenek. Také by bylo vhodné udělat skutečné vyhodnocení vytvořeného nástroje. Kapitola 6 obsahuje pouze popis funkčnosti a omezení vytvořeného nástroje, očekával bych však vyhodnocení uživatelských zkušeností, výkonnosti editoru na rozsáhlejších modelech nebo ověření editoru v různých webových prohlížečích.
Většina studijních pramenů je vybrána vhodně. Výhradu mám ke kapitole 2, kde student spojil informace z různých zdrojů (včetně nespolehlivých jako GeeksforGeeks) do nekonzistentního celku. Na smíchání pojmů verifikace a validace se statickým a dynamickým ověřování (testováním) softwaru upozorním v otázce k obhajobě. U řady internetových zdrojů v seznamu literatury není uvedeno datum navštívení a zjištění data poslední změny internetového zdroje mohlo být věnováno větší úsilí.
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová