# 什么是软件架构
软件构件提供的服务、性能、特性、错误处理、共享资源使用等。
对于复杂系统和大型系统的开发而言,设计好软件架构是保证软件质量的根本措施。
* 软件架构是项目干系人进行交流的手段。
* 软件架构是早期设计决策的体现。
* 软件架构是可传递和可重用的模型。
--
代表了系统的公共高层次的抽象。
体现了系统的最早的一组设计决策,这些早期的约束比起以后的开发、设计、编码或运行服务及维护阶段的工作重要得多,对系统生命周期的影响也大得多。
体现了一个相对来说比较小又可理解的模型。架构级的重用意味着架构的决策能在具有相似需求的多个系统中发生影响,这比代码级的重用要有更大的好处。
必读材料《软件体系结构原理、方法与实践》(张友生著,清华大学出版社)