如何根据用例图写出用例描述
如何根据用例图写出用例描述
前言:因为用例描述中的执行者和用例名很容易通过用例图得出来,所以下面讲的主要内容是如何通过用例图获得用例描述中的交互动作序列。
第一步 用例分类
A.用例分类是什么???
用例分类是指把有关系(包含或扩展)的用例放到一起,与其他用例无关系的用例单独成排。
B.为什么要进行用例分类这步操作???(Benefits)
1对于有关系的用例而言.它们的用例描述修改更方便。
2.能够有效提高书写用例描述的速度与质量。
C.如何进行用例分类???
分类标准:有无包含或扩展关系
例如:在教务管理系统中有学生和教师这两个不同的执行者,
1.对于学生的”查询课表”用例而言,该用例是需要单独进行用例描述的
原因:与用例图中的其他用例无关系
2.而对于教师的”管理课表信息”用例而言,该用例是要放在一堆进行用例描述的
原因:管理课表信息还包括增加课程信息用例
第二步 对无关系的用例进行用例描述
我们以学生在教务管理系统中查询课程信息为例来讲解操作流程P的具体使用方法。
操作流程P的目的:写出用例描述中的交互动作序列
操作流程P如下:
a.1找到执行者需要操作的信息和系统对执行者所发出的信息的反馈
学生需要操作的信息:输入课程编号
系统的反馈:教务管理系统上显示课程的信息
a.2 执行者做了….
学生输入课程编号
a.3系统给出什么什么样的信息或者系统提示什么什么样的信息
系统给出课程信息
a.4检查逻辑性与语句是否通顺
逻辑性:正确
语句是否通顺:是
所以得到的交互动作序列如下所示:
1学生输入课程编号
2系统给出课程信息
因此查询课程信息完整的用例描述如下所示
用例名:查询课程信息
执行者:学生
交互动作序列:
1学生输入课程编号
2系统给出课程信息
第三步 对有关系的用例进行用例描述
因为关系有包含和拓展这两个关系
所以对于有关系的用例要分以下两种情况讨论
A.包含:
第一步,把所有的包含用例列出来
第二步,按照下面提供的模板写出交互动作序列
模板: 1.执行者选择包含用例1、包含用例2……..或包含用例n (n根据情况而定)
1.1执行者选择包含用例1:执行包含用例1子流程
1.2执行者选择包含用例2:执行包含用例2子流程
……….
1.n执行者选择包含用例n:执行包含用例n子流程
然后再把包含用例1、包含用例2……..或包含用例n单独看成用例进行用例描述就行了。
例如在图书管理系统中有如下用例描述
用例名:管理图书信息
执行者:图书管理员
交互动作序列:
1图书管理员选择增加图书信息、删除图书信息、修改图书信息或查询图书信息
1.1图书管理员选择增加图书信息: 执行增加图书信息子流程
1.2图书管理员选择删除图书信息: 执行删除图书信息子流程
1.3图书管理员选择修改图书信息: 执行修改图书信息子流程
1.4图书管理员选择查询图书信息: 执行查询图书信息子流程
增加图书信息子流程
1.图书管理员增加图书信息
2.系统提示图书信息增加成功
删除图书信息子流程:
1.图书管理员删除图书信息
2.系统提示图书信息删除成功
修改图书信息子流程:
1.图书管理员修改图书信息
2.系统提示图书信息修改成功
查询图书信息子流程:
1.图书管理员输入图书的编号
2.系统给出图书的详细信息
B.扩展
1.按照操作流程P写出正常情况下的交互动作序列
2.再在后面加上拓展动作序列(异常情况)即可
那么如何书写拓展动作序列呢???
模板如下:
1.a如果执行者+异常情况
1.a.1执行者干了…
1.a.2 系统给出或提示….
例如在图书管理系统中,用户在登录时忘记密码了,那么忘记密码就是登录的一种异常情况
所以登录的扩展动作序列如下所示
1.a如果用户忘记密码
1.a.1用户发送找回密码请求
1.a.2系统给出改密链接
1.a.3 用户执行改密操作
1.a.4 系统提示改密成功
注释:
1关系指的是包含或扩展关系
2包含用例指的是小范围的用例。
例如: 对于管理图书信息和增加图书信息这两个用例而言,小范围的用例是增加图书信息,因此包含用例指的是增加图书信息。
3.用例描述的基本结构如下
用例名:xxxxx
执行者:xxx
交互动作序列:xxxxxxxxxxxx
由于本人水平有限,所以本随笔可能会存在一些问题。望您能及时指出,谢谢您的支持。同时也欢迎您在评论区发表你的任何看法。最后感谢您的阅读。