架构设计的作用
● 解决相对复杂的需求分析问题;
● 解决非功能属性在系统占据重要位置的设计问题;
● 解决生命周期长、扩展性需求高的系统整体结构问题;
● 解决系统基于组件需要的集成问题;
● 解决业务流程再造难的问题。

软件架构描述与表示
目前存在多种软件架构描述语言,比较典型的是基于组件和消息的软件架构描述语言C2SADL, 分布、并发类型的架构描述语言Wright, 构互换语言A C M E , 基于组件和连接的架构描述语言UniCon, 基于事件的架构描述语言Rapide, 以及其他比较有影响力的描述语言Darwin、MetaH、Aesop、Weaves、SADL、xADL等。

软件架构的常用分类
比较典型的架构模型包括分层架构、事件驱动架构、微核架构、微服务架构和云架构等五类。当然,像C/S、B/S、管道-过滤器和P A C等架构也是被广泛使用的软件架构。