UML part2 用例图用例文档写作

Posted 跟着金哥有肉吃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML part2 用例图用例文档写作相关的知识,希望对你有一定的参考价值。

UML part2 用例图、用例文档写作


用例图

1. 用例图的优点:可视化地表达系统需求,直观规范

2. 用例图的作用:

①在探讨问题时,便于系统用户、系统分析和设计人员领域专家沟通交流、达成共识

②使开发者快速准确的;了解用户需求和相关概念

3. 定义:由参与者用例以及它们之间的关系构成的用于描述系统功能的动态视图

4.组成元素

①参与者 Actor

②用例 Use Case

③关系 Relationship


用例图组成元素画法


5. 参与者(Actor)

①定义:人、系统或类外部实体的抽象,存在于系统外部并直接与系统进行交互

②参与者的种类:参与者不仅可以由个人承担,还可以是其他系统、硬件设备,甚至是时钟

在题中多为使用这个系统的用户,例如:系统管理员,各种用户等

③注意事项:同一个人或事物可以扮演不同的角色

a. 参与者不是指人或事物本身,而是指人或事物当时扮演的角色

b. 不能将参与者的名字设置为参与者某个实例的名字

c. 例如:张三既可以作为银行职员进行管理账户的操作,也可以作为银行客户进行存取现金的操作,但在用例图中参与者的名字不能为张三这样的具体名字,而是他所扮演的角色银行职员和银行客户

④参与者之间的关系

a. 参与者实质上也是类,因此它拥有与类相同的关系描述

b. 参与者与参与者之间主要是泛化关系


UML part2 用例图、用例文档写作

参与者与参与者之间的泛化关系举例


6. 用例(Use Case)

①定义:是参与者可以感受到的系统服务或功能单元,用文本的形式描述了参与者为了使用系统的某项功能而与系统之间发生的交互过程

②用例是对一组动作序列的抽象描述,用例的名称最好使用动词开头,例如:归还书籍,缴纳罚款,查看班级信息

③注意事项:

a. 用例必须由某个参与者触发激活后才能执行

b. 用例表明的是一个类,而并非某个具体实例

c. 用例不是一个椭圆,而是一个完整的描述

④. 用例与场景

定义:在系统中,按照某个顺序执行了一系列相关的动作后,即可实现某种功能,把完成了这一功能的操作集合称为场景


UML part2 用例图、用例文档写作


用例与场景的关系:

a. 类是对一组对象共同属性和行为的抽象

b. 用例是对一组场景共同行为的抽象

c. 场景就是用例的实例,是用例的依次完整的、具体的执行过程

d. 场景包括成功场景和失败场景

e. 在描述用例时应覆盖所有的场景,避免遗漏某些需求

⑤用例的粒度

用例的实质:对系统功能需求的分析和分解

用例的粒度:用例所包含的系统服务或功能单元的多少

a. 用例的粒度越大,其包含的功能就越多,最终得到的用例数就越少

b. 用例的粒度越小,其包含的功能就越少,最终得到的用例数就越多


UML part2 用例图、用例文档写作

左图粒度大,右图粒度小


7. 用例之间的关系(Relationship)

(1)包含关系

①定义:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分


UML part2 用例图、用例文档写作

箭头方向:由基用例指向包含用例


②包含关系的使用

a. 多个用例用到同一段的行为,则可以把这段共同的行为单独抽象成为一个用例,然后让其他用例来包含这一用例


UML part2 用例图、用例文档写作


b. 某一个用例的功能过多,事件流过于复杂时也可以把某一段事件流抽象成为一个被包含的用例,以达到简化描述的目的


UML part2 用例图、用例文档写作


③包含关系的优点

a. 可以避免在多个用例中重复描述同一段行为

b. 提高了用例模型的可维护性:当需要对公共需求进行修改时,只需要修改一个用例而不修改所有与其有关的用例

c. 避免在多个用例中对同一段行为描述的不一致

(2)扩展关系

①定义:在一定条件下,把新的行为加入到已有的用例中,获得的新用例成为扩展用例,原有的用例称为基用例


UML part2 用例图、用例文档写作

箭头方向:扩展用例指向基用例


②扩展关系和包含关系的区别

a. 在扩展关系中,扩展用例只有在满足一定条件下才会被执行;而在包含关系中,当基用例执行后,被包含用例是一定会被执行的

b. 即使没有扩展用例,扩展关系中的基用例本身也是完整的;而对于包含关系,基用例在没有被包含用例的情况下就是不完整的存在


UML part2 用例图、用例文档写作

扩展用例示例


UML part2 用例图、用例文档写作

扩展用例示例


(3)泛化关系

①定义:一个父用例可以被特化形成多个子用例,子用例继承了父用例所有的结构、行为和关系,子用例是父用例的一种特殊形式


UML part2 用例图、用例文档写作

箭头方向:子用例指向父用例


②泛化关系和包含关系的区别

a. 泛化关系:所有的子用例都有相似的目的和结构,它们是整体上的相似

b. 包含关系:基用例在目的上可以完全不同,但它们都有一段相似的行为,它们的相似是部分的相似


UML part2 用例图、用例文档写作

泛化关系示例


(4)用例关系总结

①包含关系:将多个用例中的重复场景抽象为包含关系,避免用例文本的重复编写

②扩展关系:可以将可选路径中的场景抽象为扩展关系

③泛化关系:两个或更多用例在行为、结构、目的等方面存在共性


【考试画图类型题】

要点:

1. 仔细读题分析参与者和用例,可以边读题边用符号把参与者和用例圈出来,避免遗漏,例如,将题中是参与者的文字下面画横线,将题中是用例的文字用椭圆圈起来

2. 参与者通常为用户,用例为系统功能

3. 逐一分析用例和用例之间的关系,是否存在包含、扩展或泛化


例题1.设计图书管理系统的管理模块,由图书管理员进行图书管理工作,系统具有书籍归还书籍借阅删除书籍预定信息功能,如果书籍逾期未归还需要缴纳罚款,书籍借阅时需要检查用户借阅凭证的合法性,请画出该模块的用例图

分析:蓝色标是参与者,粉色标是用例(画图时,别忘了用例名称是以动词开头的),通过“如果书籍逾期未归还需要缴纳罚款”得出“缴纳罚款”用例和“归还书籍”用例是扩展关系,通过“书籍借阅时需要检查用户借阅凭证的合法性”得出“借阅书籍”和“检查用户借阅凭证的合法性”是包含关系,得出答案




例题2.网络的普及带给了人们更多的学习途径,随之而来的管理班级信息的“班级管理系统”诞生了,“班级管理系统”的功能如下:管理员可以登录系统并完成查看修改删除以及录入班级信息的操作,如果登录时忘记密码可以进行密码找回院领导可以登录系统查看班级信息,如果登录时忘记密码也可以进行密码找回,请画出该问题的用例模型

分析:蓝色标是参与者,粉色标是用例(画图时,别忘了用例名称是以动词开头的),通过读题能发现两个参与者都有登录、找回密码和查看班级信息的功能,通过“如果登录时忘记密码可以进行密码找回”得出“登录”用例和“密码找回”用例是扩展关系,得出答案





用例文档写作(*单独出大题)

1. 用例模型=用例图+用例文档

①用例图只能勾勒一个大致的系统功能轮廓,对于软件开发活动而言不够充分

②一个完整的用例模型不仅包括用例图这个部分,更重要的是它的用例描述部分

2. 用例文档:采用足够清晰的、外部人员很容易理解的文字来描述用例所属的事件流,以说明一个用例的行为

3. 用例文档模板(只列出考试需要写的):用例编号,用例名称,用例描述,参与者,前置条件,后置条件,基本路径,扩展路径,补充说明

①用例编号:为用例制定一个唯一的编号,一般格式为UC...,例如UC1,UC2

②用例名称:一个动词短语,能一目了然用例的目标,例如借书,选课

③用例描述:概要性描述用例的目标,例如学生通过系统选择课程

④参与者:题中涉及的Actor,例如会员,读者,学生

⑤前置条件:启动该用例前应满足的条件,例如Actor访问系统

⑥后置条件:该用例完成后将要执行什么动作,例如Actor选择完毕所学的课程

⑦基本路径:步骤+活动,读题,按照题顺序,逐一写

格式:

1、...

2、...

3、...

⑧扩展路径:是对基本路径的扩展,如果基本路径的某一步骤有条件发生,就把条件和发生的事件写在扩展路径中,几号步骤的扩展内容在扩展路径中就写几a.条件,然后下一行写几a1.发生事件

举例3号步骤的一个扩展事件流,格式:

3a.条件

    3a1.触发条件后,发生的事件

⑨补充说明:对该用例实现时需要考虑的业务规则、非功能需求、设计约束等,没有就写无


【考试用例文档写作类型题】

要点:

1.背住上面的用例文档模板,按照上面给的编号顺序,逐一往下写

2.认真读题,几乎就是把题拆解


例题1. 当管理员开启图书借阅功能后,读者就可以通过该系统提交借书请求了:首先,读者输入借书证编码系统验证显示该借阅者的信息;然后,读者输入所借图书的条码系统验证显示所借图书的信息;最后读者确认借书系统保存借书信息,并等待处理下一个借书请求。如果借书证编码有错,系统会显示“借书证编码错误,请重新输入!”如果图书的条码输入错误,系统会显示“图书编码错误,请重新输入!”。请按照以上内容,设计并编写用例文档,要求文档中包括“用例编号、用例名称、用例描述、参与者、前置条件、后置条件、基本路径、扩展路径和补充说明”等9项信息

分析:蓝色标是基本路径内容,粉色标是扩展路径内容,把基本路径按照题顺序逐一写,扩展路径的序号和基本路径的触发的步骤编号相对应,所有的模板里面的内容都能在题里找到,以下答案格式是标准版的


UC1:借书

用例描述:

    读者通过系统提交借书请求

参与者:

    读者(首要)

前置条件:

    管理员开启图书借阅功能

后置条件:

    系统保存借书信息,并等待处理下一个借书请求

基本路径:

1.管理员开启图书借阅功能

2.Actor输入借书编码

3.系统验证借书编码

4.系统显示借阅者信息

5.Actor输入所借图书的条码

6.系统验证所借图书的条码

7.系统显示所借图书的信息

8.Actor确认借书

9.系统保存借书信息

扩展路径:

3a.借书证编码有错

    3a1.系统显示“借书证编码错误,请重新输入!”

6a.图书的条码输入错误

    6a1.系统显示“图书编码错误,请重新输入!”

补充说明:无


例2.学生通过某系统选择所学的课程系统在检查学生的缴费情况后,会请学生再次确认所选课程,如果学生确认,则系统会保存选课成功的信息如果学生没有确认,系统会退出选课界面,选课失败;如果学生没有缴费,系统会显示“没有缴费”的提示,选课失败。请按照以上内容,设计并编写用例文档,要求文档中包括“用例编号、用例名称、用例描述、参与者、前置条件、后置条件、基本路径、扩展路径和补充说明”等9项信息

分析:蓝色标是基本路径内容,粉色标是扩展路径内容,把基本路径按照题顺序逐一写,扩展路径的序号和基本路径的触发的步骤编号相对应


UC1:选课

用例描述:

    学生通过该系统选择所学课程

参与者:

    学生(首要)

前置条件:

    Actor访问系统

后置条件:

    Actor选择完毕所学的课程

基本路径:

1.Actor选择所学的课程

2.系统检查学生的缴费情况

3.系统要求确认所选课程

4.Actor确认所选课程

5.系统保存选课成功的信息

扩展路径:

2a.如果学生没有缴费

    2a1.系统显示“没有缴费”

4a.如果学生没有确认

    4a1.系统退出选课页面

补充说明:无



例3.某网站为游客和已登录的用户提供机械零件检索业务,游客或用户可在查询页面提交零件的类别、编号以及几何特征信息(包括:内径、外径、螺距和形状等,不同类型的零件,表征所用的几何特征不同)等查询条件,系统会根据查询条件查找显示所有搜索到零件的编号、类别和价格;当游客或用户选中某个零件时系统会显示该零件的详细信息(零件编号、库存量、类别、几何特征和价格);如果系统没有检索到所需零件,将会显示“没有找到适合条件的零件”。

请按照以上内容,设计并编写用例文档,要求文档中包括“用例编号、用例名称、用例描述、参与者、前置条件、后置条件、基本路径、扩展路径和补充说明”等9项信息

分析:蓝色标是基本路径内容,粉色标是扩展路径内容,把基本路径按照题顺序逐一写,扩展路径的序号和基本路径的触发的步骤编号相对应,注意这道题有补充说明,几何特征信息后面括号里的内容和零件的详细信息后面括号里的内容都是补充说明


UC1:检索零件

用例描述:

    Actor根据零件的类别、编号及几何特征信息检索出所需零件的详细信息和价格

参与者:

    潜在会员(首要),会员

前置条件:

    Actor访问系统

后置条件:

    Actor查询到所需的零件

基本路径:

1.Actor提交零件的类别、编号、几何特征等查询条件

2.系统按照查询条件检索零件信息

3.系统显示所有搜索到零件的编号、类别和价格

4.Actor选中某个零件

5.系统显示该零件的详细信息

扩展路径:

2a.系统没有检索到所需零件

    2a1.系统显示“没有找到适合条件的零件”

补充说明:

1.几何特征包括:内径、外径、螺距和形状等,不同类型的零件,表征所用的几何特征不同

2.零件的详细信息包括:零件编号、库存量、类别、几何特征和价格





以上是关于UML part2 用例图用例文档写作的主要内容,如果未能解决你的问题,请参考以下文章

在vs2010中如何画uml用例图

浅谈UML用例图

UML之类图时序图用例图 粗略版介绍

介绍一种高大上的玩法:UML-用例图(UserCase)

UML建模-用例图篇

UML之用例图