Software Engineering

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.

Lecture 25 - Software Evolution

Go to the Course Home or watch other lectures:

Lecture 01 - Introduction to Software Engineering: Challenges, Processing Models, etc.
Lecture 02 - Introduction to Software Engineering: Waterfall Model and Other Models, Project Planning
Lecture 03 - Overview of Phases in Software Development (Part 1)
Lecture 04 - Overview of Phases in Software Development (Part 2)
Lecture 05 - Requirements Engineering/Specification
Lecture 06 - Formal Specification
Lecture 07 - Algebraic Specification Methods
Lecture 08 - Systems Modeling Overview
Lecture 09 - Data Modeling - ER Diagrams, Mapping to Relational Model (Part 1)
Lecture 10 - Data Modeling - ER Diagrams, Mapping to Relational Model (Part 2)
Lecture 11 - Data Modeling (cont.), Processing Modeling: Function Decomposition (Part 1)
Lecture 12 - Processing Modeling - Data Flow Diagram, Function Decomposition (Part 2)
Lecture 13 - Production Quality Software - Introduction to Software Quality, Abstraction
Lecture 14 - Software Design: Primary Considerations
Lecture 15 - Design Patterns
Lecture 16 - Class and Component Design
Lecture 17 - Architectural Design
Lecture 18 - Software Testing I
Lecture 19 - Software Testing II
Lecture 20 - Structural Programming and Some Implementation Aspects
Lecture 21 - Software Metrics and Quality
Lecture 22 - Verification and Validation, Inspection, Clean Room Development
Lecture 23 - Case Study: Library Book Circulation System
Lecture 24 - Case Study: Library Book Circulation System (cont.)
Lecture 25 - Software Evolution
Lecture 26 - Agile Development, XP, Prototyping
Lecture 27 - Software Reuse, CBSE (Component-Based Software Engineering)
Lecture 28 - Reuse Continued - Frameworks, Product Families, COTS, Design Patterns
Lecture 29 - Introduction to Project Management
Lecture 30 - Project Scope Management
Lecture 31 - Project Time Management
Lecture 32 - Estimation I
Lecture 33 - Estimation II
Lecture 34 - Project Quality Management
Lecture 35 - Quality Management Systems
Lecture 36 - Quality Management Systems (cont.)
Lecture 37 - Project Configuration Management
Lecture 38 - Project Risk Management
Lecture 39 - Other PM Processes: Cost, Human Resources, Communication, Procurement, Integration