Requirements Specification Flashcards

1
Q

Characteristics of

Good Requirements

A

Good Requirements are SMART:

  • Specific
  • Measurable
  • Achievable
  • Relevant
  • Traceable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Document:

Software Requirement Specification (SRS)

Basic Description

A

The product of the Requirements Engineering process.

Specifies:

  • Services the customer requires
  • Constraints under which the system operates and is developed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Types of Requirements

A

Focus

  • User Requirements
  • System Requirements

Functionality

  • Functional Requirements
  • Non-functional Requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

User Requirements

Summary

A

Requirements written for customers

Statements are written in natural language, concepts illustrated with simple diagrams

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

System Requirements

Summary

A

Written for the development team.

  • Structured document, contains detailed descriptions of system functions, services and operational constraints
  • Defines what should be implemented
  • May be a part of the contract
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Functional Requirements

Summary

A

Includes:

  • Statements of services the system should provide
  • How the system should react to particular inputs
  • How the system should behave in particular situations
  • May state what the system should NOT do
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Non-Functional Requirements

Summary

A
  • May be difficult to state precisely
  • Define system properties, constraints on services or functioning, such as
    • timing constraints
    • standards
    • storage requirements
  • May specify development process:
    • Process Model/Method
    • IDE
    • Language
  • Often apply to the system as a whole rather than individual features or services
  • May be more critical than functional requirements
  • Should be verifiable, testable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Who typically reads User Requirements?

A
  • Client Managers
  • System End Users
  • Client Engineers
  • Contractor Managers
  • System Architects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Who typically reads

System Requirements?

A
  • System End Users
  • Client Engineers
  • System Architects
  • Software Developers
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Completeness and Consistency

of Requirements Specification

A

The Requirement Specification should be:

  • Complete
    • Include descriptions of all facilities required
  • Consistent
    • There should be no conflicts or contradictions in the descriptions of system facilities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Refactoring:

Definition

A

The process of restructuring existing computer code without changing its external behavior.

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

Refactoring:

Guidelines

A
  • Perform only one change at a time
  • Changes should not add new stuff
  • Changes should not break auto-tests
  • Only perform a small set of changes as needed, going through them one at a time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Requirements Engineering:

Description

A

A process that covers all the activities involved in

Discovering, Documenting and Maintaining a set of Requirements.

The process should use systematic and repeatible techniques to ensure the quality of the software requirements.

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

Requirements Engineering:

Common Activities

A

Requirements Elicitation

Requirements Analysis

Requirements Validation

Requirements Management

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

Non-Functional Requirements:

Making them verifiable

A

Nonfunctional requirements may be very difficult to state precisely.

Imprecise requirements may be difficult to verify.

A Verifiable Nonfunctional Requirement should state some specific measure that can be objectively tested

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

Non-Functional Requirements:

Possible Metrics

A
  • Speed
  • Size
  • Ease of Use
  • Reliability
  • Robustness
  • Portability
17
Q

Writing Requirements:

Guidelines (4)

A
  • Adopt or invent a standard format, use for all requirements
  • Use language in a consistent way
    • “Shall” for manditory requirements
    • “Should” for desirable requirements
  • Use text highlighting to identify key parts of requirement
  • Include an explanation of why a requirement is necessary
18
Q

Writing Requirements:

Two Approaches to structuring

A

Tabular Specification

Structured Specification

19
Q

Writing Requirements:

Tabular Specification

A
  • Used to supplement natural language
  • Useful when defining multiple alternative courses of action
  • Different scenarios and settings
20
Q

Writing Requirements:

Structured Specification

A
  • An approach to writing SRS where requirements are written in a standard way
  • The requirements writer must conform to this standard
  • Works well for some types of requirements, such as embedded control systems
  • Sometimes too rigid for business system requirements
21
Q

Who typically reads the

Software Requirements Specification (SRS)?

A
  • System Customers
  • Managers
  • System Engineers
  • System Test Engineers
  • System Maintenance Engineers