12
软件架构视图
——让设计建模更明白、更有效
张云贵
2010-05-21 13
“系统架构图”?
14
• 架构设计的多重视图 – 从根本上来说是因为需求种类的复杂性所致。 – 比如一个媒体发布系统: • 功能需求:用户可以通过浏览器浏览媒体的发布。据此 初步设计出采用浏览器插件的方案; • 约束条件:不能影响用户浏览器的安全性;细化设计方 案,需要对插件进行认证,自动判别客户端是否存在, 及版本比较;自动下载注册等。 • 使用期质量属性:为保证浏览的流畅,应减少中间等待 的时间,因此应对下一步需使用的媒体做预测等。 • 制作发布期的质量保证:保证在遇到较大的媒体时能保 持浏览的流畅,应在发布时将视频等流式化。
– 胶着Viscosity——以与原有设计保持一致的方式来对实施变 更已经非常困难,诱使开发人员绕过它选择容易但有害的途 径,其结果却使系统死的更快。
4
• 什么是软件架构 – 软件架构的概念很混乱。如果你问五个不同的人,可能会得 到五种不同的答案。 – 软件架构概念主要分为两大流派: • 组成派:软件架构 = 组件 + 交互。 • 决策派:软件架构 = 重要决策集。 – 组成派和决策派的概念相辅相成。
15
• 软件系统的需求种类复杂
16
• 什么是软件架构视图 – 个架构视图是对于从某一视角或某一点上看到的系统所做的 简化描述,描述中涵盖了系统的某一特定方面,而省略了于 此方面无关的实体。 – 架构要涵盖的内容和决策太多了,超过了人脑“一蹴而就”的 能力范围,因此采用“分而治之”的办法从不同视角分别设计 ;同时,也为软件架构的理解、交流和归档提供了方便。 – 多视图方法是软件架构归档的方法,更是指导我们进行架构 设计的思维方法。