Requirements Engineering I

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/117

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

118 Terms

1
New cards

What is a requirement?

  1. A need perceived by a stakeholder.

  1. A capability or property that a system shall have.

  2. A documented representation of a need, capability or property.

2
New cards

What is a stakeholder?

A Stakeholder is a person or organization who influences a system’s requirements or who is impacted by that system.

3
New cards

Where do we need and use requirements?

<p></p>
4
New cards

What are Cyber-physical systems?

Cyber-physical systems contain both software and physical components.

5
New cards

What are Socio-technical systems?

Socio-technical systems span software, hardware, people and organizational aspects.

6
New cards

What is a system?

  1. A principle for ordering and structuring.

  1. A coherent, delimitable set of elements that – by coordinated action – achieve some purpose.

A system may comprise other systems.

7
New cards

How can the purpose achieved by a system be delivered?

knowt flashcard image
8
New cards

What are the forms of requirements?

knowt flashcard image
9
New cards

What is the traditional definition of Requirements Engineering (RE)?

The application of a systematic, disciplined, quantifiable approach to the specification and management of requirements; that is the application of engineering to requirements.

10
New cards

What is the customer-oriented definition of RE?

Understanding and documenting the customers’ desires and needs.

11
New cards

What is the risk-oriented definition of RE?

Specifying and managing requirements to minimize the risk of delivering a system that does not meet the stakeholders’ desires and needs.

12
New cards

What is the contemporary definition of RE?

The systematic and disciplined approach to the specification and management of requirements with the goal of understanding the stakeholders’ desires and needs and minimizing the risk of delivering a system that does not meet these desires and needs.

13
New cards

What are the four major tasks of RE?

  • Eliciting the requirements

  • Analyzing and documenting the requirements

  • Validating the requirements

  • Managing and evolving the requirements

14
New cards

Who are requirements engineers?

People act as requirements engineers if they:

  • elicit, document, validate and manage requirements,

  • have in-depth knowledge of Requirements Engineering, enabling them to define RE processes, select appropriate RE practices and apply them properly,

  • are able to bridge the gap between the problem and potential solutions

15
New cards

What are the costs and benefits of RE?

knowt flashcard image
16
New cards

What are the nine principles of RE?

knowt flashcard image
17
New cards

What is the value of a requirement?

  • The benefit of reducing development risk (i.e. the risk of not meeting the stakeholders’ desires and needs)

  • minus the cost of specifying the requirement

18
New cards

How is the risk of a requirement assessed?

  • Specification effort

  • Distinctiveness

  • Shared understanding

  • Reference systems

  • Length of feedback-cycle

  • Kind of customer-supplier relationship

  • Certification required

The effort invested into requirements engineering shall be inversely proportional to the risk that one is willing to take.

<ul><li><p>Specification effort</p></li></ul><ul><li><p>Distinctiveness</p></li></ul><ul><li><p>Shared understanding</p></li></ul><ul><li><p>Reference systems</p></li></ul><ul><li><p>Length of feedback-cycle</p></li></ul><ul><li><p>Kind of customer-supplier relationship</p></li></ul><ul><li><p>Certification required</p></li></ul><p>The effort invested into requirements engineering shall be inversely proportional to the risk that one is willing to take.</p>
19
New cards

How are specification and implementation intertwined?

  • Hierarchical intertwinement: high-level design decisions inform lower-level requirements

  • Technical feasibility: non-feasible requirements are useless

  • Validation: what you see is what you require

<ul><li><p>Hierarchical intertwinement: high-level design decisions inform lower-level requirements</p></li></ul><ul><li><p>Technical feasibility: non-feasible requirements are useless</p></li></ul><ul><li><p>Validation: what you see is what you require</p></li></ul><p></p>
20
New cards

How can requirements be classified?

knowt flashcard image
21
New cards

How can requirements be classified by kind?

DEFINITION. Functional requirement – A requirement concerning a result or behavior that shall be provided by a function of a system.

DEFINITION. Quality requirement – A requirements that pertains to a quality concern that is not covered by functional requirements

Can be sub-classified into:

  • performance requirement

  • specific quality requirement

DEFINITION. Constraint – A requirement that limits the solution space beyond what is necessary for meeting the given functional requirements and quality requirements.

<p>DEFINITION. Functional requirement – A requirement concerning a result or behavior that shall be provided by a function of a system.</p><p>DEFINITION. Quality requirement – A requirements that pertains to a quality concern that is not covered by functional requirements</p><p>Can be sub-classified into:</p><ul><li><p>performance requirement</p></li><li><p>specific quality requirement</p></li></ul><p>DEFINITION. Constraint – A requirement that limits the solution space beyond what is necessary for meeting the given functional requirements and quality requirements.</p>
22
New cards

How can requirements be classified by representation?

knowt flashcard image
23
New cards

How can requirements be classified by satisfaction?

knowt flashcard image
24
New cards

How can requirements be classified by role?

knowt flashcard image
25
New cards

How can requirements be classified by purpose?

knowt flashcard image
26
New cards

Why do we classify requirements in so many different ways?

knowt flashcard image
27
New cards

How should we classify requirements when in doubt?

knowt flashcard image
28
New cards

Classify the following requirements with respect to their kind, representation, satisfaction, role, and purpose.

a) When the system is in normal mode, the system shall unlock a turnstile for a single turn if the turnstile’s sensor unit senses a valid access card.

b) The system shall be compliant with GDPR.

knowt flashcard image
29
New cards

What forms of shared understanding exist?

knowt flashcard image
30
New cards

What does value mean in the context of specifications?

Value means

  • The benefit of an explicit specification

    • Bringing down the probability for developing a system that doesn’t satisfy its stakeholders’ expectations and needs to an acceptable level

minus

  • The cost of writing, reading and maintaining this specification

31
New cards

What are enablers and obstacles in shared understanding?

+ Domain knowledge

+ Previous joint work or collaboration

+ Existence of reference systems

+ Shared culture and values

+ Mutual trust

+/– Contractual situation

+/– Normal vs. radical design

– Geographic distance

– Outsourcing

– Regulatory constraints

– Large and/or diverse teams

– Fluctuation

32
New cards

What does context mean in the context of specifications?

knowt flashcard image
33
New cards

What is the system boundary and the context boundary?

knowt flashcard image
34
New cards

What are context models?

Modeling a system in its context

  • Determine the level of specification

  • Usually no system internals (➜ system as black box)

  • Model actors which interact directly with the system

  • Model interaction between the system und its actors

  • Model interaction among actors

  • Represent result graphically

35
New cards

What is the scope of a system development?

knowt flashcard image
36
New cards

How do we distinguish between requirements and design decisions?

Distinguish operationally:

  • If a statement is owned by stakeholders (i.e., changing it requires stakeholder approval), it’s a requirement

  • If a statement is owned by the supplier (i.e. the supplier may change it freely), it’s part of the technical solution

37
New cards

What competencies are contributed by RE and product design?

knowt flashcard image
38
New cards

What are work products and their characteristics?

knowt flashcard image
39
New cards

What are single requirements?

knowt flashcard image
40
New cards

What are sets of requirements?

knowt flashcard image
41
New cards

What are the four document types?

knowt flashcard image
42
New cards
term image
knowt flashcard image
43
New cards

What is a glossary?

knowt flashcard image
44
New cards

What are rules for creating and maintaining a glossary?

knowt flashcard image
45
New cards

What are prototypes?

knowt flashcard image
46
New cards

What forms of prototypes exist?

knowt flashcard image
47
New cards

What are examples of exploratory prototypes?

knowt flashcard image
48
New cards
term image

a) Wireframe

b) Mock-up (depending on whether there is some functionality, this could also be a native prototype)

49
New cards

What aspects need to be documented?

knowt flashcard image
50
New cards

What are ways to document?

knowt flashcard image
51
New cards

What are general rules for requirements documentation?

  • Specify requirements as small, identifiable units whenever possible

  • Record metadata such as source, author, date, status

  • Use structure templates

  • Adapt the degree of detail to the risk associated with a requirement

  • Specify normal and exceptional cases

  • Don’t forget quality requirements and constraints

52
New cards

How do we measure the quality of individual requirements?

knowt flashcard image
53
New cards

How do we measure the quality of requirements work products?

knowt flashcard image
54
New cards

What are personas?

<p></p>
55
New cards

What is requirements elicitation?

DEFINITION. Requirements elicitation – The process of seeking, capturing and consolidating requirements from available sources, potentially including the re-construction or creation of requirements.

56
New cards

What are elicitation techniques?

knowt flashcard image
57
New cards

Which elicitation technique is suitable for what?

knowt flashcard image
58
New cards

How do we elicit functional requirements?

knowt flashcard image
59
New cards

How do we elicit quality requirements?

knowt flashcard image
60
New cards

How do we elicit performance requirements?

knowt flashcard image
61
New cards

How do we elicit constraints?

knowt flashcard image
62
New cards

How can we analyze and document elicited information?

Build specification incrementally and continuously

Document requirements in small units

End over means: Result → Function → Input

Consider the unexpected: specify non-normal cases

Quantify critical attributes

Document critical assumptions explicitly

Avoid redundancy

Build a glossary and stick to terminology defined in the glossary

Let a GenAI assist you

<p>Build specification incrementally and continuously</p><p>Document requirements in small units</p><p>End over means: Result → Function → Input</p><p>Consider the unexpected: specify non-normal cases</p><p>Quantify critical attributes</p><p>Document critical assumptions explicitly</p><p>Avoid redundancy</p><p>Build a glossary and stick to terminology defined in the glossary</p><p>Let a GenAI assist you</p>
63
New cards

What is Kano‘s model?

knowt flashcard image
64
New cards

How can we create innovative requirements and where should we innovate?

Where we should innovate:

  • Functionality – new exciting features

  • Performance – not just a bit more, but significantly more powerful than previous or competing systems

  • Usability – making usage an exciting experience

<p>Where we should innovate:</p><ul><li><p>Functionality – new exciting features</p></li></ul><ul><li><p>Performance – not just a bit more, but significantly more powerful than previous or competing systems</p></li></ul><ul><li><p>Usability – making usage an exciting experience</p></li></ul><p></p>
65
New cards

What is conflict analysis and what are potential conflicts?

Identifying the underlying reasons of a conflict helps select appropriate resolution techniques

Typical underlying reasons are

  • Subject matter conflict (divergent factual needs)

  • Data conflict (different interpretation of data, inconsistent data)

  • Interest conflict (divergent interests, e.g., cost vs. function)

  • Value conflict (divergent values and preferences)

  • Relationship conflict (emotional problems in personal relationships between stakeholders)

  • Organizational conflict (between stakeholders on different hierarchy and decision power levels in an organization)

66
New cards

What is conflict resolution?

  • Various strategies / techniques

  • Conflicting stakeholders must be involved in resolution

  • Win-win techniques

    • Agreement

    • Compromise

    • Build variants

  • Win-lose techniques

    • Overruling

    • Voting

    • Prioritizing stakeholders (important stakeholders override less important ones)

  • Decision support techniques

    • PMI (Plus-Minus-Interesting) categorization of potential conflict resolution decisions

    • Decision matrix (Matrix with a row per interesting criterion and a column per potential resolution alternative. The cells contain relative weights which can be summarized per column and then compared)

67
New cards

What is a process?

DEFINITION. Process – A set of interrelated activities performed in a given order to process information or materials.

An RE process organizes how to carry out RE tasks, using appropriate practices and producing needed work products

68
New cards

What are the three process facets, from which an RE process can be configured?

  • Time facet: Linear vs. Iterative

  • Purpose facet: Prescriptive vs. Explorative vs. COTS-Driven

  • Target facet: Customer-Specific vs. Market-Oriented

  • Selection criteria indicate how to configure the process in each facet

69
New cards

What is the time facet?

Linear:

Requirements are specified up front in a single phase of the process

Selection criteria:

  • System development process is plan-driven and mostly linear

  • Stakeholders can specify their requirements up front

  • Comprehensive requirements specification required as a contractual basis for outsourcing design and implementation

  • Regulatory authorities require a requirements specification

Iterative:

Requirements are specified incrementally, starting with general goals and then adding or modifying requirements in every iteration

Selection criteria:

  • System development process is iterative and agile

  • Evolving requirements – not known up front

  • Stakeholders are available such that short feedback loops established for mitigating risk

  • Duration of project allows for more than 1-2 iterations

  • Ability to change requirements easily is important

<p><strong>Linear:</strong></p><p>Requirements are specified up front in a single phase of the process</p><p>Selection criteria:</p><ul><li><p>System development process is plan-driven and mostly linear</p></li><li><p>Stakeholders can specify their requirements up front</p></li><li><p>Comprehensive requirements specification required as a contractual basis for outsourcing design and implementation</p></li><li><p>Regulatory authorities require a requirements specification</p></li></ul><p><strong>Iterative:</strong></p><p>Requirements are specified incrementally, starting with general goals and then adding or modifying requirements in every iteration</p><p>Selection criteria:</p><ul><li><p>System development process is iterative and agile</p></li><li><p>Evolving requirements – not known up front</p></li><li><p>Stakeholders are available such that short feedback loops established for mitigating risk</p></li><li><p>Duration of project allows for more than 1-2 iterations</p></li><li><p>Ability to change requirements easily is important</p></li></ul><p></p>
70
New cards

What is the purpose facet?

Prescriptive:

Requirements specification is a contract: All requirements are binding and must be implemented

Selection criteria:

  • Customer requires fixed-price contract

  • Functionality determines cost and deadlines

  • Design and implementation tendered or outsourced

Explorative:

Only goals known, concrete requirements have to be explored

Selection criteria:

  • Stakeholders only have a vague idea about their requirements

  • Stakeholders strongly involved, provide continuous feedback

  • Deadlines and cost take precedence over functionality

  • Customer is satisfied with a framework contract

  • Not a priori clear which requirements actually shall be implemented and in which order à Prioritization needed

COTS-Driven:

Requirements must reflect functionality of chosen COTS solution

Selection Criteria:

  • System will be implemented with COTS software

  • Only requirements not covered by the COTS solution shall be specified

71
New cards

What is Commercial of the Shelf (COTS)?

A system or component that is not developed, but bought as a standard product from an external supplier.

72
New cards

What is the target facet?

Customer-Specific:

System is ordered by a customer and developed by a supplier for this customer

Selection criteria:

  • The system will be mainly used by the organization that has ordered the system and pays for its development.

  • The important stakeholders are mainly associated with the customer’s organization.

  • Individual persons can be identified for the stakeholder roles.

  • The customer wants a requirements specification that can serve as a contract.

Market-Oriented:

System is developed as a product or service for a market

Selection criteria:

  • Developing organization (or one of its clients) intends to sell the system as a product or service in some market segment

  • Prospective users not individually identifiable

  • Requirements engineers have to design the requirements so that they match the envisaged needs of the targeted users

  • Product owners, marketing people, digital designers and system architects are primary stakeholders

73
New cards

What are typical facet combinations?

  • Linear and prescriptive are frequently chosen together

  • Explorative processes are typically also iterative

  • Market-Oriented does not combine well with Linear and Prescriptive

74
New cards

What are typical process configurations?

knowt flashcard image
75
New cards

What if none of the typical process configurations fits?

  • Try to tailor the configuration with the closest fit

  • Get help from an RE process expert for building a process from scratch

76
New cards

What are disadvantages when expressing requirements with natural language?

Natural language can be

  • Ambiguous

  • Imprecise

  • Error-prone

Careful writing and reading is needed

77
New cards

What are some rules for specifying in natural language?

  • Use active voice and defined subjects

  • Build phrases with complete verbal structure

  • Use terms as defined in the glossary

  • Define precise meanings for auxiliary verbs (shall, should, must, may,...) as well as for process verbs (for example, “produce”, “generate”, “create”)

  • Check for nouns with unspecific semantics (“the data”, “the customer”, “the display”,...) and replace where appropriate

  • When using adjectives in comparative form, specify a reference point: “better” ➜ “better than”

  • Scrutinize all-quantifications: “every”, “always”, “never”, etc. seldom hold without any exceptions

  • Scrutinize nominalizations (“authentication”, “termination”...): they may conceal incomplete process specifications

  • State every requirement in a main clause. Use subordinate clauses only for making the requirement more precise

  • Attach a unique identifier to every requirement

  • Structure natural language requirements by ordering them in sections and sub-sections

  • Avoid redundancy where possible

78
New cards

Provide an example of a typical phrase template and a requirement using that template.

knowt flashcard image
79
New cards

What is EARS?

knowt flashcard image
80
New cards

What are user stories?

knowt flashcard image
81
New cards

What are form templates?

knowt flashcard image
82
New cards

What are the motivations for modeling requirements?

  • Gain an overview of a set of requirements

  • Understand relationships and inter- connections between requirements

  • Focus on some aspect of a system, abstracting from the rest

83
New cards

What is a model?

DEFINITION. Model – an abstract representation of an existing part of reality or a part of reality to be created.

  • Requirements models are problem-oriented models of the system to be built

  • Architecture and design information is omitted

84
New cards

What can requirements models be used for?

  • Specifying requirements (as a means of replacing textually represented requirements)

  • Paraphrasing textually represented requirements to improve understanding of complex structures and dependencies

  • Testing textually represented requirements to uncover omissions, ambiguities and inconsistencies

  • Decomposing a complex reality into comprehensible parts

85
New cards

Which aspects can be modeled?

knowt flashcard image
86
New cards

What are static system models and static domain models?

  • Static system models: Information that a system needs to know and store persistently

  • Static domain models: The (business) objects and their relationships in a domain of interest

87
New cards

What is data modeling with entity-relationship models?

knowt flashcard image
88
New cards

What is object and class modeling?

  • Identify those entities in the domain that the system has to store and process

  • Map this information to objects/classes, attributes, relationships and operations

  • Represent requirements in a static structural model

  • Modeling individual objects does not work: too specific or unknown at time of specification

    • Classify objects of the same kind to classes: Class models

    • or select an abstract representative: Object models

89
New cards

What is an example of a class model?

knowt flashcard image
90
New cards

What is an example of an object model?

knowt flashcard image
91
New cards

What is ADORA?

knowt flashcard image
92
New cards

What is activity modeling, using UML activity diagrams?

knowt flashcard image
93
New cards

What are data and information flow models?

knowt flashcard image
94
New cards

What is process and workflow modeling and what are the typical languages used for it?

  • Elements

    • Process steps / work steps

    • Events influencing the flow

    • Control flow

    • Maybe data / information access and responsibilities

  • Typical languages

    • UML activity diagrams

    • BPMN

    • Event-driven process chains

95
New cards

What is BPMN?

knowt flashcard image
96
New cards

What are Event-Driven Process Chains (EPC)?

knowt flashcard image
97
New cards

What is a UML activity diagram?

knowt flashcard image
98
New cards

What are domain story models?

knowt flashcard image
99
New cards

What is state and behaviour modeling and how can we achieve that?

knowt flashcard image
100
New cards

What are statecharts?

knowt flashcard image