第3章-用例图-1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016/3/2
学生选课系统中“登录”用例的描述
基本事件流:
1)系统提示用户输入用户名和密码。
2)用户输入用户名和密码。 3)系统检查用户名和密码的合法性。 4)将检查结果返回给用户,进入下一界面。
备选事件流:
3.a 如果用户名和密码不合法,给出提示,结束。
2016/3/2
3.5 用例图建模技术
(4)删除帐号信息
注意:创建账号、修改账号和删除账号都必须首先登录银行 计算机系统。
2016/3/2
修改帐号
《include》
《include》
银行职员
创建新帐号
登录 《include》
删除帐号
2016/3/2
4. 扩展关系
(1)在一定条件下,把新行为加入到已有用例中,获得的 新用例称作扩展用例,原有用例称为基础用例,从扩展 用例到基础用例之间的关系就是扩展关系。 (2)基用例是可以独立于扩展用例存在的,只有在特定条 件下,扩展用例的行为才被执行。基用例没有扩展用例 也是完整的。
第3章 用例图
教学目标: 1、掌握用例模型包含内容 2、熟练掌握用例图建模元素
3、熟练掌握用例图中的关系
4、掌握用例描述
5、掌握用例图建模技术
2016/3/2
第3章 用例图
3.1 用例模型概述
3.2 用例图
3.3 用例图中的关系
3.4 用例描述
3.5 用例图建模技术
2016/3/2
3.1 用例模型概述
2016/3/2
学生选课系统的参与者:
学生
录入员
财务系统
学生
学生选课系统 财务系统
录入员
2016/3/2
如何识别系统用例?
参与者: “谁来做?” 用例:“做什么?” 通过以下几个问题可以帮助识别用例: (1)参与者希望系统提供什么功能; (2) 系统是否存储、删除和检索信息,如果是这个行 为由哪个参与者触发;
(1)一般---特殊的关系使用泛化关系。
(2) 在包含关系中,在执行基用例时,一定会执 行包含用例部分。 (3)基用例是可以独立于扩展用例存在的,只有 在特定条件下,扩展用例的行为才被执行。一个 基用例执行时,可以执行、也可以不执行扩展用 例。
2016/3/2
练习
请画出图书管理系统用例图?
参与者: 读者
(3)后置条件:用例结束后系统应该具备的状态和条件。 (4)备选事件流:主要是对一些异常情况、非正常流程 进行描述。
2016/3/2
学生选课系统部分用例图
选课 学生 《include》 财务系统
登录
2016/3/2
例:学生选课系统中“选课”用例的描述
用例编号:UC-001
用例名:选课
参与者:学生 目的:完成一次学生选课的过程 类型:主要的 级别:一级
(4)系统需要处理哪些硬件设备?
(5)该系统需要和哪些外部系统交互?
(6)谁(或什么)对系统产生的结果感兴趣?
2016/3/2
举例: 一个简化的学生选课系统,学生可以使用该系统 选修课程。 用户需求说明: 1. 为每个使用系统的人员设置权限,只有通过权限验 证的人才能使用系统。 2. 学生可以使用该系统查看课程信息、选修课程。 3. 学生选课时,系统要通过财务管理系统核对学生是 否交费,只有交费的学生才能选修课程。 4. 系统录入员负责录入选修课程信息和教师信息。
2016/3/2
二、 需求分析
1、确定系统边界 2、识别参与者,识别用例 3、对用例进行描述 4、确定用例、参与者之间的关系,画出用例图 5、构造用例模型
2016/3/2
1、确定系统边界
(1) 系统边界:指一个系统的所有系统元素 与系统以外的事物的分界线。
(2) 表示:实线方框,把要开发的系统看成
前置条件:成功登录,进入选课界面。
后置条件:退出选课界面。
2016/3/2
例:学生选课系统中“选课”用例的描述
基本事件流:
1. 浏览本学期预开设的课程。 2.学生选择要选修的课程并确认。 3. 系统通过财务系统检查学生是否交费。 4. 系统更新该学生所选课程。 5. 系统显示学生所选课程。 6. 学生提交所选课程。 7. 系统保存学生所选课程。
2016/3/2
3)扩展关系表示:虚线箭头加构造型《extend》表示。
《extend》
基用例 扩展用例
例1:汽车租赁系统部分用例图
《extend》
超期、损坏
用户
2016/3/2
还车
交纳罚金
扩展关系的事件流执行顺序
还车 用户
当发生超期和 车辆损坏时
交纳罚金
2016/3/2
例2:图书管理系统部分用例图
2016/3/2
3. 参与者与系统交互的过程可以用一系列步骤来描述,这些步骤 构成一个场景,场景的集合就是用例。 4. 用例的表示: 用例用椭圆表示,用例命名一般采用动宾结构或主谓结构。
还书 选修课程
注意:一般用例名写在椭圆的内部或下方。
2016/3/2
四、系统边界
1. 定义: 用例图中的系统边界用来表示正在建模系统的边界。 边界内表示系统的组成部分,边界外表示系统外部。 2.表示:
系统名称 参与者
用例
2016/3/2
3.3 用例图中的关系
1. 关联关系(Association) 2. 泛化关系(Generalization) 3. 包含关系(Include) 4. 扩展关系(Extend)
2016/3/2
1.关联关系
描述参与者和用例之间的关系,关联关系使用带箭头或 不带箭头的线段来表示。
(3)当系统改变状态时, 通知参与者吗;
(4)存在影响系统的外部事件吗; (5)是哪个参与者通知系统这些事件。
2016/3/2
举例: 一个简化的学生选课系统,学生可以使用该系统 选修课程。 用户需求说明: 1. 为每个使用系统的人员设置权限,只有通过权限验 证的人才能使用系统。 2. 学生可以使用该系统查看课程信息、选修课程。 3. 学生选课时,系统要通过财务管理系统核对学生是 否交费,只有交费的学生才能选修课程。 4. 系统录入员负责录入选修课程信息和教师信息。
用例: (1)借书 (2)查找书目 (3)身份验证 注意:借书时必须进行身份验证, 读者只有在不知道要借图书的名称 和编号的情况下查找书目。
2016/3/2
借书
《extend》
《include》
查找书目
读者
身份验证
用例之间的包含和扩展关系
2016/3/2
6. 参与者、用例间的关系类型小结
关系类型 关联 说明 参与者和用例之间的关系 表示符号
父类参与者
子类参与者
2016/3/2
子类参与者
三、 用例(UseCase)
1. 定义: 用例是参与者可以感受到的系统服务或功能单元。 2. 用例具有的特征: 1)用例由某个角色来驱动执行; 2)用例把执行结果的值反馈给角色; 3)用例在功能上具有完整性。
注意:用例只会指出系统应该做什么,即系统的需 求,而不是确切地说明系统不必做什么,即系统 的非功能需求。
1、用例模型:能够有效地帮助开发人员发现真正的需求 ,并以适于用户、客户和开发人员的方法加以表示。
2、用例模型包括:
用于描述一个系统的所有用例图和用例描述。 3、用例模型作用: 1)用例模型描述了待开发系统的功能需求。 2)用例模型将系统看作黑盒子。 3)用例模型驱动了需求分析之后各阶段的开发工作。
2016/3/2
3)包含关系表示:虚线箭头加构造型《include》表示。
《include》
基用例 包含用例
例 1:
《include》 网上预定 填写电子表格
汽车租赁系统部分用例图
2016/3/2
包含关系的事件流执行顺序:
网上预定 用户
一个用例功能太多, 建模2个小的用例。
填写电子表格
2016/3/2
泛化
参与者之间或
用例之间的关系
包含 扩展
2016/3/2
用例之间的关系 用例之间的关系
《include》 《extend》
wenku.baidu.com
3.4 用例描述(规约)
1.用例描述:用来说明参与者为了实现自己的目标与系 统进行交互的过程,通常用用户容易理解的正文来描 述,用例描述的是一个系统做什么(what)的信息,并 不说明怎么做(how)。 2.用例描述主要包括:
例2:计算机辅助教学系统部分用例图 公共的事件流 提取出来。
更改个人信息
《include》
《include》
用户
浏览个人信息
《include》
查找人
删除个人信息
2016/3/2
课堂练习
请画出银行计算机系统的部分用例图? 参与者: 银行职员 用例: (1)登录 (2)创建新帐号 (3)修改帐号信息
(1)用例名称 (2)参与者 (3)基本事件流 (4)前置条件 (5)后置条件 (6)备选事件流 其它包括:用例编号、目的、类型(主要、基本、次要)、级别。
2016/3/2
(1)基本事件流 对用例中常规、预期路径的描述。参与者通过这个路 径来执行用例可以得到一个有价值的结果。 (2)前置条件:开始用例之前必须满足的必要条件。
二、 参与者(Actor)
1. 定义:是指系统以外并直接与系统进行交互的实体, 包括人、设备、外部系统等。 2. 表示法:
《Actor》 Actor1
参与者(Actor)
2016/3/2
3. 参与者的类型 (1)系统用户:真实的人 (2)其它系统: DB系统 (3)硬件设备或时间: IC卡读写器等 4. 参与者之间的关系 泛化关系和关联关系
一个黑盒子 (3) 系统开发主要任务:对系统边界内的元 素进行分析、设计和实现,系统边界外 部的事物统称为执行者。
用例A
系统名称
参与者(Actor)
2016/3/2
用例B
2、如何获取系统参与者?
(1)谁使用该系统主要功能?(主要角色)
(2)谁需要系统的支持以完成日常工作任务?
(3)谁维护、管理并保持系统正常运行?(次要角色)
什么样的功能,完成什么
样的工作。
2016/3/2
举例: 一个简化的学生选课系统,学生可以使用该系统 选修课程。 一、获取用户需求 1. 为每个使用系统的人员设置权限,只有通过权限验 证的人才能使用系统。 2. 学生可以使用该系统查看课程信息、选修课程。 3. 学生选课时,系统要通过财务管理系统核对学生是 否交费,只有交费的学生才能选修课程。 4. 系统录入员负责录入选修课程信息和教师信息。
1)包含关系:一个用例可以包含其他用例具有的行为, 并把它所包含的用例行为作为自身行为的一部分,这 被称为包含关系。 2)在两种情况下引入包含关系:
(a) 如果两个以上的用例有大量相同的行为,则可以将这 段行为抽象到另一个用例中,其他用例可以和这个用 例建立包含关系。(公共的事件流提取出来)
(b) 一个用例的功能太多时,可以用包含关系建模两个小用 例。(分解)
用例图建模步骤: 一、 获取用户需求 二、 需求分析 三、 需求描述
问题域
需 求 规 格
用例描述
获取用户需求
2016/3/2
需求分析
用例模型
一、 获取用户需求 获取用户需求比较有效的方式 是通过座谈会、调查、访 谈等形式,了解到用户希 望建立一个什么样的系统, 或者希望系统为他们提供
系统? 功能!
讲授课程 教师 自我测试 计算机辅助教学系统用例图
2016/3/2
学生
2. 泛化关系
用例间的泛化关系可以用来表示参与者与参与者之间、用例与用 例之间的特殊/一般化关系。
预定汽车
用户
查询人
电话预定
网上预定
查询教师
查询学生
汽车租赁系统部分用例图
2016/3/2
计算机辅助教学系统部分用例图
3. 包含关系
还书 超期、损坏
《extend》
借书
读者
查找书
交纳罚金
2016/3/2
课堂练习 请画出学生成绩管理系 统的部分用例图? 参与者: 学生 用例: (1)上课 (2)完成作业
(3)参加考试
(4)补考
2016/3/2
扩展关系
参加考试 扩展点 未及格
《extend》
上课
学生
完成作业
补考
2016/3/2
5. 用例的泛化、包含、扩展关系的比较
2016/3/2
3.2 用例图
一、用例图:
1、用例图定义
由参与者、用例以及它们之间 的关系构成的用于描述系统功 能的动态视图。
2016/3/2
2、用例图包含4个建模元素:
(1)参与者(角色) (2)用例 (3)关系 (4)系统边界
系统名称 关联关系 用例A
参与者(Actor)
用例B
2016/3/2
备选事件流:
2.a 如果学生没有交费,给出提示,结束。 5.a 如果学生没有提交,给出提示,结束。
2016/3/2
练习:
请写出学生选课系统中“登录”用例的描述?
2016/3/2
学生选课系统中“登录”用例的描述
用例编号:UC-002 用例名:登录 参与者:学生 目的:完成一次登录过程 类型:基本的 级别:二级 前置条件:进入选课系统登录界面。 后置条件:登录成功,进入下一界面。