Excellent cheat sheet of NFRs and Architecture Characteristics of typical large-scale software systems. A reasonably large-scale software system must implement all or subset of these architecture characteristics.
These top 10 Architectural Characteristics covers most of the aspect of a large-scale project.
๐ฆ๐ฐ๐ฎ๐น๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: The ability for the system to perform and operate as the number of users or requests increases.
๐๐๐ฎ๐ถ๐น๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: Percentage of uptime and defines the proportion of time that a system is functional and working
๐๐ ๐๐ฒ๐ป๐๐ถ๐ฏ๐ถ๐น๐ถ๐๐: Measures the ability to extend a system and the effort required to implement the extension
๐๐ผ๐ป๐๐ถ๐๐๐ฒ๐ป๐ฐ๐: Guarantees that every read returns the most recent write. This means that after the execution of every operation, the data is consistent across all the nodes, and thus all clients see the same data at the same time, no matter which node they connect to.
๐ฅ๐ฒ๐๐ถ๐น๐ถ๐ฒ๐ป๐ฐ๐: Capability of a system to gracefully handle and recover from accidental and malicious failures.
๐จ๐๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: Described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience.
๐ข๐ฏ๐๐ฒ๐ฟ๐๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: Ability to collect data about program execution, internal states of modules, and communication between components.
๐ฆ๐ฒ๐ฐ๐๐ฟ๐ถ๐๐: Degree the software protects information and data so that people or other products or systems have the degree of data access appropriate to their types and levels of authorization.
๐๐๐ฟ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐: Ability of softwareโs serviceability and meet usersโ needs for a relatively long time.
๐๐ด๐ถ๐น๐ถ๐๐: Indicates the easiness of a development team to understand and maintain an application.
Reference: https://blog.devgenius.io/top-10-architecture-characteristics-non-functional-requirements-with-cheatsheat-7ad14bbb0a9b
Comments