Software Engineering Key Concepts
Unit 1: Introduction to Software Engineering
1. Definition of Software Engineering:
Software Engineering is the application of engineering principles to software development in a
systematic method.
2. Spiral Model: Combines iterative nature with risk assessment.
3. PSP (Personal Software Process) vs. TSP (Team Software Process).
4. CMMI Model for process improvement and its levels: Initial, Managed, Defined, Quantitatively
Managed, and Optimizing.
5. Waterfall Model: Sequential development with phases such as Requirements, Design,
Implementation, Testing, Maintenance.
Unit 2: Requirements
1. Requirement Engineering Process: Involves gathering, analyzing, validating, and documenting
user needs.
2. SRS (Software Requirements Specification): A comprehensive document that details functional
and non-functional requirements.
3. Feasibility Study and Requirement Elicitation.
Unit 3: Design Engineering
1. Behavioral and Interaction Models: Explain system behavior and interactions.
2. UML (Unified Modeling Language) and Structural Models.
3. Architectural Design Patterns: Layered, Client-Server, and MVC.
Unit 4: Software Testing
1. Types of Testing: Black Box (input/output) vs. White Box (internal logic).
2. Integration Testing Approaches: Top-down and bottom-up.
3. Debugging, Spiral Testing Strategy, and STLC (Software Testing Life Cycle).
Unit 5: Risk Management
1. Reactive vs. Proactive Strategies for Risk.
2. RMMM (Risk Mitigation, Monitoring, and Management) Plan.
3. ISO 9000 Standards for Quality Assurance.
4. Six Sigma and its Key Attributes for Quality Improvement.