Quality Attributes
The following guidelines would help you to understand what focusing on the quality attributes can produce a more successful Design. The guidelines help for understand how to design your application, keeping security and performance The beginning.
How to design for security (how to plan for safety)
Use threat modeling to systematically identify threats instead of applying security in a haphazard manner (using threat models to systematically identify threats, while Not cluttered to apply security). Itemize your application ' s important characteristics, assets, and actors to help you identify threats (detailed list of key features, assets and performers of your system To help you identify the threat). A detailed understanding of your application would also help you uncover more relevant and detailed threats (a detailed understanding of your application will have To identify more relevant and detailed threats). Use a security frame to the focus on areas where mistakes is most often made (using a safe control to focus with the area that is most prone to errors). Key categories in a security frame include auditing and logging, authentication, authorization, configuration management, Cryptography, exception management, input and data validation, and sensitive data (a key food category in a security framework includes: Audit and logging, authentication, authorization, configuration management, password management , exception management, input and data validation, and sensitive data). Rate the threats based in the risk of an attack or occurrence of a security compromise and the potential damage that could Result (rating of these threats based on the risk of attack or the incidence of security hazards and their possible hazards). This allows deal with threats in the appropriate order (which allowsTo deal with these threats in the right order).
For more information, see Chapter 7, "Quality Attributes."
How to design for performance (how performance is designed)
Use performance modeling early on the design process to help you evaluate your design decisions against your objectives be Fore you commit time and resources (in the early stages of the design process, use a performance model to help evaluate design decisions before you spend the hours and resource). Identify Your performance objectives, your workload, and your budgets (confirm your performance goals, workload, and budget). For example, performance objectives may include maximum execution time and resource utilization such as CPU, memory, disk I/O, and network I/O (for example, performance targets may include maximum execution time and resource utilization such as CPU, memory, disk I/O, network I/O, and so on). Identify your constraints, such as time and hardware budget (identifying constraints, such as timing and hardware budgeting). Use load testing and unit tests to measure performance (measured performance with load test and unit test), and identify if hardware or deployment scenarios is the cause of bottlenecks (and confirms that the hardware or deployment scenario is the cause of the bottleneck). Ensure you test with data types and data volumes that match the actual run-time scenarios (to make sure that your test data and volume are consistent with the actual runtime).
For more information, see Chapter 7, "Quality Attributes."
How to identify and evaluate performance issues (how to identify and evaluate performance issues)
Focus on the critical areas where the correct approach was essential and where mistakes are often made (...). ). Identify requirements, cost, and budget restraints, and whether improvements can come from additional hardware and infra Structure, improved application code, or by adopting a different deployment approach (clear requirements, cost and budget constraints, and determine whether factors can lead to performance gains: additional hardware and infrastructure, improved code, or a different deployment approach. Perform Design inspections and code inspections to identify poor practices, that could leads to bottlenecks (perform the designs check and code check to identify the The poor approach to bottlenecks). Organize and prioritize your performance issues by using a performance frame (using the performance framework to organize and prioritize performance issues). Key categories in a performance frame include data structures and algorithms, communication, concurrency, resource managem ENT, coupling and cohesion, caching, and state management (the key areas of the performance framework include: data structures and algorithms, communication, concurrency, resource management, coupling and cohesion, caching and status management, etc.).
For more information, see Chapter 7, "Quality Attributes."