Demonstrace problémů při refaktoraci na příkladu modularizace části programu BlueJ++

Název práce: Demonstrace problémů při refaktoraci na příkladu modularizace části programu BlueJ++
Autor(ka) práce: Šíma, Jan
Typ práce: Bakalářská práce
Vedoucí práce: Pecinovský, Rudolf
Oponenti práce: Pavlíčková, Jarmila
Jazyk práce: Česky
Abstrakt:
Cílem této práce je na příkladu modularizace části programu BlueJ++ demonstrovat problémy při refaktoraci rozsáhlejších programů.BlueJ++ je samostatná větev výukového vývojového prostředí BlueJ upravená tak, aby maximalizovala podporu výuky podle metodiky Architecture First. Architektura prostředí BlueJ++ převzatá od prostředí BlueJ je nevyhovující, protože aplikaci nelze snadno rozšiřovat.První část práce podrobně rozebírá refaktorování a seznamuje čtenáře s problematikou modularizace a modulů. Současně představuje služby a moduly v jazyce Java.Další část práce obsahuje analýzu výchozího stavu architektury programu BlueJ++, rozebírá výchozí stav zabudovaného editoru a jeho provázanosti se zbytkem programu. Následuje návrh úprav, který demonstruje některé problémy spojené s modularizací a jejich řešení.Výsledkem této práce je osamostatnění modulu editor, který komunikuje s jádrem aplikace prostřednictvím definovaného API. Realizace návrhu API pomocí sady refaktorování vyřešila problém těsné vazby mezi editorem a jádrem aplikace. Použití služeb vyřešilo hrozící cyklické závislosti mezi modulem editoru a jádrem aplikace. Díky novému návrhu API je možné modul editoru kdykoliv vyměnit za jiný bez ztráty funkcionality.
Klíčová slova: BlueJ++; refaktorování; modul; Java
Název práce: Demonstration of refactoring problems on an example of modularization of part of the BlueJ++ program
Autor(ka) práce: Šíma, Jan
Typ práce: Bachelor thesis
Vedoucí práce: Pecinovský, Rudolf
Oponenti práce: Pavlíčková, Jarmila
Jazyk práce: Česky
Abstrakt:
The main goal of this thesis is to demonstrate the problems of refactoring of larger pro-grams on an example of modularization of part of the BlueJ++ program.BlueJ ++ is a separate fork of the BlueJ learning development environment modified to maximize teaching support according to Architecture First methodology. The BlueJ++ architecture inherited from the BlueJ environment is unsatisfactory, because the application cannot be easily expanded.The first part of this thesis describes the refactoring and introduces the reader to modulari-zation and modules. It also introduces Java services and modules.The next part of this thesis contains an analysis of the initial state of the BlueJ++ architec-ture, analyzes the initial state of the embedded editor and its interconnection with the rest of the program. This is followed by software design, which demonstrates some of the modularization issues and their solutions.The result of this thesis is an independent editor module, which communicates with the application core via defined API. Realization of the API design using set of refactorings solved tight coupling between the editor and the application core. Use of the service solved the imminent circular dependencies between editor module and the application core. Be-cause of the new API design, the editor module can be replaced at any time without any loss of functionality.
Klíčová slova: BlueJ++; refactoring; module; Java

Informace o studiu

Studijní program / obor: Aplikovaná informatika/Aplikovaná informatika
Typ studijního programu: Bakalářský studijní program
Přidělovaná hodnost: Bc.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačních technologií

Informace o odevzdání a obhajobě

Datum zadání práce: 14. 6. 2018
Datum podání práce: 10. 12. 2018
Datum obhajoby: 28. 1. 2019
Identifikátor v systému InSIS: https://insis.vse.cz/zp/66186/podrobnosti

Soubory ke stažení

    Poslední aktualizace: