Sign up & Download
Sign in

Dynamically Tracing Non-Functional Requirements through Design Pattern Invariants

by Jane Cleland-Huang, David Schmelzer
Workshop on Traceability in Emerging Forms of Software Engineering in conjunction with ASE 2003 IEEE International Conference on Automated Software Engineering (2003)

Abstract

Nonfunctional requirements (NFRs) are critical to the successful implementation of almost every nontrivial software system. This is evidenced by the fact that many documented system failures are directly attributed to the inadequate implementation and maintenance of NFRs. Although tracing NFRs could alleviate this problem through supporting activities such as requirements validation, impact analysis, and regression testing, the task is complicated by their tendency to exhibit complex interactions and to have a global and far-reaching impact upon a software system. This paper describes an approach for establishing traceability between certain types of NFRs and design and code artifacts, through the use of design patterns as intermediary objects. By synergistically utilizing both static and dynamically generated links, EBTDP minimizes the cost and effort of establishing and maintaining traceability links. Authors' Conclusion: Establishing traceability from NFRs to design components and code, certainly represents a nontrivial problem for which no single solution is available. The sheer diversity of NFRs and their related implementation techniques indicates that it is unlikely that a single traceability technique will be optimal for all types of NFRs. This paper describes one method applicable to NFRs that are fulfilled through the implementation of a design pattern. EBTDP provides a powerful alternate to establishing traceability through the use of static links. One of its primary advantages is that the known and predefined rules of the design pattern enable fine-grained links from the pattern to specific class implementations to be generated dynamically. This reduces the need for establishing explicit traceability links, and increases both the maintainability and the expressiveness of the approach.

Cite this document (BETA)

Available from www.soi.city.ac.uk
Page 1
hidden

Dynamically Tracing Non-Functional Requirements through Design Pattern Invariants

Dynamically Tracing Non-Functional Requirements
through Design Pattern Invariants


Jane Cleland-Huang and David Schmelzer
DePaul University, Chicago
{jhuang, dschmelzer}@cs.depaul.edu


Abstract

Nonfunctional requirements (NFRs) are critical to
the successful implementation of almost every
nontrivial software system. This is evidenced by the
fact that many documented system failures are
directly attributed to the inadequate implementation
and maintenance of NFRs. Although tracing NFRs
could alleviate this problem through supporting
activities such as requirements validation, impact
analysis, and regression testing, the task is
complicated by their tendency to exhibit complex
interactions and to have a global and far-reaching
impact upon a software system. This paper
describes an approach for establishing traceability
between certain types of NFRs and design and code
artifacts, through the use of design patterns as
intermediary objects. By synergistically utilizing
both static and dynamically generated links, EBT
DP

minimizes the cost and effort of establishing and
maintaining traceability links.

1 Introduction

Requirements traceability is a critical component
in the long term maintenance of any medium or
large scaled software application. Traceability links
define relationships between requirements and
design artifacts, and support a number of crucial
activities related to requirements validation, impact
analysis, regression testing, and knowledge
management [1,2]. Traditionally these techniques
have focused upon the functional requirements of
the system, however if non-functional requirements
(NFRs) such as performance, reliability, scalability,
and safety are not considered, then functional
changes may introduce unexpected side effects
resulting in both immediate and long-term
degradation of the system quality.
NFRs come in many different shapes and sizes,
and there is therefore no single traceability technique
that can be applied in every case. For example,
certain types of requirements that are traditionally
considered to be nonfunctional, tend to decompose
into lower level requirements that are quite
functional in nature, and can be traced using
conventional methods. Many security requirements
fall into this category. However, other NFRs such as
those related to reliability and scalability tend to
have a more global impact upon a system and are
therefore difficult to trace without creating and
maintaining an excessive number of links. Due to
these difficulties, many developers entirely fail to
trace NFRs, risking exposure to unpredicted side-
effects that may adversely impact critical qualities of
the system.
This paper builds on our previous work on
Event-based traceability (EBT) [3,4,5,6] by
describing a new method, EBT
DP,
for tracing NFRs
through the use of design patterns [7]. Several
researchers have recognized the fact that NFRs are
often fulfilled through the implementation of design
patterns [8,9], making this approach applicable to a
significant number of requirements. Its primary
advantage is that user-defined and dynamic links can
be used synergistically to establish finely-grained
traceability links supportive of important software
engineering tasks such as automated impact analysis
and regression testing, without the overhead of
maintaining an excessive number of static links. For
the purposes of this paper we therefore distinguish
between a static user-defined link for which the user
explicitly defines a relationship between two
artifacts, and a dynamic link which is generated by
the system at runtime.

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

8 Readers on Mendeley
by Discipline
 
by Academic Status
 
38% Researcher (at an Academic Institution)
 
25% Student (Master)
 
25% Ph.D. Student
by Country
 
38% Germany
 
13% China
 
13% Colombia