Week 3 - Requirements Flashcards

(16 cards)

1
Q

Requirement

A

A statement about what the system should do and characteristics the system should have.

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

Importance of requirements

A

Important in analysis and design stage of system development lifecycle.
Guide development of the system in the right direction.
Incomplete requirements was the most common reason for project failure (E. Hull, K. Jackson and Jeremy Dick (2011) Requirements Engineering, Springer).

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

Good requirements

A

A good requirement is clear, can be expressed in natural language and is measurable/testable.
Should be complete (include descriptions of all requirements) and consistent (no conflicts or contradictions) although this can be hard in practice.

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

Reasons for incomplete requirements

A

Can be difficult to anticipate everything for large problems.
Different users have different requirements/priorities leading to a compromise being made.
Wicked problems.

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

Wicked problems

A

Problems which are very complex and challenging to understand.
Leads to requirements often being incomplete and inconsistent.

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

Types of requirements

A
  • Business requirements (overall goals of the project)
  • User requirements (defined by the user)
  • Functional requirements (what software should do)
  • Non-functional requirements (characteristics the system should have)
  • System requirements (how the system should be built)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Functional vs non-functional requirements

A

Functional requirements are what the system must do and how the system will be implemented.
Non-functional requirements are the qualities or characteristics that the system must have and the way the functionality operates.
Both are equally as important.

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

Categorising non-functional requirements

A

Quality requirements: maintainability, reliability, performance, usability of the system.
Process requirements: how the software development process is going to be carried out.

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

Requirements engineering

A

Establishing user requirements - designing the right thing.
Getting things right from the start, rather than fixing things later.

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

Stages of requirement engineering

A

Requirement elicitation (gathering).
Requirement analysis.
Requirement documentation.
Requirement verification and validation.

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

Requirement elicitation (gathering)

A

Understanding users’ needs, constraints and any processes that need to be followed.
Understanding problem to be solved, organisation needs and specific features/functionality required by stakeholders.
Understand users attitudes (what people think), emotions (how people feel), values (what is considered important) and behaviours (what people do)

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

Methods for requirement elicitation (gathering)

A
  • Questionnaires: asking people for their responses to questions.
    + Scalable, quantitative, insight to attitudes.
    − little insight into “why”, less useful for exploratory/open-ended situations, less insight into emotions and behaviours.
  • Interviews: semi-structured one on one questions.
    + Flexible, in-depth, insight into reasons for attitudes.
    − Time consuming, not scalable, social behaviour factor (answer they think you want rather than real answer).
  • Observations: observing what people do e.g., how people use a current system before it is updated.
    + Insight into behaviours, contextual insights (seeing activity where it would actually happen).
    − Time consuming, not easy - needs practice, challenging in non-work settings, people may not behave naturally when observed.
  • Think aloud technique: users talk through what they are doing as they are doing it.
    + insight into reasons behind actions, can provide more information than just watching someone.
    − Cognitively demanding for participants, not all processes have rationale, narrating can make processes less natural.
  • Focus groups/workshops: similar to interviews but with more people.
    + insights from multiple people at once, insight into group norms, generate rich discussion/ debates.
    − Social desirability factor (people go for common opinion rather than their own), difficult to manage/ facilitate.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Requirements analysis

A

Checking over gathered requirements, check for any conflicts/contradictions. Check for missing requirements.

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

Requirements documentation

A

Must express and document requirements in a structured way.
Must be understandable to users.
Usually are numbered/ranked by importance.
Usually categorised into functional and non-functional.
Often accompanied by use cases, process models and data models.

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

Requirement verification and validation

A

Checking requirements with users and stakeholders and detecting any differences in understanding and interpretation before the requirements are used to develop the system.
Verifying: is this correct? Are we building the system right?
Validating: is that what the users want? Are we building the right system?

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

Requirements challenges

A

Can be hard to find what users really want - users don’t know/ struggle to articulate it, users do not understand technical constraints, difficulties in communication between users and designers (background, knowledge, vocab, goals).
Conflicts in stakeholder needs.