This module will help the students in acquiring knowledge about the various software development and design processes.
Introduction to Software Engineering: The Software Crisis, Principles of Software Engineering,Software Process: The Software Lifecycle, Types of Models, System Classifications.
Software Analysis: Requirements Analysis, Functional and Non-functional Requirements Elicitation, Analysis Tools, Requirements Definition, Requirements Specification, Static and Dynamic Specifications, Requirements Review, Flow Based, Data Based and Object Based Analysis.
Project management: Relationship to Lifecycle, Project Size and its categories, Project Planning, Project Teams, Project Control, Project Organization, Risk Management, Configuration Management, Version Control, Metrics.
Software Cost and Time Estimation: Functions Points, Issues in Software Cost Estimation (Introduction to the Rayleigh curve), Cost Models (COCOMO, Putnam-Slim, Watson and Felix), Other Approaches to Software Cost and Size Estimation (S/W Complexity, Cost by Analogy)
Software design: Design for Reuse, Design for Change, Design Notations, Design Evaluation and Validation, Design Concepts and Notations; Process Oriented Design (Gane & Sarson and Yourdon Notations), Data Oriented Design (Warnier-Orr), Object-Oriented Design (Booch Approach), Verification and Validation methods, Documentation and Implementation Procedures, Design Matrices. Role of CASE tools in Software Design.
Testing and Quality Assurance: Programming Standards and Procedures, Modularity, Data Abstraction, Static Analysis, Unit Testing, Integration Testing, Regression Testing, Verification and Validation, Tools for Testing, Fault Tolerance, The Maintenance Problem, The Nature of Maintenance, Planning for Maintenance, Introduction to Quality Assurance.
1. R.S. Pressman, “Software Engineering”: A Practitioner’s Approach, McGraw-Hill.
1. P. Jalote, “An Integrated Approach to Software Engineering” , Narosa Publishing House
2. K.K. Aggarwal and Y. Singh, “Software Engineering”, New Age International Publishers
3. I. Sommerville, “Software Engineering”, Pearson Education
4. Douglas Bell, “Software Engineering for Students”, Addison-Wesley.
5. R. Mall, “Fundamentals of Software Engineering”, Prentice-Hall of India