(四七)——UML学习摘录(下)
最后更新于:2022-04-01 11:20:45
## 产品设计体会(四七)——UML学习摘录(下)
接上回,下层的图描述的是一个用例内部的事务(用例内部不一定是“单个用例”内部,也可能有用例之间的关系),主要有:
Ø **时序图**(**顺序图**):描述事情变化在时间维度上的先后顺序,善于表达对象(比如多个页面之间)的交互。玩的好可以完全替代UC中对流程的文字表述。
[![时序图 举例](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-22_571a0927b712f.jpg)](http://blufiles.storage.live.com/y1p3O4KBNpz6AUhC5w_FKZp98pRJsTCO_D0aOsWBd4sPz7ASfg-Zb5OUKuxtnUTmzqS4ivbUZxul2Q)
Ø **活动图**(比较接近传统意义上的**流程图**):描述各种动作如何引起系统变化,善于表达泳道较多、分支较多的情况。
[![活动图 举例](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-22_571a0927c9353.jpg)](http://blufiles.storage.live.com/y1p3O4KBNpz6AWyDoV63XSkbB1yiF-KYeBYwEvsFFRwD_-GROo-y7zFKd7lTl6UnhO7cc0ipJocEoI)
Ø **协作图**:表达不同对象之间是怎么互相影响的,这个图团队里用到的不多,就不画了,理论上他和时序图是可以等价转换的,时序图关注交互在时间上的步骤,协作图关注交互过程中各个对象间的关系。
这些图我们都是用Rational Rose画的,它最好的一个点是可以在不同层次间的图穿透,比如从用例包穿透看到用例图,再穿透进某个用例看活动图,再穿透进活动图的某一步看具体的时序图。
很多时候多种图都可以描述同一件事情,只是从不同的视角去表达一个系统,选用哪个关键是看针对特定的系统,从哪个角度来描述更容易让受众理解。另外还有表述软件实施的**构件图**、描述硬件结构的**部署图**,暂时用处不大,遵循性价比的原则直接跳过了。
融入了UML标准图元素以后,一个功能模块的UC文档大约就是这样的:文档说明、类图+用例图(需求描述部分);一个个的UC,UC里包含时序图、活动图等等(需求分析阶段)。整块的需求规范化工作最近也在做,以后有机会再整体整理出来。
最后感慨一下Rational Rose真的太强大(建立了整个软件工程的RUP,Rational Unified Process,包括分析、设计、编码、测试、部署等等一切),想找一个轻一点的工具,折腾了半天Visio,发现总是缺点什么,谁有更好的方案?