10. Quality Requirements

10.1 Quality Tree

Quality
├── Performance
│   ├── Timeline feed response < 500 ms (p95)
│   └── Post creation response < 200 ms (p95)
├── Availability
│   └── Uptime ≥ 99.9% per calendar month
├── Scalability
│   └── Sustain 10 000 concurrent users without latency degradation
├── Security
│   ├── Unauthenticated access to protected endpoints returns 401
│   └── Users can only modify their own resources (403 otherwise)
├── Maintainability
│   └── A feature confined to one bounded context requires no changes in others
└── Usability
    └── API errors include actionable, human-readable messages

10.2 Quality Scenarios

ID

Quality Attribute

Stimulus

Response

Measure

QS-01

Performance

User requests timeline feed (follows 500 users)

Feed returned

p95 latency < 500 ms

QS-02

Performance

User creates a post

Post persisted and returned

p95 latency < 200 ms

QS-03

Availability

Single service instance crashes

Load balancer routes to healthy replica

Recovery < 30 s, zero data loss

QS-04

Scalability

10 000 concurrent users active simultaneously

All requests served

p95 latency stays within QS-01/02 bounds

QS-05

Security

Unauthenticated request to GET /feed

Request rejected

HTTP 401, no data leaked

QS-06

Security

User A attempts to delete User B’s post

Request rejected

HTTP 403, audit log entry written

QS-07

Maintainability

New feature added to Messaging context

No changes required in Users or Posts services

Zero cross-context file changes in PR

QS-08

Usability

Client sends invalid request body

Error response returned

HTTP 422 with per-field error detail