Requirement Gathering
2. Define Requirements
Requirements act as the master checklist—they tell us exactly "what the application should do."
A professional software engineer categorizes these into two distinct types:
- 🚀 Functional Requirements: These are the explicit features and capabilities the app must perform.
- ⚡ Non-Functional Requirements: These are the quality factors that define the system's operational traits, such as speed, security, scalability, and usability.
💡 Practical Example: Expense Tracker App
Functional Features
- Add monthly expenses
- Delete misentered expenses
- View total calculated monthly spent
Non-Functional Traits
- Login and encrypt passwords securely
- Work lightning-fast on mobile devices
“Requirements are the rules of the project.”