Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Dominik Volák
Ak. rok: 2024/2025
Vedoucí: Ing. Jan Fiedor, Ph.D.
Oponent: Ing. Ondřej Vašíček
Tato bakalářská práce se zabývá návrhem a implementací klienta pro jednotný přístup k požadavkům prostřednictvím OSLC RM (Requirements Management) specifikace. Cílem práce je umožnit přístup k požadavkům s využitím nástrojů, jako jsou IBM DOORS nebo R4J pro Jira, pomocí jednotného rozhraní. V rámci práce byla nejprve provedena analýza dostupných nástrojů a OSLC standardu. Následně byl navržen a realizován klient umožňující provádění základních CRUD operací nad požadavky. Funkčnost byla ověřena na reálných datech prostřednictvím OSLC adaptéru, přičemž důraz byl kladen na správnou práci s RDF daty a podporu filtrování výsledků. Výsledkem práce je nástroj využitelný jako základ pro integraci různorodých nástrojů pro správu požadavků v rámci jednotného přístupu.
klient, OSLC, správa požadavků, R4J, IBM DOORS, RDF, REST API, Python
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.
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.
Známka navržená vedoucím: C
Posudek oponentaIng. 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.
Stupeň hodnocení: 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.
Stupeň hodnocení: zadání splněno
Stupeň hodnocení: splňuje pouze minimální požadavky
Všechny relevantní zdroje jsou citovány.
Nedostatky:
Známka navržená oponentem: C
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová