本文主要内容来自 SpriCoder 的博客,修改了一些翻译错误和笔误,修改了一些表格的样式,添加了 2022 年考题、2025Spring《软件体系结构》考题和解答。
软件架构简答题
软件架构介绍
【2025】【2015B】【2016A】【2019】Architecture,structure 和 Design 的区别?What is difference between architecture and design? What is difference between architecture and structure?
所有架构都是软件设计,但并非所有设计都是软件架构;架构是设计过程的一部分。架构提供了设计的抽象视图。架构是高层设计和一组设计决策;程序或计算系统的软件架构是系统的一个或多个结构,它包括软件元素、这些元素的外部可见属性以及它们之间的关系。架构是高层结构。架构定义结构。结构的属性是由体系结构的设计引起的。
- Design 包含 Architecture,Architecture 包含 Structure;
- 体系结构是关于软件设计的,所有体系结构都是设计,但是不是所有的设计都是体系结构,体系结构是软件设计的一个部分;
- 结构是静态的、逻辑的,是关于系统如何构成的;
- 架构除包含结构,还会包含组件之间的相关的关系结构,并定义一些动态的行为。



