1) a condition or capability needed by a user to solve a problem or
achieve an objective
2) a condition or capability that must be met or possessed by a (Web)
software product or component to satisfy a contract, standard, specification,
or other formally imposed documents
3) a documented representation of a condition or capability as in (1)
or (2).
from IEEE Standard Glossary of Software Engineering Terminology