Lecture "Introduction to software engineering - Week 4: Requirement engineering" has contents: Functional and non - functional requirements, requirements engineering processes, requirementselicitationand analysis,. and other contents. | Lecture Introduction to software engineering: Week 4 - Nguyễn Thị Minh Tuyền Week 4: Requirement Engineering Nguyễn Thị Minh Tuyền Adapted from slides of Ian Sommerville Requirements Engineering £ What is it? £ Who does it? £ Why is it important? £ What are the steps? £ What is the work product? £ How do I ensure that I’ve done it right? 2 Topics covered 1. Functional and non-functional requirements 2. Requirements engineering processes 3. Requirements elicitation and analysis 4. Requirements specification 5. Requirements validation 6. Requirements management 3 Requirements engineering £ The process of establishing the services that a customer requires from a system and the constraints under which it operates and is developed. £ The system requirements are the descriptions of the system services and constraints that are generated during the requirements engineering process. 4 What is a requirement? £ It may range from p a high-level abstract statement of a service or of a system constraint, to p a detailed mathematical functional specification. £ Requirements may serve a dual function p May be the basis for a bid for a contract - therefore must be open to interpretation; p May be the basis for the contract itself - therefore must be defined in detail; p Both these statements may be called requirements. 5 Requirements abstraction (Davis) “If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The requirements must be written so that several contractors can bid for the contract, offering, .