Software Requirements is a field within Software Engineering that deals with establishing the needs of stakeholders that are to be solved by software. The IEEE Standard Glossary of Software Engineering Technology defines a software requirement as :
# A condition or capability needed by a user to solve a problem or achieve an objective.
# A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
# A documented representation of a condition or capability as in 1 or 2.
Software Requirements can broadly be broken up into Elicitation, Analysis, Specification, and Management.