Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Dominik Volák
Acad. year: 2024/2025
Supervisor: Ing. Jan Fiedor, Ph.D.
Reviewer: Ing. Ondřej Vašíček
This bachelor's thesis focuses on the design and implementation of a client enabling unified access to requirements through the OSLC RM (Requirements Management) specification. The goal of the thesis is to facilitate access to requirements using tools such as IBM DOORS or R4J for Jira via a standardized interface. The work begins with an analysis of available tools and the OSLC standard. Subsequently, a client was designed and implemented to support basic CRUD operations on requirements. Its functionality was verified on real data using an OSLC adapter, with particular emphasis on proper handling of RDF data and support for result filtering. The outcome of the thesis is a tool that can serve as a foundation for integrating various requirements management tools under a unified access model.
client, OSLC, requirements management, R4J, IBM DOORS, RDF, REST API, Python
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.
Student pracoval samostatně a cíle práce splnil. Vytvořené řešení je plně funkční i když některé aspekty implementace mohly být více konzultovány s vedoucím práce. Technická zpráva mohla být vypracována s větším předstihem aby bylo možné její celkový obsah i formu dostatečně připomínkovat.
Cílem práce bylo vytvořit klienta umožňujícího spravovat požadavky ve vybraném nástroji pro správu požadavků, konkrétně v nástroji JIRA a jeho rozšíření Requirements for JIRA (R4J), skrz OSLC rozhraní založené na OSLC Requirements Management (RM) specifikaci.
Práce rozšiřuje existujícího univerzálního OSLC klienta pro Python o definici OSLC Requirements Management (RM) domény a klienta podporujícího tuto doménu. Práce sice vyžadovala nastudování rozsáhlé specifikace OSLC RM domény, její implementaci v jazyce Python ovšem zjednodušoval univerzální OSLC klient a jeho sada dekorátorů pro definici OSLC domén. Práci tedy hodnotím jako průměrně obtížnou.
Práce byla vytvořena ve spolupráci se společností Honeywell, jenž využívá nástroj JIRA a jeho rozšíření R4J jako jeden z nástrojů pro správu požadavků. Předpokládá se také, že vytvořený klient bude tvořit důležitý základ plánovaného OSLC RM klienta pro nástroj IBM DOORS NG, jenž slouží ke správě požadavků komplexních bezpečnostně-kritických systémů, a je dominantním nástrojem pro správu požadavků ve společnosti Honeywell.
Student využil jak doporučenou literaturu, tak si samostatně vyhledával další relevantní a potřebné zdroje.
Student pracoval samostatně, řešení konzultoval jen zřídka, obvykle přes platformu MS Teams. Na konzultace byl vždy dostatečně připraven. Aktivita studenta mohla být určitě vyšší, hlavně z pohledu průběžného informování vedoucího o postupu práce.
Student dokončil implementaci zhruba dva týdny před odevzdáním, kdy začal pracovat na sepisování technické zprávy. Draft práce byl zaslán vedoucímu necelý týden před odevzdáním a to bez kapitoly věnované evaluaci, jejíž předpokládaný obsah byl pouze probrán v rámci konzultace. Připomínky k obsaženým kapitolám byly studentovi dodány, student již ale nestihl do odevzdání zaslat verzi technické zprávy se zapracovanými připomínkami a kapitolou věnovanou evaluaci.
Výsledky práce budou zveřejněny formou open-source software na GitLab serveru výzkumné skupiny VeriFIT. Předpokládá se využití firmou Honeywell, ať již přímo pro interakci s nástrojem JIRA a jeho rozšířením R4J, nebo jako základ plánovaného OSLC RM klienta pro nástroj IBM DOORS NG.
Grade proposed by supervisor: C
Reviewer’s reportIng. Ondřej Vašíček
Mírně složitější zadání bylo splněno, výstup práce je funkční a má potenciál pro další praktické využití. Identifikoval jsem ale řadu nedostatků ze strany informační, typografické, bibliografické i implementační. Hodnotím tedy celkově jako průměrnou práci stupněm C.
Evaluation level: obtížnější zadání
Seznámit se se standardem OSLC, souvisejícími technologiemi a dostupnými nástroji pouvažuji za obtížné. Zároveň ale práce stavěla na již existujícím frameworku, který ulehčuje implementaci OSLC domén a poskytuje základního klienta, což práci ulehčilo. Celkově tedy jen mírně obtížnější zadání.
Logická struktura je v pořádku.
Z pohledu pochopitelnosti práce nejasně vysvětluje, co je jejím hlavním smyslem a výsledkem. Text práce směřuje na to, že byl především vytvořen klient s rozhraním na příkazové řádce, který lze použít pro komunikaci. Toto rozhraní však ale vůbec není důležitým výstupem práce. Hlavním plánovaným využitím je import modulů domény a klienta do kódu jiných aplikací.
Z informační stránky mám dvě výhrady:
Po jazykové stránce je práce v pořádku až na pár drobných překlepů.
K typografické stránce mám několik výhrad:
Kusy kódu, které byly převzaty, jsou jasně vyznačeny.
Hlavním výstupem práce je korektní implementace tříd pro jednotlivé OSLC zdroje (resource) podle specifikace OSLC RM. Výhradu mám proti tomu, že modul implementované domény míchá dohromady i zdroje z jiných domén, které by měly být umístěny ve svých vlastních modulech.
Dalším výstupem je modul klienta, který poskytuje metody pro komunikaci s adaptéry pro nástroje JIRA a R4J. Poskytnuté metody jsou funkční a byly dostatečně otestovány. Za nedostatek považuji zvolenou signaturu metod, jelikož mají parametry zvlášť pro každý atribut daného OSLC zdroje. Není tedy možné metodě předat předpřipravený objekt. Tohle ztěžuje především update existujících zdrojů, který typicky probíhá získáním aktuální verze zdroje pomocí GET, úpravou potřebných atributů a následným PUT celého upraveného zdroje.
Posledním výstupem, který je ale nedůležitý a jen pro účely demonstrace, je rozhraní na příkazové řádce. Jeho kvalita a použitelnost je poměrně nízká a celkově působí nedodělaně. Rozhraní poskytuje neužitečné odpovědi (např. není vždy poznat zda se operace povedla) a některé informace skrze klienta nelze získat (např. URI zdroje v odpovědi na GET). Funkcionalita je navíc limitována tím, že není schopen brát OSLC zdroje na vstupu přímo ve formátech RDF/XML/JSON. Každý zdroj a jeho jednotlivé parametry musí být rozebrány do jednotlivých argumentů příkazové řádky. Podobně pak klient na výstupu vypisuje OSLC zdroje v jednoduchém nestandardním formátu namísto formátu RDF/XML/JSON.
Je možné, že dojde k praktickému vyzkoušení vytvořených modulů ve firmě Honeywell. Dále je pak pravděpodobné jejich další využití jako základ pro navazující závěrečné práce.
Evaluation level: zadání splněno
Evaluation level: splňuje pouze minimální požadavky
Všechny relevantní zdroje jsou citovány.
Nedostatky:
Grade proposed by reviewer: C
Responsibility: Mgr. et Mgr. Hana Odstrčilová