Lecture "Software engineering - Lecture 3: Requirements engineering" has contents: To introduce the concepts of user and system requirements; to describe functional and non-functional requirements; to explain how software requirements may be organised in a requirements document. | SOFTWARE ENGINEERING Lecture 3 Requirements Engineering MBA Course Notes Dr. ANH DAO NAM 1 Software Engineering Slides are from Ian Sommerville, modified by Anh Dao Nam Textbooks: Bruegge & Dutoit: Object-Oriented Software Engineering: Using UML, Patterns and Java, Third Edition, Prentice Hall, 2010. Miles & Hamilton: Learning UML , O’Reilly Media, 2006. Some interesting books for the advanced material include: R. Pressman, Software Engineering - A Practitioner's Approach, 6th ed., 2005 C. Ghezzi, M. Jazayeri, and D. Mandriolo, Fundamentals of Software Engineering. Prentice Hall, second ed., 2002 A. Endres and D. Rombach, A Handbook of Software and Systems Engineering. The Fraunhofer IESE Series on Software Engineering, Pearson Education Ltd., 2003. S. Robertson and J. C. Robertson, Mastering the Requirements Process. Addison-Wesley Professional, second ed., 2006. I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process. Addison-Wesley Professional, 1999. K. Beck and C. Andres, Extreme Programming Explained. Addison-Wesley, 2004. 2 Objectives To introduce the concepts of user and system requirements To describe functional and nonfunctional requirements To explain how software requirements may be organised in a requirements document Topics covered Functional and non-functional requirements User requirements System requirements Interface specification The software requirements document 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 .