Introduction: Software Crisis, Need for Software Engineering. Professional SoftwareDevelopment, Software Engineering Ethics. Case Studies.Software Processes: Models: Waterfall Model (Sec 2.1.1), Incremental Model (Sec2.1.2) and Spiral Model (Sec 2.1.3). Process activities.Requirements Engineering: Requirements Engineering Processes (Chap 4).Requirements Elicitation and Analysis (Sec 4.5). Functional and non-functionalrequirements (Sec 4.1). The software Requirements Document (Sec 4.2). RequirementsSpecification (Sec 4.3). Requirements validation (Sec 4.6). Requirements Management(Sec 4.7).
System Models: Context models (Sec 5.1). Interaction models (Sec 5.2). Structural models (Sec 5.3). Behavioral models (Sec 5.4). Model-driven engineering (Sec 5.5).Design and Implementation: Introduction to RUP (Sec 2.4), Design Principles (Chap17). Object-oriented design using the UML (Sec 7.1). Design patterns (Sec 7.2).Implementation issues (Sec 7.3). Open source development (Sec 7.4).
Software Testing: Development testing (Sec 8.1), Test-driven development (Sec 8.2),Release testing (Sec 8.3), User testing (Sec 8.4). Test Automation (Page no 42, 70,212,231,444,695).Software Evolution: Evolution processes (Sec 9.1). Program evolution dynamics (Sec9.2). Software maintenance (Sec 9.3). Legacy system management (Sec 9.4).
Project Planning: Software pricing (Sec 23.1). Plan-driven development (Sec 23.2). Project scheduling (Sec 23.3): Estimation techniques (Sec 23.5). Quality management:Software quality (Sec 24.1). Reviews and inspections (Sec 24.3). Software measurement and metrics (Sec 24.4). Software standards (Sec 24.2)
Agile Software Development: Coping with Change (Sec 2.3), The Agile Manifesto:Values and Principles. Agile methods: SCRUM (Ref “The SCRUM Primer, Ver 2.0”) and Extreme Programming (Sec 3.3). Plan-driven and agile development (Sec 3.2). Agile project management (Sec 3.4), Scaling agile methods (Sec 3.5):