Software Engineering: Requirements Engineering Flashcards

1
Q

What are the two catogories of requirements?

A

Functional: What system should do (but not HOW, it should be done)

Non-Functional: What propperties system should have

  • usabillity
  • performance
  • scalability
  • reliability
  • complexity
  • testability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Requirements properties

A

Complete
Consitent
Precise
Concise

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

Requirement elicitation process

A
  1. Elicitation
  2. Analysis
  3. Reification
  4. Validation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What information needs to be gathered durng the requirement engineering process?

A

Functional

Non-functional

design constraints: Legal, regulatory, policies

emvironmental constraints: software doesnt run in isolation.

preferences:

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

Validating Requirements

A

Developing concrete tests to validate requirements

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

Elicitation techniques: Elements of a User story

A
  1. Role-Goal-Benefit

As a [role], I want to [goal] so that [benefit]

  1. Limitations

It Needs:

  1. Definition of Done

It will be succesfull when it:

  1. Engineering Tasks

should use:

  1. Effort estimate

It will cost:

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

Elicitation techniques: INVEST framework for determing whether to invest in a feature of a user story.

A
Independent
Negotiable
Valuable
Estimable
Small
Testabillity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Elicitation techniques: Decomposition a user story

A

1 INVEST

  1. Find entities (Nouns)
  2. Link entities (arrows)
  3. Bind Actions (verbs)
  4. Prototype (Classes)
  5. Formalize(class diagram, UML diagrams, flow charts)
  6. Implement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Test Case

A

Evaluates a single explicit behaviour in a program

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