Nonfunctional requirements: from elicitation to conceptual models

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 show how to integrate NFRs into the class, sequence, and collaboration diagrams. We 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]  David J Grimshaw,et al.  Non-functional requirements analysis: deficiencies in structured methods , 2001, Inf. Softw. Technol..

[2]  Joseph A. Goguen,et al.  Techniques for requirements elicitation , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[3]  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.

[4]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[5]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[6]  Alan M. Davis,et al.  Nonfunctional Requirements of Real-Time Systems , 1996, Adv. Comput..

[7]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[8]  R. Ulusay,et al.  Object Constraint Language Specification , 1997 .

[9]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[10]  Julio Cesar Sampaio do Prado Leite,et al.  A Framework for Integrating Non-Functional Requirements into Conceptual Models , 2001, Requirements Engineering.

[11]  Egon Börger,et al.  Requirements Engineering - The Light Control Case Study , 2000, J. Univers. Comput. Sci..

[12]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[13]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[14]  Douglas T. Ross,et al.  Structured Analysis (SA): A Language for Communicating Ideas , 1977, IEEE Transactions on Software Engineering.

[15]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

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

[17]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[18]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[19]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

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

[21]  Julio Cesar Sampaio do Prado Leite,et al.  Integrating non-functional requirements into data modeling , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[22]  Julio Cesar Sampaio do Prado Leite,et al.  Using UML to reflect non-functional requirements , 2001, CASCON.

[23]  Julio Cesar Sampaio do Prado Leite,et al.  A strategy for conceptual model acquisition , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[24]  Julio Cesar Sampaio do Prado Leite,et al.  The world?s a stage: a survey on requirements engineering using a real-life case study , 1999, J. Braz. Comput. Soc..

[25]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[26]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[27]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[28]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[29]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[30]  Eric Yu,et al.  Non-Functional Requirements Elicitation , 2019, International Journal of Recent Technology and Engineering.

[31]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[32]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[33]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[34]  David R. Lindstrom Five Ways to Destroy a Development Project , 1993, IEEE Softw..