软件设计-架构设计
软件架构文档
SAD、架构视图
架构视图:制定视角出发的系统架构视图,包含:结构、模型块、基本构件、主要控制流等,N+1视图模型,如4+1。
架构分析
架构分析常用步骤:
- 识别和分析对架构有影响的非功能性需求(架构因素)
- 架构决策:解决非功能性需求(因素表、质量场景)
架构分析:决定于软件过程方案,如UP迭代和进化式的,齐头并进。本质是识别影响架构的因素,理解其中的可变性和优先级。
变化点:现有系统或需求中的变化之处。
进化点:现有需求中不存在、但可能在将来发生,推测性的变化点。
优先级:
- 强制性约束,包括强制性安全和法律规定
- 业务目标
- 所有其他目标
架构决策:按照进化点可能发生的概率区分优先级
决定在何处花费精力进行必要的设计,预防将来可能的变化,这是架构设计师的艺术
基本架构原则:
- 低耦合
- 高内聚
- 防止变异
常用方法:关注分离。层模式是常用的分离技术。
架构模式的提升,还有许多有关架构模式的著作,研习这些著作是学习架构解决方案的最快途径。
学习总结:
包设计
。。。。。。
学习提升
学习提高参考书籍:《超越软件架构》、《企业应用架构模式》、《软件架构实践》、《面向模式的软件体系结构》、《程序设计模式语言》