https://en.wikipedia.org/wiki/Requirement
In product development and process optimization, a requirement is a singular documented physical and functional need that a particular design, product or process must be able to perform.
A requirement specification (often imprecisely referred to as the spec, because there are different sorts of specifications) refers to an explicit set of requirements to be satisfied by a material, design, product, or service.[1]
the system requirements are incrementally developed in parallel with design and implementation.
Requirements can be said to relate to two fields:
Product requirements prescribe properties of a system or product.
Process requirements prescribe activities to be performed by the developing organization. For instance, process requirements could specify the methodologies that must be followed, and constraints that the organization must obey.
Product and process requirements are closely linked; a product requirement could be said to specify the automation required to support a process requirement while a process requirement could be said to specify the activities required to support a product requirement. For example, a maximum development cost requirement (a process requirement) may be imposed to help achieve a maximum sales price requirement (a product requirement); a requirement that the product be maintainable (a product requirement) often is addressed by imposing requirements to follow particular development styles (e.g., object-oriented programming), style-guides, or a review/inspection process (process requirements).
High-level statements of the goals, objectives, or needs of an organization. They usually describe opportunities that an organization wants to realise or problems that they want to solve. Often stated in a business case.
User (stakeholder) requirements
Mid-level statements of the needs of a particular stakeholder or group of stakeholders. They usually describe how someone wants to interact with the intended solution. Often acting as a mid-point between the high-level business requirements and more detailed solution requirements.
Functional (solution) requirements
Usually detailed statements of capabilities, behaviour, and information that the solution will need. Examples include formatting text, calculating a number, modulating a signal. They are also known as capabilities.
Quality-of-service (non-functional) requirements
Usually detailed statements of the conditions under which the solution must remain effective, qualities that the solution must have, or constraints within which it must operate.[6] Examples include: reliability, testability, maintainability, availability. They are also known as characteristics, constraints or the ilities.
Implementation (transition) requirements
Usually detailed statements of capabilities or behaviour required only to enable transition from the current state of the enterprise to the desired future state, but that will thereafter no longer be required. Examples include: recruitment, role changes, education, migration of data from one system to another.
There are several competing views of what requirements are and how they should be managed and used. Two leading bodies in the industry are the IEEE and the IIBA. Both of these groups have different but similar definitions of what a requirement is.
The Guide to the Business Analysis Body of Knowledge® version 2 from IIBA defines a requirement as:
A condition or capability needed by a stakeholder to solve a problem or achieve an objective.
A condition or capability that must be met or possessed by a solution or solution component to satisfy a contract, standard, specification, or other formally imposed documents.
A documented representation of a condition or capability as in (1) or (2).[12]
This definition is based on[citation needed] IEEE 610.12-1990: IEEE Standard Glossary of Software Engineering Terminology.[13]