Skip to content

What is Software architecture? Definition and explanations

Software architecture is the set of structural decisions behind a system: how it is split into components, what each is responsible for, how they communicate, where data lives, where the security boundaries sit. These are the expensive-to-reverse choices. It differs from day-to-day code design, which stays local and easy to change; architecture commits a team for years.

In one sentence

Software architecture is the set of structural decisions you cannot easily undo.

Related terms

Sources and references

Glossary