Software Engineering - Complete Viva Revision Notes

Module 1: Introduction to Software Engineering and Process Models (7 hrs)

1.1 Software Engineering Process Framework & CMM

Software Engineering Process Framework:

Capability Maturity Model (CMM):

  1. Initial: Ad-hoc processes, unpredictable, chaotic
  2. Repeatable: Basic project management, process discipline
  3. Defined: Documented standards, processes integrated organization-wide
  4. Managed: Quantitative process management, metrics collection
  5. Optimizing: Continuous process improvement, innovation

Advanced Trends in Software Engineering:

1.2 Prescriptive Process Models

Waterfall Model:

Incremental Process Model:

Evolutionary Process Models:

RAD (Rapid Application Development):

Spiral Model:

  1. Determine objectives and constraints
  2. Risk analysis and prototyping
  3. Development and testing
  4. Planning next iteration

1.3 Agile Process Models

Extreme Programming (XP):

Scrum:

Kanban:


Module 2: Software Requirements Analysis and Modeling (4 hrs)

2.1 Requirement Engineering

Requirement Engineering Process:

  1. Elicitation: Gathering requirements from stakeholders
  1. Analysis: Understanding and organizing requirements
  2. Specification: Documenting requirements formally
  3. Validation: Ensuring requirements meet stakeholder needs
  4. Management: Handling requirement changes