第 3章
用例和用例框图
制作 龙鹏飞
1.用例与协作( use case &
collaboration)
一)用例 (用况、用案)
定义 1,用例是 对一个参与者( actor)使用系统的
一项功能时所进行的 交互过程的一个文字描述
序列 。
定义 2:用例是系统、子系统或类 与 外部的参与
者( actor)交互的动作序列的说明,包括可选
的动作序列和会出现异常的动作序列。
制作 龙鹏飞
? 用例表示
登录
卖出证券
买进证券
制作 龙鹏飞
? 银行业务系统
查看帐户余额
列出交易内容
划拨资金
支付帐款
买进证券
卖出证券
制作 龙鹏飞
? 特点
1)用例从系统使用者的角度描述系统中信

2)用例描述了用户提出的一些可见需求,
对应一个具体的用户目标:目的是促进与
用户沟通,正确理解需求、确定域范围
3)用例是对系统行为的动态描述,属于
UML的动态建模部分。?
制作 龙鹏飞
? 理解
1)用例并不是系统的全部需求,用例只是
描述功能性方面的需求。
2)用例分析是一种功能分解技术
3)用例是与实现无关的系统功能描述,用
例实现可用协作描述。
制作 龙鹏飞
编写系统需求说明时,应根据需求大纲,
一个需求大纲可能包括下列方面内容:
①系统的目的和范围
②系统中术语表
③用例
④系统采用的技术
⑤开发过程中的参加人员、业务规则、系
统运行所依赖的条件、安全要求、文档
要求等
⑥法律、政治、组织机构等方面的问题
二)协作
? 定义
协作是对由共同工作的类、接口和别的元
素所组成的群体的命名,这组群体提供合
作的行为。
协作的内部由两部分组成:结构部分和行
为部分。
制作 龙鹏飞
1)结构部分
类、接口及其它一些建模元素。
2)行为部分
说明类、接口及其它一些建模元素如何协
调工作。
用协作图、顺序图和类图描述。
制作 龙鹏飞
? 表示
登录
登录实现
安全登录实现
制作 龙鹏飞
2.参与者( actor)
? 定义
是指系统以外的、需要使用系统或与系统
交互的事物 —— 人、设备、外部系统等。
制作 龙鹏飞
? 表示
<<actor>>
管理员 管理员
制作 龙鹏飞
? 参与者之间的关系
客户 商业客户
雇员 管理者
可操作的功能比一般
参与者要多
制作 龙鹏飞
3.脚本 (scenario)
脚本(情景、场景、情节、剧本)
? 定义
?指贯穿用例的一条单一路径,或用来显示
用例中的某种特殊情况。
?脚本是用例的实例。
?每个用例都有一系列的脚本,其中包括:
一个主要脚本;多个次要脚本。次要脚本
描述执行路径中的异常或可选择的情况。
制作 龙鹏飞
? 表示
一个脚本用具体的文字描述来表示。
制作 龙鹏飞
4.用例间的关系
用例不仅与参与者有关联关系,而且其之
间也存在关系
1)泛化关系 (generalization)
验证用户 验证密码
扫描ID卡
制作 龙鹏飞
2)包含关系 (include)
包含关系指一个用例的行为包含了另一个
用例的行为。
前者叫做基用例,后者叫做包含用例。
制作 龙鹏飞
登录
删除帐户
建立帐户
修改帐户
< < i n c l u d e > >
< < i n c l u d e > >
< < i n c l u d e > >
制作 龙鹏飞
3)扩展关系 (extend)
扩展关系用来说明可选的、只在特定条件
下运行的行为。
具有扩展关系的用例基于参与者的选择,
可以运行几个不同的流。
扩展关系表示基用例在指定的扩展点隐式
地含有另一个用例(扩展用例)的行为。
制作 龙鹏飞
补考
学生
参加考试
< < e x t e n d > >
制作 龙鹏飞
4)用例关系比较
? 泛化关系和扩展关系表示的是特殊与一般
的关系,基用例是完整的可独立的。泛化
关系中的, 扩展, 是不受限制的,而扩展
关系的, 扩展, 只限于基用例的扩展点上。
? 包含关系是聚合关系,基用例可能不是完
整的和独立的。
制作 龙鹏飞
5.用例图
用例图是显示一组用例、参与者以及它们
之间关系的图。
制作 龙鹏飞
兼职员工
全职员工
选择报酬方式 考勤
制作员工工作报告
数据库系统
员工
登录
管理员
维护员工信息
系统时钟
打印机
管理薪水
银行系统
制作 龙鹏飞
6.用例的描述
? 自然语言
? 内容
用例的目标
用例是怎么启动的
参与者和用例之间的消息是如何传送的
用例中除了主路径外,其它路径是什么
用例结束后的系统状态
其它需要描述的内容
制作 龙鹏飞
? 模板
描述项 说明
用例名称 用例的用途
标识符 * 唯一,在文档别处可引用
用例描述 简单描述
参与者表 与此用例相关的参与者列表
优先级 数字越小,优先级越高。以此决定用例开发的顺序
状态 * 进行中、等待审查、通过审查或未通过审查
前置条件 条件列表,访问用例之前应得到满足
后置条件 条件列表,访问用例之后得到满足
制作 龙鹏飞
描述项 说明
基本操作流 描述用例中各项工作正常进行是用例工作方式
可选操作流 描述变更工作方式、出现异常所遵循的工作路径
被泛化用例表 该用例的特化用例列表
被包含用例表 该用例所包含用例列表
被扩展用例表 该用例的扩展用例列表
修改历史记录 * 关于用例的修改时间、原因和修改人信息等
问题 * 与此用例开发相关的问题列表
决策 * 关键决策列表
频率 * 参与者访问该月利的频率
制作 龙鹏飞
7.寻找用例的方法
1,找出系统外部的参与者(人、设备、外部系统),确
定系统的边界和范围。
2,确定每一个参与者所期望的系统行为。
3,把这些系统行为命名为用例。
4,使用泛化、包含、扩展等关系处理系统行为的公共或
变更部分。
5,绘制用例图。
6,编制每一个用例的脚本。
7,区分主事件流和异常情况的事件流,如果需要,可以
把异常情况处理的事件流作为单独的用例处理。
8,细化用例图,解决用例间的重复与冲突问题。
常用步骤,可调换,可反复。
制作 龙鹏飞
作业
1.按照寻找用例方法,指出成绩管理系统
的用例,并绘制用例图。
2.从作业中选出一个用例,描述其事件流。
制作 龙鹏飞