Week 3 Flashcards

1
Q

Release cycle for user stories in XP?

A
  • Select user stories for this release
  • Break down stories to tasks
  • Plan release
  • Evaluate system
  • Release software
  • Develop/integrate/test software

(Repeat- cyclic)

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

What is refactoring?

A

XP proposes constant code improvement to make changes easier when they have to be implemented.

Refactoring: improving structure without changing external behaviour.

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

Bad smells?

A

Poor or misguided programming.
E.g. code duplication, long methods, large classes, complex conditionals, long parameter list, etc…

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

Black box vs white box testing?

A

Black-box testing: tester examines the software without having access to the internal code or implementation details.

White-box testing: tester has access to internal code.

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

What is a requirement?

A

High-level abstract statement of a service or a system constrained to a detailed mathematical functional specification.

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

Requirements engineering?

A

The process of establishing the service as that a customer requires from a system and the constraints under which it operates and is developed.

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

User requirements?

A

Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.

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

System requirements?

A

A structured document setting out detailed descriptions of the system’s functions, services and operational constraints.

Defines what should be implemented so may be part of a contract between client and contractor.

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

System stakeholders?

A

Any person or org affected by the system in some way and so who has a legitimate interest.

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

Stakeholder types?

A
  • End users
  • System managers
  • System owners
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Requirements engineering process?

A

Requirements elicitation
Requirements analysis
Requirements validation
Requirements management

RE is an iterative activity where these processes are interleaved.

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

Challenges in RE?

A

Getting the requirements correct:
- Becomes exponentially expensive to correct mistakes later on. Easier to fix problems in requirement specification.

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

Requirements completeness and consistency?

A

Requirements should be both complete and consistent.

Completeness: they should include descriptions of all facilities required.

Consistency: there should be no conflicts or contradictions in the descriptions of the system facilities.

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

Domain requirements?

A

Constraints on the system from the domain of operation.
E.g. database, user interface, distributed system.

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

Functional requirements?

A

Describes functionality or system services.

Functional user requirements may be high-level statements.
Functional system requirements should describe the system services in detail.

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

Non-functional requirements?

A

These define system properties and constraints.
E.g. reliability, response time and storage requirements.

May affect the overall architecture of a system rather than the individual components.

17
Q

Non-functional classifications

A

Product requirements
- requirements which specify that the delivered product must behave in a particular way (e.g. speed, reliability).

Organisational requirements
- requirements which are a consequence of organisational policies and procedures (e.g. process standards used, implementation requirements).

External requirements
- requirements which arise from factors which are external to the system and its development process (interoperability, legislation).

18
Q

Requirements elicitation?

A

Software engineers work stakeholders to find out:
- About the application domain,
- The services that the system should provide,
- The performance of the system,
- Hardware constrains,
- etc…

  1. Requirements discovery (gathering)
  2. Requirements classification and organisation
  3. Requirements prioritisation and negotiation
  4. Requirements specification
    (Repeats- cyclic)
19
Q

Problems of requirements elicitation?

A

Stakeholders don’t know what they really want.

Different stakeholders may have conflicting requirements.

Organisational and political factors may influence the system requirements.

The requirements change during the analysis process.

20
Q

Requirements gathering technique: Individual interviews?

A

Formal or informal interviews with stakeholders are part of most RE processes.

Closed-ended question: based on pre-determined list.
Open-ended question: various issues are explored with stakeholders.

Benefits:
- Privacy
- Possibility to obtain in-depth stakeholder views

Cons:
- Time consuming
- Not good for understanding domain requirements

21
Q

Requirements gathering technique: Focus groups?

A

Aka group discussions / interviews

Facilitated by a moderator
Getting people to think about, discuss an issue or set of issues.

Benefits:
- uncover richer set of requirements in shorter periods
- natural peer interactions

Cons:
- dominant speakers
- peer pressure
- success depends on the moderator skills

22
Q

Requirements gathering techniques: Scenarios?

A

People usually find it easier to relate to real-life examples.

REs can use information gained from this discussion to formulate the actual system requirements.

23
Q

Requirements gathering techniques: Ethnographic studies?

A

Observational study:
- to understand the people behaviours and their cultures.
- requirements that are derived from the way that people actually work rather than the way which process definitions suggest that they ought to work,

Effective for understanding existing processes.

24
Q

Guidelines for writing requirements?

A
  • Invent a standard format and use it for all requirements and be consistent.
  • Use text highlighting to identify key parts.
  • Avoid use of jargon.
  • Include an explanation of why a requirement is necessary.
25
Q

Problems with using natural language for requirements specification?

A

Lack of clarity

Requirements confusion (functional and non-functional tend to be mixed up)

Requirements amalgamation (several different requirements may be expressed together)

26
Q

Requirements vs design?

A

Requirements should state what the system should do;
Design should describe how it does this.

These are inseparable.