【UML】用例图

概念


用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。是从用户的角度描述系统。

元素


用例图的基本元素有四点,分别是参与者、用例、系统边界、关系。


参与者(Actor):是指系统以外的,在使用系统或与系统交互中所扮演的角色。需要注意的是,并不特指人,也可以是事物或者其他的系统。


用例(Use Case):UML对用例的正式定义是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。通俗的理解就是外部可见的系统功能,对系统提供的服务提供描述,是系统的功能模块。


系统边界:表示正在建模系统的边界,边界内表示系统的组成部分,边界外表示系统外部。


关系:用例图中涉及到的关系有关联(Association)、泛化(generalization)、包含(Include)、扩展(Extend)。


关系


关联(Association):表示参与者与用例之间的通信,是常见的关系。

泛化(generalization):代表一般与特殊的关系,和面向对象程序设计中的继承类似,不同的是继承使用在实施阶段,泛化使用在分析、设计阶段。

包含(Include):把一个较复杂的用例所表示的功能分解成较小的步骤。

扩展(Extend):用例功能的延伸,为用例提供了一个附加功能,不是必须的。

分析


下面以机房收费系统的管理员的用例图为例:



在管理员的“用户管理”功能中,如果仅仅使用一个“用户管理”用例,那么“添加”、“修改”、“删除”都要在用例详述中描述,过于复杂。如果分成“添加”用例、“修改”用例和“删除”用例,则划分太细。这时包含关系可以用来理清关系。如图所示:把“添加”、“修改”、“删除”包含在“用户管理”用例中。

在“日结”用例中,“刷新”和“打印”都是相对独立和可选的动作,是否打印对于“日结”功能都是一样的。

在“结账”、“日结”、“周结”这三者之间,使用了泛化关系,可以理解为“日结”继承了结账的方法,并且拥有自己的方法和属性,而“周结”又继承了“日结”。


小结


用例图主要用来描述客户的需求,由客户和开发者共同探讨,最后达成共识,用在需求分析阶段。用例图关注的是系统的外在表现,系统与人的交互,系统与系统的交互。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值