Software Engineering Syllabus
Unit 1 Introduction to Software Engineering
Software Engineering: Definition, Need, and Importance, Characteristics of Software,
Software Crisis and Software Myths, Software Development Life Cycle (SDLC), Software
Process Models: Waterfall Model, Incremental Model, Spiral Model, V-Model, Agile
methodologies (Scrum, XP)
Unit 2 Software Requirements and Analysis
Requirements Engineering Process, Types of Requirements: Functional & Non-
functional, Requirements Elicitation Techniques, Software Requirement Specification
(SRS) Document, Use Case Diagrams, Requirement Validation and Management
Unit 3 System Design and Modelling
Principles of Software Design, System Design Concepts: Modularity, Abstraction,
Coupling, Cohesion, Architectural Design: Styles and Patterns (Layered, MVC), Data
Design and Interface Design, UML Diagrams: Class, Sequence, Activity, State, DFDs
Component-Level Design
Unit 4 Software Testing and Quality Assurance
Software Testing Fundamentals Levels of Testing: Unit, Integration, System, Acceptance
Black-box and White-box Testing Techniques, Test Case Design and Test Plan, Software
Quality Assurance (SQA), Software Reliability, ISO & CMM Levels, Tools for testing:
JUnit, Selenium (intro only)
Unit 5 Software Project Management
Software Estimation Techniques: LOC, Function Point (FP), Project Scheduling: Gantt
Charts, PERT, and CPM, Risk Management in Software Projects, Configuration
Management, Maintenance Types and Activities, Introduction to DevOps and CI/CD
Concepts, Tools for Project Management: Git, JIRA, MS Project