uml(unified modeling language)全称为统一建模语言。
uml主要分为九种图:
一:用例图
二:类图
三:对象图
四:构件图
五:部署图
六:状态图
七:顺序图
八:活动图
九:协作图
一用例图:从系统外部看系统功能,定义了系统的需求,但并不描述系统内部对功能的具体实现。
用例图由四部分组成:用例(use case)、参与者(actor)、系统边界、关联
参与者(actor):可以是系统的使用者、也可以是维护者,同时还可以是与该系统有关系的其他系统,通常用人形表示。
用例(use case):是参与者可以体验的系统服务和功能单元,用椭圆表示。
系统边界:一个系统与另一个系统之间的界限,而一个系统边界外的其他与该系统相关的部分称之为系统环境,用一个矩形框包含系统中的用例来表示,下面会有完整用例图 来解读。
关系(relationship):用例图的关系有四种,分别是关联、扩展、泛化、包含。
1:关联用来表示参与者与用例的关系,用线条箭头表示,如下图:
参与者和用例的关联例子:(由于visio2013里的关联没有箭头,我也懒得折腾了,就直接这样了,下面用红色箭头稍微标注了一下,正规的还是要用上方的线条箭头的)
2:泛化是参与者或者用例之间的关系,用空心箭头表示,如下图:
特别注意箭头打向父用例或者父参与者!
泛化这个要比其他几个关系更难理解一点,其实直白的说就是类似继承,一个子参与者或者子用例继承父参与者或者父用例,因此继承了父参与者或者父用例所有的行为、关系以及结构,通常父参与者或者父用例比较抽象,例如人就是一个抽象参与者,它可以分为学生参与者,也可以分为老师参与者,这就是一个泛化的参与者关系。
泛化的实例:
3:扩展是用例之间的关系,用来表示用例添加的新的功能或者行为,以此诞生的新用例叫扩展用例,原先的用例成为基础(base)用例,用虚线和线条箭头表示,中间用<< extend>>(extend可以用扩展中文来替换)来表示,如下图。
扩展用例的例子,这里:
4:包含也是用例之间的关系,用来表示一个用例包含多个用例的情况,一般这种都是一个基础用例具有比较复杂的功能或者行为,需要分多个用例来完成的情况,和扩展一样式用虚线线条箭头以及中间用<<include>>(include可以用包含等中文来替换)来表示,如下图。