Software Engineering. Instructors: Prof. Rushikesh K Joshi, Prof. Umesh Bellur, Prof. Shashi Kelkar and Prof. N. L. Sarda, Department of Computer Science and Engineering, IIT Bombay. This course deals with topics in software engineering.
Introduction: Nature of software projects. Engineering approaches. Software process. Characteristics of a good process. Waterfall model for development. Project planning.
Software Development Life-cycle: Requirements analysis, software design, coding, testing, maintenance, etc.
Software Requirements Specification: Waterfall model, prototyping, interactive enhancement, spiral model. Role of Management in software development. Role of metrics and measurement.
System Design: Problem partitioning, abstraction, top-down and bottom-up design, Structured approach. Functional versus object-oriented approach, design specification and verification metrics, monitoring and control.
Coding: Top-down and bottom-up, structured programming, information hiding, programming style, and internal documentation. Verification, Metrics, monitoring and control.
Testing: Levels of testing functional testing, structural testing, test plane, test cases specification, reliability assessment.
Software Project Management: Cost estimation, Project scheduling, Staffing, Software configuration management, Quality assurance, Project Monitoring, Risk management, etc.