Non-functional Requirements in Architectural Decision Making

Software architects often must work with incomplete or ill-specified non-functional requirements (NFRs) and use them to make decisions. Through this process, existing NFRs are refined or modified and new ones emerge. Although much research has centered on how software architects treat NFRs, no empirical studies have investigated the state of the practice. A survey based on interviews with 13 software architects addressed two fundamental issues: how do architects face NFRs from an engineering perspective, and how do NFRs influence their decision-making? The survey revealed that architects usually elicit NFRs themselves in an iterative process; they usually don't document the NFRs and only partially validate them.

[1]  Leonard J. Bass,et al.  Factors Influencing Industrial Practices of Software Architecture Evaluation: An Empirical Investigation , 2007, QoSA.

[2]  Paris Avgeriou,et al.  Mature Architecting - A Survey about the Reasoning Process of Professional Architects , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[3]  Len Bass,et al.  Toward Deriving Software Architectures from Quality Attributes , 1994 .

[4]  Marco Torchiano,et al.  Reflections on conducting an international survey of software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

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

[6]  Tony Gorschek,et al.  Quality Requirements in Practice: An Interview Study in Requirements Engineering for Embedded Systems , 2009, REFSQ.

[7]  Xavier Franch,et al.  Extending the ISO/IEC 9126-1 quality model with non-technical factors for COTS components selection , 2006, WoSQ '06.

[8]  Andreas Borg,et al.  The Bad Conscience of Requirements Engineering : An Investigation in Real-World Treatment of Non-Functional Requirements , 2003 .

[9]  Martin Höst,et al.  Managing Quality Requirements: A Systematic Review , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[10]  Philippe Kruchten,et al.  The Decision View's Role in Software Architecture Practice , 2009, IEEE Software.

[11]  Björn Regnell,et al.  An Empirical Study on the Importance of Quality Requirements in Industry , 2011, SEKE.

[12]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[13]  Frank Buschmann Value-Focused System Quality , 2010, IEEE Software.

[14]  Xavier Franch,et al.  How do software architects consider non-functional requirements: An exploratory study , 2012, 2012 20th IEEE International Requirements Engineering Conference (RE).