Professional Documents
Culture Documents
p15 Yrjonen
p15 Yrjonen
p15 Yrjonen
15
belonging to the pre-RS scope, whereas forward-from and Section 3, the usage of the framework and accompanying tools are
backward-to are positioned to the post-RS division. demonstrated with a case example easy to comprehend. Finally in
In the pre-RS and post-RS division, requirements derived from Sections 4 and 5, the results are discussed and the paper
other requirements are positioned to the pre-RS scope. Typically concluded.
existing requirements management tools can handle the pre-RS
scope well, and many also try to provide the post-RS traceability.
2. THE NFR+ FRAMEWORK WITH FULL
However, the post-RS traceability usually crosses the tool and TRACEABILITY
semantic borders in such a manner that provides no backward-to In this paper, the full traceability is considered as the forward and
traceability, due to the fact that design components are crafted in backward traceability of the whole SW development process. The
separate tool environments using separate languages and tooling to be introduced in this section is designed to enable such
paradigms that do not offer necessary linkage. The normal traceability.
practice to solve this issue has been to create separate design
documents that are stored in requirements management (RM)
2.1 Technical Environment
databases (RMDB). However, the distinction of documents and The tool support for the NFR+ Framework is implemented using
actual software implementation is vulnerable to losing the MetaEdit+ (ME+) Workbench [6]. A modelling language was
synchronization without excessive and laborious documentation created for the NFR framework [5], comprising of SIGs and
maintenance work throughout the whole process. This, on the catalogues
other hand, breaks the traceability. In order to avoid losing the MetaEdit+ code generators were utilized as the primary
trace link from requirements to the rest of the development programming environment for tooling. ME+ does not allow the
phases, requirements must be linked directly to the output manipulation of graphs directly from code generators. To
artefacts of the rest of the phases. overcome this limitation, an additional external programming
In addition to direct interdependencies in the time axis (Pre- language, Python, was applied. Generated Python programs are
RS/Post-RS), there is additional complexity amongst NFRs that utilized to modify graphs and objects within ME+ through
are of system-wide aspects, such as resource consumption or MetaEdit SOAP API. This approach enables full control on
performance. These interdependencies should be traceable as ME+’s models from its code generators.
well, e.g. one should find any other design model that influences In order to support the prevalent information flow, where the
other NFRs than the one under examination, should there be a requirements flow from requirements management tools, usually
problem or conflict in realizing some requirements. external to the software development environment, to the
The NFR Framework [5] by Chung et al. is a set of goal-based programming environment, the Open-source Requirement
methods and tools for RE, that tackles the difficult NFRs by Management Tool (OSRMT) 2 was utilized. Such a tool can be
decomposing them into sets of smaller subgoals, revealing their utilized for exporting and importing requirements to/from the
interdependencies and helping to refine them into concrete NFR+ Framework modelling environment. Figure 1 presents an
specifications (operationalizations). The NFR Framework is a overview of the tooling environment and where the NFR+
good tool for RE and managing the NFRs, but does not solve the Framework aligns there, providing the traceability links.
full complexity of the traceability problem as it is not integrated
into the rest of the development by tools or data. Softgoal
Interdependency Graphs (SIG) are a central part of the NFR
Framework, containing the decomposed softgoals (NFRs) and
their operationalizations. There are also catalogues that store
knowledge on the typical interdependencies and
operationalizations of the NFRs.
In [6], an implementation of the NFR Framework in MetaCase,
MetaEdit+ language workbench was presented, including an Figure 1. The tooling environment for the NFR+ Framework.
automatic evaluation for analyzing SIGs. It also extended the NFR 2.2 NFR+ Framework Tools
Framework with a concept of quantifiable 1 NFRs to form a NFR+
Framework. The quantifiable NFR provides evidence-based 2.2.1 Export from OSRMT to ME+
information for the use of a requirements engineer to determine OSRMT has rather limited export/import features that are mainly
whether the defined NFRs are achieved or not. They also serve as intended for sharing artefacts between two different projects or
a connection point and guidance to software designers, by stating instances in the OSRMT database. However, it serves the purpose
the desired outcome. It was argued that the quantifiable NFRs of inputting existing requirements into the NFR+ Framework and
introduced are one important step to close the gap between RE additionally updating possible changes back to the OSRMT.
and SE. In this paper, we will take a look at how such a Within the OSRMT, one can select a set of requirements to be
framework supported by tools can enable the full traceability of exported via various filtering means. For example, requirements
NFRs in the context of DSM. related to a certain product or feature, or of a certain type can be
exported.
This paper is structured as follows. In Section 2, the technical
approach and implementation are explained thoroughly. In OSRMT exports artefacts in the XML file format. In order to
import the requirements to the NFR+ Framework, ME+ API and
1
We use the term quantifiable instead of measurable, as
2
sometimes the evaluation of a requirement is enough. http://sourceforge.net/projects/osrmt/
16
Python XML libraries are utilized to open an OSRMT export file 2.2.3 Requirements Elaboration
and to import the requirements into an ME+ project. In addition to the same facilities as the original NFR framework,
During the import, the NFR+ Framework importer keeps track of the NFR+ Framework also makes it possible to incorporate so
the requirement IDs given by the OSRMT. If a requirement with called quantifiable requirements. The quantifiable requirements
the same ID has been already imported to ME+, it is not re- can be connected to a softgoal in SIG, as presented in Figure 3.
imported in order to avoid duplicate information in separate The meterization symbol showing a yellow segment in the middle
requirement instances. New ones are created through the ME+ of Figure 3 presents an undefined result of a quantifiable
SOAP API from the generated Python program. requirement connected to the softgoal of a type throughput. The =
symbol in the object indicates the contribution of the
After the import, all requirements and their relevant data fields are
measurement to the parent softgoal. In Figure 3, it is equal to but
available in the ME+ environment. At the ME+ side the
can be changed to any of the normal softgoal contribution signs.
requirements description is a combination of the requirements
definition of the OSRMT and a template adapted from [8]. In
Figure 2, requirement modelling entities are presented as shown in
ME+.
17
Otherwise, defaults are used according to the NFR Framework Figure 6 presents an output from a decomposition assistant
[5]. The contribution catalogue can be modified to influence the applied for a softgoal of a type Cost. Notice the green-headed pin
evaluation. Figure 4 illustrates the contribution catalogue. To read drawn over the softgoal symbol. The pin is used as a selector for
this catalogue, one first has to look for the desirably labelled child instructing the Decomposition Assistant for which softgoal(s)
(lower) softgoal from amongst the pairs, then find the correct suggestions are asked for. The green colour indicates a conformed
contribution symbol, and thus the parent (upper) softgoal label selection, whereas the red colour indicates that no applicable
shows how such a combination is to be evaluated. By modifying object is selected with the given selector pin.
the contribution catalogue, the user can affect how the softgoals
are labelled during the automatic evaluation of a SIG.
18
2.4.2 Pre-RS
Part of the Pre-RS traceability is stored in SIG graphs that
describe and document the history of eliciting the final
requirements in terms of operationalizations and quantifiable
NFRs. This is bi-directional, i.e. requirements can be traced back
from operationalizations to early stakeholder requirements, and
vice versa. Part of the Pre-RS traceability crosses the tool
boundary in cases where there are imported requirements
originated from another tool. In such cases, there is a possibility to
provide forward traceability from external tools to the NFR+
Framework through e.g. hypertext links to documents stored
elsewhere and created by the NFR+ Framework tool. In such a
case, backward traceability would require manual browsing from
the RMDB or some additional, specific integration steps that do
not exist in the current implementation. However, all relevant
information can be imported and maintained in the NFR+
Framework for full traceability.
2.4.3 Post-RS
Post-RS traceability is implemented through the connections
between SIG and design models, i.e. namely operationalizations,
and quantifiable NFRs. Traceability is automatically up-to-date all
the time, and navigable to both directions. In addition to simply
manually navigating through the object bindings in the graphs,
there is also some visible information available about the
traceability. In the application design view, operationalizations
report on the impact to the NFRs as observable in Figure 12 (see
the text under thick-clouds, i.e. operationalizations). In SIGs, the
meterization symbols report the verification results (see Figure 13,
meterization symbols in particular).
2.4.4 NFR Cross-connections
The NFR interdependencies are maintained internally within Figure 7. Baking process.
NFR+ Framework projects in ME+ repositories. This may be a Figure 7 can be read as follows. First, 50kg of raw material for
complex network of interdependencies, not only through SIGs but whole meal bread is produced. Second, the raw material is
also via connections to design models. These cross-connections delivered to the “main rolling station” where the bread is to be
provide a traceability that is neither backward nor forward in type. rolled. The raw material flows to the main rolling station at
For example, the same application model may involve several 1kg/5s. In the rolling station, the bread is baked. After that, the
various NFRs defined in separate SIGs. Applying some design buns are delivered to the main oven. The oven bakes 50kg of
decision proposed by one SIG, might simultaneously affect the bread at 220C for 10min. The bread is then delivered to the
evaluation of another SIG through a changed system behaviour or packaging department where 10kg of buns are packaged in 10min.
structure. This kind of interdependency can also be traced via the
interconnections provided with backward/forward traceability.
One could describe these for example as forward-backward or 3.1 Requirements Elaboration
backward-forward traceability.
For the baking process, the following requirement is defined in
3. CASE EXAMPLE the starting phase and imported to the ME+ from OSRMT:
To demonstrate the NFR+ Framework, the bread baking • Bake good wholemeal bread rapidly and cost-
manufacturing process is applied as a demonstrator. The utilized efficiently.
demonstrator is only for demonstration purposes and it does not Three abstract softgoals can be identified: “good bread”, “bake the
reflect any real baking factories. An example of such a baking bread rapidly” and “cost”. The rapid baking process softgoal can
process is depicted in Figure 7. be decomposed into a SIG depicted in Figure 8. Rapid baking
decomposes into the high throughput of an oven, high throughput
the baking, i.e. producing raw material rapidly, and the high
throughput of rolling. The high throughput of an oven is further
decomposed into a rapid baking and high volume oven. Using a
high temperature might hurt the “good bread” softgoal and hurt
“costs” as well.
19
operationalization and quantifiable requirement to the original
stakeholder requirement. In addition, by following these links, we
will observe what other factors influence the same topic and in a
real case, we could also see documentation about the designer’s
intentions and justifications for crafting the SIG to be as it is. In
this example, the argumentation notes serving documentation
purposes are, however, not used.
20
enable the high throughput of an oven, apply normal procedures
for baking and rolling”.
The SIG evaluation mainly serves the purpose of validating the
requirements elaborated so far. When it comes to traceability, the
evaluation can reveal hidden interdependencies in such cases that
copies of the same operationalizations are connected to different
SIGs and thus a label of one operationalization affects many SIGs
and thus different stakeholder requirements.
After the place holders are attached to the model, an To evaluate the impact of the current status of the quantitative
implementation can be developed. Usually in the case of DSM, requirements, the SIG can be automatically evaluated as discussed
the implementation is generated from a model. Values for the above. By pressing the evaluation button, the SIG updates as
place holders, a.k.a. measurement mechanisms, can be set presented in Figure 13. It is now easily observable that although
manually or automatically, such as done in [7]. In the case of this two requirements were fit, the third requirement concerning
baking process, naturally no such process is actually developed baking causes the original requirements to not be satisfied. This
and the measurements are only for demonstration purposes. result clearly indicated that there is no other way to overcome this
Figure 12 depicts the baking process where measured values are (see interdependencies) except by improving the throughput of the
“measured” from the running baking process. baking.
21
operationalizations and find all the parts of implemented design based on an integrated modelling approach where the modelling
model(s) which these stakeholder requirements are affecting. The techniques are applied from the beginning of the process, and
same also applies for the quantifiable measurements. carried on completely within an integrated development
environment.
4. DISCUSSION The history of requirements and specifications is available
The presented approach provides the traceability of NFRs from
through the SIGs. SIGs also represent an overview to the status of
early user requirements to implementation and testing, and
NFRs in every phase according to the best information available;
backwards. We call this full traceability. The NFR Framework
in early phases, either designers’ argumentation or general
itself creates traceability from early NFRs to specifications such
knowledge stored in catalogues. In later phases, the measured or
as operationalizations. Additional quantifiable NFRs defined in
evaluated empirical data was also specifically for the implemented
the NFR+ Framework also provide a transparent traceability
system.
between test specifications and design targets for NFR softgoals.
From design models, one can trace the full requirement history
By using the preset-end approach, the managing of system-wide
through operationalizations and quantifiable requirements. From
aspects becomes easier, since the related NFRs are all connected
SIGs, on the other hand, one can locate every design entity that is
to every relevant design model parts. Thus, it is possible to find
relevant for the given softgoal/requirement.
every design detail that shares the same NFR types or that have an
impact on the same softgoals. The NFR+ Framework was demonstrated with a simple case
example, describing the bread baking processes and requirements
Using the ME+ for implementing the NFR Framework with added
for it. The example shows how ambiguous NFRs can be
extensions seems to be worthwhile. The ME+ tool has some
transformed into detailed specifications and testing criteria.
limitations, with the worst of them being the inability to modify
the models through the code generators. We were however able to 6. REFERENCES
circumvent these limitations by exploiting other features of the
tool, i.e. ME+ SOAP API. This was a bit tricky and laborious, but
do-able. It was easy and straightforward to create the SIG and [1] Gotel, O. and Finkelstein, A., An Analysis of the
catalogue meta-models to implement the NFR+ Framework. The Requirements Traceability Problem, Proceedings of 1st
ability to seamlessly combine the domain-specific application International Conf. on Requirements Engineering, IEEE,
models and the NFR+ Framework models is a positive feature of 1994, pp. 94-101.
the well-supported metamodelling facilities of ME+. This helped [2] Kelly, S. and Tolvanen, J-P., Domain-Specific Modelling –
us in implementing the traceability, since the objects and their Enabling full code generation, John Wiley & Sons, New
relationships are already traceable by the ME+ tools. It was Jersey, 2008, 427p., ISBN: 978-0-470-03666-2.
enough to include the quantifiable requirements and [3] Dorfman, M. and, Chardon, R., Early experience with
operationalizations into the design graphs to achieve full requirements traceability in an industrial environment, Fifth
traceability. IEEE Symposium on Requirement Engineering, IEEE, 2001,
Compared to our previous work [6], we have included the pp. 265-265.
import/export from external RMDB which makes the presented [4] Kotonya, G. and Sommerville, I., Requirements Engineering,
approach more compliant with existing product development John Wiley & Sons, New York, 1998.
processes. Another significant increment is the addition of the
[5] Chung L., Nixon, J. M. B. and Yu, A., Non-functional
operationalizations into the application models with the notion of
Requirements in Software Engineering, Springer, Reading,
affected softgoals. This provides a backward traceability that was
Massachusetts, 2000.
not directly available in earlier versions.
[6] Yrjönen, A. and Merilinna, J., Extending the NFR
For future work, there still remains interesting possibilities. Framework with Measurable Non-Functional Requirements,
Getting into the details of the executable code in run-time tracing
2nd International Workshop on Non-functional System
would benefit in e.g. performance tuning. The scalability of the
Properties in Domain Specific Modeling Languages. Denver,
approach should be further studied with non-trivial applications
Colorado, USA, Oct 4 2009. (2009)
and domains. There is a possibility that overly complex NFR
interdependencies would clutter the design graphs if everything is [7] Merilinna, J. and Räty, T., A Tooling Environment for
shown at the same time. Quality-Driven Domain-Specific Modelling, Proceedings of
the 9th OOPSLA Workshop on Domain-Specific Modeling
5. CONCLUSION (DSM'09)
In this paper, a solution was presented for managing traceability [8] Ebert, C., Putting requirement management into praxis:
in a product development. By adapting the NFR+ Framework, dealing with nonfunctional requirements, Information &
DSM application development and integration with requirements Software Technology 40(3): 175-185, 1998.
management tools full, bi-directional, NFR traceability from early
requirements to design and testing was introduced. The solution is
22