Software Engineering
Subject Overview
Software Engineering covers the software process and prescriptive/specialized process models (waterfall, incremental, evolutionary, unified process), requirements engineering and design, software testing strategies (white-box, black-box, unit/integration/system testing), and product metrics, software maintenance and reengineering. A 4-credit core theory paper.
Unit-wise Syllabus
4 units — click WhatsApp below to get the full notes for each
Unit 1: Process models
Introduction to the software process and engineering practice, software development myths, prescriptive process models (waterfall, incremental, evolutionary, concurrent), specialized models (component-based, formal methods, aspect-oriented), the unified process and its phases, personal and team process models
Unit 2: Requirements and design
Requirements engineering and understanding software requirements, building the analysis model, the design process and concepts, the design model — data, architectural, interface, component-level and deployment-level design elements
Unit 3: Software testing
Approach to software testing, unit/integration/validation/system testing, debugging, testing fundamentals, white-box testing and basis path testing, control structure testing, black-box testing
Unit 4: Metrics, maintenance and reengineering
Framework for product metrics, metrics for the requirements and design models, process and project metrics, software measurement, software maintenance, reengineering, reverse engineering, restructuring, forward engineering, economics of reengineering
