Nowadays software maintenance is getting rapidly important beside the development in an applications life-cycle. Its main task is to improve the software and to correct the discovered errors. The software’s improvement can be also part of the maintenance, where restructuring and re-engineering doesn’t affect the main structure of the software and functionality. It only affects the software’s inner modules. During my thesis project I learnt this technique in practice by maintaining and improving a previously developed application.
In the first chapter of my thesis I present the main necessity of software maintenance and a concrete technique that helps to improve the application. I will present the specific task and the main goals in details. In the second chapter I review all of those background knowledges and technologies, which were necessary to complete the task. I introduce the UML 2 sequences diagrams, the Eclipse specific UML2 class library and a language named TERMOS, which is used to process sequence diagrams. Besides, I give an overview of the earlier developed application. In the third chapter I present the structure of the application. I design the new structure, the new test framework, and a new test model for the framework. In the fourth chapter I list the implementations of the previously formulated tasks, and I present the most important and most interesting implementation solutions. In chapter five I present the test cases made for testing the application, then I evaluate the executed tests and summarize the experiences of the testing.
I accomplished all the tasks of the thesis by modifying the application in a way, that it fits to the actual standard and class libraries, moreover, its inner structure is more transparent and expandable. With the help of the implemented test framework I made the application automatically testable, and identified several new faults in the application.