Requirements gathering starts with identifying the stakeholders of the system and collecting (i.e., eliciting) raw requirements. Raw requirements are requirements that have not been analysed and have not yet been written down in a well-formed requirement notation. Business requirements, customer requirements, user requirements, constraints, in-house ideas and standards are the different viewpoints to cover. Typically, specifying system requirements starts with observing and interviewing people (Ambler, 1998). This is not a straightforward task, because users may not possess the overview on feasibilities and opportunities for automated support. Furthermore, user requirements are often misunderstood because the requirements collector misinterprets the users’ words. In addition to gathering requirements from users, also standards and constraints (for example, the legacy systems) play an important role in systems development.
Replaced/Superseded by document(s)
This chapter introduces requirements engineering for socio-technical systems. Requirements engineering for socio-technical systems is a complex process that considers product demands from a vast number of viewpoints, roles, responsibilities, and objectives. This chapter explains the requirements engineering terminology and describes requirements engineering process in detail, with examples of available methods for the main process activities. The main activities described include system requirements development, requirements allocation and flow-down, software requirements development and continuous activities, including requirements documentation, requirements validation and verification and requirements management. As requirements engineering is the process with the largest impact on the end-product, it is recommended to invest more effort in both industrial application as well as research to increase understanding and deployment of the concepts presented in this chapter.