Lessons from Developing Nonfunctional Requirements for a Software Platform

Employing a software platform is an approach to achieve a higher degree of software reuse by enabling multiple software products to share the platform-provided services. However, platform development usually involves stakeholders from different application domains. Their application situations vary widely and thus nonfunctional requirements (NFRs) for the software platform must address a wider range of needs than those for a single product. This article describes lessons learned in developing NFRs for a large software platform, the challenging issues, and the techniques used to address them. The techniques are pragmatic and helped with NFR reconciliation and management. The improved quality of the NFR specifications has permitted automation of platform performance testing for the past two years.

[1]  Karin K. Breitman,et al.  Ontology as a requirements engineering product , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

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

[3]  Juha Kuusela,et al.  Consistency management of product line requirements , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[4]  Xiping Song,et al.  Experiences in Developing Quantifiable NFRs for the Service-Oriented Software Platform , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[5]  Juha Kuusela,et al.  Requirements engineering for product families , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[6]  Nan Niu,et al.  So, You Think You Know Others' Goals? A Repertory Grid Study , 2007, IEEE Software.

[7]  Martin Höst,et al.  The importance of quality requirements in software platform development-a survey , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[8]  Xiping Song,et al.  S-RaP: a concurrent prototyping process for refining workflow-oriented requirements , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

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

[10]  Eric Yu,et al.  Developing Non-Functional Requirements for a Service-Oriented Application Platform: A Goal and Scenario-Oriented Approach , 2011 .