Chapter 9 - Requirements Engineering Flashcards

1
Q

Requirements engineering is a cyclical process involving four types of activities

A

elicitation, specification, validation/verification, and negotiation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define: requirement

A

a condition or capability needed by a user to solve a problem or achieve an objective

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define: requirements specification

A

the mutual understanding of the problem to be solved between the analyst and the client

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In the design phase

A

the architecture of the system is devised in terms of system components and interfaces between those components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define: Requirements elicitation

A

understanding the problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define: Requirements specification

A

describing the problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define: Requirements validation/verification

A

agreeing upon the nature of the problem: making sure the correct requirements are state(validation) and that those requirements are stated correctly(verification)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define: explicit conceptual model

A

contains all relevant information from the universe of discourse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define: implicit conceptual model

A

shared background knowledge of people in the universe of discourse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define: requirements negotiation

A

agreeing upon the bounds of the problem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define: domain

A

the general field of business/tech in which the clients will use the software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define: domain expert

A

someone with deep knowledge of the domain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Benefits of performing domain analysis?

A

faster development, better system, anticipation of extensions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A problem can be expressed as

A

a difficulty customer/users are facing an opportunity that will result in benefit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define: functional requirements

A

what the system should do

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define: quality requirements

A

(verifiable) constraints on the design to meet specified levels of quality

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Define: platform requirements

A

constraints on the environment and tech of the system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Define: process requirements

A

constraints on the project plan and development methods

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Define: universe of discourse

A

part of reality we are interested in modeling

20
Q

Two types of problems faced in conceptual modeling

A

analysis problems - difficulties codifying negotiation problems - people counteracting process

21
Q

Define: paradigm

A

set of assumptions about a topic, 2 types: -epistemological(how knowledge is learned) -ontological(how the world is)

22
Q

Dimension of epistemological(how knowledge is learned) assumptions

A

objective-science & models used to derive universal truth subjective-

23
Q

Dimension of ontological(how the world is) knowledge

A

order - order, stability, integration, and consensus

disorder - change, cnoflich, and disintegration

24
Q

What are the four archetypical approaches to requirements engineering?

A

functional

social-relativism

radical-structuralism

neohumanism

25
Define: functional approach to requirements engineering
(epistemologically objective, ontologically order-oriented) the analyst is the expert who empirically seeks the truth
26
Define: social-relativism approach to requirements engineering
(epistemologically subjective, ontologically order-oriented) the analyst is the change agent. requirements engineering is a learning process guided by the analyst
27
Define: radical-structuralism approach to requirements engineering
(epistomologically objective, ontologically conflict-oriented) there is a struggle between classes; the analyst chooses for either party
28
Define: neohumanism approach to requirements engineering
(epistomologically subjective, ontologically conflict-oriented) the analyst is a kind of social therapist, bringing parties together
29
Elicitation techniques
Asking Observing others; - Business Process Redesign - prototyping - domain analysis
30
You should generally vacuum a rug in
two directions rather than one; likewise, you should use multiple requirements elicitation techniques. (pg. 217)
31
Methods for 'asking' users to elicit requirements
Interviews - specific details Brainstorming -appoint moderator
32
Forms of 'observing' for eliciting requirements
Task analysis Scenario-based analysis Form analysis
33
Define: task analysis
process of analyzing how people perform their jobs; the things they do, the things they act on, and the things they need to know
34
Define: scenario-based analysis
projects concrete description of activity, sufficiently detailed to infer/reason about more user-oriented view perspective on design and development of system
35
Define: form analysis
analyzing forms used for info on data object, properties, and their interrelations
36
Define: use case analysis
Determine actors Determine tasks each actor will do in system
37
Define: use case
a typical sequence of actions a user performs to complete a given task
38
Define: use case model
A set of use cases and an optional description/diagram indicating how they are related
39
A use case should
- Cover full sequence of steps - Describe user's interaction - Be independent from UI - Only indicate actions between actor/computer
40
Define: scenario
a specific instance of a use case(specific actor, specific time, specific data)
41
Benefits of use cases
- define *scope* of system - *plan* dev process - develop/validate requirements - form basis for test cases
42
Define: requirements definition
an informal outline of requirements in few paragraphs/simple diagrams
43
Define: MoSCoW model
Must have - top priority Should haves - highly desirable Could haves - if time allows Won't haves - not today
44
What is IEEE Standard 830
IEEE Recommended Practice for Software Requirements Specifications
45
Define: requirements traceability