• Keine Ergebnisse gefunden

Overcoming the Deficiencies of Requirement Categorizations in Practice 111

6. An Analysis of Requirements Categorizations and their Consequences

6.2. Overcoming the Deficiencies of Requirement Categorizations in Practice 111

is missing, the stakeholders of a categorization, e.g., the requirements engineer may tend to not accept the categorization and thus not use it.

6.1.3. Summary: Deficiencies of Requirements Categorizations in Practice

We consider the ISO/IEC 25010-2011 [2011] a representative for requirements catego-rizations: As described in Chapter 3.1.2, other requirements categorizations also provide a comprehensive quality model but remain on a high level, as they do not precisely define the individual categories and do not provide support for subsequent development activities. Thus, we follow that current requirements categorizations lack a precise and explicit definition of the individual categories and furthermore do not provide enough guidance for a practitioner to operationalize the categorization for subsequent activities.

6.2. Overcoming the Deficiencies of Requirement Categorizations in Practice

To overcome these two major problems, we propose in the next chapter an approach that clearly and precisely defines the individual quality attributes and, furthermore, provides guidance for practitioners to operationalize the categorization. Given a quality attribute, the core of our approach is two-fold:

1. Clear definition: We base the clear and precise definition on thecontent ele-mentsthat requirements of a specific quality attribute may consist of, i.e., different types of information characterizing the quality attribute (e.g., the desired latency of a system for performance requirements). Making the content elements that requirements concerning the quality attribute consist of explicit provides us with a clear vocabulary. For example, instead of defining Performance/efficiency–Time-behavioras “The degree to which the response and processing times and throughput rates of a product or system, when performing its functions, meet requirements”, our approach focusses on the content elements that requirements concerning this quality attribute may consist of. Thus, we provide a content model containing all those content elements the requirement may consist of. This further enables us to provide a definition of the content elements in form of a glossary or mapping to a system model. This reduces the risk of misinterpretations and furthermore facilitates the seamless transition into architectural design.

2. Sentence patterns: We base the operationalization on a set of sentence pat-ternsfor requirements concerning the quality attribute. Sentence patterns provide a way to embody comprehensive and structured knowledge about requirements con-cerning a specific quality attribute [Withall, 2007]. They support the requirements activities in many ways. For instance, they help the requirements analyst to ask the right questions and to document relevant information on the appropriate level of detail. Moreover, they provide guidance as people tend to learn from examples

6. An Analysis of Requirements Categorizations and their Consequences in Practice

and sentence patterns are abstract examples for the specification of requirements of a specific quality attribute. Furthermore, they give an overview of information that may be documented regarding a specific quality attribute and thus support the elicitation of requirements and—when looking at the sentence patterns as a whole—they support the completeness of the requirements specification as a whole (for a specific quality attribute). In summary, they help to answer the questions

“Where do I start?”, “How do I know when I am done?”, “How detailed should my requirements be?”, “Have I missed any requirements?”, and “Have I forgotten any critical information in the requirements I have written?” [Withall, 2007].

In summary, given a quality attribute, we base our approach on the clear and precise definition of content elements that requirements of a specific quality attribute may consist of and on a set of sentence patterns for the specification of requirements. Furthermore, we propose to use the idea of activity-based quality models [Deissenboeck et al., 2007; Femmer et al., 2015] for the customization of these content elements to a given organizational context and sentence patterns for guidance and support for their application in practice.

Our approach is conducted in advance for a given set of quality attributes. Each application of our approach results in a precise and explicit definition and customized sentence patterns for requirements concerning this quality attribute. The resulting definitions and sentence patterns can then be integrated in the overall RE process of a company to support the elicitation, documentation, validation, and management of requirements in the given organizational context. The results can then be (re)used, for example, as a company standard to specify and elicit quality requirements in future projects.

In the next chapter, we give a detailed description of the approach for defining, specifying, and integrating quality requirements. Furthermore, we apply our approach to two quality attributes: performance and availability.

112

“A language must have an interpretation for it to serve as a tool for communication. Those who neglect this and those who dogmatically insist that the study of a language independently of its meaning is the only rigorous procedure, are wrong.”

Paul Rosenbloom, 1950

7 Chapter

An Approach for Defining, Specifying, and Integrating Quality

Requirements based on a System Model

Parts of this chapter have been previously published in the following publications:

• Eckhardt, J., Vogelsang, A., and Femmer, H. (2016a). An Approach for Creating Sentence Patterns for Quality Requirements. InProceedings of the 6th International Workshop on Requirements Patterns (RePa), pages 308–315 (full paper, workshop,

8 pages)

• Eckhardt, J., Vogelsang, A., Femmer, H., and Mager, P. (2016b). Challenging Incompleteness of Performance Requirements by Sentence Patterns. InProceedings of the 24th International Requirements Engineering Conference (RE), pages 46–55 (full paper, research track, 10 pages)

I

nChapter 4, we analyzed how practitioners handle requirements; We concluded that requirements categorizations should be based on methodological reasons. Moreover, in Chapter 5, we saw that the categorization of Broy [2015, 2016] is suitable for

7. An Approach for Defining, Specifying, and Integrating Quality Requirements based on a System Model

requirements found in practice. However, it is still an open question how such a catego-rization can be integrated in an RE process. In this chapter, we provide an approach for defining, specifying, and integrating quality requirements based on a system model and exemplarily instantiate this approach for performance and availability requirements.

7.1. Context

Although the importance of QRs for software and systems development is widely accepted, up until now, there is no commonly accepted approach for the QR-specific elicitation, documentation, and analysis [Borg et al., 2003; Chung and Nixon, 1995; Svensson et al., 2009]. This lack can result in high maintenance costs in the long run [Svensson et al., 2009]. As already argued in the previous chapters, besides Glinz’s definition, classification, and representation problem [Glinz, 2007], there are two further problems with current definitions of quality requirements:

1. the definitions are not overly precise and thus not easily understandable and applicable, and

2. the definitions do not provide guidance or support for their application in a given organizational context.

To tackle these two problems, we propose an approach that—given a quality attribute (e.g., performance or availability) as input—provides a means to precisely specify

require-ments regarding this quality attribute. Our approach is based on the identification of content elements, i.e., different types of information characterizing the quality attribute (e.g., the desiredlatencyof a system for performance requirements). In particular, given

a quality attribute, our approach provides

1. a means to precisely and explicitly define content elements that are needed to specify requirements concerning the quality attribute, and

2. a set of sentence patterns for practitioners to specify requirements concerning the quality attribute for a given organizational context.

We achieve the precise and explicit definition by a structured identification of relevant content elements that requirements of a specific quality attribute may consist of. Further-more, we use the idea of activity-based quality models [Deissenboeck et al., 2007; Femmer et al., 2015] for the customization of these content elements to a given organizational context and sentence patterns for guidance and support for their application in practice.

In this chapter, we contribute a detailed presentation and description of our approach, a discussion of our lessons learnt while instantiating it for performance and availability requirements, and provide guidance for how to apply our approach for further quality attributes.

114