转自:http://www.2cto.com/os/201502/377091.html
最近准备研究下volley的源码,但看了网上一些大牛的博客都是配合图这样看起来更直观,分析起来逻辑也很好,什么类图可以很清晰的分析下各类之间的关系,怎么样抽取的,所以首先先学习下建模的工具软件,我是用了start uml作为画图工具,start uml可以画用例图 类图 时序图 部署图等,哪就一个一个耐心的去学,一口气吃不了一个胖子,学习贵在坚持!
用例图概述:
由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图
参与者:是指存在于系统外部并直接与系统交互的人、系统或设备等
参与者的分类:
参与者按是否使用系统核心功能可分为主要参与者与次要参与者
参与者在start uml工具中如图表示:
用例概述:
是系统为参与者提供的功能,对于用例的命名我们可以给用例取一个简单的名称,概括性的名称。一般是带有动作性的名称.用例在画图中用椭圆来表示。椭圆下面附有用例的名称,实线箭头,在用例图中用于连接参与者与用例,用例方向指向用例
参与者与用例之间的关系就是参与者使用系统的功能用一个箭头指向用例并且是实线如图:
用例与用例之间也是有关系的,分为三种:
1:泛化(generalization)代表一般与特殊的关系
在泛化关系中,子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或父用例中的行为和含义。
下面以机票预订方式画一个用例之间的泛化关系图:
2:包含(include)关系
指的是两个用例之间的关系,其中一个用例(称作基本用例,base use case)的行为包含了另一个用例(称作包含用例,inclusion case)的行为
3:扩展(extend)关系
将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中