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, Inspection & Reviews.
Project Monitoring Plans: Time Sheets, Reviews, Cost Schedule Milestone Graph, Earned Value Method, Unit Development Folder.
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, 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)
Risk Management: Overview, Assessment, Control.
Software Reliability: Measures of reliability & availability, Software safety
Girdhari Singh, “Software Engineering”, Genius Publications.