Advertisement

On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study

  • Safoora Shakil Khan
  • Phil Greenwood
  • Alessandro Garcia
  • Awais Rashid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5074)

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.

Keywords

Dependency analysis traceability software architecture change impact analysis 

References

  1. 1.
    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)Google Scholar
  2. 2.
    Chung, L., Nixon, A.B., Yu, E., Mylopoulous, J.: Non-functional Requirements in Software Engineering. Kluwer Academic Publishing, Dordrecht (1999)Google Scholar
  3. 3.
    Herold, S., et al.: Towards Bridging the Gap between Goal-Oriented Requirements Engineering and Compositional Architecture Development. In: SHARK-ADI 2007 (2007)Google Scholar
  4. 4.
    Greenwood, P., et al.: Aspect Interaction and Design Stability: An Empirical Study (2007), http://www.comp.lancs.ac.uk/computing/users/greenwop/ecoop07
  5. 5.
    Jacobson, I., Chirsterson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach, 4th edn. Addison-Wesley, Reading (1992)zbMATHGoogle Scholar
  6. 6.
    Chitchyan, R., et al.: Semantics-based Composition for Aspect-Oriented Requirements Engineering. In: AOSD 2007, Vancouver, Canada, pp. 36–48 (2007)Google Scholar
  7. 7.
    Chitchyan, R., et al.: Survey of Aspect-Oriented Analysis and Design. AOSD-Europe Project Deliverable No: AOSD-Europe-ULANC-9Google Scholar
  8. 8.
    Ramesh, B., Jarke, M.: Towards Reference Models for Requirements Traceability. IEEE Transactions on Software Engineering 27(1) (January 2001)Google Scholar
  9. 9.
    Grady, R.: Practical Software Metrics for Project Management and Process Improvement. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Cacho, N., et al.: Composing Design Patterns: A Scalability Study of Aspect-Oriented Programming. In: AOSD 2006, pp. 109–121 (2006)Google Scholar
  13. 13.
    TAO: A testbed for Aspect Oriented Software Development (2007), http://www.comp.lancs.ac.uk/~greenwop/tao/
  14. 14.
    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
  15. 15.
    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)Google Scholar
  16. 16.
    Riebisch, M., Wohlfarth, S.: Introducing Impact Analysis for Architectural Decisions. In: ECBS 2007, pp. 381–392 (2007)Google Scholar
  17. 17.
    Zhao, J., et al.: Change Impact Analysis to Support Architectural Evolution. Software Maintenance: Research and Practice 14(5), 317–333 (2002)zbMATHCrossRefGoogle Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    Clement, P., et al.: Documenting Software Architectures: Views and Beyond. SEI Series in Software Engineering. Addison-Wesley, Reading (2002)Google Scholar
  20. 20.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Inc., Englewood Cliffs (1996)zbMATHGoogle Scholar
  21. 21.
    Soares, S., et al.: Distribution and Persistence as Aspects. Software Practice and Experience (2006)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Lee, M., Offutt, J.: Change Impact Analysis of Object-Oriented Software, 193 pages, George Mason University (1998)Google Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    Sangal, N., et al.: Using Dependency Models to Manage Complex Software Architecture. In: OOPSLA 2005, San Diego, California, USA (2005)Google Scholar
  26. 26.
    Meyer, B.: Applying Design by Contract. Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Safoora Shakil Khan
    • 1
  • Phil Greenwood
    • 1
  • Alessandro Garcia
    • 1
  • Awais Rashid
    • 1
  1. 1.Lancaster UniversityUK

Personalised recommendations