Exam Power Notes — Quick Revision Guide
1. Software Engineering: The systematic application of engineering principles to develop, test, deploy, and
maintain reliable, maintainable software.
2. SDLC — Software Development Life Cycle
• Planning: Define goals, scope, resources, and schedule.
• Requirements: Identify and document what the system must do.
• Design: Plan architecture, components, interfaces, and data.
• Implementation: Write and integrate code.
• Testing: Find defects and verify requirements.
• Deployment: Release the software.
• Maintenance: Fix, adapt, and improve the system.
3. Process Models
Waterfall: Sequential phases; simple but less flexible when requirements change.
Agile: Iterative development with frequent feedback and adaptation.
Spiral: Iterative model with strong emphasis on risk management.
Incremental: Delivers the system in multiple usable increments.
4. Requirements
• Functional: What the system should do, e.g., login or generate a report.
• Non-functional: Quality or constraints, e.g., security, performance, usability, reliability, scalability.
5. Design Principles
Modularity = divide the system into manageable components. Abstraction = hide unnecessary details. Encapsulation
= combine data and behavior. Low coupling + high cohesion generally support maintainable designs.