Course Code: CS441M Course Name: Software Engineering Syllabus: Introduction: software engineering principles, life cycle; Requirement specification: styles, operational and descriptive; Design: a brief concept on objects, data abstraction, inheritance, polymorphism, data encapsulation, software design using functional and object oriented approaches, architectural, component-level and user interface design; Brief introduction on database system (specially SQL, MySQL); Verification: testing, validation; Software reuse: design patterns; Software management; Software Modelling: UML Texts: 1. R S Pressman, Software Engineering: A Practitioner's Approach, 7/e, McGraw-Hill, 2010. 2. I Sommerville, Software Engineering, 5/e, Addison-Wesley, 2000. References: 1. T C Lethbridge and Robert Laganière, Object Oriented Software Engineering, Tata McGraw-Hill,2004. 2. Jacobson Ivar, Magnus Christerson, Patrik Jonsson and Gunnar Overgaard, Object Oriented Software Engineering, Addison Wesley, 1992. 3. Jacobson Ivar, Grady Booch and James Rumbaugh, Unified Software Development Process, Addison Wesley, 1999. 4. S Bennett, S McRobb and R Farmer, Object Oriented Systems Analysis and Design Using UML, 2/e, Tata McGraw-Hill, 2004. 5. E Gamma, R Helm, R Johnson and J M Vlissides, Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley, 1994. |