POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-Oriented Software Construction
Object-Oriented Software Construction
Building Reliable Component-Based Software Systems
Building Reliable Component-Based Software Systems
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Proceedings of the 2nd international conference on Aspect-oriented software development
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
The modular structure of complex systems
ICSE '84 Proceedings of the 7th international conference on Software engineering
Distribution and persistence as aspects
Software—Practice & Experience - Research Articles
Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Types and modularity for implicit invocation with implicit announcement
ACM Transactions on Software Engineering and Methodology (TOSEM)
Modularity Analysis of Use Case Implementations
SBCARS '10 Proceedings of the 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Modularizing design patterns with aspects: a quantitative study
Transactions on Aspect-Oriented Software Development I
Transactions on Aspect-Oriented Software Development I
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
A component-based decomposition can result in implementations having use cases code tangled with other concerns and scattered across components. Modularity mechanisms such as aspects, mixins, and virtual classes have been proposed to address this kind of problem. One can use such mechanisms to group together code related to a single use case. This paper quantitatively analyzes the impact of this kind of use case modularization. We apply one specific technique, aspect oriented programming, to modularize the use case implementations of two information systems that conform to the layered architecture pattern. We extract traditional and contemporary metrics - including cohesion, coupling, and separation of concerns - to analyze modularity in terms of quality attributes such as changeability, support for independent development, and pluggability. Our findings indicate that the results of a given modularity analysis depend on other factors beyond the chosen system, metrics, and the applied modularity technique.