How Software Architecture can Frame, Constrain and Inspire System Requirements

Historically a system’s requirements and its architectural design have been viewed as having a simple relationship where the requirements drove the architecture and the architecture was designed in order to meet the requirements. In contrast, our experience is that a much more dynamic relationship can be achieved between these key activities within the system design lifecycle, that allows the architecture to constrain the requirements to an achievable set of possibilities, frame the requirements making their implications clearer, and inspire new requirements from the capabilities of the system’s architecture. In this article, we describe this relationship, illustrate it with a case study drawn from our experience and present some lessons learned that we believe will be valuable for other software architects.

[1]  Suzanne Robertson,et al.  Mastering the Requirements Process (2nd Edition) , 2006 .

[2]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[3]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[4]  Axel van Lamsweerde,et al.  From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering , 2002, RISSEF.

[5]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[6]  Craig Larman,et al.  Agile and Iterative Development: A Manager's Guide , 2003 .

[7]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[8]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[9]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[11]  Jeremy Dick,et al.  Requirements Engineering , 2002, Springer International Publishing.

[12]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[13]  Philippe Kruchten,et al.  Architecture blueprints—the “4+1” view model of software architecture , 1995, TRI-Ada '95.

[14]  David Garlan,et al.  The role of software architecture in requirements engineering , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[15]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[16]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[17]  P. Krutchen,et al.  The Rational Unified Process: An Introduction , 2000 .