Igor Korotach
Head of FinTech at Quantum
Written by: Igor Korotach
The architecture framework is divided into 3 parts:
Quality Attr. | Definition | Test Criteria |
---|---|---|
Availability | Defined as the proportion of time that the system is up and working | Can be measured as a percentage of total system downtime over a predefined time period |
Maintainability | Defined as the ability to undergo changes as required | Can be measured by calculating the time it takes to undergo the changes as required |
Performance | An indication of the responsiveness of a system to execute our commands within a given interval of time | Can be measured in terms of latency or throughput |
Reliability | Defined as the chances that a product will perform its intended behaviour under the defined circumstances | Can be measured in terms of the correlation between two scores of test-retests |
Reusability | If we can use the product, or some specific part of the product, in the production of any other product | Can be tested by evaluating the software system’s functionality in different scenarios, testing modularity and compatibility |
Security | Measures taken to protect the system and its resources from unauthorized access and attacks | Can be tested via penetration testing, security code reviews, security testing tools, security assessments, user acceptance testing, and production monitoring |
Quality Attr. | Definition | Test Criteria |
---|---|---|
Scalability | Defined as a scale of the system’s increasing or decreasing capability | Can be measured in terms of its capacity to extend or reduce the quantity of user requests |
Load balancing | Defined as a technique used to distribute workloads evenly across multiple computing resources to optimize resource utilization, increase reliability, and improve scalability | Can be measured by evaluating the distribution of incoming requests among the servers, response time, resource utilization, and the reliability of the system |
Caching | The temporary storage of frequently accessed data in a fast-access memory to reduce the number of expensive I/O operations, speed up access to the data, and reduce response time | Can be measured by evaluating the hit rate (ratio of cache hits to total requests), response time, and reduction of I/O operations |
In aspect-oriented software development, cross-cutting concerns are aspects of a program that affect several modules, without the possibility of being encapsulated in any of them. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation
By Igor Korotach