Chapter 4: Requirements Elicitation:This activity happens to be the most important pertaining to software engineering. If the application is very small and simple (example, writing a small program for a school assignment) one may not go into a lot of details because such projects are simple and may not require many different inputs and operations. However, developing large applications for clients do require detail study into the use of the application and the users who would be using the system as well as where the system will be installed (the hardware – platform - for operation).Thus requirement elicitation is about communication between the users (including the clients) and the developers. This communication enable the developers to understand the users environment as well as knowing exactly what the users need and want. Failure to communicate may lead to a faulty system that may not have all of the functionalities required by the users. Also such failures can be costly to correct.So requirements elicitation focuses on describing the purpose of the system. The focus is mainly on the users view of the system. Requirement elicitation thus involves the following:1.Identifying actors: Developer identifies the different types of users the future system will support.2.Identifying scenarios: Developers observe users so as to develop detail scenarios of different functionalities of the system.3.Identifying use cases: Developers derive from the scenarios the use cases. 4.Refining use cases: Developers ensure that the system specification is complete by detailing each use case.5.Identifying relationships between use cases: Developers consolidate the use case by eliminating any redundancies.