This section includes the first three chapters of the book. The idea is to make sure you understand how to transform user requirements into the actual architectural needs that are essential for project success, using the various architectural aspects and design considerations involved in developing enterprise applications with C# and .NET Core.
In Chapter 1, Understanding the Importance of Software Architecture, we will discuss the importance of software architecture and aspects related to .NET Core and C#. The chapter will also discuss the importance of analyzing software requirements and designing for principles such as scalability and robustness. No matter what software development cycle you decide to have in your project, analyzing requirements will help you adhere to the goal of the project. Without this, the success of your project is at risk. This chapter will present some use cases where a lack of understanding of the requirements gathered led to project failures. Besides this, in each case, we will provide practical advice that could help to protect your software from the scenarios presented.
Once you have understood the process of gathering system requirements, in Chapter 2, Functional and Nonfunctional Requirements, we will prompt you to think about the impacts that the requirements have on the architectural design. Scalability, performance, multithreading, interoperability, and other subjects will be discussed, both their theory and their practice.
To finish the first section, in Chapter 3, Documenting Requirements with Azure DevOps, we will present Azure DevOps, which is the tool currently being provided by Microsoft to enable an application development life cycle that follows the principles of the DevOps philosophy. There are a variety of good features that can help you document and organize your software, and the purpose of the chapter is to present an overview of those features.
This section includes the following chapters: