(图片来源网络,侵删)
在系统需求分析阶段,一般需要使用用例图来进行系统建模,建模方式最流行的就是使用UML建模那么用例图建模的步骤是什么?用例图应该怎么画?一、用例图介绍1、用例图是被称为参与者的外部用户能观察一的系统功能模型图,主要描述用例和参与者,用例与用例之间的关系,用例就是我们平常所说的功能模块2、用例图的组成:参与者、用例、用例之间的关系,系统边界3、用例图的作用:用例图(Use Case Diagram)是从用户的角度描述系统的功能,并指出各功能的操作者,主要作用有3个:获取需求、指导测试、在整个过程中的其他工作流中期指导作用二、用例图中事物及解释1、参与者(Actor):在系统外部与系统直接交互的人或事物(1) 参与者是角色而不是具体的人(管理员,普通用户)(2) 参与者作为外部用户与系统发生交互(3) UML表示:参与者2、用例(Use Case):系统功能单元(功能模块),表示:用例三、用例图中的关系及解释1、参与者与用例之间的关系-----关联关系关系关系:表示参与者与用例之间的交互,通信,一般用实心直接表示,有时候也可带箭头,箭头指向用例关联关系2、用例之间的关系(1) 包含关系(include):一个用例需要包含另一个用例箭头指向用例为被包含用例箭头出发的用例为基用例包含关系(include):几个用例可以提取他们共用的用例作为子用例,使其成为自己行为的一部分,因为子用例被提出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行箭头由基用例指向子用例比如几个用例都要用到登录子用例,登录作为子用例没有它的参与,其他用例也无法执行,这就是包含关系一个用例的功能太多时,可以使用包含关系建立若干个更小的用例(如学生管理系统的用例图)包含关系(2) 扩展关系(extend):箭头由子用例指向基用例扩展关系(Extend):当某个新用例在原来的用例基础上增加了新的步骤序列,则原来用例被称为基用例,这种关系称为扩展关系,可以这样理解这里的基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能,只有当扩展点被激活时,子用例才会被执行比如说充值金额查询用例中有导出Excel子用例,离开子用例不影响充值金额查询的功能,这就是扩展关系(3) 包含关系与扩展关系区别:① 若要完成A功能,必须要做B功能,则A和B之间是包含关系,B作为A的部分子模块,A->B(箭头)② 若要完成A,可能需要B,也可能不需要B,则A和B之间是扩展关系A<-B(箭头)3、泛化关系泛化关系可以用于表示参与者之间的关系,或者用例与例之间的关系(1) 参与者之间的泛化关系泛化关系是一般特殊的关系,箭头指向一般,注意箭头的形状泛化关系说明:若一个系统的用户分为普通用户与管理员,则管理员与用户之间是泛化关系,箭头指向用户【例】公司的安保部门,所有员工称为保安,保安中有安全主管,保安与安全主管之间是泛化关系,箭头指向保安(2) 用例之间的泛化关系一般很少使用,与include包含关系会有部分替换,但侧重点不一样当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系其中三角箭头指向父用例泛化表示类似于“继承”或“多态”UML中的Use Case泛化过程是将不同Use Case之间的可合并部分抽象成独立的父Use Case,并将不可合并部分单独成各自的子Use Case;包含以及扩展过程与泛化过程类似,但三者对用例关系的优化侧重点是不同的:●泛化侧重表示子用例间的互斥性;●包含侧重表示被包含用例对Actor提供服务的间接性;●扩展侧重表示扩展用例的触发不定性;
0 评论