This module will help the student in learning various factors & metrics involved in software development process.
Software Engineering Fundamentals: Software, The changing nature of software, Software engineering – A layered approach
The Software Process: Software Processes (processes, projects & products, component), Characteristics of Software Processes, Software Development Process, Waterfall Model, Prototyping, Iterative Enhancement Model, The Spiral Model.
Software Requirement Analysis & Specification: Need, Characteristics & Components.
Software Project Planning: Cost Estimation- Uncertainties in Cost Estimation, Building Cost Estimation Models, On Size Estimation, COCOMO Model.
Project Scheduling: Average Duration Estimation, Project Scheduling & Milestones.
Quality Assurance Plans: Verification & Validation.
Design Engineering: Design Process & Design Quality, Design Concepts (abstraction, architecture, patterns, modularity, information hiding, functional independence, refinement, refactoring, and design classes)
The Design Model (data design elements, architectural design elements, interface design elements, component-level design elements, and deployment-level design elements). Testing Strategies & Tactics: A strategic approach to software testing, Strategic issues, Software testing fundamentals, Test characteristics.
Test Strategies for conventional software-(Unit Testing, Integration testing, Validation Testing, System testing, Black-Box testing, White Box testing.
The art of debugging (process & strategies)
Pankaj Jalote , “An Integrated Approach To Software Engineering (2nd Edition)”, Springer Publications
Roger S. Pressman, “Software Engineering (A Practitioner’s Approach) (6th Edition)”, Mc-Graw Hill International