This Article 
 Bibliographic References 
 Add to: 
Nonfunctional Requirements: From Elicitation to Conceptual Models
May 2004 (vol. 30 no. 5)
pp. 328-350
Luiz Marcio Cysneiros, IEEE Computer Society
Julio Cesar Sampaio do Prado Leite, IEEE Computer Society

Abstract—Nonfunctional Requirements (NFRs) have been frequently neglected or forgotten in software design. They have been presented as a second or even third class type of requirement, frequently hidden inside notes. We tackle this problem by treating NFRs as first class requirements. We present a process to elicit NFRs, analyze their interdependencies, and trace them to functional conceptual models. We focus our attention on conceptual models expressed using UML (Unified Modeling Language). Extensions to UML are proposed to allow NFRs to be expressed. We will show how to integrate NFRs into the Class, Sequence, and Collaboration Diagrams. We will also show how Use Cases and Scenarios can be adapted to deal with NFRs. This work was used in three case studies and their results suggest that by using our proposal we can improve the quality of the resulting conceptual models.

[1] V.R. Basili, R.W. Selby, and D.H. Hutchens, Experimentation in Software Engineering IEEE Trans. Software Eng., vol. 12, no. 7, pp. 733-742, July 1986.
[2] B. Boehm, Characteristics of Software Quality. North Holland Press, 1978.
[3] B. Boehm and H. Hoh, Identifying Quality-Requirement Conflicts IEEE Software, pp. 25-36, Mar. 1996.
[4] E. Börger and R. Gotzhein, Requirements Engineering Case Study‘Light Control,’ http://rn.informatik.uni-kl.derecs, 2002.
[5] K.K. Breitman, J.C.S.P. Leite, and A. Finkelstein, The World's Stage: A Survey on Requirements Engineering Using a Real-Life Case Study J. the Brazilian Computer Soc., vol. 6, no. 1, pp. 13-38, July 1999.
[6] K.K. Breitman, Evolução de Cenários PhD thesis, Pontificia Univiversidade Católica do Rio de Janeiro, May 2000.
[7] F.P. Brooks Jr., No Silver Bullet: Essences and Accidents of Software Engineering Computer, no. 4, pp. 10-19, Apr. 1987.
[8] L. Chung, Representing and Using Nonfunctional Requirements: A Process Oriented Approach PhD thesis, Dept. of Computer Science, Univ. of Toronto, June 1993, also Technical Report DKBS-TR-91-1.
[9] L. Chung and B. Nixon, Dealing with Nonfunctional Requirements: Three Experimental Studies of a Process-Oriented Approach Proc. 17th Int'l Conf. Software Eng., pp. 24-28, Apr. 1995.
[10] L. Chung, B. Nixon, E. Yu, and J. Mylopoulos, Non-Functional Requirements in Software Engineering. Kluwer Academic, 2000.
[11] L.M. Cysneiros and J.C.S.P. Leite, Integrating Non-Functional Requirements into Data Model Proc. Fourth Int'l Symp. Requirements Eng., June 1999.
[12] L.M. Cysneiros and J.C.S.P. Leite, Using UML to Reflect Nonfunctional Requirements Proc. 11th CASCON Conf., pp. 202-216, Nov. 2001.
[13] L.M. Cysneiros and E. Yu, Non-Functional Requirements Elicitation Perspective in Software Requirements, Kluwer Academics, 2003.
[14] L.M. Cysneiros, J.C.S.P. Leite, and J.S.M. Neto, A Framework for Integrating Nonfunctional Requirements into Conceptual Models Requirements Eng. J., vol. 6, no. 2, pp. 97-115, 2001.
[15] A. Davis, Software Requirements: Objects Functions and States. Prentice Hall, 1993.
[16] N.E. Fenton and S.L. Pfleeger, Software Metrics: A Rigorous and Practical Approach, second ed. Int'l Thomson Computer Press, 1997.
[17] A. Finkelstein and J. Dowell, A Comedy of Errors: The London Ambulance Service Case Study Proc. Eighth Int'l Workshop Software Specification and Design, pp. 2-5, 1996.
[18] M. Fowler and K. Scott, UML Distilled. Addison-Wesley, 1997.
[19] J. Goguem and C. Linde, Techniques for Requirements Elicitation Proc. First Int'l Symp. Requirements Eng., pp. 152-164, 1993.
[20] D.J. Grimshaw, W. Godfrey, and G.W. Draper, Non-Functional Requirements Analysis: Deficiencies in Structured Methods Information&Software Technology, vol. 43, no. 11, pp. 629-635, 2001.
[21] G. Hadad et al., Construcción de Escenarios a partir del Léxico Extendido del Lenguage Proc. Jornadas Argentinas de Informática e Investigacón Operativa (JAIIO'97), pp. 65-77, 1997.
[22] IEEE Recommended Practice for Software Requirements Specification, Standard for Information Technology IEEE, 1998.
[23] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley Longman, 1999.
[24] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier, and J. Irwin, Aspect-Oriented Programming Proc. European Conf. Object-Oriented Programming (ECOOP'97), June 1997.
[25] T.G. Kirner and A.M. Davis, Nonfunctional Requirements of Real-Time Systems Advances in Computers, vol. 42, pp. 1-38, 1996.
[26] D.R. Lindstrom, Five Ways to Destroy a Development Project IEEE Software, pp. 55-58, Sept. 1993.
[27] J.C.S.P. Leite and A.P.M. Franco, A Strategy for Conceptual Model Acquisition Proc. First IEEE Int'l Symp. Requirements Eng., pp. 243-246, 1993.
[28] J.C.S.P. Leite et al., Enhancing a Requirements Baseline with Scenarios Requirements Eng. J., vol. 2, no. 4, pp. 184-198, 1997.
[29] C. Leonardi et al., Una Estrategia de Análisis Orientada a Objetos Basada en Escenarios Proc. Actas II Jornadas de Ingeniaria de Software (JIS97), Sept. 1997.
[30] Handbook of Software Reliability Engineering. M.R. Lyu, ed., McGraw-Hill, 1996.
[31] J. Musa, A. Lannino, and K. Okumoto, Software Reliability: Measurement, Prediction, Application. McGraw-Hill, 1987.
[32] J. Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Nonfunctional Requirements: A Process-Oriented Approach," IEEE Trans. Software Eng., pp. 483-497, vol. 18, June 1992.
[33] NASA Software Document Standard (NASA-STD-2100-91), 1991.
[34] J.S.M. Neto, Integrando Requisitos Não Funcionais ao Modelo de Objetos MSc dissertation, Pontificia Univ. Católica do Rio de Janeiro, Mar. 2000.
[35] Rational, Object Constraint Language Specification 1997, http:/
[36] D. Ross, Structures Analysis: A language for Communicating Ideas IEEE Trans. Software Eng, vol. 3, no. 1, pp. 16-34, Jan. 1977.
[37] J. Rumbaugh, I. Jacobson, and G. Booch, The Unified Modeling Language Reference Manual. Addison-Wesley, 1999.
[38] H.A. Simon, The Sciences of the Artificial, third ed. MIT Press, 1996.
[39] US Department of Defense System Software Development, DOD Standard 2167A, 1997.
[40] A. Van Lamsweerde, Goal-Oriented Requirements Engineering: A Guided Tour Proc. Fifth Int'l Symp. Requirements Eng., pp. 249-262, 2001.
[41] S. Robertson and J. Robertson, Mastering the Requirements Process. ACM Press, 1999.
[42] R. Wirfs-Brock, B. Wilkerson, and L. Wiener, Designing Object-Oriented Software. Prentice Hall, 1990.

Index Terms:
Software design, requirements elicitation, nonfunctional requirements, goal graphs, UML conceptual models.
Luiz Marcio Cysneiros, Julio Cesar Sampaio do Prado Leite, "Nonfunctional Requirements: From Elicitation to Conceptual Models," IEEE Transactions on Software Engineering, vol. 30, no. 5, pp. 328-350, May 2004, doi:10.1109/TSE.2004.10
Usage of this product signifies your acceptance of the Terms of Use.