| Domain concepts |
|
i.e. domain models, business data model |
| User Experience concepts (UX) |
|
|
| |
User interface |
|
| |
Ergonomics |
|
| |
Internationalization (i18n) |
How to make the system usable in international settings, translation, screen-layout, wording and other |
| Safety and security concepts |
|
|
| |
Security |
i.e. how to achieve confidentiality, non-reputiability and other goals. |
| |
Safety |
Safety-critical systems are those whose failure or malfunction may result in death or injury or severe financial loss |
| Architecture and design patterns |
|
recurring patterns within the system |
| “Under-the-hood” concepts |
|
|
| |
Persistency |
how / where to store and retrieve data |
| |
Process control |
|
| |
Transaction handling |
How to handle technical or business transactions, i.e. to achieve ACID properties |
| |
Session handling |
How to handle user/client sessions |
| |
Communication and integration |
How to integrate with other systems, how to communicate (i.e. sync, async, pub-sub…) |
| |
Exception and error handling |
What errors to handle, how to handle exceptional situations |
| |
Parallization and threading |
How to parallelize tasks, how to create/spawn/manage processes |
| |
Plausibility checks and validation |
i.e. client-side validation, how to verify/check data, input, results. |
| |
Business rules |
i.e. how to use a rule-engine, how to implement/configure business rules, how to change those… |
| |
Batch processing |
How to process data in batches (i.e. offline processing) |
| |
Reporting |
How to create reports, how to gather the required data, how to render the results |
| Development concepts |
|
|
| |
Build, test, deploy |
|
| |
Code generation |
|
| |
Migration |
|
| |
Configurability |
|
| Operational concepts |
|
|
| |
Administration |
|
| |
Management |
|
| |
Disaster-Recovery |
|
| |
Scaling |
|
| |
Clustering |
|
| |
Monitoring, Logging |
|
| |
High Availability |
|
| |
Load balancing |
|