Functional vs Non-Functional Requirements
What is a functional requirement?

What is a non-functional requirement?

Functional
- When the user enters the information, the system shall send an approval request.
- The server shall log all changes to existing data.
- When 24 hours have passed since the last database backup, the server shall automatically back up the database.
- The local terminal shall automatically print a list of orders every 4 hours.
- When the local time is 0800, the server shall email a report of open issues to all managers.
- The system shall only allow managers to view customer banking data.
Non-functional
- Database security shall meet HIPAA requirements.
- The layout shall allow users to reach their profile data from any page within 3 clicks.
- If a user has not changed their password for 56 days, then the system shall require a password change upon login.
- The system must accommodate a minimum of 3 million concurrent users.
- All web pages shall load within 4 seconds.
- The background colour for all screens shall be #fff4b6.
- System programming shall not use deprecated code.
MSTR Non-functional Requirements
- Security
- Compatibility
- Logging & Error Handling
- Performance & Scalability
- Monitoring & Telemetry
- Internationalization
- Accessibility
Security
- Is the client-server communication secured by TLS/HTTPSÂ
- Always validate input from untrusted sources
- Passwords and user ids must be transmitted and stored in a secure manner.
- Make sure all functionality available to the user is controlled by privileges or other control mechanisms.
- Verify use of third party components with Security Engineering
Compatibility
- Forward compatibility
- Backward compatibility
- MD compatibility
- API compatibility
Logging & Error Handling
- Logging category
- FATAL
- Error
- Warning
- Trace/Info
- Clarify the logging requirements in PD design
Performance and Scalability
- Define performance threshold under load(concurrent users and/or data size)
- Define performance metrics so they can be monitored by runtime monitoring service
- Vertical scalability
- Horizontal scalability
Monitoring & Telemetry
- Session monitor, Job monitor,
- Telemetry is data for monitoring plus its transition mechanism
Internationalization
- Number, time format
- Data internationalization
- Metadata internationalization
Accessibility
- Usually not relevant to server engineering
Reference
https://github.microstrategy.com/pages/kiai/developers-guide/
Title Text
Subtitle
Functional vs Non-functional requirements
By bawu
Functional vs Non-functional requirements
- 1,025