Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Milan Takáč
Ak. rok: 2024/2025
Vedoucí: Ing. Jan Fiedor, Ph.D.
Oponent: Ing. Bohuslav Křena, Ph.D.
Cílem této práce je navrhnout a implementovat editor, který bude zjednodušovat psaní systémových požadavků. Řešením je vytvoření blokového textového editoru, který bude vizualizovat pojmy textu jako bloky. Editor byl implementován jako konfigurovatelná webová komponenta se dvěma režimy editoru - blokovým a textovým. Uživatel může mezi režimy editoru přepínat, přičemž blokový režim je primární. V blokovém režimu uživatel vidí text vizualizovaný jako bloky a může reorganizovat jednotlivé části textu. Kapitola Evaluation zobrazuje typické interakce uživatele s editorem.
inženýrství požadavků, editor založený na blocích, React, editor požadavků, EARS, zvýrazňování syntaxe
Termín obhajoby
17.06.2025
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
C
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 C.
Otázky k obhajobě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav inteligentních systémů
Studijní program
Informační technologie (BIT)
Složení komise
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)
Posudek vedoucíhoIng. 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.
Známka navržená vedoucím: B
Posudek oponentaIng. 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.
Stupeň hodnocení: 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.
Stupeň hodnocení: zadání splněno
Stupeň hodnocení: 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í.
Známka navržená oponentem: C
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová