This module will help the student in learning various factors & metrics involved in software development process.
Introduction to Software, the software problem, software engineering problem, software approach, Software Processes (processes, projects & products, component), Characteristics of Software Processes, A process framework, CMMI, Software Development Process: Waterfall Model, Prototyping, Iterative Enhancement Model, RAD Model, The Spiral Model.
Software Requirement Analysis & Specification: software requirements, problem analysis (Analysis issues, informal approach, structured approach-DFD & Data Dictionary), Requirement Specification: Characteristics & Components of SRS, Specification languages, structure of requirement document.
Software Project Management: The management spectrum, The W5 HH Principle, role of Metrics for software management (LOC, FP), Cost Estimation (COCOMO Model)
Project Scheduling, Staffing & Personnel Planning, Software Configuration Management Plans-Quality Assurance Plans, Risk Management: Risk management overview, risk assessment, risk control.
Software Design: Design Process & Design Quality, Design Concepts, The Design Model, Pattern-Based software design, Data design at the architectural, Component-level architectural styles & patterns, Architectural design: representing the system in context, defining archetypes, refining the architecture into components, describing instantiations of the system, User interface design principles.
Software Testing fundamentals, Test Strategies for conventional software-(Unit Testing, Integration testing, Regression Testing & Smoke testing), Validation Testing, System Testing, Black-Box testing, White Box testing, Debugging (process & strategies).