Skip to content

Software architecture

Fundamental decisions about a software system’s structure, interactions and quality goals.

Software architecture

Structure with a purpose

Software architecture describes fundamental decisions about a system’s elements, their relationships and interactions. This includes boundaries, interfaces and responsibilities. These decisions should support requirements such as modifiability, availability and access protection.

In a fictional example, a customer portal should still display jobs when report generation fails. Its architecture must clarify dependencies and failure handling. A drawing of boxes or a list of products is insufficient. Record the reasoning, important assumptions and consequences. Whether the chosen structure meets its goals needs appropriate evaluation; an architecture diagram is not evidence that the system works.

Sources