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 |