软件架构方法
1、架构师的主要职责和能力
2、什么是软件架构
3、如何做软件架构
3.1、架构建模方法
4+1架构视图提供了一种架构设计的方法论,架构设计首先应该考虑看架构图的用户是谁,描述的对象是什么,用途是什么。
4+1架构视图分别是逻辑视图、开发视图、物理视图、过程视图、场景视图,从5个不同的维度描述了系统的完整架构视图。比如对系统做性能优化主要关注物理视图+过程视图,不仅要分析系统的进程、线程等运行时,还需要从物理部署的架构上来分析。
3.2、UML模型在不同阶段的使用
3.3、UML模型元素关系说明
3.4、软件架构设计文档
在软件设计的不同阶段应该设计不同的UML模型,将不同阶段输出的UML模型图放在⼀个⽂
档中,对每张模型图配以适当的⽂字说明,就构成⼀篇设计⽂档。
对于规模不太⼤的软件系统,我们可以将概要设计⽂档和详细设计⽂档合并成⼀个设计⽂档。
这⾥,我会展现⼀个设计⽂档示例模板,你可以参考这个模板编写你的设计⽂档。
⽂档开头是设计概述,简单描述业务场景要解决的核⼼问题领域是什么。⾄于业务场景,应该
在专⻔的需求⽂档中描述,但是在设计⽂档中,必须要再简单描述⼀下,以保证设计⽂档的完
整性,这样,即使脱离需求⽂档,阅读者也能理解主要的设计。
此外,在设计概述中,还需要描述设计的⾮功能约束,⽐如关于性能、可⽤性、维护性、安全
性,甚⾄开发和部署成本⽅⾯的设计⽬标。
然后就是具体的设计了,第⼀张设计图应该是部署图,通过部署图描述系统整个物理模型蓝
图,包括未来系统⻓什么样。
如果系统中包含⼏个⼦系统,那么还需要描述⼦系统间的关系,可以通过⼦系统序列图,⼦系
统活动图进⾏描述。
⼦系统内部的最顶层设计就是组件图,描述⼦系统由哪些组件组成,不同场景中,组件之间的
调⽤序列图是什么样的。
每个组件内部,需要⽤类图进⾏建模描述,对于不同场景,⽤时序图描述类之间的动态调⽤关
系,对于有复杂状态的类,⽤状态图描述其状态转换。
软件架构设计文档能将架构图和需求场景通过故事线的方式关联起来,让相关方更好的理解架构设计,是组织内相关方沟通的一个桥梁,减少各方对架构图理解上的偏差。
评论