Software Architectural Decision
Jump to navigation
Jump to search
An Software Architectural Decision is a architectural decision that is a software design choice which influences software architecture.
- Context:
- It can be recorded in an Architectural Decision Record.
- ...
- Example(s):
- See: Architecturally Significant Requirements, Software Architecture.
References
2022
- (Wikipedia, 2022) ⇒ https://en.wikipedia.org/wiki/Architectural_decision Retrieved:2022-8-10.
- In software engineering and software architecture design, architectural decisions are design decisions that address architecturally significant requirements; they are perceived as hard to make [1] and/or costly to change. [2]
- ↑ Fowler, M. (2003). “Design – Who needs an architect?". IEEE Software. 20 (5): 11–44. doi:10.1109/MS.2003.1231144
- ↑ Booch, G., abstracting-the-unknown, SATURN 2016 keynote
2022
- (Wikipedia, 2022) ⇒ https://en.wikipedia.org/wiki/Architectural_decision#Characteristics Retrieved:2022-8-10.
- Architectural decisions influence and impact the non-functional characteristics of a system. Each architectural decision describes a concrete, architecturally significant design issue (a.k.a. design problem, decision required) for which several potential solutions (a.k.a. options, alternatives) exist. An architectural decision captures the result of a conscious, often collaborative option selection process and provides design rationale for the decision making outcome, e.g., by referencing one or more of the quality attributes addressed by the architectural decision and answering "why" questions about the design and option selection. Architectural decisions concern a software system as a whole, or one or more of the core components of such a system. Types of architectural decisions are the selection of architectural tactics and patterns, of integration technologies, and of middleware, as well as related implementation strategies and assets (both commercial products and open source projects). Software architecture design is a wicked problem, therefore architectural decisions are difficult to get right. Often, no single optimal solution for any given set of architecture design problems exists. Architectural decision making is a core responsibility of software architects; additional motivation for/of the importance of architectural decisions as a first-class concept in software architecture can be found online.
2021
- https://adr.github.io/
- QUOTE: An Architectural Decision (AD) is a software design choice that addresses a functional or non-functional requirement that is architecturally significant. An Architecturally Significant Requirement (ASR) is a requirement that has a measurable effect on a software system’s architecture and quality. An Architectural Decision Record (ADR) captures a single AD, such as often done when writing personal notes or meeting minutes; the collection of ADRs created and maintained in a project constitute its decision log. All these are within the topic of Architectural Knowledge Management (AKM). ...