持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
用例图简介
- 用例图应用在软件开发的需求分析阶段,他描述了系统的功能以及如何使用一个系统
- 用例图显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务
- 用例图最常用来描述系统以及子系统
- 用例图分为业务用例图和系统用例图
用例图的组成
- 参与者(Actor)
- 用例(Use Case)
- 关联关系(Association)
- 包含关系(Include)
- 扩展关系(Extend)
- 泛化关系(Generalization)
参与者
参与者的概念
- 外部的一个实体
- 参与用例的执行过程
- 参与者由参与用例时所担当的角色来表示
- 每个参与者可以参与一个或多个用例
参与者种类
- 系统用户 真实的人,即用户,是最常用的参与者,几乎存在于每一个系统中,命名这类参与者时,应当按照角色命名
- 与所建造的系统交互的其他系统 外部程序
- 时间代理人 例如在汽车租凭系统中,到了还车时间客户还没有归还汽车,系统会提醒客户服务代表致电客户,这时时间就成了该系统的一个参与者
- 其他 如:硬件设备、外部服务和外部数据库等
用例
什么是用例?
外部可见的系统功能单元,在不揭示系统内部构造的前提下定义连贯的行为,不是需求或功能的规格说明
用例的特征
- 1.用例是动宾短语
- 2.用例是相对独立的
- 3.用例是由参与者启动的
- 4.用例要有可观测的执行结果
- 5.一个用例是一个单元
如何识别用例
- 特定参与者希望系统提供什么功能
- 系统是否存储和检索信息
- 当系统改变状态时,是否通知参与者
- 是否存在影响系统的外部事件
- 哪个参与者通知系统这些事件
用例间的关系
关联关系
- 表示参与者与用例之间的关系
- 不同的参与者可以访问相同的用例
包含关系
- 一个用例可以简单地包含其他用例具有的行为,并把它所包含的行为作为自身行为的一部分,这称作用例间的包含关系
- 包含关系把几个用例的公共部分分离成一个单独的被包含用例,被包含用例称为提供者用例,包含用例称为客户用例
- 客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分 包含关系的特点:
- 包含用例(客户用例)执行,则被包含用例(提供者用例)必须执行
拓展关系
- 扩展用例被定义为基础用例的增量扩展
- 扩展关系是把新的行为加入到已有的用例中去
- 基础用例提供扩展点以添加新的行为
- 扩展用例插入到基础用例的扩展点上
扩展关系的特点
- 没有基础用例,扩展用例也是完整的用例
- 基础用例被执行时,一般不会涉及扩展用例,只有特定的条件发生,扩展用例才可能被执行,这是与包含关系的差别
泛化关系
- 泛化关系是一般和特殊的关系
- 一个用例(父用例)可以被特别地列举为一个或多个子用例
- 子用例表示父用例的特殊形式
- 子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变继承的行为