Non-Functional Requirements
Once you have gathered the system requirements, it is time to think about the impact they have on the architectural design. Scalability, availability, resiliency, performance, multithreading, interoperability, security, and other aspects need to be analyzed so that we can meet user needs. We refer to these aspects as non-functional requirements.
The following topics will be covered in this chapter:
- How do .NET 6 and Azure enable scalability, availability, and resiliency?
- Performance issues that need to be considered when programming in C#
- Software usability, that is, how to design effective user interfaces
- .NET 6 and interoperability
- Achieving security by design
- Book use case – understanding the main types of .NET projects
The main purpose of discussing non-functional requirements here is that they are highly relevant to software architects: even though they are not so important to getting software...