--- title: "requirements" tags: - info201 --- > “…descriptions of how the system should behave, application domain information, constraints on the system’s operation, or specifications of a system property or attribute.” - Kotonya and Sommerville, 2001, p. 6 > “…a statement of need, something that some class of user or other stakeholder wants.” - Alexander and Stevens, 2002, p. 8 Requirements are something an information system should do, or some constraint it should adhere to # 1 Requirements engineering > “…to cover all of the activities involved in discovering, documenting, and maintaining a set of requirements for a computer-based system.” - Kotonya and Sommerville, 2001, p. 8 Requirements engineering is a robust methodology for the development of requirements. It is made up of three key concepts. ## 1.1 Discovery This is where you identify all the requirments of the system. [requirements-elicitation](notes/requirements-elicitation.md) is done here. Many techniques such as [interviewing](notes/interviewing.md), [participant-observation](notes/participant-observation.md), [prototyping](notes/prototyping.md), and more are used here. ## 1.2 Documenting This is where the requirements are specified and refined, and models are created. All the requirements are compiled into a [requirements document](notes/requirements-document) ## 1.3 Maintenance This occurs throughout development and is primarly focuses on manageing changes in the environment of the system