Software Architecture Fundamentals
Software architecture is the high-impact structure of a software system: its major parts, their responsibilities, and how they cooperate to meet business and operational needs.
itSoftware engineering | OpenSkills.info
Intro
Software Architecture Fundamentals
Software architecture is the set of consequential decisions that shape a system's structure, behavior, and ability to change. It is not a product diagram or a list of frameworks. It is the reason a system has particular parts, boundaries, and relationships.
Start with the outcome the system must deliver. Then identify the constraints, the people affected by the system, and the qualities that matter. A payment system may need recoverable processing, an audit trail, and predictable latency. A reporting system may favor inexpensive batch work. The same technology can support both systems, but the architecture need not be the same.
Architecture is a working model
An architecture description makes decisions inspectable. ISO/IEC/IEEE 42010 organizes this work around stakeholders, their concerns, viewpoints, and views. A view answers a question for an audience. A context view can show external systems and users. A runtime view can show calls, queues, and failure paths. A deployment view can show what runs, where it runs, and what changes together.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.sei.cmu.edu/software-architecture/
Supports
- Software architecture as consequential structure and relationships
- Architecture evaluation, documentation, and conformance analysis
- Quality attributes and continuous architectural evolution
- https://www.sei.cmu.edu/library/an-introduction-to-software-architecture/
Supports
- Architectural representations for understanding complex systems
- System organization and architectural styles
- https://www.iso-architecture.org/ieee-1471/cm/
Supports
- Stakeholders, concerns, viewpoints, and views
- Architecture descriptions organized around stakeholder concerns
- https://c4model.com/diagrams
Supports
- System context, container, component, and code diagrams
- Audience-focused architectural diagram selection
- https://learn.microsoft.com/en-us/azure/architecture/guide/architecture-styles/
Supports
- Architecture styles as constraints with benefits and challenges
- Layered, queue and worker, independent service, and event-driven styles
- Trade-offs involving messaging, latency, data consistency, and operations
