Abstract
Architecture design plays a significant role in the evolution of software systems, as it provides the prime realization of the driving requirements and their inter-dependencies. With the increasing volatility of software requirements nowadays, it is necessary to understand the correlation between evolving classical requirements dependencies and their impact on the architectural decomposition. In the context of this analysis, two questions arise: (i) what are the conventional categories of requirements dependencies that are more architecturally significant in terms of change impact? and (ii) to what extent those evolving dependencies tend to generate ripple effects through architectural modules and interfaces. In order to address these two questions, this paper first presents an analysis model that categorizes requirements dependencies. Second, we have performed an exploratory study, based on the change history analysis of a real-life Web-based information system, in order to gather the most architecturally-significant requirements dependencies from our model. We have systematically analyzed ten system releases, based on some qualitative and quantitative indicators, with respect to how the requirements- architecture dependencies and compositions evolved.
Chapter PDF
Similar content being viewed by others
References
van Lamsweerde, A.: From System Goals to Software Architecture. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)
Chung, L., Nixon, A.B., Yu, E., Mylopoulous, J.: Non-functional Requirements in Software Engineering. Kluwer Academic Publishing, Dordrecht (1999)
Herold, S., et al.: Towards Bridging the Gap between Goal-Oriented Requirements Engineering and Compositional Architecture Development. In: SHARK-ADI 2007 (2007)
Greenwood, P., et al.: Aspect Interaction and Design Stability: An Empirical Study (2007), http://www.comp.lancs.ac.uk/computing/users/greenwop/ecoop07
Jacobson, I., Chirsterson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach, 4th edn. Addison-Wesley, Reading (1992)
Chitchyan, R., et al.: Semantics-based Composition for Aspect-Oriented Requirements Engineering. In: AOSD 2007, Vancouver, Canada, pp. 36–48 (2007)
Chitchyan, R., et al.: Survey of Aspect-Oriented Analysis and Design. AOSD-Europe Project Deliverable No: AOSD-Europe-ULANC-9
Ramesh, B., Jarke, M.: Towards Reference Models for Requirements Traceability. IEEE Transactions on Software Engineering 27(1) (January 2001)
Grady, R.: Practical Software Metrics for Project Management and Process Improvement. Prentice-Hall, Englewood Cliffs (1992)
Greenwood, P., et al.: On the Impact of Aspectual Decompositions on Design Stability: An Empirical Study. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 176–200. Springer, Heidelberg (2007)
Sant’Anna, C., et al.: On the Modularity of Software Architectures: A Concern-Driven Measurement Framework. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 207–224. Springer, Heidelberg (2007)
Cacho, N., et al.: Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. In: AOSD 2006, pp. 109–121 (2006)
TAO: A testbed for Aspect Oriented Software Development (2007), http://www.comp.lancs.ac.uk/~greenwop/tao/
Khan, S.S., et al.: Material for On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study (2007), http://www.comp.lancs.ac.uk/~shakilkh/caise08
Feng, T., Maletic, I.J.: Applying Dynamic Change Impact Analysis in Component-based Architecture Design. In: 7th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2006) (2006)
Riebisch, M., Wohlfarth, S.: Introducing Impact Analysis for Architectural Decisions. In: ECBS 2007, pp. 381–392 (2007)
Zhao, J., et al.: Change Impact Analysis to Support Architectural Evolution. Software Maintenance: Research and Practice 14(5), 317–333 (2002)
Williams, J.B., Carver, C.J.: Characterizing Software Architecture Changes: An Initial Study. In: 1st Intl. Symposium on Empirical Software Engineering and Measurement (ESEM 2007), pp. 410–419 (2007)
Clement, P., et al.: Documenting Software Architectures: Views and Beyond. SEI Series in Software Engineering. Addison-Wesley, Reading (2002)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Inc., Englewood Cliffs (1996)
Soares, S., et al.: Distribution and Persistence as Aspects. Software Practice and Experience (2006)
Murta, G.P.L., et al.: ArchTrace: Policy-Based Support for Managing Evolving Architecture-to-Implementation Traceability Links. In: ASE 2006, pp. 135–144 (2006)
Lee, M., Offutt, J.: Change Impact Analysis of Object-Oriented Software, 193 pages, George Mason University (1998)
Browning, T.R., et al.: Applying the Design Structure Matrix to System Decomposition and Integration Problems: A Review and New Directions. IEEE Transaction on Engineering Management 48(3), 292–306 (2001)
Sangal, N., et al.: Using Dependency Models to Manage Complex Software Architecture. In: OOPSLA 2005, San Diego, California, USA (2005)
Meyer, B.: Applying Design by Contract. Computer 25(10), 40–51 (1992)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shakil Khan, S., Greenwood, P., Garcia, A., Rashid, A. (2008). On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study. In: Bellahsène, Z., Léonard, M. (eds) Advanced Information Systems Engineering. CAiSE 2008. Lecture Notes in Computer Science, vol 5074. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69534-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-540-69534-9_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69533-2
Online ISBN: 978-3-540-69534-9
eBook Packages: Computer ScienceComputer Science (R0)