架构师训练营总结 -1
日期
0606
总结开始
架构设计的4+1视图
逻辑视图、开发视图、物理视图、过程视图,然后都围绕着场景视图展开,即4+1视图

架构不能脱离实际需求,架构是基于场景的,要关注干系人
架构的不同视图,就是架构的不同位面,不同维度,服务不同干系人的不同关注点。
学习UML的重点不在图怎么画,而在于学会在什么场景下,采用什么UML模型,来达成设计意图。
建模中的模型就是对系统的完整抽象。当接到需求后,工程师开发之前,架构师头脑中应该对系统有个完整的抽象模型(哪些模块、哪些类、哪些服务器,相互之间的关系等),把模型画出来,就是完成了基本的设计。

UML图的分类,如下图

通用的模型元素

模型元素的关系

依赖和关联:关联比依赖更强(关联也是有箭头,通常是双向箭头)
继承和实现:继承包含父类的成员和已实现的方法,实现是对接口类的实现
聚合和组合:组合比聚合更强,组合成员的生命周期一致
用例图
包含:边界、角色、功能、功能之间的关系

角色:人、其他系统
功能之间关系:使用、扩展
先画边界->画功能(功能之间关系)->画角色(谁在用什么功能)
一张用例图包含的元素不能太多,10-20个足够,不详细的可以针对某个元素进行细化
类图
类名、成员变量、成员方法、类之间的关系
时序图

对象、生命线、激活期、消息(应该还包括角色)
活动图

流程图+泳道
状态图

包括:初态、终态、中间态、迁移
组件图
组件图是用来描述模块
部署图
正在完成ing...
版权声明: 本文为 InfoQ 作者【River Tree】的原创文章。
原文链接:【http://xie.infoq.cn/article/7536f2febd6a38b3a2615bcdc】。文章转载请联系作者。
评论