The requirements engineering work focuses on gathering information from members of a client organization in order to produce a single coherent statement of the requirements for a software system that the client desires. The unifying goal of this work consists in developing methods and environments of tools that help in the production of these requirements.

Requirements Elicitation is the process of gathering information about the system to be built from whatever source it is available, including the client, the users, watching the organization at work, interviews, video tapes, organizational policy documents, requests for proposals, etc.

Requirements Analysis is the process of refining all the elicited information into specifications by deriving what is possible from the information and validating with the client and users.