tailieunhanh - Lecture Software engineering (9/e): Chapter 4 - Sommerville

Chapter 4 – Requirements engineering. The objective of this chapter is to introduce software requirements and to discuss the processes involved in discovering and documenting these requirements. When you have read the chapter you will: understand the concepts of user and system requirements and why these requirements should be written in different ways; understand the differences between functional and nonfunctional software requirements; understand how requirements may be organized in a software requirements document;. | Chapter 4 – Requirements Engineering Lecture 1 1 Chapter 4 Requirements engineering Topics covered Functional and non-functional requirements The software requirements document Requirements specification Requirements engineering processes Requirements elicitation and analysis Requirements validation Requirements management 2 Chapter 4 Requirements engineering Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed. The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process. 3 Chapter 4 Requirements engineering What is a requirement? It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. This is inevitable as requirements may serve a dual function May be the basis for a bid for a contract - therefore | Chapter 4 – Requirements Engineering Lecture 1 1 Chapter 4 Requirements engineering Topics covered Functional and non-functional requirements The software requirements document Requirements specification Requirements engineering processes Requirements elicitation and analysis Requirements validation Requirements management 2 Chapter 4 Requirements engineering Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed. The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process. 3 Chapter 4 Requirements engineering What is a requirement? It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. This is inevitable as requirements may serve a dual function May be the basis for a bid for a contract - therefore must be open to interpretation; May be the basis for the contract itself - therefore must be defined in detail; Both these statements may be called requirements. 4 Chapter 4 Requirements engineering 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, perhaps, different ways of meeting the client organization’s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system.” 5 Chapter 4 Requirements engineering Types of requirement User requirements Statements in natural language plus diagrams of the services the system provides and .