Introduction to Systems Design
An easy to understand guide of systems/architecture design.
What Is Systems Design?
Systems design is less concerned with coding and more about systems analysis, architectural patterns, API’s, design patterns and gluing it all together. Designing your system appropriately for the requirements of your application will result in eradicating unnecessary costs and maintenance efforts as well as a better experience for your end-users as your application will be able to handle architectural load.
Aspects Of Systems Design
Quality attributes are the constraints the system is governed by. Depending on the nature of the application this could be reliability, scalability, efficiency, cost, and/or many other qualities.
The architectural pattern/s is concerned with the high-level scope of how the components are assembled and organised. This will be done in a way that meets the quality attributes.
Once the architectural pattern/s is determined, the APIs and Interfaces can be defined. The APIs and Interfaces are concerned with how the components communicate with each other.