This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Lessons from Developing Nonfunctional Requirements for a Software Platform
March-April 2012 (vol. 29 no. 2)
pp. 74-80
Xiping Song, Siemens Corporate Research
Beatrice Hwong, Siemens Corporate Research
Johannes Ros, Siemens Corporate Research
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. E. Johansson et al., "The Importance of Quality Requirements in Software Platform Development—A Survey." Proc. 34th Hawaii Int'l Conf. System Science (HICSS 34), vol. 9, IEEE CS, 2001, p. 9057.
2. X. Song, B. Hwong, and J. Ros, "Experiences in Developing Quantifiable NFRs for the Service-Oriented Platform," Proc. 17th IEEE Int'l Conf. Requirements Eng. (RE 05), IEEE CS, 2009, pp. 337–342.
3. IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications, IEEE, 1998.
4. D. Gross, E. Yu, and X. Song, "Developing Non-Functional Requirements for a Service-Oriented Application Platform: A Goal and Scenario-Oriented Approach," Non-Functional Properties in Service Oriented Architecture: Requirements, Models and Methods, N. Milanovic ed., IGI Global, 2011, pp. 24–47.
5. N. Nan, and S. Easterbrook, "So, You Think You Know Others' Goals? A Repertory Grid Study," IEEE Software, vol. 24, no. 2, 2007, pp. 53–61.
6. J. Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Nonfunctional Requirements: A Process-Oriented Approach," IEEE Trans. Software Eng., vol. 18, no. 6, 1992, pp. 483–497.
7. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-Wesley, 2003.
1. X. Song et al., "S-RaP: A Concurrent Prototyping Process for Refining Workflow-Oriented Requirements," Proc. 13th IEEE Int'l Conf. Requirements Eng. (RE 05), IEEE CS, 2005, pp. 416–420.
2. K.K. Breitman and J.C.S. do Prado Leite, "Ontology as a Requirements Engineering Product," Proc. 11th IEEE Int'l Conf. Requirements Eng. (RE 03), IEEE CS, 2003, pp. 309–319.
3. N. Nan and S. Easterbrook, "So, You Think You Know Others' Goals? A Repertory Grid Study," IEEE Software, vol. 24, no. 2, 2007, pp. 53–61.
4. J. Kuusela and J. Savolainen, "Requirement Engineering for Product Families," Proc. 22nd Int'l Conf. Software Eng. (ICSE 00), ACM, 2000, pp. 60–68.
5. J. Savolainen and J. Kuusela, "Consistency Management of Product Line Requirements," Proc. 5th IEEE Int'l Symp. Requirements Eng. (RE 01), IEEE CS, 2001, pp. 40–47.

Index Terms:
information systems, software design, design, requirements, software platform, requirements engineering, nonfunctional requirements, NFRs, product lines
Citation:
Xiping Song, Beatrice Hwong, Johannes Ros, "Lessons from Developing Nonfunctional Requirements for a Software Platform," IEEE Software, vol. 29, no. 2, pp. 74-80, March-April 2012, doi:10.1109/MS.2011.69
Usage of this product signifies your acceptance of the Terms of Use.