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 |
|