An Approach for Creating Sentence Patterns for Quality Requirements

Requirements are usually categorized in functional requirements (FRs) and quality requirements (QR). FRs describe "things the product must do" while QRs describe "qualities the product must have". Besides the definition, classification, and representation problems identified by Glinz, there are two further problems with current definitions of quality requirements: (i) the definitions are imprecise and thus difficult to understand and apply, and (ii) the definitions provide no guidance or support for their application in a given organizational context. To tackle these two problems, we propose an approach that - given a quality attribute (e.g., performance) as input - provides a means to specify quality requirements by sentence patterns regarding this quality attribute. In this paper, we contribute a detailed presentation and description of our approach and a discussion of our lessons learnt while instantiating it for performance requirements. Additionally, we give guidance on how to apply our approach for further quality attributes. Through this approach, we aim at encouraging researchers to help us improve the precision of definitions for quality requirements and support practitioners in eliciting and documenting better quality requirements.

[1]  David de Almeida Ferreira,et al.  RSL-PL: A linguistic pattern language for documenting software requirements , 2013, 2013 3rd International Workshop on Requirements Patterns (RePa).

[2]  Elmar Jürgens,et al.  Rapid requirements checks with requirements smells: two case studies , 2014, RCoSE 2014.

[3]  Carme Quer,et al.  Constructing and Using Software Requirement Patterns , 2013, Managing Requirements Knowledge.

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

[5]  Andreas Vogelsang,et al.  Challenging Incompleteness of Performance Requirements by Sentence Patterns , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[6]  Stephen Withall Software Requirement Patterns , 2007 .

[7]  Klaus Pohl,et al.  Requirements Engineering - Fundamentals, Principles, and Techniques , 2010 .

[8]  Andreas Vogelsang,et al.  Are "Non-functional" Requirements really Non-functional? An Investigation of Non-functional Requirements in Practice , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[9]  Daniel Méndez Fernández,et al.  It's the Activities, Stupid! A New Perspective on RE Quality , 2015, 2015 IEEE/ACM 2nd International Workshop on Requirements Engineering and Testing.

[10]  Philippe Kruchten,et al.  Using grounded theory to study the experience of software development , 2011, Empirical Software Engineering.

[11]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[12]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[13]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

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

[15]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[16]  Jean-Francois Girard,et al.  An Activity-Based Quality Model for Maintainability , 2007, 2007 IEEE International Conference on Software Maintenance.

[17]  Jerzy R. Nawrocki,et al.  Using non-functional requirements templates for elicitation: A case study , 2014, 2014 IEEE 4th International Workshop on Requirements Patterns (RePa).

[18]  Carme Quer,et al.  A Metamodel for Software Requirement Patterns , 2010, REFSQ.

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

[20]  Manfred Broy,et al.  Multifunctional software systems: Structured modeling and specification of functional requirements , 2010, Sci. Comput. Program..

[21]  Julio Cesar Sampaio do Prado Leite,et al.  An NFR Pattern Approach to Dealing with NFRs , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[22]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[23]  Stefan Wagner,et al.  Rapid quality assurance with Requirements Smells , 2016, J. Syst. Softw..

[24]  Manfred Broy,et al.  Specification and development of interactive systems: focus on streams, interfaces, and refinement , 2001 .

[25]  Carme Quer,et al.  A pattern-based method for building requirements documents in call-for-tender processes , 2009, Int. J. Comput. Sci. Appl..

[26]  Carme Quer,et al.  A catalogue of non-technical Requirement Patterns , 2012, 2012 Second IEEE International Workshop on Requirements Patterns (RePa).