首页 > 代码库 > uml时序图的初印象-------Day64
uml时序图的初印象-------Day64
最近有好多想法迫不及待的想去实现,可是事实上是在那些最开始想的非常明白,感觉会没问题的地方也总是会出现问题,导致略微有些急躁,还是要淡定啊,又到了周末,明后天要收拾东西搬家,不知道宽带能不能顺利的给挪过去,想提前来记录下这周的工作吧。
总的来说,这周完成了界面的初始设计,然后就是这概要设计了,结果整合下来,word文档都有近百页了,太多时序图了,画的我都有些头昏脑涨。其实,在很久之前的某公司,我面试的第一道问题就是时序图,结果当时的我是可怜的一片茫然,结果也就自然而然了。这次再看时序图,又理解了好久,就像好多事情一样,就像一层窗户纸,哪怕再薄,只要捅不破,还真就搞不懂看不明。
这次终归是做了几十个时序图,有些自己的一点小理解,可能会有偏颇,但还是记录下,权当总结这周工作了。
1、编写工具
这次用的是rational rose 2003(在之前的项目中试用过visol和power Designer,现在感觉还是power Designer相比较更好用一些,暂时)
2、基础知识
时序图,名sequence Diagram,按时间顺序进行排列,显示参与对象和对象之间的交互。
(个人使用心得:以一个网页为例,一个功能实现可能参与的对象和进行的顺序就可以做一个时序图,简而言之,就是我看到时序图,就可以了解到这个功能实现的步骤和相应的方法,是为了方便代码的编写的规范来进行的)
3、基本元素
时序图的建模元素主要有:对象(Actor)、生命线(LifeLine)、控制焦点(Focus of control)和消息(Message)(具体的写法网上有太多了,这里就不多记录了)
对象的状态:激活、运行和销毁
这里说一下激活的意义,对于这个长方格子,我始终没明白它究竟是什么意思,在“百度百科”上碰到了一个让我豁然开朗的解释:可以将激活看做一个”{ }“,从开始到结束,也就可以理解为一个方法,一个动作;
用生命线来形容对象存在的时间,在下面加销毁符号,用来删除对象,或者回收对象,其实就是路人甲的龙套嘛,来干完了就接着走人
消息有四种,倒是有必要记下
1、普通消息:普通空心箭头,实线箭身;2、同步消息:实心箭头,实线箭身;3、异步消息:半边空心箭头,实线箭身;4、返回消息:普通空心箭头,虚线箭身
再有一个的话就是自关联了
其实到这里的话时序图的设计就用这些,以网页为例的话,每个参与的接口,用户,用户生成的实体类等等都可以为对象,而从提交查询或者点击删除等功能后,消息的传递顺序和调用方法等标注上,从而看到时序图就可以编写代码。
4、rational rose的几个小技巧
* ctrl+d用来删除,edit的delete太多是暗的了;
* 在向word上复制的时候,直接点击空白地方点ctrl+c,在word上ctrl+v黏贴即可,无须先进行截图再粘贴(我这样弄痛苦的不得了..)
暂时想起来的简单应用就这些,那就先记录这些吧,近一周的时间来写uml,这样也好总结...
哎呀,搬家是个麻烦活,还得抽时间做两个小应用,加油,把时间看成奶牛,加油...