浅谈UML用例图

近期在项目的需求分析阶段用了用例图,之前工作中没有画过用例图(是一次都没有),依稀记得还是上大学时候接触过吧,觉得还是挺重要的,因此想对这块的知识点总结下。


1、UML模型简介

UML,是一种通用的可视化建模语言,是最广泛使用的面向对象系统的建模方法,用于对软件进行描述、可视化处理、构造和建立软件系统工作的文档。


2、UML视图分类

注:该图用的是Xmind画的


UML视图大致包括上图所展示的几种,开发人员常用的有用例图、类图和序列图和活动图,本章只针对用例图进行阐述。


3、用例图概述

在近期项目中使用了用例图,在项目需求分析阶段针对负责的模块进行需求分析画出用例图,然后拿着用例图给业务、产品进行需求反讲,给我的感觉是:对需求的认知更加清晰了;在项目开发阶段,对所需开发的功能点也很清晰;系统边界的划分也很明了。


我们来看一个用例图示例:

注:该图是用的OmniGraffle画的


我们用上图来阐述用例图所包含的常用的元素:

1、参与者:与系统交互的用户,也可能是一个外系统,用一个小人表示,即图中的管理员


2、用例:用一个椭圆表示,当一个用例比较复杂的时候可以分成多个子用例。例如学生信息维护这个用例就包含了:添加、修改、删除、查询学生信息四个子用例


3、子系统:图中的外部边框包含的就是一个子系统,用以区分系统之间的边界关系


4、上述用例图中涉及到的关系有:

1>关联关系:管理员和系统中的学生信息维护用例就是关联关系,用下图表示:


2>包含关系:学生信息维护和添加、修改、删除、查询学生信息四个子用例就是包含关系,用下图表示:


3>扩展关系:是指在原始用例的基础上的延伸的扩展功能。导出学生资料就是学生信息维护用例延伸的用例,用下图箭头表示:


4>泛化关系:可以理解成继承的关系,学生所扮演的角色可能不仅仅局限于本身可能有学生会主席,社团社长、成员等。子用例具有父用例的所有的行为。用下图表示:


5>与外系统交互:假设学生系统中把一个学生的名字录入错误并同步到宿舍系统,某一天发现了这个问题,管理员在学生系统中将 该学生的姓名修正后就通知了宿舍系统将该学生的信息改正,这里用下图箭头表示:


4、总结

用例图主要作用是定义了系统边界、系统中各个领域所具有的功能结构以及哪些用户有系统中哪些领域的权限。

在需求阶段使用用例图进行分析可以帮助研发人员对需求有更深层次的认知、系统内部的功能结构、明确系统之间的边界,这对后续与测试、产品的业务沟通以及研发阶段都会带来很好的帮助。


猜你喜欢

转载自blog.csdn.net/rui920418/article/details/80498227