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.
(from nptel.ac.in)
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 |
References |
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.
|