Principles and Motivations: History; definitions; why engineered approach to software development; Software development process models from the points of view of technical development and project management: waterfall, rapid prototyping, incremental development, spiral models, Agile Software Development, Emphasis on computer-assisted environments. Selection of appropriate development process.

Software Development Methods: Formal, semi-formal and informal methods; Requirements elicitation, requirements specification; Data, function, and event-based modeling; Some of the popular methodologies such as Yourdons SAD, SSADM etc; CASE tools-classification, features, strengths and weaknesses; ICASE; CASE standards.

Software Project Management: Principles of software projects management; Organizational and team structure; Project planning; Project initiation and Project termination; Technical, quality, and management plans; Project control; Cost estimation methods: Function points and COCOMO.

Software Quality Management: Quality control, quality assurance and quality standards with emphasis on ISO 9000; Functions of software QA organization does in a project; interactions with developers; Quality plans, quality assurance towards quality improvement; Role of independent verification & validation; Total quality management; SEI maturity model; Software metrics.

Configuration Management: Need for configuration management; Configuration management functions and activities; Configuration management techniques; Examples and case studies.


Software Testing Fundamentals: Basic Terminology, Testing Techniques and strategies.

Brief introduction to various standards related to Software Engineering.


Recommended Books

  1. Pressman, Roger, Software Engineering - A Practitioners Approach, McGraw Hill (2008) 6th ed.
  2. Sommerville, Ian, Software Engineering, Addison-Wesley Publishing Company, (2006) 8th ed.
  3. Peter, James F., Software Engineering - An Engineering Approach, John Wiley (2004).
  4. Jalote, Pankaj, An integrated Approach to Software Engineering, Narosa (2005).