Conference PaperPDF Available

How to Specify Non-Functional Requirements to Support Seamless Modeling? A Study Design and Preliminary Results

Authors:

Abstract and Figures

Context: Seamless model-based development provides integrated chains of models, covering all software engineering phases. Non-functional requirements (NFRs), like reusability, further play a vital role in software and systems engineering, but are often neglected in research and practice. It is still unclear how to integrate NFRs in a seamless model-based development. Goal: Our long-term goal is to develop a theory on the specification of NFRs such that they can be integrated in seamless model-based development. Method: Our overall study design includes a multi-staged procedure to infer an empirically founded theory on specifying NFRs to support seamless modeling. In this short paper, we present the study design and provide a discussion of (i) preliminary results obtained from a sample, and (ii) current issues related to the design. Results: Our study already shows significant fields of improvement, e.g., the low agreement during the classification. However, the results indicate to interesting points; for example, many of commonly used NFR classes concern system modeling concepts in a way that shows how blurry the borders between functional and NFRs are. Conclusions: We conclude so far that our overall study design seems suitable to obtain the envisioned theory in the long run, but we could also show current issues that are worth discussing within the empirical software engineering community. The main goal of this contribution is not to present and discuss current results only, but to foster discussions on the issues related to the integration of NFRs in seamless modeling in general and, in particular, discussions on open methodological issues.
Content may be subject to copyright.
How to specify Non-functional Requirements to
support seamless modeling?
AStudyDesignandPreliminaryResults
Jonas Eckhardt, Daniel Méndez Fernández, Andreas Vogelsang
Technische Universität München
Garching b. München, Germany
{eckharjo,mendezfe,vogelsan}@in.tum.de
AbstractContext: Seamless model-based development pro-
vides integrated chains of models, covering all software engineer-
ing phases. Non-functional requirements (NFRs), like reusability,
further play a vital role in software and systems engineering, but
are often neglected in research and practice. It is still unclear how
to integrate NFRs in a seamless model-based development. Goal:
Our long-term goal is to develop a theory on the specification
of NFRs such that they can be integrated in seamless model-
based development. Method: Our overall study design includes
a multi-staged procedure to infer an empirically founded theory
on specifying NFRs to support seamless modeling. In this short
paper, we present the study design and provide a discussion of
(i) preliminary results obtained from a sample, and (ii) current
issues related to the design. Results: Our study already shows
significant fields of improvement, e.g., the low agreement during
the classification. However, the results indicate to interesting
points; for example, many of commonly used NFR classes concern
system modeling concepts in a way that shows how blurry the
borders between functional and NFRs are. Conclusions: We
conclude so far that our overall study design seems suitable to
obtain the envisioned theory in the long run, but we could also
show current issues that are worth discussing within the empirical
software engineering community.
The main goal of this contribution is not to present and discuss
current results only, but to foster discussions on the issues related
to the integration of NFRs in seamless modeling in general and,
in particular, discussions on open methodological issues.
KeywordsRequirements, Requirements Engineering, Non-
functional Requirements, Seamless Modeling
I. INTRODUCTION
The increasing complexity in software and system de-
velopment projects results in a demand for expressiveness,
modularity, reusability, and analyzability of modeling and
specification approaches. Model-based development is the key
to meet this demand as it allows to abstract from implemen-
tation details and to increase the overall level of abstraction.
Yet, m o d e l - b a s e d development a l o n e does n o t solve a nything
as various models still have to be integrated into a holistic
chain. In response to this, the idea of seamless model-based
development emerged [1]. Seamless modeling aims at elabo-
rating integrated chains of models covering all phases from
requirements engineering to system design and verification.
The central ingredient of seamless model-based development
is a system model that provides the theoretical framework
interconnecting all models.
Non-functional requirements (NFRs) further play a vital
role in software and systems engineering. There is much
work available in the field of NFRs characterizing single
classes of NFRs and classifications as well, such as security
and reusability. Yet, we are still far from having a common
understanding on the notion of NFRs, let alone from having
commonly accepted and integrated taxonomies for NFRs [2],
[3], [4] that go beyond a rather abstract level, or even an
integration of NFRs in a common system model. In fact, the
integration of NFRs and model-based development forms
ahighpriorityscopeofcurrentresearchprojectsthataim
at better understanding how practitioners integrate NFRs in
context of model-based development and, in particular, what
problems they experience [5], [6].
Therefore, it currently remains unclear how to integrate
NFRs in seamless model-based development, as the integration
in a common system model is not in scope of available
contributions. This forms the objective of our ongoing research.
In the long run, we want to provide an approach for specifying
NFRs such that they can be integrated in a common s ystem
model, and thus, supporting seamless model-based develop-
ment that also takes into account the specification of NFRs.
To reach this goal, we designed an overall study that starts
with analyzing how practitioners specify NFRs. This literature-
agnostic view allows for getting an overview of the information
and structure necessary to specify NFRs sufficiently suitable
for subsequent development activities (even if not integrated).
Another reason why we base our work on practical data is that
we want our resulting theory to emphasize the practical impact
rather than the theoretical one alone. Having understood the
basic constructs used to specify NFRs in practice, we analyze
in a second step the relation between classes of NFRs and the
various system modeling dimensions. We use this classication
to elaborate, in a third step, a theory on specifying NFRs in
context of seamless development, before eventually dissemi-
nating and evaluating our theory again in practical contexts.
In this paper, we present our overall design and discuss
current results and methodological issues arising from the
preliminary analysis of a sample. Please note that the primary
aim of this paper is not to present the results alone (as
the study design still might be subject to change), but to
foster discussions and exchange ideas on this difficult area
characterized by various (empirical) challenges.
© ACM. PREPRINT. This is the author's version of the work. It is posted here by permission of ACM for your personal use.
Not for redistribution. The definitive version was published in the conference/workshop proceedings.
II. OVERALL STUDY DESIGN
The goal of the overall study is to analyze natural language
NFRs taken from industrial requirements specifications in
order to understand how classes of NFRs relate to existing
system modeling dimensions. This serves as a basis for de-
veloping a theory for the specification of NFRs to support
seamless modeling.
A. Research Questions
To reach our goal, we formulate the following research
questions (RQs):
RQ1: What classes of NFRs are documented in practice
and what is their scope? This RQ examines the state of
practice, i.e., what classes of NFRs are actually documented
and whether they refer to the context, to the system or to a
sub-system.
RQ2: How do classes of NFRs relate to existing system
modeling dimensions? In this RQ, we lay the foundation of
the later theory building: we analyze how (and if) classes of
NFRs relate to specific system modeling dimensions.
RQ3: How can NFRs be specified to support seamless
modeling? For those NFRs that are related to system modeling
dimensions, we build in a third step a theory on how to specify
NFRs to support seamless modeling.
RQ4: What are the limitations of specifying NFRs in a
seamless context? In a last step, we analyze the limitations
of the resulting theory which we also plan to use for further
adjustments of the concepts captured in the theory.
Figure 1 depicts an overview of the overall study design.
First, we perform a preliminary classification of a sample
(approx. 5%) to see how the individual classifications align,
followed by a discussion with an agreement. Based on this
discussion, we build a decision tree for the classification to
make the classification more transparent. Using this decision
tree, we validate the classification on another random sample
(approx. 5%), followed again by a discussion with an agree-
ment. Finally, to answer RQ1 and RQ2, we analyze the whole
data set (not in scope of the paper at hands). While RQ1 and
RQ2 are concerned with the collection and classification of
NFRs from concrete requirements specifications, RQ3 is con-
cerned with theory building before we evaluate the resulting
theory again in a practical (industrial and academic) context
(RQ4).
Please note that in this paper, we provide insights into the
current data analysis that concerns RQ1 and RQ2.
B. Case and Subject Description
The study objects for RQ1 and RQ2 are based on 346
NFRs taken from 11 industrial specifications from 5 different
companies for different application domains and of differ-
ent sizes. The specifications further differ in the level of
abstraction, detail, and completeness. As these specifications
are confidential, we cannot give detailed information on the
individual NFRs nor on the projects. However, Table I provides
an overview of the study objects in scope of RQ1 and RQ2,
their domain, and exemplary (anonymized) NFRs.
NFRs
Extrac!on of NFRs
5% sample
Decision Tree
Manual Classifica!on
Manual Classifica!on
5% sample
Data Collec!onPreliminary Classifica!onValida!on
Manual Classifica!on
All data
Final Analysis
Agreement
Discussion & Agreement
System Model
Categories
Requirements
Specifica!ons
Theory Building
...
Dissemina!on
RE Community
Case Study Research
Refinement
Agreement
RQ3
RQ4
RQ1
RQ2
Fig. 1. Overview of the study design and the relation of the RQs to the steps.
All data classifications are performed independently by two
different researchers (1st and 3rd author). Both researchers are
working for more than three years in requirements engineering
and model-based development research.
C. Data Collection & Analysis Procedures
We collected all requirements from the specications that
are explicitly labelled as non-functional, quality,orasonespe-
cific class of NFR, e.g. availability.ToanswerRQ1,weclassi-
fied the resulting NFRs according to the following dimensions:
Quality characteristic from the quality model for external
and internal quality (ISO/IEC 9126). See [2] for the individual
characteristics.
Scope of the NFR, i.e., system embedded in its context, the
system itself, or a sub-system.
For RQ2, we base our classification on one established
system modeling theory [7]. Here, we classified the NFRs
according to the following fundamental dimensions (see [8]):
Modeling View,i.e.doestheNFRdescribeexternally
visible system behavior, internal system behavior,orrepresen-
tational aspects.Thisdimensiondifferentiatesbehaviorthat
is externally visible only, also known as black box behavior
(see, e.g., NFR of S10, Table I), behavior that is internal to
the system, also known as glass box behavior (see ex. NFR
of S6, Table I), and representational aspects of a system (see,
e.g,. NFR of S7, Table I).
System Modeling Concept,i.e.doestheNFRdescribe
interface and interface behavior, architecture and architectural
behavior,orstate and state transition behavior.Thisdimen-
sion differentiates behavior in terms of interaction over the
system boundary (see, e.g., NFR of S10, Table I), structuring
the system into a set of sub-systems with their connections and
TABLE I. OVERVIEW OF THE STUDY OBJECTS FOR RQ1 AND RQ2.
Spec. Family of Systems
1
(Domain) # Reqs # NFRs % NFRs Exemplary NFR (anonymized due to confidentiality)
S1 BIS (Finance) 200 61 30.5% The availability shall not be less than [x]%. That is the current value.
S2 BIS (Automotive) 177 40 22.6% An online help function must be available. [It] has to be accessible in every dialog. [...]
S3 BIS (Finance) 107 5 4.7% The maximal number of users that are at the same time active in the system is [x].
S4 ES/BIS (Travel Mngmt.) 38 14 36.8% The [system] is used by users that are directly in contact with customers. Thus, long response
times are not acceptable. The time of [x]% of the functions within the [system]-components
shall not be more than [x] seconds.
S5 ES/BIS (Travel Mngmt.) 69 16 23.2% It must be possible to completely restore a running configuration when the system crashes.
S6 ES (Railway) 35 14 40.0% The delay between passing a [message] and decoding of the first loop message shall be [x]
seconds.
S7 ES (Railway) 122 19 15.6% The collection, interpretation, accuracy and allocation of data relating to the railway network
shall be undertaken to a quality level commensurate with the SIL [x] allocation to the [system]
equipment.
S8 ES/BIS (Traffic Mngmt.) 554 128 23.1% It shall be possible to install programs and configuration data separately.
S9 ES (Railway) 393 12 3.0% The [system] will have a Mean Time Between Wrong Side Failure (MTBWSF) greater than [x]
hrespectivelyaTHRlessthan[x]/hduetotheuseof[aspecic]platform.
S10 ES (Railway) 122 31 25.4% The [system] system shall handle a maximum of [x] trains per line.
S11 BIS (Facility Mngmt.) 24 6 25.0% The architecture as well as the programming has to guarantee an easy and efficient maintain-
ability.
Σ 11 Σ 1.841 Σ 346 18.8%
1
System classes considered are BIS (Business Information systems) and ES (Embedded Systems) as well as hybrids of both.
their interactions (see, e.g., NFR of S2, Table I), and describing
the state space and state transitions of a system (see, e.g., NFR
of S5, Table I).
Modeling Theory,i.e.,withwhatmeansistheNFR
described (syntactical, logical, probabilistic, timed)? This di-
mension distinguishes between NFRs that describe syntactical
structure (see, e.g., NFR of S2, Table I), or NFRs that describe
behavior. The latter is further refined to the kind of behavior:
logical, probabilistic, or timed.
III. C
URRENT STATUS A N D PRELIMINARY RESULTS
At the moment of writing this paper, we completed the
pre-study based on a sample and reached the validation phase
of our study. So far, we analyzed 38 NFRs out of 346 (approx.
10%), created the decision tree, discussed the results, and
agreed on the classification. In this section, we will give a
brief overview of the preliminary results and analysis.
A. Preliminary Results
The results of RQ1 are shown in the following table and
the results of RQ2 are shown in Figure 2(a)-(c).
Quality characteristic count percentage
Functionality - Security 9 23.7%
Functionality - Suitability 8 21.0%
Portability - Adaptability 5 13.2%
Portability - Installability 3 7.9%
Reliability - Maturity 3 7.9%
Reliability - Recoverability 2 5.3%
Usability - Understandability 2 5.3%
Efficiency - Resource Utilization 2 5.3%
Efficiency - Time Behavior 1 2.6%
Functionality - Accuracy 1 2.6%
Functionality - Interoperability 1 2.6%
Usability - Learnability 1 2.6%
Scope count percentage
System in Context 9 23.7%
System 27 71.1%
Sub-system 2 5.3%
B. Preliminary Interpretation
Concerning RQ1, one can already see that about 50% of
all NFRs in the sample are in a sub-category of functionality.
Furthermore, within the category functionality, most NFRs are
concerned with security (9) or with suitability (8). The latter
are classical functional requirements. Moreover within the rest,
most NFRs are concerned with either portability (8) or with
reliability (5). The scope of most requirements is the system
(71.1%), while only 23.7% describe a functionality of the
system in its context and only 5.3% describe a functionality
of a sub-system.
Concerning RQ2, we can see that in particular almost
all NFRs within the Functionality - Security and Function-
ality - Suitability class describe externally visible behavior,
interface and interface behavior, and are described logically.
Furthermore, we can see that 68.4% of the NFRs describe
externally visible behavior (15.8% internal system behavior
and 15.8% representational aspects), 78.1% interface and in-
terface behavior (15.6% architecture and architecture behavior
and 6.3% state and state transition behavior), and 78.1% are
described logically (28.9% syntactical, 2.6% probabilistic, and
2.6% timed).
In our pre-run using the sample, we did not (yet) analyze
further differentiations, e.g., according to the class of systems.
The results still already indicate that many NFRs seem to
describe externally visible behavior, interface and interface
behavior, and they are described logically. This is how classical
functional requirements are specified and, furthermore, about
50% of all NFRs in the sample are in the sub-category of
functionality.Thisindicateshowblurrythebordersbetween
functional requirements and NFRs actually are.
IV. O
PEN ISSUES AND THREATS TO VALIDITY
In the course of designing the study and later on during
initial classifications based on the sample, we were confronted
with different issues of which s ome still remain open. In this
(a) Modeling View (b) System Modeling Concept (c) Modeling Theory
Fig. 2. Results for RQ2: Distribution of the ISO quality attributes among the system modeling dimensions.
TABLE II . C
OHENS KAPPA OF 1ST AND 2ND PRELIM.
CLASSIFICATION
Category κ
v
(1st) p-val
v
1
(1st) κ
v
2
(2nd) p-val
v
2
(2nd)
ISO/IEC 9126 0.577(10) 9.33E50.505(18) 1.65E11
Scope 0.0(13) NaN 0.133(18) 0.475
S.M. Concept 0.0(11) NaN 0.0263(13) 0.871
View 0.0263(13) 0.882 0.337(18) 0.0543
Theory 0.0(12) NaN 0.111(15) 0.515
section, we provide an overview of those issues we consider
to result in the biggest threats to the validity of our study.
Data Representativeness. We see the biggest threat to
the validity to be in the representativeness of the data on
which we built our analysis. The concerns range from the
representativeness of the way the NFRs are specified to the
completeness of the data as it currently only covers the
particularities of selected industrial contexts only.
NFR Selection. We only collected the requirements that
are explicitly labelled as non-functional or quality. With this
selection procedure, some relevant NFRs may be missed or
irrelevant ones may be included. To address this threat, we plan
to perform the classification on the whole data set as future
work (including functional and non-functional requirements).
Classification Dimensions. To answer RQ1 and RQ2, we
classified our data based on multiple dimensions. One open
issue concerns the validity of those dimensions themselves.
The fuzziness of the dimensions manifests itself in the low
inter-rater agreement and low kappa values (see Table II)
which was also the reasons for us to elaborate a decision
tree. Yet, another reason for the disagreement was that the
NFRs were analyzed in insolation and that they often do
not provide sufficient information to understand them without
the necessary context. Finally, the third problem affecting the
classification is given by the ISO/IEC classification itself which
we took as a reference and which doesn’t provide exhaustive
guidance for the classification.
Contextualization. The quality of our study is very much
dependent on the possibility to reproduce the results, which in
turn is dependent on the clearness of the context information.
The latter, however, is strongly limited by NDAs that too often
prevent providing full disclosure of the contexts and even the
project characteristics.
V. C
ONCLUSION
The main goal of this short paper was to initiate discussions
on the issues related on the integration of NFRs in seamless
modeling in general and, in particular, discussions on open
methodological issues of our study.
To this end, we presented our overall study design which in-
cludes a multi-staged procedure to infer an empirically founded
theory on specifying NFRs to support seamless modeling.
Then, we discussed preliminary results from a sample (approx.
10%) and current open issues and threats to validity of our
study. The preliminary results already indicate to interesting
points; for example, many of commonly used NFR classes
concern system facets in a way that shows how blurry the
borders between functional and non-functional requirements
are. Furthermore, we identified fields of improvement for our
study, for example, the low inter-rater agreement during the
classification.
We conclude so far that our overall study design seems
suitable to obtain the envisioned theory in the long run, but
we could also show current issues that are worth discussing
within the empirical software engineering community.
R
EFERENCES
[1] M. Broy, M. Feilkas, M. Herrmannsdoerfer, S. Merenda, and D. Ratiu,
“Seamless model-based development: From isolated tools to integrated
model engineering environments, Proc. of the IEEE,vol.98,2010.
[2] ISO, “ISO/IEC 9126-1:2001, Software engineering Product quality
Part 1: Quality model, Tech. Rep., 2001.
[3] M. Glinz, “On non-functional requirements, in RE.IEEE,2007.
[4] L. Chung and J. C. S. do Prado Leite, “On non-functional requirements
in software engineering, in Conceptual modeling: Foundations and
applications.Springer,2009.
[5] D. Ameller, X. Franch, C. Gómez, J. Araujo, R. Svensson, S. Biffl,
V. C a b o t , J . C o r t e l l e s s a , M . D a n ev a , D . M é n d e z F e r n á n d e z , A . M o r e i r a ,
H. Muccini, A. Vallecillo, M. Wimmer, V. Amaral, H. Brunelière,
L. Burgueño, M. Goulão, B. Schätz, and S. Teufl, “Handling Non-
Functional Requirements in Model-Driven Development: An Ongoing
Industrial Survey, in RE,2015.
[6] R. B. Svensson, T. Olsson, and B. Regnell, An investigation of how
quality requirements are specified in industrial practice, IST,vol.55,
2013.
[7] M. Broy and K. Stølen, Specification and development of interactive
systems: focus on streams, interfaces, and refinement.Springer,2012.
[8] M. Broy, “Rethinking Nonfunctional Software Requirements, IEEE
Computer,vol.48,no.5,2015.
... The importance of measuring complexity in non-functional requirements modeling [7], [10], [25] [8], [11], [12], [26] [6], [14], [15], [27], [28] [4], [16], [29] [4], [14] Regarding non-functional requirements, nonfunctional requirements are important to define because these requirements play a vital role in software development [27]. But of course, the definition of nonfunctional requirements is not easy considering there are 114 non-functional requirements that are defined [30] that lead to complexity in defining. ...
... The importance of measuring complexity in non-functional requirements modeling [7], [10], [25] [8], [11], [12], [26] [6], [14], [15], [27], [28] [4], [16], [29] [4], [14] Regarding non-functional requirements, nonfunctional requirements are important to define because these requirements play a vital role in software development [27]. But of course, the definition of nonfunctional requirements is not easy considering there are 114 non-functional requirements that are defined [30] that lead to complexity in defining. ...
Article
Full-text available
Complexity in defining non-functional requirements happened because it has many aspects. It is very difficult for stakeholders to know non-functional requirements in detail which are actually needed and has an impact on the abandonment of non-functional requirements elicitation. So it is required to find out the importance of modeling of non-functional requirements by using extended use case. In order to review the topic, research questions are formulated then defining keywords for finding a literature from the resources. The result of finding literature shows that the use of extended use case can ease the modeling of non-functional requirements because of the ease of the annotation and more familiar to use. There are eight steps for modeling non-functional requirements with an extended use case. Furthermore, the extended use case can model the various categories of non-functional requirements such as security,
... Relation to Previous Publications: In the past, we have conducted a number of studies in which we investigated the perception [14] and use [13,15] of quality requirements by practitioners. The research questions, results, and the underlying data presented in this article are original in the sense that they have not been addressed in a previous analysis and consequently in a publication. ...
Preprint
Full-text available
Context: Quality requirements (QRs) are a topic of constant discussions both in industry and academia. Debates entwine around the definition of quality requirements, the way how to handle them, or their importance for project success. While many academic endeavors contribute to the body of knowledge about QRs, practitioners may have different views. In fact, we still lack a consistent body of knowledge on QRs since much of the discussion around this topic is still dominated by observations that are strongly context-dependent. This holds for both academic and practitioners' views. Our assumption is that, in consequence, those views may differ. Objective: We report on a study to better understand the extent to which available research statements on quality requirements, as found in exemplary peer-reviewed and frequently cited publications, are reflected in the perception of practitioners. Our goal is to analyze differences, commonalities, and context-dependent grey areas in the views of academics and practitioners to allow a discussion on potential misconceptions (on either sides) and opportunities for future research. Method: We conducted a survey with 109 practitioners to assess whether they agree with research statements about QRs reflected in the literature. Based on a statistical model, we evaluate the impact of a set of context factors to the perception of research statements. Results: Our results show that a majority of the statements is well respected by practitioners; however, not all of them. When examining the different groups and backgrounds of respondents, we noticed interesting deviations of perceptions within different groups that may lead to new research questions. Conclusions: Our results help identifying prevalent context-dependent differences about how academics and practitioners view QRs and pinpointing statements where further research might be useful.
... The research work by Cleland-Huang et al. [328] presented a unique approach to identify and categorize the non-functional requirements by requirements documents. The work by Eckhardt [329] discussed the possibility of integrating non-functional requirements in seamless modeling. In another study by Eckhardt et al. [330], with respect to the difference between the functional requirements and non-functional requirements, revealed that most of the "non-functional" requirements are actually not non-functional. ...
Thesis
The recent years has witnessed an enormous growth in use of social media as a way to communicate and share knowledge. Some of the sample social media mechanisms are, wikis, blogs, Q&A websites/forums, and feeds, have tremendously shaped the way we communicate, work and play online. Many of these social media technologies have successfully made their way into collaborative software engineering. As a result, software developers too have started utilizing social Q&A websites for effective software development. Software developers around the globe are actively asking a question(s) and sharing solutions to the problems related to software development on Stack Overflow - a social question and answer (Q&A) website. The knowledge shared by software developers on Stack Overflow contains useful information related to software development such as feature requests (functional/non-functional), code snippets, reporting bugs or sentiments.
... The research work by Cleland-Huang et al. [84] presented a unique approach to identify and categorize the non-functional requirements by requirements documents. The work by Eckhardt [85] discussed the possibility of integrating non-functional requirements in seamless modeling. In another study by Eckhardt et al. [86], concerning the difference between the functional requirements and non-functional requirements, revealed that most of the "non-functional" requirements are not nonfunctional. ...
Article
Full-text available
Mobile application developers are getting more concerned due to the importance of quality requirements or non-functional requirements (NFR) in software quality. Developers around the globe are actively asking a question(s) and sharing solutions to the problems related to software development on Stack Overflow (SO). The knowledge shared by developers on SO contains useful information related to software development such as feature requests (functional/non-functional), code snippets, reporting bugs or sentiments. Extracting the NFRs shared by iOS developers on programming Q&A website SO has become a challenge and a less researched area. Objective: To identify and understand the real problems, needs, trends, and the critical NFRs or quality requirements discussed on Stack Overflow related to iOS mobile application development. Method: We extracted and used only the iOS posts data of SO. We applied the well-known statistical topical model Latent Dirichlet Allocation (LDA), to identify the main topics in iOS posts on SO. Then, we labeled the extracted topics with quality requirements or NFRs by using the wordlists to assess the trend, evolution, hot and unresolved NFRs in all iOS discussions. Results: Our findings revealed that the highly frequent topics the iOS developers discussed are related to usability, reliability, and functionality followed by efficiency. Interestingly, the most problematic areas unresolved are also usability, reliability, and functionality though followed by portability. Besides, the evolution trend of each of the six different quality requirements or NFRs over time is depicted through comprehensive visualization. Conclusion: Our first empirical investigation on approximately 1.5 million iOS posts and comments of SO gives insight on comprehending the NFRs in iOS application development through the lens of real-world practitioners.
... Up until now there does not exist a commonly accepted approach for the NFR-specification, documentation, and analysis [9]. We are still far from having a common understanding on the notion of NFRs, let alone from having commonly accepted and integrated taxonomies for NFRs that go beyond a rather abstract level, or even an integration of NFRs in a common system model [10]. ...
Article
Full-text available
This paper describes the results and analysis of a systematic mapping study of research focusing on the nonfunctional requirements in software intensive medical devices. The review covered 238 journal papers from five digital libraries. The 55 papers that met the review inclusion criteria focused on 22 NFRs, each describing a unique system behavior quality. The most dominant of these NFRs were interoperability,usability,performance,security, privacy, safety, and accuracy. A noticeable NFR gap is the notion of caring. It is not readily apparent how a medical device that monitors a patient or delivers medications or anesthetics can “care about” the sufferings, feelings and emotional needs of a patient; however, in the healthcare arena these are valid concerns. A second theme found in the papers reviewed focused on software standards/process improvement when developing software intensive medical devices. This research also provides an analysis of the software architecture tactics those researchers utilized to implement the NFRs in the medical devices.
... Cleland-Huang et al. [44] introduced a novel approach to detect and classify the NFRs by requirements documents. Eckhardt and his colleagues [45] presented discussions on the integration of NFRs in seamless modeling. With respect to the distinction between the NFRs and functional requirements, Eckhardt et al. [46] found that most "non-functional" requirements are really not non-functional. ...
Technical Report
Full-text available
Context: Software non-functional requirements address a multitude of objectives, expectations, and even liabilities that must be considered during development and operation. Typically, these non-functional requirements originate from different domains and their concrete scope, notion, and demarcation to functional requirements is often ambiguous. Objective: In this study we seek to categorize and analyze relevant work related to software engineering in a DevOps context in order to clarify the different focus areas, themes, and objectives underlying non-functional requirements and also to identify future research directions in this field. Method: We conducted a systematic mapping study, including 142 selected primary studies, extracted the focus areas, and synthesized the themes and objectives of the described NFRs. In order to examine non-engineering-focused studies related to non-functional requirements in DevOps, we conducted a backward snowballing step and additionally included 17 primary studies. Results: Our analysis revealed 7 recurrent focus areas and 41 themes that characterize NFRs in DevOps, along with typical objectives for these themes. Overall, the focus areas and themes of NFRs in DevOps are very diverse and reflect the different perspectives required to align software engineering with technical quality, business, compliance, and organizational considerations. Conclusion: The lack of methodological support for specifying, measuring, and evaluating fulfillment of these NFRs in DevOps-driven projects offers ample opportunities for future research in this field. Particularly, there is a need for empirically validated approaches for operationalizing non-engineering-focused objectives of software. Remark This paper is an addition to our peer-reviewed publication in [1] and contains a more elaborate presentation of our findings. When citing our work, please always cite the peer-reviewed publication; citing this technical report should always be optional for cases where you explicitly reference aspects that were not published in the peer-reviewed publication.
Preprint
Full-text available
Software non-functional requirements address a multitude of objectives, expectations, and even liabilities that must be considered during development and operation. Typically, these non-functional requirements originate from different domains and their concrete scope, notion, and demarcation to functional requirements is often ambiguous. In this study we seek to categorize and analyze relevant work related to software engineering in a DevOps context in order to clarify the different focus areas, themes, and objectives underlying non-functional requirements and also to identify future research directions in this field. We conducted a systematic mapping study, including 142 selected primary studies, extracted the focus areas, and synthesized the themes and objectives of the described NFRs. In order to examine non-engineering-focused studies related to non-functional requirements in DevOps, we conducted a backward snowballing step and additionally included 17 primary studies. Our analysis revealed 7 recurrent focus areas and 41 themes that characterize NFRs in DevOps, along with typical objectives for these themes. Overall, the focus areas and themes of NFRs in DevOps are very diverse and reflect the different perspectives required to align software engineering with technical quality, business, compliance, and organizational considerations. The lack of methodological support for specifying, measuring, and evaluating fulfillment of these NFRs in DevOps-driven projects offers ample opportunities for future research in this field. Particularly, there is a need for empirically validated approaches for operationalizing non-engineering-focused objectives of software.
Article
Context: Quality requirements (QRs) are a topic of constant discussions both in industry and academia. Debates entwine around the definition of quality requirements, the way how to handle them, or their importance for project success. While many academic endeavors contribute to the body of knowledge about QRs, practitioners may have different views. In fact, we still lack a consistent body of knowledge on QRs since much of the discussion around this topic is still dominated by observations that are strongly context-dependent. This holds for both academic and practitioners’ views. Our assumption is that, in consequence, those views may differ. Objective: We report on a study to better understand the extent to which available research statements on quality requirements, as found in exemplary peer-reviewed and frequently cited publications, are reflected in the perception of practitioners. Our goal is to analyze differences, commonalities, and context-dependent grey areas in the views of academics and practitioners to allow a discussion on potential misconceptions (on either sides) and opportunities for future research. Method: We conducted a survey with 109 practitioners to assess whether they agree with research statements about QRs reflected in the literature. Based on a statistical model, we evaluate the impact of a set of context factors to the perception of research statements. Results: Our results show that a majority of the statements is well respected by practitioners; however, not all of them. When examining the different groups and backgrounds of respondents, we noticed interesting deviations of perceptions within different groups that may lead to new research questions. Conclusions:Our results help identifying prevalent context-dependent differences about how academics and practitioners view QRs and pinpointing statements where further research might be useful.
Conference Paper
Full-text available
Model-Driven Development (MDD) is no longer a novel development paradigm. It has become mature from a research perspective and recent studies show its adoption in industry. Still, some issues remain a challenge. Among them, we are interested in the treatment of non-functional requirements (NFRs) in MDD processes. Very few MDD approaches have been reported to deal with NFRs (and they do it in a limited way). However, it is clear that NFRs need to be considered somehow in the final product of the MDD process. To better understand how NFRs are integrated into the existing MDD approaches, we have initiated the NFR4MDD project, a multinational empirical study, based on interviews with companies working on MDD projects. Our project aims at surveying the state of the practice for this topic. In this paper, we summarize our research protocol and present the current status of our study. The discussion will focus on the peculiarities of our study's context and organization involving about 20 researchers from 8 European countries.
Article
Full-text available
More than 20 years of research has created a large body of ideas, concepts, and theories for model-based development of embedded software-intensive systems. These approaches have been implemented by several tools and successfully applied to various development projects. However, the everyday use of model-based approaches in the automotive and avionic industries is still limited. Most of the time, the engineers work with a predefined set of isolated tools, and therefore adapt their engineering methods and process to the available tools. Today, the industry achieves tool integration by demand-driven, pragmatic, and ad-hoc composed chains of a priori existent commercial tools. Nevertheless, these tool chains are not (and cannot be) seamless, since the integration that can be achieved is not deep enough. This hampers the reuse and refinement of models, which subsequently leads to problems like redundancy, inconsistency, and lack of automation. In the end, these deficiencies decrease both the productivity and quality that could be provided by model-based approaches. To overcome these problems, a deep, coherent, and comprehensive integration of models and tools is required. Such an integration can be achieved by the following three ingredients: 1) a comprehensive modeling theory that serves as a semantic domain for the models, 2) an integrated architectural model that holistically describes the product and process, and 3) a manner to build tools that conform to the modeling theory and allow the authoring of the product model. We show that from a scientific point of view, all ingredients are at our hands to do a substantial step into an integrated process and tool world. Further, we illustrate why such a solution has not been achieved so far, and discuss what is to be done to get a step closer to seamless model-based engineering.
Chapter
Full-text available
Essentially a software system's utility is determined by both its functionality and its non-functional characteristics, such as usability, flexibility, performance, interoperability and security. Nonetheless, there has been a lop-sided emphasis in the functionality of the software, even though the functionality is not useful or usable without the necessary non-functional characteristics. In this chapter, we review the state of the art on the treatment of non-functional requirements (hereafter, NFRs), while providing some prospects for future directions.
Article
Categorizing software requirements based on functional and architectural views in terms of logical and probabilistic behavior models could help mitigate weaknesses in the elicitation and structuring of requirements.
Article
ContextThis paper analyses a sub-contractor specification in the mobile handset domain.Objective The objective is to understand how quality requirements are specified and which types of requirements exist in a requirements specification from industry.Method The case study is performed in the mobile handset domain, where a requirements specification was analyzed by categorizing and characterizing the pertaining requirements.ResultsThe requirements specification is written in structured natural language with unique identifiers for the requirements. Of the 2178 requirements, 827 (38%) are quality requirements. Of the quality requirements, 56% are quantified, i.e., having a direct metric in the requirement. The variation across the different sub-domains within the requirements specification is large.Conclusion The findings from this study suggest that methods for quality requirements need to encompass many aspects to comprehensively support working with quality requirements. Solely focusing on, for example, quantification of quality requirements might overlook important requirements since there are many quality requirements in the studied specification where quantification is not appropriate.
Article
Requirements standards and textbooks typically classify require-ments into functional requirements on the one hand and attributes or non-func-tional requirements on the other hand. In this classification, requirements given in terms of required operations and/or data are considered to be functional, while performance requirements and quality requirements (such as require-ments about security, reliability, maintainability, etc.) are classified as non-functional. In this paper, we present arguments why this notion of non-functional require-ments is flawed and present a new classification of requirements which is based on four facets: kind (e.g. function, performance, or constraint), representation (e.g. operational, quantitative or qualitative), satisfaction (hard or soft), and role (e.g. prescriptive or assumptive). We define the facets, discuss typical combi-nations of facets and argue why such a faceted classification of requirements is better than the traditional notion of functional and non-functional requirements.
Conference Paper
Although the term 'non-functional requirement' has been in use for more than 20 years, there is still no consensus in the requirements engineering community what non-functional requirements are and how we should elicit, document, and validate them. On the other hand, there is a unanimous consensus that non-functional requirements are important and can be critical for the success of a project. This paper surveys the existing definitions of the term, highlights and discusses the problems with the current definitions, and contributes concepts for overcoming these problems.