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
C++ coding style
Made with Slides.com