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