Dynamically Tracing Non-Functional Requirements through Design Pattern Invariants
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.
Dynamically Tracing Non-Functional Requirements through Design Pattern Invariants
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


