Download presentation
Presentation is loading. Please wait.
1
用例
2
用例 1. 入门 2. 术语和概念 3. 普通建模技术
3
1. 入门 1.1 房子的功能 1.2 用例与实现 1.3 用例的特征 描述一组序列 包含系统和参与者的交互 1.4 用例的应用环境
4
1.1 房子的功能 几堵墙+屋顶? 用途 推断家人如何使用房子,就是基于用例分析的一个例子 招待客人? 为家人准备饭菜? 卫生间的使用?
“你”考虑使用房子的方式 “用例”驱动建筑结构
5
1.2 用例与实现 好处 答案 例如 为什么创建这样的用例? 让住房子的人与盖房子的人之间不必为细节所累 无需说明用例如何被实现的
使用用例描述用户如何使用ATM,而无需知道ATM内部细节 好处 让住房子的人与盖房子的人之间不必为细节所累
6
1.3 用例的特征 用例描述一组序列,表示系统外部事物(系统参与者)与系统本身的交互 系统参与者可以是人或者自动的系统 用例可以有变体:
作为其他用例特殊情况的用例 被包含在其他用例中作为其中一部分的用例 延伸到其他核心用例的行为的用例 用例:处理贷款 大型抵押贷款 vs 小型商务贷款 共享公共的行为:审查顾客贷款资格
7
1.4 用例的应用环境 用例的粒度:大用例和小用例 测试 vs 用例 Create Retrieve 大 :用于整个系统 Update
Delete 用例的粒度:大用例和小用例 大 :用于整个系统 小 :用于系统的一部分 更小:单个类或者接口 测试 vs 用例 用于子系统的用例 : 回归测试 用于整个系统的用例 : 集成测试和系统测试 用例:说明了元素 的预期行为
8
用例 1. 入门 2. 术语和概念 3. 普通建模技术
9
2.1. 名称(name) use case:是对一组动作序列的描述,系统执行该动作序列为参与者产生一个可观察的结果值
用例的名称在包含它的包中是唯一的 可以用字母、数字和除冒号之外的标点 一般用主动语态的动词短语 simple name V.S. path name Place order 简单名 Sensors:: Calibrate location 路径名:用例名前加上它所属的包的名称
10
2.2 参与者( actor) actor是与用例进行交互时所扮演的角色 actor不是系统的一部分
银行员工(loanofficer)有私人储蓄,同时是顾客(customer) actor可以是人、硬件设备、另外一个系统 actor不是系统的一部分 actor通过“关联”与用例连接,表示二者之间可以互相发送消息通信
11
2.3 用例和事件流 用例说明做什么(what),而不是怎么做(how) ATM系统中,描述用例ValidateUser:
1. 主事件流:系统提示顾客输入PIN,用例开始。顾客通过按键输入PIN 。顾客按“确定”按钮确认登录。系统校验这个PIN 。如果有效,系统承认这次登录,用况结束 2. 异常事件流:顾客可以在任何时间通过按“取消”按钮取消一个事务,这样,该用例重新开始,顾客帐户未发生改变 3. 异常事件流:顾客可以在确认之前的任何时刻消除PIN ,并重新输入一个新的PIN 4. 异常事件流:如果顾客输入一个无效的PIN ,用例重新开始。如果连续3次无效,系统吞卡 可以用多种方式描述用例 1. 非形式化的结构化文字 2. 形式化的结构化文字 3. 伪码
12
2.4 用例与脚本 脚本 例: 用顺序图描述用例,一个顺序图说明主流,其它的顺序图说明用例的异常流,称顺序图所描述的动作序列为一个脚本
脚本 vs 用例 对象 vs 类 例: 在人力资源系统中,有一个用例为 Hire employee 从另一家公司雇佣一个人(最普通的脚本) 从某个分部调配一个人到另一个分部(常见于跨国公司) 雇佣一个外国人(此脚本包含自身的特殊规则)
13
2.5 用例和协作 用例只说明系统想要实现的行为 建模过程中要实现用例 ROSE中的表示 创建类和其他元素 描述类、对象等元素的动态工作过程
use case - realization 使用“协作”表示 Place order Order management 实现
14
2.6 组织用例 扩展关系 包含关系 泛化关系 base use case在其事件流的某个位置显式地合并了另一个use case的行为
base use case在其事件流的某个位置隐式地合并了extend use case的行为 可以理解为将扩展用例放入基础用例中 泛化关系 用例的泛化与类的泛化相似。 子用例继承了父用例的行为和含义 retinal [`retInEl] adj. [解]视网膜的
15
用例 1. 入门 2. 术语和概念 3. 普通建模技术
16
3. 普通建模技术 用例用来做什么? 使用“用例”描述软件系统的需求 对元素的行为建模 元素:整个系统/一个子系统/一个类 关心元素做什么
不考虑怎么做 使用“用例”描述软件系统的需求
17
3. 普通建模技术 建模的策略 例:分析一个零售系统,该系统与订货的顾客交互,然后系统将装运订货,通知顾客付帐
识别与被建模元素交互的 actor 识别一般的或较特殊的角色找到 actor 考虑每个actor和这个元素进行交互时的异常的方式 找到用例,使用“include”、“extend”和“泛化”分解公共用例,区分异常的行为 例:分析一个零售系统,该系统与订货的顾客交互,然后系统将装运订货,通知顾客付帐
18
公共行为 特殊行为
19
提示和技巧 仅仅显示那些对理解系统的行为来说重要的用例 仅显示与这些用例有关的actor 从用例中提取公共行为,分解出公共用例
Similar presentations