A Process for Software Architecture Evaluation Using Metrics
SEW '02 Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02)
Simplifying transformation of software architecture constraints
Proceedings of the 2006 ACM symposium on Applied computing
Characterizing software architecture changes: A systematic review
Information and Software Technology
Combating architectural degeneration: a survey
Information and Software Technology
Towards behavioral reflexion models
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
Assessing architectural drift in commercial software development: a case study
Software—Practice & Experience
Controlling software architecture erosion: A survey
Journal of Systems and Software
On the modularity of software architectures: a concern-driven measurement framework
ECSA'07 Proceedings of the First European conference on Software Architecture
Hi-index | 0.00 |
Software systems undergo constant change causing thearchitecture of the system to degenerate over time.Redirecting development effort toward reversing systemdegeneration takes extra effort and delays the release of thenext version. The value of an improved architecture is clearto technical staff, but it is often difficult to convince uppermanagement that the extra effort is necessary. Improvedarchitecture is intangible and does not translate into visibleuser features that can be marketed. Due to a lack ofrepresentative metrics, technical staff has problemsarguing that stopping degeneration is indeed necessary andthat the effort will result in an improved architecture thatwill pay off. We believe that architectural metrics wouldgive technical staff better tools to argue their case. Thispaper defines and uses a set of architectural metrics andoutlines a process for analyzing architecture to supportsuch an argument.The paper reports on a case study from a projectwhere we restructured the architecture of an existingclient-server system written in Java while adding newfunctionality. The modules of the existing version of thesystem were "library-oriented" and had a disorganizedcommunication structure. The new architecture is based oncomponents and utilizes the mediator design pattern. Thegoal of the study is to evaluate the new architecture from amaintainability perspective. The paper describes ourevaluation process, the metrics used, and provides somepreliminary results. The architectural evaluation showsthat the components of the system are only loosely coupledto each other and that an architectural improvement hasoccurred from a maintenance perspective. The processused to evaluate the architecture is general and can bereused in other contexts.