Glossary · Automation software engineering and architecture
Software architecture
Also known as: Architecture (software)
German: Softwarearchitektur
In software engineering, software architecture is the fundamental organization of a software system: its components, their relationships to each other and the environment, and the principles guiding its design and evolution.
- Software engineering
- Standards
In one sentence
Software architecture is a system's fundamental organization: its components, their relationships and the principles guiding its design.
Example
The architecture of the machine software separates hardware abstraction, machine modules, the line sequence and HMI communication into layers with defined interfaces.
How it applies
- Engineering: Architectural decisions, such as task structure, module boundaries and communication, are hard to change later. Architecture reviews check them against quality requirements like performance, safety and maintainability.
- Functional safety: Standards such as IEC 61508 require the software architecture to be documented and verified for safety-related software.
- Documentation: ISO/IEC/IEEE 42010 frames architecture descriptions with stakeholders, viewpoints and views. Architecture decision records explain why choices were made. The documentation team can reuse architecture views for system overviews in manuals.
Software architecture vs. software design
Architecture concerns the overall structure and major decisions. Detailed design concerns the inner workings of individual components within that structure.