| Authorization |
Access to the service is restricted to users having role A or being part of group B. |
| Meta-annotations |
Attributes of type DateTime must be annotated with @Date(format = "d-m-Y"). |
| Response time |
The system is time-critical and has to answer each request within 10 ms. |
| Authentication |
The user has to confirm his identity using the central authentication service. |
| Code metrics |
Code-coverage for unit tests must be > 85% |
| Dependencies |
Component A cannot invoke method X of component B. |
| Signature |
A web service must provide the following API: push(Message), pull():Result. |
| Communication |
Communication must be synchronous. Protocol used must be HTTPS. |
| Software update |
New security updates must be installed within 1 week from their release. |
| Data retention policy |
Only the last 4 digits of a credit card number can be stored. |
| Availability |
The system must be reachable 99% of the times from 6h00 to 20h00. |
| Data integrity |
Instance values of datatype IBAN must start with an ISO 3166-1 country code. |
| Data structure |
pom.xml contains: <dependency><groupId>junit</groupId>..</dependency> |
| Event handling |
Exceptions of type MyEx must be handled in the layer where they were generated. |
| File location |
web.xml must be located at src/main/webapp/WEB-INF/ |
| Hardware infrastructure |
The server must have 48GB RAM and 2 x 2.6GHz Intel Xeon processor. |
| Throughput |
The system must be able to execute a certain task 10'000 times per hour. |
| Visual design |
The web front-end must comply to the standard corporate design guidelines. |
| Naming conventions |
Java bean classes end with the suffix ``Bean\''. |
| Recoverability |
The system has to be operational again within 1h after a crash. |
| Software infrastructure |
Components communicate with each other using CORBA. |
| Accessibility |
The web front-end must be accessible to color blind users. |
| System behavior |
The system state has to be consistent with a given state machine diagram. |