Software metrics—a user's perspective
Journal of Systems and Software - Special issue on using software metrics
Software maintenance management: changes in the last decade
Journal of Software Maintenance: Research and Practice
Getting around the task-artifact cycle: how to make claims and design by scenario
ACM Transactions on Information Systems (TOIS)
Change cases: use cases that identify future requirements
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Designing with scenarios: a critical review of current research and practice
Requirements Engineering
Supporting Scenario-Based Requirements Engineering
IEEE Transactions on Software Engineering
How well do experienced software developers predict software change?
Journal of Systems and Software
Software engineering (2nd ed.): principles and practice
Software engineering (2nd ed.): principles and practice
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Experiences with ALMA: architecture-level modifiability analysis
Journal of Systems and Software
Scenario-Based Analysis of Software Architecture
IEEE Software
Scenarios in System Development: Current Practice
IEEE Software
Towards a Broader View on Software Architecture Analysis of Flexibility
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Architecture Level Prediction of Software Maintenance
CSMR '99 Proceedings of the Third European Conference on Software Maintenance and Reengineering
The Visibility of Maintenance in Object Models: An Empirical Study
ICSM '98 Proceedings of the International Conference on Software Maintenance
Object-Oriented Software Engineering: A Use Case Driven Approach
Object-Oriented Software Engineering: A Use Case Driven Approach
Explicit assumptions enrich architectural models
Proceedings of the 27th international conference on Software engineering
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
WSDL and UDDI extensions for version support in web services
Journal of Systems and Software
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
A systematic review of software architecture evolution research
Information and Software Technology
Assessing the value of architectural information extracted from patterns for architecting
EASE'06 Proceedings of the 10th international conference on Evaluation and Assessment in Software Engineering
Impact of experience and team size on the quality of scenarios for architecture evaluation
EASE'08 Proceedings of the 12th international conference on Evaluation and Assessment in Software Engineering
Hi-index | 0.00 |
Two years ago, we analyzed the architecture of Sagitta 2000/SD, a large business information system being developed on behalf of Dutch Customs. We were in particular interested in assessing the capabilities of the system to accommodate future complex changes. We asked stakeholders to bring forward possible changes to the system, and next investigated how these changes would affect the software architecture. Since then, the system has been implemented and used, and actual modifications have been proposed and realized. We studied all 117 change requests submitted since our initial analysis. The present paper addresses how well we have been able to predict complex changes during our initial analysis, and how and to what extent the process to elicit and assess the impact of such changes might be improved. This study suggests that architecture analysis can be improved if we explicitly challenge the initial requirements. The study also hints at some fundamental limitations of this type of analysis: (1) fundamental modifiabilityrelated decisions need not be visible in the documentation available, (2) the actual evolution of a system remains, to a large extent, unpredictable and (3) some changes concern complex components, and this complexity might not be known at the architecture level, and/or be unavoidable.