How traceability of non-functional requirements is managed throughout the software development process?
1. Requirements Traceability:
Requirements traceability is the
process of describing and keeping track of a set of requirements throughout the
system’s lifecycle. The process assists in managing changing requirements of a
particular software product.
Requirements traceability of is two
types, forward traceability where a particular requirement involved during the
design and implementation phases of the software system, and backward
requirement traceability where a particular requirement is being traced back to
its source.
2. Proposed Solutions for the Traceability of Non - Functional Requirements:
The
author J. Merilinna [8], proposed a framework supported by a tool to trace the
non-functional requirements in both forward and backward direction. The
proposed method is based on the context of DSM (Domain Specific Modeling). The NFR+1 framework involved are used for the
elicitation, definition and redefinition of the system’s non-functional
requirements. The proposed framework is responsible for elaborating the
abstract and vague non-functional requirements of the system into design
specific details. The traceability gaps remained is maintained by the proposed
framework throughout the software development lifecycle.
Figure 1.a: Softgoal Interdependency Graph (SIG) [9] |
Goal-Centric
Traceability approach proposed by J. Cleland-Huang [9], models the
non-functional requirements along with their interdependencies in the form of
softgoals which are then mapped onto a Softgoals Interdependency Graph (SIG).
The links between the possible classes to be affected by the functional changes
and the elements of SIG are retrieved by a probabilistic network model. The
retrieved links are then used to analyze the level of impact on the goals
identified, to make informed decisions regarding the implementation of the
software systems and to generate a risk management system. The steps involved
in the implementation of this approach include: goal modeling, impact
detection, goal analysis and decision making.
Figure 1.b: Goal Centric Traceability Approach [9]
In another research conducted by J. Cleland-Huang [10],
the author proposed an approach to dynamically trace the non-functional
requirements of the system. Due to the diversity of the non-functional
requirements, the traceability link established using this approach exists only
between a certain types non-functional requirements, design and code artifacts.
The proposed approach uses a design pattern (Observer design pattern in
particular) as the basis to extract intermediary objects. Utilizing both the
static and dynamically generated links, EBTDP helps minimize the cost and
effort required to establish and maintain traceability links.
Figure 2.a: Requirement Traceability using EBTDP Process [10] |
Figure 2.b: Requirement Traceability using EBTDP Process [10] |
The metamodel proposed
by M. Kassab [11] focuses only on the extraction of the non-functional
requirements of the system along with their relations. The proposed metamodel
is based on XML-based representation and uses X-Query for representing the
tracing information of the extracted non-functional requirements. The proposed approach forces the system to analyse the and
capture any hierarchical relations between the non-functional requirements,
hierarchical relations between the functional requirements and the relations
between the functional and the non-functional hierarchies.
Figure 3: Meta-model for FRs, NFRs, and thier relations [11] |
In one other research conducted by
J. Cleland Huang [7], the author focused on the post requirement traceability
on the system’s non-functional requirements. The proposed approach follows the
following steps: identification of areas of non-fucntional requirements (impact
of changes to functional requirements on non-functional requriements
(inter-model traceability), impact of change to non-functional requirements on
functional requirements(intra-model traceability), impact of changes to
non-functional requirements on sub-non-functional requirements and parent
non-functional requirements (intra-model traceability), impact of changes to
non-functional requirements on other interacting non-functional
requirments(intra-model traceability)) requiring traceability support,
evaluation of the existing traceability methods, and proposal of goal centric
traceability supporting the impact analysis of non-functional requirement
within the context of the software architecture.
The author A. Mahmoud [6], proposed
a non-superivsed approach that exploiting the basic assumption of cluster
hypotheis and information theory to capture and classify various types of non-functional
requirements. The approach starts by
extracting individual keywords from the system’s requirements specifications,
calculating the pairwise semantic distance between these keywords based ipon
their co-occurance patterns in massive repositories of textual human knowledge
(with an assumption that the set of words occuring together tend to be somehow
related to one another). The approach then invloced clustering of the extracted
pair of words into semantically-coherent clusters which are then classigies
into different categories of non-funcitonal requirements based upon their
semantic cimilarity to basic non-functional requirement labels. The extracted
non-functional requirementd ate then traced to their implementation in the
solution spaces. The proposed approach focued only on forward traceability of
the non-functional requirements of the software system.
The author A. Firdous [4], in her
reseach presented a Traceability Process Model (TPM) that can be used for
tracing non-functional requirements during agile software development. The main
focus of this reasearch was to cater issues related to the propagation issues
(used on relations between model based or object-oriented based leads reducing
the traceability process flow in agile software development) and consistency
issues (issues related to the tracking of effected requirements during the
software development life cycle). According to the author most of the agile
project’s scenerio tracking is represented using a Traceability Information
Model (TIM), developed based upon the preception of agile practionars. User
histories were used to establish a reference between the acceptance tests and
the user stories. Its ease of use and additional management too support has
been the cause of its popularity.
Figure 4: Proposed Non-Functional Requirement Agile Traceability Model [4] |
Figure 5: Meta-Model for Requirement Diagram [2] |
F. G. C. Ribeiro [5], by extending the SysML meta-model demonstracted its effective use in the process of extraction and representation of the a real – time Road Traffic Control System. The proposed model show multiple levels of abstraction and classification of the extracted system’s requirements while maintaining its traceability.
The author M. Kassab [2], in another research proposed a
relational model to trace the requirements in case of an occurance of a change
to the requirements. The mechianism proposed uses relational models and data
log expressions to keep track the allocation of not only the requiremetns to the components of the
system but also of the control changes made to the system.
D. Port [3], proposed a text
minning support for software requirement traceability. The practical method
proposed by the author by using text – minning and statistical methoed proved
to be efficient in reducing the effort required for tracing the requirements
while increasing the assurance level of tracing matrix. Using both the
requirement similarity and dissimilarity generates investigation sets to
significantyl reduce the complexity of traceability assurance task while
highlighting problem areas in the software if any. The proposed mechanism
automatically adjusts the quality of the software requirements specification
and traceability matrix under assesment.
F. Golshan [1], using graph
transformation systems proposed a new approach for tracing the non-functional
requirements in a service oriented architecture. The approach consisted of five
nested steps: modeling the static and dynamic aspects of the architecture,
modeling of quality attribes i.e. non-functional requirements, adding of
quality model to the static aspects of the software’s architecture, definition
of estimation functions, and addition of the quality model to the dynamic
aspects of the software architecture.
3. References:
[1] F. Golshan and A. A.
Barforoush, “A new approach for tracing quality attributes in service oriented
architecture using graph transformation systems,” 2009 14th Int. CSI Comput.
Conf., pp. 10–16, 2009.
[2] M. Kassab, O. Ormandjieva,
and M. Daneva, “Relational-model based change management for non-functional
requirements: Approach and experiment,” Proc. - Int. Conf. Res. Challenges
Inf. Sci., 2011.
[3] D. Port, A. P. Nikora, J.
Huffman Hayes, L. Huang, J. H. Hayes, and L. Huang, “Text Mining Support for
Software Requirements: Traceability Assurance,” Proc. 4th IEEE Hawaii Int.
Conf. Syst. Sci., pp. 1–11, 2011.
[4] A. F. Binti Arbain, I.
Ghani, and W. M. N. Wan Kadir, “Agile non functional requiremnents (NFR)
traceability metamodel,” 2014 8th Malaysian Softw. Eng. Conf. MySEC 2014,
pp. 228–233, 2014.
[5] F. G. C. Ribeiro and M. S.
Soares, “A metamodel for tracing requirements of real-time systems,” 16th
IEEE Int. Symp. Object/Component/Service-Oriented Real-Time Distrib. Comput.
ISORC 2013, 2014.
[6] A. Mahmoud, “An Information
Theoretic Approach for Extracting and Tracing Non-functional Requirements,” IEEE
Int. Requir. Eng. Conf., vol. 23, pp. 36–45, 2015.
[7] J.
Cleland-Huang, “Toward improved traceability of non-functional requirements,” Proc.
3rd Int. Work. Traceability Emerg. forms Softw. Eng., pp. 14–19, 2005.
[8] J. Merilinna, A. Yrjönen,
and T. Räty, “NFR+ framework method to support bi-directional traceability of
non-functional requirements,” Comput. Sci. - Res. Dev., pp. 1–15, 2012.
[9] J. Cleland-Huang, R.
Settimi, O. BenKhadra, E. Berezhanskaya, and S. Christina, “Goal-centric
traceability for managing non-functional requirements,” Proceedings. 27th
Int. Conf. Softw. Eng. 2005. ICSE 2005., pp. 362–371, 2005.
[10] J. Cleland-huang and D. Schmelzer, “Dynamically Tracing
Non-Functional Requirements through Design Pattern Invariants,” TEFSE 2003 -
2nd Int. Work. Traceability Emerg. Forms Softw. Eng., no. JANUARY 2003,
2003.
[11] M. Kassab, O. Ormandjieva,
and M. Daneva, “A traceability metamodel for change management of
non-functional requirements,” Proc. - 6th ACIS Int. Conf. Softw. Eng. Res.
Manag. Appl. SERA 2008, pp. 245–254, 2008.
Awesome post, Thanks for sharing nice information. It's really more than effective for us..
ReplyDeletesoftware testing course
Thanks for sharing, I will bookmark and be back again
ReplyDeleteTry this best Traceability Software
Greps Ai specializes in digital transformation through services like Chatbot Development, API Development, and Software Development Designing. Our expertise in leveraging these technologies empowers businesses to achieve operational excellence and enhance customer satisfaction. Greps Ai for Business Growth strategic solutions are tailored to drive scalability and efficiency, making them an invaluable partner in navigating and thriving in today's competitive landscape.
ReplyDelete