Requirements Flashcards

1
Q

List the 3 sources of software unreliability

A
  1. Failure in design and development
    - failing to meet requirements
    - inadequate specification
  2. Failure during operation
    - bugs
  3. Failure in maintenance
    - platform upgrade incompatibilities
    - poor documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define user requirements and give an example

A

Statements in natural language or diagrams of the service. This is written for customers, not developers.
Example: We need to be able to spell check documents.

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

Define system requirements and give an example

A

A structured document setting out detailed descriptions of the system services - this serves as a contract between client and customer
Example: The system needs to be able to spell check documents and provide autocorrect facilities. There will be the support for the following languages: English, French and German

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

Define software specifications and give an example

A

A detailed description which can serve as a basis for a design/implementation. This is written for developers.
Example:
CheckResult function:
- Word is defined in UNICODE string
- spellCheck will use hashing to improve efficiency

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

Define SRS

A

Software Requirements Specification - a description of a software system to be developed - lays out a set of requirements and use cases that the software must provide.

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

What are some common problems in the requirements phase?

A
  • Requirements do not accurately account for the user’s real problems
  • Requirements are not properly prioritized
  • Requirements are stated at an inappropriate level of specification
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

List the four steps of the Requirements Engineering Process

A
  1. Feasibility Study
  2. Requirement Gathering
  3. Software Requirement Specification
  4. Software Requirement Validation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe the process of the feasibility study

A

The analysts do a detailed study about whether the rough idea of the customer is feasible to develop. The output of this phase is a feasibility study that should contain comments/recommendations about whether the project should be undertaken

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

Describe the process of requirement gathering

A

Once the feasibility report is finished, the next phase is gathering requirements from the user. Analysts/engineers communicate with the user and discuss their ideas of what the software should do.

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

Describe the process of software requirement specification (SRS)

A

A document is written after the requirements are collected from various stakeholders. SRS defines how intended software will interact with hardware, external interfaces, speed of operation, etc.
The requirements received from the client are written in natural language.

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

Describe the process of software requirement validation

A

The requirements are validated against some conditions, including
- if they are practical
- if they are valid as per functionality
- if there are any ambiguities
- if they are complete
- if they can be demostrated
- if they are ethical/legal

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

Why can agile methodologies lead to issues with requirements?

A

Agile methods argue that producing detailed system requirements is a waste of time - therefore the requirements document is almost always out of date.

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

Define ‘functional requirement’

A

A requirement that specifies what the system should do
Examples:
- All users will access the system using an ID and password
- Every order shall be allocated using a unique identifier (ORDER_ID)

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

Define ‘non functional requirement’

A

Specifies how the system should perform certain functions

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

Explain the difference between a “goal” and a “requirement”

A

A goal is a general intention of the user while a requirement is a statement that can be measured and objectively tested

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

Describe the process of requirements elicitation

A

SW engineers work with a range of stakeholders to find out about the system requirements

17
Q

List the 4 steps of requirements elicitation

A
  1. Requirements discovery
  2. Requirements classification and organization
  3. Requirements prioritization and negotiation
  4. Requirements specification
18
Q

Describe what happens during requirements discovery

A

Information is gathered about the required and existing systems
This happens between system stakeholders and developers

19
Q

Describe the difference between open and closed interviews

A

Closed interviews are based on pre-determined questions
Open interviews are where various issues are explored with stakeholders

20
Q

What is ethnography in SWE?

A

A social scientist spends time observing how people work in the workplace - people do not explain or articulate their work. Then requirements are derived from these observations and discussed with stakeholders

21
Q

Describe what a ‘scenario’ is in the context of requirements engineering

A

A scenario is a structured form of a user story, with specific details including:
- A description of the starting situation
- A description of the normal flow of events
- A description of what can go wrong
- A description of the state when the scenario is finished

22
Q

Describe what happens during requirements specification

A

Requirements specification is he process of writing system requirements in a requirements document. User requirements have to be understandable by end-users and customers. System requirements are more detailed and more technical for the developers.

23
Q

What are some problems with natural language in the context of requirements engineering?

A

There is often a lack of clarity and precision in natural language that can lead to confusion and unclear requirements if written only in natural language.

24
Q

Define form-based specifications

A

A definition of the function or entity - a description of inputs, where they come from, and where the outputs should go.

25
Q

Define tabular specification

A

Used to supplement natural language wit ha more rigid and precise definition - shows exactly what computations should happen in what functions

26
Q

Define Use Case

A

Use cases identify actors in an interaction and describe the interaction itself. Use cases can be represented with stick diagrams in UML or with words.

27
Q

List the two components of the software requirements document

A
  • A definition of user requirements
  • A specification of the system requirements
28
Q

Describe the requirements validation phase

A

The process of demonstrating the requirements define the system that the customer wants

29
Q

Name some techniques of requirement validation

A
  1. Requirements reviews - systematic analysis
  2. Prototyping - use an executable version of the model to check requirements
  3. Test-case generation
30
Q

Name some checks during requirements validation

A
  1. Verifiability - is the requirement testable?
  2. Comprehensibility - is the requirement properly understood?
  3. Traceability - is the origin of the requirement clearly stated?
  4. Adaptability - can the requirement be changed w/o a large impact on other requirements?
31
Q

Define requirements management

A

The process of managing changing requirements during the requirements engineering process and system development