Skip to main content

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.

Comments

  1. Awesome post, Thanks for sharing nice information. It's really more than effective for us..
    software testing course

    ReplyDelete
  2. Thanks for sharing, I will bookmark and be back again
    Try this best Traceability Software

    ReplyDelete
  3. 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

Post a Comment

Popular posts from this blog

Quality Practices in Agile Approaches

Agile Approaches Agile is an umbrella consisting of different methods adopted by the practitioners depending upon the circumstances. In the recent years  Agile has been gaining popularity among software practitioners due to its ability in assisting the development team to deliver the software product in a short amount of time.  Original Agile Approaches Based on the circumstances under which the agile methodologies have been used can be classified into the following 3 categories: Classification of Agile Approaches Agile Methodologies consist of the  original agile methods Hybrid Agile Methodologies consist of a combination of several original agile methodologies e.g. Industrial Extreme Programming merged with practices of Rational Unified Process Miscellaneous category consists of methodologies adopting only certain aspects of the original agile methodologies Extreme Programming, Test Driven/Test First Development, and SCRUM are among the most popular agile met

Software Architecture Views and Structures

Description of Views: In the year 1995 Kruchten presented his 4+1 architectural view model consisting of the following five types of views: Logical Development Process Physical Scenario Later with further development and research in the domain of architectural view following new views were developed to represent their respective structures: Views Sub-View of Description Logical None Highlights the functionalities provided by the system to the end-users. Unified Modeling Language (UML) diagrams such as the Class diagram, Domain diagram, Use Case diagram, State diagrams and Activity diagrams can be used to represent the logical view of the architecture. Development None It is also known as an implementation view. It is mainly concerned with the software project management. It represents the system with the programmer’s perspective. Process None It deals with the representation of