There are two types of requirements: user requirements and system requirements User requirements are statements, in a natural language plus diagrams, of what services the system is expected to provide and the constraints under which it must operate (Sommerville, 2011). System requirements set out the system’s functions, services and operational constraints in detail. It should define exactly what is to be implements. It may be part of the contract between the system buyer and the software developers (Sommerville, 2011).