Abstract

Software maintenance is an important activity in software development. Some development methodologies such as the object-oriented have contributed in improving maintainability of software. However, crosscutting concerns are still challenges that affect the maintainability of OO software. In this paper, we discuss our case study to assess the extent of maintainability improvement that can be achieved by employing aspect-oriented programming. Aspect-oriented programming (AOP) is a relatively new approach that emphasizes dealing with crosscutting concerns. To demonstrate the maintainability improvement, we refactored a COTS-based system known as OpenBravoPOS using AspectJ and compared its maintainability with the original OO version. We used both structural complexity and concern level metrics. Our results show an improvement of maintainability in the AOP version of OpenBravoPOS.

Highlights

  • Software maintenance is one of the most expensive activities that consume about 50–70 percent of the development cost [1]

  • The implementation of the logging concern in OpenBravoPOS which uses java.util.logging was replaced with the Apache commons logging

  • We have presented a case study for the assessment of the maintainability of an aspectoriented programming (AOP)-based COTS system by comparing it with its OO version of implementation

Read more

Summary

Introduction

Software maintenance is one of the most expensive activities that consume about 50–70 percent of the development cost [1]. It is a very important activity that requires much attention For this reason, people have attempted to find ways to minimize maintenance costs by introducing better development methodologies that can minimize the effects of change, simplify the understanding of programs, facilitate the early detection of faults, and so forth. People have attempted to find ways to minimize maintenance costs by introducing better development methodologies that can minimize the effects of change, simplify the understanding of programs, facilitate the early detection of faults, and so forth In this regard, the object-oriented approach has played an important role by improving the maintainability of software using the concepts of object and encapsulation. A concern is a feature that a system should implement which includes all the functional, nonfunctional requirements and the design constraints in the system [2]

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call