我们在写文档过程中,多多少少都会画一些图来说明程序的功能,这篇文章就来说明一些常用的"图"怎么画。
1,画图工具
常用的有这么几种
- Visio:这是很常用的,基本上的图都可以用这个来画。
- StarUML:这个是一个专用来画UML的图,效果也还可以,我用得比较少。
- 画图板:如果你用画图板也一样能画出效果不错的图,神人也,值得膜拜,不过,这个东西很低效,不推荐。
2,类图
关于类图的详细信息,请点击这里:https://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/
基本的类型有:
- 类
- 接口
- 数据类型
- 组件
- ...
基本的关系有:
- 继承(泛化):一人类继承另外的一个类的同一功能,并增加它自己的新功能的能力。
- 关联:多个模块之间彼此有联系。
- 聚合:聚合是一种特别类型的关联,用于描述"总体到局部"的关系。在基本的聚合关系中,部分类的生命周期独立于整体类的生命周期。
这里,我给出一个示例
上图中,KeepBookShelfActivity类继承自BaseActivity,同时,它也实现了ISDCardStateChangeListener接口。
3,时序图
时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的,时序图中包括的建模元素主要有:
- 角色:系统角色,可以是人,机器甚至其他的系统或者子系统
- 对象:对象包括三种命名方式:对象名和类名,显显示类名,只显示对象
- 生命线:在时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间
- 控制焦点:表示时间段的符号,在这个时间段内对象将执行相应的操作,用小矩形表示
- 消息:一般分为同步消息(调用消息),异步消息(传递)和返回消息(调用返回)
下面,我给出一个时序图的例子
4,流程图
流程图表示程序执行的流程步骤
5,数据流图
数据流图主要用来表示你程序中数据流向,从哪里输入,又从哪里输出,最终数据到什么地方了。
以上只是列出一些很简单的图,没有作更多的细节说明,有兴趣的可以再深入了解一些细节上的东西。