Requirements Flashcards
List the 3 sources of software unreliability
- Failure in design and development
- failing to meet requirements
- inadequate specification - Failure during operation
- bugs - Failure in maintenance
- platform upgrade incompatibilities
- poor documentation
Define user requirements and give an example
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.
Define system requirements and give an example
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
Define software specifications and give an example
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
Define SRS
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.
What are some common problems in the requirements phase?
- 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
List the four steps of the Requirements Engineering Process
- Feasibility Study
- Requirement Gathering
- Software Requirement Specification
- Software Requirement Validation
Describe the process of the feasibility study
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
Describe the process of requirement gathering
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.
Describe the process of software requirement specification (SRS)
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.
Describe the process of software requirement validation
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
Why can agile methodologies lead to issues with requirements?
Agile methods argue that producing detailed system requirements is a waste of time - therefore the requirements document is almost always out of date.
Define ‘functional requirement’
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)
Define ‘non functional requirement’
Specifies how the system should perform certain functions
Explain the difference between a “goal” and a “requirement”
A goal is a general intention of the user while a requirement is a statement that can be measured and objectively tested