Foundations for the study of software architecture
ACM SIGSOFT Software Engineering Notes
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
ICSE '94 Proceedings of the 16th international conference on Software engineering
Software architecture for product families: principles and practice
Software architecture for product families: principles and practice
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The evolution matrix: recovering software evolution using software visualization techniques
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
The 4+1 View Model of Architecture
IEEE Software
Software Evolution Observations Based on Product Release History
ICSM '97 Proceedings of the International Conference on Software Maintenance
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Visualizing Software Release Histories: The Use of Color and Third Dimension
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
On the Design and Development of Program Families
IEEE Transactions on Software Engineering
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Conceptual graph matching: a flexible algorithm and experiments
Journal of Experimental & Theoretical Artificial Intelligence - Special issue: conceptual graphs workshop
Modeling history to analyze software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
Software evolution: analysis and visualization
Proceedings of the 28th international conference on Software engineering
Integrating security and usability into the requirements and design process
International Journal of Electronic Security and Digital Forensics
Architectural challenges of ultra large scale systems
Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems
Quantitatively measuring object-oriented couplings
Software Quality Control
Towards engineered architecture evolution
MISE '09 Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Software System Understanding via Architectural Views Extraction According to Multiple Viewpoints
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Using Meta-Model Transformation to Model Software Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Stability assessment of aspect-oriented software architectures: A quantitative study
Journal of Systems and Software
Decision-making techniques for software architecture design: A comparative survey
ACM Computing Surveys (CSUR)
Ripple Effect in Web Applications
International Journal of Information Technology and Web Engineering
Evolutionary and collaborative software architecture recovery with Softwarenaut
Science of Computer Programming
Hi-index | 0.00 |
Many organizations are now pursuing software architecture as a way to control their software development and evolution costs and challenges. A software architecture describes a system's structure and global properties and thus determines not only how the system should be constructed but also guides its evolution. An important challenge is to able to evaluate the "goodness" of a proposed architechture. I suggest stability or resilience as a primary criterion for evaluating an architecture. The stability of an architecture is a measure of how well it accomodates the evolution of the system without requiring changes to th architecture. As opposed to traditional predictive approaches to architecture evalution, I suggest retrospective analysis for evaluating architectural stability by examining the amount of change applied in successive releases of a software product. I review the results of a case study of twenty releases of a telecommunication software system containing a few million lines of code to show how retrospective analysis may be performed.