Requirements Flashcards
(66 cards)
What is a software requirement?
A software requirement is a property that must be exhibited by something in order to solve some problem in the real world.
It may be a combination from various people at different levels of an organization, and who are involved in a software feature.
The requirements for a system are the descriptors of what the system should do — the services it provides and the constraints on its operation.
What are the behavioral properties of software requirements?
Requirements must be verifiable as an individual feature as a functional requirement or at the system level as a nonfunctional requirement.
Requirements, testing, and quality personnel must ensure that the requirements can be verified within available resource constraints.
What is Requirements Engineering?
The process of finding out, analyzing, documenting and checking these services and constraints is called Requirements Engineering.
What are the additional attributes of software requirements?
- Priority rating (to enable tradeoffs)
- Status value (to monitor project progress)
- Unique identifier (to subject to software configuration management over the life cycle)
What is a product requirement?
A product requirement is a need or constraint on the software to be developed.
What is a process requirement?
A process requirement is a constraint on the development of the software.
Process requirements may be imposed directly by the development organization, their customer, a third party
What is the connection between software and process requirements?
Software requirements may implicitly generate process requirements.
Where does an organization requirement derive from?
An organizational requirement derive from policies and procedures in the customer’s and developer’s organizations.
Where does an external requirement derive from?
An external requirement derive from factors external to the system and its development process. These include regulatory, legislative, ethical requirements.
What is a functional requirement?
Functional requirements describe the functions that the software is to execute (i.e. capabilities or features). Functional requirement can be described as a finite set of test steps that validate its behavior.
What is a nonfunctional requirement?
Nonfunctional requirements constrain the solution. Also known as constraints or quality requirements. This may include performance, maintainability, safety, reliability, security, interoperability.
What are the key attributes of functional requirements?
Functional specifications should be complete and consistent.
What is completeness of a software requirement?
Completeness means all services required by the user should be defined.
What is consistency of a software requirement?
Consistency means requirements should not have contradictory definitions.
How do nonfunctional requirements affect software?
Nonfunctional requirements may affect the overall architecture of a system rather than the individual components.
A single nonfunctional requirement may generate a number of related functional requirements. It may also generate requirements that restrict existing requirements.
How requirements should be stated?
Requirements should be stated clearly, unambiguously, and, where appropriate, quantitatively.
What is a system?
System is an interacting combination of elements to accomplish a defined objective. These include hardware, software, firmware, people, information, techniques, facilities, services, support elements.
What are system requirements?
System requirement is a requirement for the system as a whole. Requirements for the elements are derived from system requirements.
System requirements are more detailed descriptions of the system’s functions, services, and operational constraints.
What are user requirements?
User requirements are statements, in a natural language plus diagrams, of what services the system is expected to provide to system users and the constraints under which it must operate.
What is the software requirements document?
The software requirements document (sometimes called the software requirements specification or SRS) is an official statement of what the system developers should implement
What should the software requirements specification include?
It should include both the user requirements for a system and a detailed specification of the system requirements.
How to avoid outdated software requirements documents?
Rather than a formal document, approaches such as Extreme Programming collect user requirements incrementally and write these on cards as user stories. The user then prioritizes requirements for implementation in the next increment of the system.
What may the requirements document include?
Information about possible system evolution and on anticipated changes.
What does the detail level of the requirement document depend on?
The level of detail that you should include in a requirements document depends on the type of system that is being developed and the development process used.