Relational-model based change management for non-functional requirements: Approach and experiment

In software industry, many organizations either focus their traceability efforts on Functional Requirements (FRs) or else fail entirely to implement an effective traceability process. Non-Functional Requirements (NFRs) such as security, safety, performance, and reliability are treated in a rather ad hoc fashion and are rarely traced. This is mainly because of the unique nature of NFRs. They are subjective, relative and they tend to become scattered among multiple modules when they are mapped from the requirements domain to the solution space. Furthermore, NFRs can often interact, in the sense that attempts to achieve one NFR can help or hinder the achievement of other NFRs at particular software functionality. Such an interaction creates an extensive network of interdependencies and tradeoffs among NFRs which is not easy to trace. In a previous work, we proposed a conceptualization of NFRs through the NFRs Ontology. In this paper, we extend the previous work by proposing a change management mechanism for tracing the impact of NFRs on the other constructs in the ontology such as FR or NFR operationalization and vice versa, and providing a traceability mechanism using Datalog expressions to implement queries on a relational model-based representation for the ontology. The proposed traceability queries are then evaluated through a multi-project variation quasi-experiment on regression testing conducted in the industry.

[1]  Jane Cleland-Huang,et al.  Goal-centric traceability for managing non-functional requirements , 2005, ICSE.

[2]  Maya Daneva,et al.  An Ontology Based Approach to Non-functional Requirements Conceptualization , 2009, 2009 Fourth International Conference on Software Engineering Advances.

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

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

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

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

[7]  Julia Rubin,et al.  Model traceability , 2006, IBM Syst. J..

[8]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[9]  Jennifer Widom,et al.  Database Systems: The Complete Book , 2001 .

[10]  Robert L. Nord,et al.  Global Analysis: moving from software requirements specification to structural views of the software architecture , 2005, IEE Proc. Softw..

[11]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[12]  João Araújo,et al.  aspect- oriented pr ogramming , 2006 .

[13]  Per Runeson,et al.  A Qualitative Survey of Regression Testing Practices , 2010, PROFES.

[14]  Gregg Rothermel,et al.  An empirical study of regression test application frequency , 2005, Softw. Test. Verification Reliab..

[15]  Patricio Letelier A Framework for Requirements Traceability in UML-based Projects , 2002 .

[16]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[17]  Jane Cleland-Huang,et al.  Toward improved traceability of non-functional requirements , 2005, TEFSE '05.

[18]  Ahmed M. Salem Improving Software Quality through Requirements Traceability Models , 2006, IEEE International Conference on Computer Systems and Applications, 2006..

[19]  Eric S. K. Yu,et al.  Using non-functional requirements to systematically support change , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[20]  Wolfgang Emmerich,et al.  The future of requirements management tools , 2000 .

[21]  Matthias Weber,et al.  Requirements engineering in automotive development-experiences and challenges , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[22]  Deb Jacobs Requirements Engineering so Things Don't Get Ugly , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[23]  Alexander Egyed,et al.  Identifying requirements conflicts and cooperation: how quality attributes and automated traceability can help , 2004, IEEE Software.

[24]  Eila Niemelä,et al.  Capturing quality requirements of product family architecture , 2007, Inf. Softw. Technol..