OOA&OOD阶段性复习(用例图--顺序图)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
依赖关系
表示两个或多个模型元素之间语义上的 关系。 关系。 客户以某种形式依赖于提供者。 客户以某种形式依赖于提供者。 关联、实现和泛化都是依赖关系。 关联、实现和泛化都是依赖关系。
泛化关系
存在于一般元素和特殊元素间的分类关系。 存在于一般元素和特殊元素间的分类关系。 可以用于类、用例以及其他模型元素。 可以用于类、用例以及其他模型元素。 描述了一种“ 的关系。 描述了一种“is a kind of” 的关系。
扩展关系
把新的行为添加到已有的用例中, 把新的行为添加到已有的用例中,获得的新 用例,称为扩展用例; 用例,称为扩展用例; 基础用例提供扩展点以添加新的行为。 基础用例提供扩展点以添加新的行为。 扩展用例提供插入片段以插入到基础用例的 扩展点上。 扩展点上。
扩展关系和包含关系的区别
①
②
③
扩展关系中, 扩展关系中,基础用例提供了一个或多个插入 点,扩展用例作为这些插入点提供需要插入的 行为。而包含关系中,插入点只有一个; 行为。而包含关系中,插入点只有一个; 基础用例的执行不一定会涉及到扩展用例, 基础用例的执行不一定会涉及到扩展用例,扩 展用例只有在满足一定条件才会被执行。包含 展用例只有在满足一定条件才会被执行。 关系中基础用例执行后,包含用例一定会执行; 关系中基础用例执行后,包含用例一定会执行; 即使没有扩展用例,基础用例本身也是完整的, 即使没有扩展用例,基础用例本身也是完整的, 而包含关系中, 而包含关系中,基础用例在没有包含用例的情 况下是不完整的; 况下是不完整的;
泳道技术
所谓泳道技术, 所谓泳道技术,是将活动用线分成一些 纵向的区域,这些纵向区域称之为泳道。 纵向的区域,这些纵向区域称之为泳道。 每个区域代表一个特定的类、 每个区域代表一个特定的类、人或者部 门的责任区。 门的责任区。泳道技术是活动图中引入 的一种面向对象机制。 的一种面向对象机制。可以为提取类以 及分析各个对象之间的交互提供方便; 及分析各个对象之间的交互提供方便;
实现关系
规格说明和其实现之间的关系。 规格说明和其实现之间的关系。 客户必须至少支持提供者的所有操作。 客户必须至少支持提供者的所有操作。 泛化和实现都可以将一般描述与具体描述联系起来: 泛化和实现都可以将一般描述与具体描述联系起来: 泛化将同一语义层上的元素连接起来, 泛化将同一语义层上的元素连接起来,并且通常在同一模型 内。 实现将不同语义层内的元素连接起来, 实现将不同语义层内的元素连接起来,并且通常建立在不同 的模型内。 的模型内。
聚集关系
一种特殊类型的关联。 一种特殊类型的关联。 表示整体与部分关系的关联。 表示整体与部分关系的关联。 描述了“ 描述了“has a”的关系 的关系
个人计算机 ◇ 1 2 音箱 2 主机 ◇ 1..* 磁盘驱动器 声卡 1 ▲ 连接到 1 1 显卡 1 CPU 1 内存 1 键盘 1 1 鼠标 1 显示器
参与者的种类
① ② ③
系统用户( 系统用户(人) 与所建造的系统交互的其他系统 一些可以运行的进程
参与者的特点
① ②
③
位于系统边界之外; 位于系统边界之外; 对系统有着明确的期望和明确的回报要 求; 参与者的期望和回报要求在系统边界之 内;
wk.baidu.com
用例的特点
①
② ③
④ ⑤
相对独立:不需要与其他用例交互, 相对独立:不需要与其他用例交互,即功能 是完备的; 是完备的; 用例的执行结果是可观测有意义的; 用例的执行结果是可观测有意义的; 用例由参与者发起(不能自启动, 用例由参与者发起(不能自启动,或者由其 他用例启动); 他用例启动); 以动宾短语形式定义; 以动宾短语形式定义; 一个用例是一个单元(需求单元、分析单元、 一个用例是一个单元(需求单元、分析单元、 设计单元、开发单元、测试单元、 设计单元、开发单元、测试单元、部署单 元);
第一阶段复习
复习导航
用例图 类图 活动图 顺序图
用例图知识点
用例图组成 用例图的作用 参与者的种类和特点 用例的特点 用例描述 用例之间的关系
用例图概念及组成
概念:参与者、用例以及它们之间的关系构 参与者、 参与者 成的用于描述系统功能的静态视图; 成的用于描述系统功能的静态视图; 组成: 组成: 参与者(主角、角色) 参与者(主角、角色) 用例 系统边界 关联
组合关系
聚合关系中的一种特殊情况,是更强形式的聚合, 聚合关系中的一种特殊情况,是更强形式的聚合, 又称强聚合。 又称强聚合。 成员对象的生命周期取决于聚合的生命周期。 成员对象的生命周期取决于聚合的生命周期。 聚合不仅控制着成员对象的行为, 聚合不仅控制着成员对象的行为,而且控制着成 员对象的创建和解构。 员对象的创建和解构。
接口
在没有给出对象的实现和状态的情况下 对对象行为的描述。 对对象行为的描述。 包含操作但不包含属性。 包含操作但不包含属性。 没有对外界可见的关联。 没有对外界可见的关联。 一个类可以实现一个或多个接口。 一个类可以实现一个或多个接口。
类之间的关系
1 2 3 4 依赖关系 泛化关系 关联关系 实现关系
关联关系
一种结构关系。 一种结构关系。 指明事物的对象之间的联系。 指明事物的对象之间的联系。
关联关系组成
1. 2. 3. 4. 5. 6. 7. 8. 名称( 名称(Name) ) 角色( 角色(Role) ) 多重性( 多重性(Multiplicity) ) 限定关联 关联类 聚合关系( 聚合关系(Aggregation) ) 组合关系(Composition) 组合关系( ) 导航性( 导航性(Navigation) )
泛化关系
父用例也可以被特别列举为一个或多个子用 例。 子用例表示父用例的特殊形式。 子用例表示父用例的特殊形式。 子用例从父用例处继承行为和属性, 子用例从父用例处继承行为和属性,还可以 添加行为或覆盖、改变继承的行为。 添加行为或覆盖、改变继承的行为。
泛化关系和包含关系的区别
在用例的泛化关系中, 在用例的泛化关系中,所有的子用例都 有相似的目的和结构,注意他们是整体 有相似的目的和结构, 上的相似; 上的相似; 在用例的包含关系中, ② 在用例的包含关系中,基础用例在目的 上可以完全不同, 上可以完全不同,但是他们都有一段相 似的行为,他们的相似是部分的, 似的行为,他们的相似是部分的,不是 完整的相似。 完整的相似。
活动图的作用
1。描述一个操作的执行过程中所完成的 。 工作或者动作; 工作或者动作; 2。描述对象内部的工作; 。描述对象内部的工作; 3。显示如何执行一组相关的动作,以及 。显示如何执行一组相关的动作, 这些动作如何影响周围的对象; 这些动作如何影响周围的对象; 4。描述用例以及用例场景的执行; 。描述用例以及用例场景的执行; 5。处理多线程应用; 。处理多线程应用;
活动图组成元素
① ② ③ ④ ⑤ ⑥ ⑦
动作状态( 动作状态(Action State) ) 活动状态( 活动状态(Activity State) ) 动作流( 动作流(Action Flow) ) 分支( 分支(Branch)与合并(Merge) )与合并( ) 分叉( 分叉(Fork)与汇合(Join) )与汇合( ) 泳道( 泳道(Swimlane) ) 对象流( 对象流(Object Flow) )
用例之间的关系
包含关系( 包含关系(include) ) 扩展关系( 扩展关系(extended) ) 包含关系和扩展关系的区别 泛化关系( 泛化关系(Generalization) ) 包含关系和泛化关系的区别
包含关系
客户用例可以简单地包含提供者用例具 有的行为, 有的行为,并把它所包含的用例行为作 为自身行为的一部分。 为自身行为的一部分。
①
类图
类图的概念 类图组成 类之间的关系
类图概念
描述类、接口及它们之间关系的图。 描述类、接口及它们之间关系的图。 用于描述系统的静态组成结构; 用于描述系统的静态组成结构;
类图组成
① ② ③
类(Class) ) 接口( 接口(Interface) ) 类之间的关系
类
应该来自系统的问题域。 应该来自系统的问题域。 应该是一个名词, 应该是一个名词,且不应该有前缀 或后缀。 或后缀。
①
②
在处理包含关系时,具体做法是: 在处理包含关系时,具体做法是:把几个用例 的公共部分单独的抽象出来成为一个系的用例, 的公共部分单独的抽象出来成为一个系的用例, 作为被包含的用例: 作为被包含的用例: 多个用例用到的同一段行为, 多个用例用到的同一段行为,把这段公共行为 抽象为一个用例,让其他用例来包含它; 抽象为一个用例,让其他用例来包含它; 某一个用例的功能过多、事件流过于复杂, 某一个用例的功能过多、事件流过于复杂,可 以把某一段事件流抽象为一个被包含的用例, 以把某一段事件流抽象为一个被包含的用例, 达到简化的目的; 达到简化的目的;
用例图的作用
用例图是需求分析的产物,主要作用是描述参与者与 用例图是需求分析的产物, 用例之间的关系, 用例之间的关系,帮助开发人员可视化的了解系统的 功能。 功能。 借助用例图,系统用户、系统分析人员、 借助用例图,系统用户、系统分析人员、系统设计人 领域专家都能以可视化的方式对问题进行探讨, 员、领域专家都能以可视化的方式对问题进行探讨, 减少了交流上的障碍,便于对问题达成共识。 减少了交流上的障碍,便于对问题达成共识。 用例图能够可视化的表达系统的需求,具有直观、 用例图能够可视化的表达系统的需求,具有直观、规 范化等优点,克服纯文字性说明的不足; 范化等优点,克服纯文字性说明的不足; 用例方法完全从外部来定义系统功能, 用例方法完全从外部来定义系统功能,把需求和设计 完全分开; 完全分开;
关联关系和依赖关系的区别
(1)从业务角度来看:关联表示拥有(has a)关系,各具关联的程度可 )从业务角度来看:关联表示拥有( )关系, 以分为一般关联、聚集和组成;依赖表示涉及或使用的关系( 以分为一般关联、聚集和组成;依赖表示涉及或使用的关系(use a)。 )。 (2)从导航方向来看:关联可以是单向的,也可以是双向的;依赖只能 )从导航方向来看:关联可以是单向的,也可以是双向的; 是单向的。 是单向的。 (3)从实现代码来看: )从实现代码来看: 关联: 关联:class A{ Public B b; } //B作为 的成员; 作为A的成员 作为 的成员; 依赖: 依赖:class A{ Public void doSomething1(B b){ //实现部分; 实现部分; 实现部分 } }// B作为 成员函数的输入参数; 作为A成员函数的输入参数 作为 成员函数的输入参数; class A{ Public void doSomething1(B b){ //实现部分; 实现部分; 实现部分 } }// B作为 成员函数的返回参数; 作为A成员函数的返回参数 作为 成员函数的返回参数;
①
②
活动图
活动图的概念 活动图作用 活动图的组成元素 泳道技术 活动图与流图的区别
活动图的概念
活动图描述为了完成某个目标需要做的 活动以及这些活动的执行顺序; 活动以及这些活动的执行顺序; 活动图是一种描述系统行为的图,它用 活动图是一种描述系统行为的图, 于展现用例交互过程或操作执行过程的 类、人或部门所进行的各种活动的顺序 关系。 关系。 活动图被设计用于描述一个过程或者操 作的工作步骤。 作的工作步骤。
用例说明(用例描述)
用例只是在整体上大致描述系统提供的各种服务, 用例只是在整体上大致描述系统提供的各种服务,让 用户有一个总体的认识。但是对每个用例还需要详细 用户有一个总体的认识。 的描述信息——用例规约(纯文本的描述)。 用例规约( 的描述信息 用例规约 纯文本的描述)。 ① 简要说明 ② 事件流(主事件流、其他事件流、错误流 ) 事件流(主事件流、其他事件流、 ③ 用例场景 ④ 特殊需求 ⑤ 前置条件 ⑥ 后置条件 注意:为了更加清楚地描述事件流,可以使用时序图、 注意:为了更加清楚地描述事件流,可以使用时序图、 活动图、状态图等来进行描述。 活动图、状态图等来进行描述。