Course Code: CS345
Course Name: Software Engineering
Prerequisites: NIL
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 andobject 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 Modeling: UML.
Texts: 1. R. S. Pressman, Software Engineering: A Practitioner's Approach, 7/e, McGraw-Hill, 2010.
2. R. Ramakrishnan and J. Gehrke, Database Management Systems, 3/e, McGraw Hill, 2003
References: 1. I. Sommerville, Software Engineering, 5/e, Addison-Wesley, 2000.
2. T. C. Lethbridge and Robert Laganire, Object Oriented Software Engineering, Tata McGraw Hill, 2004.
3. Jacobson Ivar, Magnus Christerson, Patrik Jonsson and Gunnar Overgaard, Object Oriented Software Engineering, Addison Wesley, 1992.
4. Jacobson Ivar, Grady Booch and James Rumbaugh, Unified Software Development Process, Addison Wesley, 1999.
5. S. Bennett, S McRobb and R Farmer, Object Oriented Systems Analysis and Design Using UML, 2/e, Tata McGraw-Hill, 2004.
6. E. Gamma, R Helm, R Johnson and J M Vlissides, Design Patterns: Elements of Reusable Object Oriented Software, Addison Wesley, 1994.
7. J. Greenspan and B. Bulger, MySQL/PHP Database Applications, M&T Books, 2008.