Quality Attributes
Quality attributes are the non-functional requirements that define the overall quality of the system and how it delivers its functionalities.
Quality Attributes Overview
Operational Properties
- Availability:
- Fault tolerance: The system should be able to recover from failures and continue to operate.
- Reliability:
- Error handling: The system should be able to handle errors gracefully.
- Data integrity: The system should ensure that data is consistent and accurate.
- Deployability:
- Portability: The system should be able to run on different platforms.
- Upgradability: The system should automatically deploy new versions.
Structural Properties
- Modifiability:
- Extensibility: The system should be able to add new features easily.
- Maintainability: The system should be easy to maintain and update.
- Testability:
- Observability: The system should be able to provide information about its internal state.
- Controllability: The system should be able to be controlled during testing.
- Security:
- Authentication: The system should be able to authenticate users.
- Authorization: The system should be able to authorize users to access resources.
- Data protection: The system should protect sensitive data.
- Usability:
- Learnability: The system should be easy to learn.
- Efficiency: The system should be efficient to use.
- Satisfaction: The system should be satisfying to use.
Scenarios
For some quality attributes, we have defined scenarios to illustrate how they will be achieved.
Availability
Scenario 1: Fault Tolerance
- Stimulus Source: Hardware failure.
- Stimulus: A server node fails.
- Environment: Normal operation.
- Artifact: Server node.
- Response: The system detects the failure and restarts the server node.
Reliability
Scenario 1: Error Handling
- Stimulus Source: User action.
- Stimulus: User enters invalid data.
- Environment: Normal operation.
- Artifact: System.
- Response: The system displays an error message to the user.
Scenario 2: Data Integrity
- Stimulus Source: User action.
- Stimulus: User updates their profile.
- Environment: Normal operation.
- Artifact: System.
- Response: The system updates the user's profile without data loss.
Deployability
Scenario 1: Portability
- Stimulus Source: Deployment.
- Stimulus: Deploy the system on a new platform.
- Environment: Normal operation.
- Artifact: System.
- Response: The system runs on the new platform without modification.
Scenario 2: Upgradability
- Stimulus Source: Deployment.
- Stimulus: Deploy a new version of the system.
- Environment: Normal operation.
- Artifact: System.
- Response: The system automatically deploys the new version.
Modifiability
Scenario 1: Extensibility
- Stimulus Source: New feature request.
- Stimulus: Add a new feature to the system.
- Environment: Normal operation.
- Artifact: System.
- Response: The new feature is added to the system without affecting existing features.
Scenario 2: Maintainability
- Stimulus Source: Bug report.
- Stimulus: Fix a bug in the system.
- Environment: Normal operation.
- Artifact: System.
- Response: The bug is fixed without introducing new bugs.
Testability
Scenario 1: Observability
- Stimulus Source: Testing.
- Stimulus: Monitor the system during testing.
- Environment: Testing.
- Artifact: System.
- Response: The system provides information about its internal state.
Scenario 2: Controllability
- Stimulus Source: Testing.
- Stimulus: Control the system during testing.
- Environment: Testing.
- Artifact: System.
- Response: The system can be controlled during testing.
Security
Scenario 1: Authentication
- Stimulus Source: User action.
- Stimulus: User logs in to the system.
- Environment: Normal operation.
- Artifact: System.
- Response: The system authenticates the user.
Scenario 2: Authorization
- Stimulus Source: User action.
- Stimulus: User accesses a protected resource.
- Environment: Normal operation.
- Artifact: System.
- Response: The system authorizes the user to access the resource.
Scenario 3: Data Protection
- Stimulus Source: User action.
- Stimulus: User enters sensitive data.
- Environment: Normal operation.
- Artifact: System.
- Response: The system encrypts the sensitive data.
Usability
Scenario 1: Learnability
- Stimulus Source: User action.
- Stimulus: User interacts with the system for the first time.
- Environment: Normal operation.
- Artifact: System.
- Response: The user quickly learns how to use the system.
Scenario 2: Efficiency
- Stimulus Source: User action.
- Stimulus: User performs a task.
- Environment: Normal operation.
- Artifact: System.
- Response: The system allows the user to perform the task quickly.
Scenario 3: Satisfaction
- Stimulus Source: User action.
- Stimulus: User interacts with the system.
- Environment: Normal operation.
- Artifact: System.
- Response: The user enjoys using the system.