Abstract: |
Aspect orientation is a software paradigm that is claimed to be more effective and efficient than Object orientation when software development and maintenance interventions are taken in consideration that affect transversally the application structure, namely Aspects. In order to start with providing evidence able to confirm or disconfirm that opinion in our context - software processes that we enact, and products that we develop at our University Data Center - before launching a controlled experiment, which would require the investment of large effort, we conducted a preliminary explorative investigation that we arranged as a case study. We started from a Web-based object-oriented application, which engineering students in Informatics had constructed under our supervision. We specified new user needs, which realization was expected to impact on many of the application’s classes and relationships. Hence, we applied another student to realize those extensive requirements by using both Aspect orientation and Object orientation. Results show that, in the average, both the completion time and the size of the additional code advantage significantly the Aspect orientation, for maintenance interventions that are transversal to the application’s structure, with respect to the characteristics of the experiment object utilized, the specified enhancement maintenance requirements, and the subject involved with performing in the role of programmer. Although the exploratory nature of the study, the limited generality of the utilized application, and the fact that just one programmer was utilized as experimental subjects, the experiment results push us to verify the findings by conducting further investigation involving a wider set of programmers and applications with different characteristics. |