uml课件Chapter5 State Modeling

合集下载

UML面向对象分析、建模与设计课件第五章 类图

UML面向对象分析、建模与设计课件第五章 类图
即可变、只增与冻结。
类——操作
操作是一个可以由类的对象请求以影响其行为的服务的实现,也即 是对一个对象所做的事情的抽象,并且由这个类的所有对象共享。
操作是类的行为特征或动态特征。 操作的语法格式为:
可见性OPT 操作名 ⌊(参数列表)⌋OPT ⌊:返回类型⌋OPT ⌊{特性}⌋OPT
操作名:操作的标识符。在描述操作时,操作名是必须的,其他部 分可选。
Student
+monitor 1
1..*
自关联
类图中的关系——关联关系
关联名称:放在关联路径的旁边,但远离关联端。 角色:放在靠近关联端的部分,表示该关联端连接的类在这一关联
关系中担任的角色。角色名上也可使用可见性修饰符号。 多重性:放在靠近关联端的部分,表示在关联关系中源端的一个对
象可以与目标类的多少个对象之间有关联。 导航性:一个布尔值,用来说明运行时刻是否可能穿越一个关联。 限定符:是二元关联上的属性组成的列表的插槽,其中的属性值用
/WorksForCompany
Department * +department 1 WorksForDepartment
* Person
类图中的关系——泛化关系
泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元 关系。其中描述一般的元素称为父,描述特殊的元素称为子。
通过泛化对应的继承机制使子类共享父类的属性和操作,小了模型 的规模,同时也防止了模型的更新所导致的定义不一致的意外。
法了,此时称之为N元关联。
类图中的关系——关联关系
class Logical View
ClassA
AssociationName
+rolename 0..*

uml课件(完整版)

uml课件(完整版)

uml课件(完整版)请注意,我是一名自然语言生成AI助手,无法直接展示、发送文件,也无法提供精确的格式。

但我可以为您提供一个大致的文章结构供参考。

具体的排版与格式设置,您可以根据自己的需要进行调整。

UML课件(完整版)引言:在软件开发和系统设计过程中,UML(Unified Modeling Language)作为一种标准化的建模语言被广泛应用。

本文旨在提供完整版的UML课件,全面介绍UML的基本概念、主要图形符号以及建模过程。

1. UML概述1.1 UML定义1.2 UML的演化历程1.3 UML的应用领域2. UML的基本概念2.1 模型、元素和关系2.2 视图和视图切换2.3 UML的图形符号和标记3. UML的主要图形符号3.1 用例图3.1.1 用例图的作用和用途3.1.2 用例图的元素和关系3.1.3 用例图的实例分析3.2 类图3.2.1 类图的作用和用途3.2.2 类图的元素和关系3.2.3 类图的实例分析3.3 时序图3.3.1 时序图的作用和用途3.3.2 时序图的元素和关系3.3.3 时序图的实例分析3.4 活动图3.4.1 活动图的作用和用途3.4.2 活动图的元素和关系3.4.3 活动图的实例分析3.5 状态图3.5.1 状态图的作用和用途3.5.2 状态图的元素和关系3.5.3 状态图的实例分析4. UML建模过程4.1 建模过程概述4.2 需求收集和分析4.3 架构设计和详细设计4.4 实现和测试4.5 部署和维护结论:UML作为一种标准化的建模语言,可以有效地帮助软件开发人员和系统设计者进行系统分析和设计。

通过学习和应用UML,可以提高软件开发过程中的沟通效率和开发质量。

参考文献:(这里列出您参考的相关文献,不需要包含网址链接)这个大致的结构可以帮助您按照一种逻辑清晰的方式来组织UML课件的内容。

您可以根据自己的风格和需求进行进一步的修改和完善。

UML的状态转换图

UML的状态转换图

UML的状态转换图UML(Unified Modeling Language),即统一建模语言,是一种软件设计标准化语言。

它以图形形式描述了软件系统模型,包括系统的用例、类结构、对象行为、组件、部署等。

其中,状态转换图是UML中的一种图表,用于描述系统中对象的状态转换情况,因此具有极高的重要性。

一、什么是状态转换图状态转换图是一种UML中的行为图表,它用于描述一个对象在不同状态下所做出的决策以及所进行的状态转换。

它的主要目的是为软件开发人员提供一个描述系统对象行为的可视化方式。

状态转换图中的状态(State)指的是对象在不同时间下所处的状态,状态之间的转换(Transition)则表示对象从一个状态转换到另一个状态,转换需要满足一定的条件和事件(Event)。

图中还可以包含其他元素,如伴生(Companion)、活动(Activity)等。

二、状态转换图的元素状态转换图一般包含以下几个元素:1. 状态(State):指对象在不同时刻下所处的状态。

状态有两种类型:简单状态(Simple State)和复合状态(Composite State)。

2. 转换(Transition):指对象从一个状态转变为另一个状态的行为。

转换可以分为外部转换(External Transition)和内部转换(Internal Transition)。

3. 事件(Event):指触发对象状态转换的事件。

事件有三种类型:信号(Signal)、操作(Operation)、时间(Time)。

4. 条件(Guard Condition):指转换发生的条件,即满足条件才能进行状态转换。

5. 动作(Action):指转换完成后要执行的一些操作。

6. 伴生(Companion):指与状态转换图关联的动态行为的其他图表。

7. 活动(Activity):指状态转换图详细描述每个状态下处理逻辑的图表。

三、状态转换图的应用1. 需求分析:状态转换图可以帮助分析人员分析系统的状态,找出不同状态下的行为要素,并描述状态转换的规则。

uml课件第五章

uml课件第五章


4


互动视(Interaction View) 互动视描述了系统不同部分之间的控制流,包括可能的并发 和同步机制。它体现了系统的性能、可扩展性、和总处理能 力。 静态方面:类图、对象图捕捉; 动态方面:互动图、状态机图、活动图捕捉。 实现视(Implementation View) 实现视包括用于组装、发布物理软件系统所需的各种产物, 主要描述了软件系统版本的配置管理。 静态方面:组件图捕捉; 动态方面:互动图、状态机图、活动图捕捉。
14

(4) 组合结构图(Composite Structure Diagram) 组合结构图是UML 2.0中新增的图,UML 1.x中没有。 组合结构图描述了分类器(如类、组件或用例)的内部结构, 包括分类器与系统其他部分的交互作用点。
10
UML的图

(5) 用例图(Use Case Diagram) 用例图描述了用例、参与者以及它们之间的关系。 用例图描述了系统的静态用例视。在分析系统行为并为之 建模时,用例图的使用尤其重要。 (6) 顺序图(Sequence Diagram) (7) 通信图(Communication Diagram) 在UML中,顺序图和通信图统称为互动图。
12
的图

统一建模语言UML是用来对软件系统的产物进行可视化、规范定义、构 造并为之建立文档的建模语言。 UML的13种图如下:
(1)类图(Class Diagram) (2)对象图(Object Diagram) (3)组件图(Component Diagram) (4)组合结构图(Composite Structure Diagram) (5)用例图(Use Case Diagram) (6)顺序图(Sequence Diagram) (7)通信图(Communication Diagram) (8)状态机图(State Machine Diagram) (9)活动图(Activity Diagram) (10)部署图(Deployment Diagram) (11)包图(Package Diagrams) (12)定时图(Timing Diagram) (13)交互概览图(Interaction Overview Diagram)

Chapter5AnalysisObjectModeling.ppt

Chapter5AnalysisObjectModeling.ppt

5
Class Identification is a Hard Problem
• One problem: Definition of system boundary:
• Which abstractions are outside, which abstractions are inside the system boundary? • Actors are outside the system • Classes/Objects are inside the system.
Object-Oriented Software Engineering: Using UML, Patterns, and Java
4
Class Identification
• Approaches
• Application domain approach • Ask domain experts to identify relevant abstractions
3
Class Identification
Class identification is crucial to OO modeling
• Helps to identify important entities of a system
• Basic assumptions:
1. We can find classes for a new software system (Forward Engineering)
• Component-based approach • Identify existing solution classes
Bernd Bruegge & Allen H. Dutoit

UML状态图和活动图ppt课件

UML状态图和活动图ppt课件
UML 状态图
1
课程目标
• 掌握状态图的定义、符号 • 掌握状态图的动作和事件 •掌握状态图的建模方法 •掌握活动图的定义、符号、条件 •掌握活动图的建模方法
2
本讲内容
• 状态图的定义、符号 • 状态图的动作和事件 • 状态图的建模方法 • 活动图的定义、符号、条件 • 活动图的建模方法
3
3
状态图的定义
12
状态图的符号
下面的示例演示了银行帐户中的转移及其有效状态,如下图 所示。
13
状态图的符号
3.决策点 决策点在建模状态图时提供了方便,因为它通过在中心位 置分组转移到各自的方向,从而提高了状态图的可视性,如下
图所示。
14
状态图的符号
4.同步 状态图中使用同步条是为了说明并发工作流的分叉与联合
表达式。如下图所示。
条件 19
练习: 阅读一个电梯系统的状态图 步骤:
1)标识出状态。 2)标识出转移。 3)标识出事件和动作。
20
21
状态图的建模方法
状态图建模需要执行以下步骤: 1)标识出需要进一步建模的实体。 2)标识出每一个实体的开始状态和结束状 态。 3)确定与每一个实体相关的事件。 4)从起始状态开始创建状态图。
22
状态图的建模方法
1.标识出需要进一步建模的实体 首先要标识出哪些实体需要使用状态图进
一步建模。状态图应该用于复杂的实体,而不 必用于具有复杂行为的实体。对于有复杂行为 的实体,使用活动图可能会更加适合。具有清 晰、有序的状态实体最适合使用状态图进一步 建模。后面将会建模一个Grade对象,尤其是 它的保存功能。
下图所示。
27
状态图的建模方法(续)
练习: 建模航班状态图 创建一个状态图来描述航班如何从提出申请、 制定航班计划、售票、起飞、飞行、到着陆的状态

uml课件(完整版)

uml课件(完整版)

• 依赖
包图
系统的顶层包结构
包图
老师在线答疑系统包结构图
包图
练习 1、C/S架构的应用程序由客户端和商业逻辑端组成, 使用包图画出他们之间的关系 2、B/S架构的应用程序由浏览器和WEB应用服务端 组成,使用包图画出他们之间的关系 3、在一个多层架构的系统中包含了客户端,商业逻 辑端,数据库端, WEB应用服务端以及浏览器组 成,请整理他们之间的关系,并用UML的包图表 达出来
类图
练习
1、使用类图的短式表达方式画出中国公民、身份证、 银行卡的UML图 2、现在有一组几何图形、线、圆、方、椭圆、多边 形。请仔细分析他们之间的关系,并用短式方式 表达出来 3、第2题中的几何图形具有以下方法:画图,移动, 旋转。请标识出多态方法,并说明理由。
包图
包图能将复杂系统拆分成多个简单的系统。 • 包
学生登陆协作图
协作图
练习
1、画出老师登陆系统的协作图
组件图
组件图显示软件组件之间的依赖关系。一般来说, 软件组件就是一个实际文件,可以是源代码文件、 二进制代码文件和可执行文件等。可以用来显示 编译、链接或执行时构件之间的依赖关系 • 组件 • 依赖
组件图
老师在线答疑系统组件图
部署图
配置图显示系统运行时刻的结构,显示系 统不同的组件在何处物理地运行,以及它 们将如何彼此通信
状态图
状态图表示某个类所具有的不同状态和状态 转移时的触发条件。 • 状态 • 转移
状态图
• 老师在线状态图
状态图
练习
1、汽车有向前行驶,向后行驶和停止3种状
态,请使用UML图将3种状态之间的转移关
系表达出来
活动图
活动图用来描述工作的流程,对并行的工 作流程能很好的支持。 • 活动 • 转移 • 同步

UML软件建模任务驱动教程单元5 业务数据管理模块建模

UML软件建模任务驱动教程单元5 业务数据管理模块建模

一个活动状态执行完本状态需要完成 的动作后会自发转换到另一个状态,一个 活动图有很多动作或活动状态,活动图通 常开始于初始状态(初态),然后自动转 换到活动图的第一个活动状态,一旦该状 态的动作完成后,控制就会转换到下一个 动作状态或活动状态。
(5)分叉与汇合:对象在运行时可能会 存在两个或者多个并发运行的控制流, 为了对并发的控制流建模,UML中引入 了分叉与汇合。分叉用于将状态转换分 为两个或者多个并发运行的分支,而汇 合是用于同步这些并发分支,以达到共 同完成一项事务的目的。
【操作提示】 (1)启动Rational Rose 2003。 如果Rational Rose 2003已启动,可 以单击菜单【File】→【New】,或者单 击“标准”工具栏中的【New】按钮 , 创建一个新的Rose模型。
(2)保存Rose模型。 单击菜单【File】→【Save】,或者 单击工具栏中的【Save】按钮 。如果 是创建模型之后的第一次保存操作,则 会弹出一个【Save As】对话框,在该对 话框选择模型文件的保存位置,且输入 模型文件名称“05业务数据管理模块模 型”,然后单击【保存】按钮即可。
单元5 业务数据管理模块建模
业务数据是管理信息系统的主要处理 对象,管理信息系统的业务处理主要围绕 业务数据展开。 例如图书管理系统的图书和借阅者是 “图书借阅”处理的主要参与对象,“借 阅者”借阅“图书”。 新购的“图书”需要编目、入库后, 才能被“借阅者”借阅。
“借阅者”必须办理“借书证”才 能凭“借书证”借阅“图书”。 本单元主要对书目管理和借阅者管 理等业务数据管理模块建模。
书目数据管理主要包括新增书目、 修改书目数据和删除书目三个用例,系 统运行时,首先在书目数据管理界面显 示已有的书数据,然后根据用户选择的 操作进行相应的处理。

UML建模语言 ppt课件

UML建模语言 ppt课件

2021/3/26
20 UML建模语言 ppt课件
手机类图案例分析2
请用UML类图描述如下关系: • 每个品牌的手机开关机的功能相同 • 每个品牌备wifi功能,但是普通手
机不具备此功能、而有些手机具有蓝牙的功能 • 所有手机都可以打电话,发短信
2021/3/26
21 UML建模语言 ppt课件
时序图(Sequence Diagram)
• 时序图(Sequence Diagram)是强调消息时间 顺序的交互图。时序图描述类系统中类和类之间 的交互,它将这些交互建模成消息交换。时序图 是一个模型,用于描述对象组如何随着时间在某 些行为方面进行协作。

1. UML介绍

2. 用例图
3. 类图
4. 顺序图
5. 状态图
UML介绍
• 什么是软件危机 • 什么是软件工程 • UML概念、发展、意义
2021/3/26
2 UML建模语言 ppt课件
UML用例图
• 用例图概述 • 用例图包含的2元素4关系 • 用例图实例:京东商城用例图
2021/3/26
}
2021/3/26
14 UML建模语言 ppt课件
类图—泛化关系(generalization)
• 泛化关系实际上就是继承关系,他是依赖关系的 特例
public abstract class DaoSupport{ public void save(Object entity){ } public void delete(Object id){ }
单向一对 一关系
Person 1
-card IDCard 1
双向一对 一关系
Person -person 1

UMLandSM chapter5

UMLandSM chapter5

徐宝文 周毓明 卢红敏
并发控制流消息编号示例 22
协作图:多对象

多对象是表示多个对象的类元角色。它通常位 于关联的"多"端,表明操作或信号是应用在一个 对象集而不是单个对象上的
:client
servers 1: aServer:=find(specs) aServer <<local>> 2:process(request)
消息
时间
对象激活条
撤销
生命线
序列图示例
徐宝文 周毓明 卢红敏
5
序列图:对象名语法
对象框中对象名的语法
语法 描述 o 一个名字为o的对象 o:C 一个名字为o的对象,它是类C的一个实例
:C 类C的一个匿名对象 /R 一个充当角色R的匿名对象 /R:C 类C的一个充当角色R的匿名对象 o/R 一个充当角色R的对象o o/R:C 类C的一个充当角色R的对象o
击键[键 != Tab键] / 显示所按的键 活动
[有效]/开始交易
验证 do/验证SSN和PIN
提交
获得PIN 状态
终止状态 动作 SSN-社会安全号码 PIN-个人身份证号码
徐宝文 周毓明 卢红敏
击键[键 != Tab键] / 显示小数点
29
状态图:状态

状态指在对象生命期中满足某些条件、执行某些
徐宝文 周毓明 卢红敏
7
序列图:消息类型、表示法及其含义
徐宝文 周毓明 卢红敏
8
序列图:消息类型示例
:WordProcessor spoolfile=open(name) :PrintFile :PrintSpooler :Printer

UML类图详细教程PPT课件

UML类图详细教程PPT课件

第46页/共109页
公司直销系统用例图
第47页/共109页
4.2 UML扩展类图
一、聚合和组合 在前面,已经介绍过类之间的简单关联,知道了它们在类图中使用连接类的单线表
示。本节将介绍如何更好地限定这些关联,其方法是以聚合或者组合的形式来定义关联。 这两种新的关联类型都描述了类之间的整体——部分组成关系。 1.聚合
类图支持如下面用例图中用例。 练习步骤:
1)确定可以在用例图中找到的类。 2)创建关联类,给出它们的关联名词。 3)巩固相似的类。 4)确定任何合适的角色名。 5)为任何已经封装到另一个类中的独立功能添加类。 6)添加属性和操作以便提供类图中需要的功能。 7)为操作和属性提供数据类型和参数等信息
第45页/共109页
1)关联关系 关联关系是指类之间的语义联系。关联可以具有如下特性:
•关联名称 •角色名称 •多重性 •导航性
第17页/共109页
多个类可以关联到同一个类
第18页/共109页
多重性: 多重性(mutiplicity)用来指示一个类的多少对象与另一个类的一个对象相关。可
以在类关系的任何一端添加多重性,来指示出多重性,如下图所示。
第11页/共109页
派生的属性: 另一种可以为属性提供的信息是派生值,它可以使用数学函数、字符串函数或者将要
在应用程序中实现的其他商务逻辑。 要想指出一个属性是派生的,需要在属性名之前添 加一个前斜线(/), 并且要附加一个注释,其中包含了派生属性值的指令,如下图所 示。
第12页/共109页
2. 操作(方法)
第19页/共109页
多重性是一个数值或者数值范围,用来指示一个类的几个对象与另一个类的一个对象相 关。如下图所示。

UML设计模式ppt课件

UML设计模式ppt课件
– 1995年,PLoP‘95 仍在伊利诺伊州的Allerton Park举行 ,“四人组” 出版了《设计模式:可复用面向对象软件的基础》(Design Pattern s: Elements of Reusable Object-Oriented Software)一书,本书 成为1995年最抢手的面向对象书籍,也成为设计模式的经典书籍。
前提条件
关联解法
解法
效果/优缺点/已知应 用
10
其他相关模式
设计模式的诞生与发展
• 软件模式
– 软件模式与具体的应用领域无关,在模式发现 过程中需要遵循大三律(Rule of Three),即只 有经过三个以上不同类型(或不同领域)的系 统的校验,一个解决方案才能从候选模式升格 为模式。
11
设计模式的诞生与发展
18
设计模式的定义与分类
• 设计模式的分类
– 根据范围,即模式主要是用于处理类之间关系 还是处理对象之间的关系,可分为类模式和对 象模式两种:
• 类模式处理类和子类之间的关系,这些关系通 过继承建立,在编译时刻就被确定下来,是属 于静态的。
• 对象模式处理对象间的关系,这些关系在运行 时刻变化,更具动态性。
23
设计模式的优点
• 设计模式是从许多优秀的软件系统中总结出的成功 的、能够实现可维护性复用的设计方案,使用这些方 案将避免我们做一些重复性的工作,而且可以设计出 高质量的软件系统。
• 设计模式的主要优点如下:
– 设计模式融合了众多专家的经验,并以一种标准的形 式供广大开发人员所用,它提供了一套通用的设计词 汇和一种通用的语言以方便开发人员之间沟通和交流, 使得设计方案更加通俗易懂。对于使用不同编程语言 的开发和设计人员可以通过设计模式来交流系统设计 方案,每一个模式都对应一个标准的解决方案,设计 模式可以降低开发人员理解系统的复杂度。

UML学习复习—状态图

UML学习复习—状态图
转换可以标注与此转换相关的选项如事件、动 作和监护条件。
• Transition图例
说明: 状态的之间的转移通常是由事件触发的,此时应在转
Signal event的语法格式和Call event一样。 信号事件是一个异步事件,调用事件一般是一
个同步事件。

Signal(信号)
一个信号表示由一个对象异步地发送、并 由另一对象接收的一个已命名的对象。
说明:
信号用版型为<<signal>>的类图标表示。 信号之间可以具有泛化关系,形成层次结构。 在UML中,例外(exception)是信号的一种。

4.1 入口事件
入口事件表示一个入口的动作序列,它 在进入状态时执行。
入口事件的动作是原子的,并且先于内 部活动或转换。

4.2 出口事件
出口事件表示一个出口的动作序列,它 在退出状态时执行。
出口事件也是原子的,它跟在所有的内 部活动之后,但是先于所有的出口转换 。

4.3 动作事件
3.5 简单状态
简单状态是指不包含其他状态的状态。 简单状态没有子结构,但它可以具有内
部转换、入口动作和出口动作等。

3.6 组成状态
组成状态是可以包含一些嵌套的子状态 的状态。
组成状态可以使用“与”关系分解为并发子 状态,或者通过“或”关系分解为互相排斥 的顺序子状态。

3.6 组成状态
UML学习复习—状态图

状态图
1 状态机 2 状态图 3 状态 4 事件 5 转换 6 状态图建模技术 7 实例——图书馆管理系统的状态图

1 状态机
状态机是展示状态与状态转换的图,包含了一 个类的对象在其生命期间所有状态的序列以及 对象对接受到的事件所产生的反应。

UML第5章动态模型PPT课件

UML第5章动态模型PPT课件

5.1.3 状态
• 状态是根据影响对象总的行为的性质,一系列 组合在一起是一个状态。
• 状态有持续性,它占有一个时间间隔。 • 在定义状态时,忽略那些不影响对象行为的属
性,并把对事件所有相同响应的属性值和链接 组合在一起,合并为一个状态。 • 一个状态能用不同的方法表示它的特征。图5-2 是钟的“闹铃”状态的各种特征表述。
• 提供事件层次结构时可以在模型的不同部位用 不同的抽象层次。
事件 时间
用户输入 设备
鼠标按钮 位置
鼠标按钮按下
鼠标按钮释放
键盘字符 字符
控制字符
图形字符
空格
图5-11
字母数字
标点符号
5.4 并发性
• 并发在对象模型中是一个很重要的概念,本节 就对它进行详细的介绍。
5.4.1 聚合并发性
• 聚合隐含着并发性,聚合状态对应于所有部分 状态图的状态组合。
• 图5-8表示了一个自动售货机的顶层模型。这个 图包含了分发物品的活动和选择物品的事件, 在嵌套状态图中作了更详细的扩充。
空闲
加入硬币(合计)/设定余额 取消/退还硬币
收银 加入硬币(合计)/添加余额
[物品空]
选取(物品) [找零<0]
do:识别物品并计算找零
[找零<0] do:分发物品
图5-8
5.3.1 平状态图问题
• 状态图因为明显缺乏表达能力和对大的问题不 适用而经常受到批评。这些问题对于平的、非 结构化的状态图来说,的确是一个问题。如图 5-7所示的状态图 。
图5-7
5.3.2 嵌套状态图
• 状态的活动能扩展成低层状态图,每个状态表 示该活动的一步。嵌套活动是单步的有输入输 出变迁的状态图,类似于子程序。

行为型模式-状态模式

行为型模式-状态模式

Account - state : AccountState - owner : String + Account (String owner, double init) + setState (AccountState state) : void + deposit (double amount) : void + withdraw (double amount) : void ...


可以让多个环境对象共享一个状态对象,从而减少系 统中对象的个数。
状态模式

模式优缺点
状态模式的缺点
• •

状态模式的使用必然会增加系统类和对象的个数。 状态模式的结构与实现都较为复杂,如果使用不当 将导致程序结构和代码的混乱。 状态模式对“开闭原则”的支持并不太好,对于可 以切换状态的状态模式,增加新的状态类需要修改 那些负责状态转换的源代码,否则无法切换到新增 状态;而且修改某个状态类的行为也需修改对应类 的源代码。
状态模式

模式扩展 共享状态

在有些情况下多个环境对象需要共享同一个状态,如 果希望在系统中实现多个环境对象实例共享一个或多 个状态对象,那么需要将这些状态对象定义为环境的 静态成员对象。
状态模式

模式扩展 简单状态模式与可切换状态的状态模式

(1) 简单状态模式:简单状态模式是指状态都相互独 立,状态之间无须进行转换的状态模式,这是最简单 的一种状态模式。对于这种状态模式,每个状态类都 封装与状态相关的操作,而无须关心状态的切换,可 以在客户端直接实例化状态类,然后将状态对象设置 到环境类中。如果是这种简单的状态模式,它遵循 “开闭原则”,在客户端可以针对抽象状态类进行编 程,而将具体状态类写到配置文件中,同时增加新的 状态类对原有系统也不造成任何影响。

大象:THINKING IN UML 第五章 UML核心建模

大象:THINKING IN UML 第五章 UML核心建模

5.8 设计模型
设计模型是一个描述用例实现的对象模型, 它可作为对实施模型及其源代码的抽象。设 计模型用作实施和测试活动的基本输入。 设计模型是编码实现之前的最后一道建模工 序。
设计模型的主要Βιβλιοθήκη 入设计模型的主要内容从分析模型映射到设计模型
一个分析类可以成为设计模型中的单个类 一个分析类可以成为设计模型中某个类的一 部分 一个分析类可以成为设计模型中的一个聚合 关系类 一个分析类可以成为设计模型中从同一个类 继承而来的一组类 一个分析类可以成为设计模型中一组功能相 关的类
5.4.1 系统用例模型的主要内容
(1)业务用例。 (2)概念用例。 (3)用例视图。 (4)用例规约。 (5)补充规约。 (6)业务规则。 (7)用例实现。 (8)用例场景。 (9)分析对象。
5.4.2 获得系统用例
1.如果已经建立了业务用例,就可以从业务用例中导出系统用 例。 2.推导系统用例的基本方法是分析业务用例场景,尤其是活动 图。系统用例可以从这些职责中抽取出来。然后考虑以下问题: (1)排除用例。 (2)合并用例。 (3)抽象用例。 (4)补充用例。 (5)系统用例的粒度应当与概念用例相当。 (6)系统用例的抽象角度应当与概念用例相当。 (7)概念用例所表述出的核心业务是最需要关心的部分。
5.2 业务用例模型
业务用例模型位于RUP的先启阶段,在业务 建模核心工作流中完成。
5.2.1 业务用例模型主要内容
(1)业务用例视图。包括业务主角和业务 用例 (2)业务用例场景。说明业务用例的执行 过程 (3)业务用例规约。说明业务用例的使用 者、目标、场景、相关业务规则、相关业务 实体等 (4)业务规则。执行业务必需遵守的法律 法规、惯例、各种规定
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.
延迟事件 延迟事件是在本状态不处理,要推迟到另外一个 状态才处理的事件。通常,在一个状态生存期出 现的事件若不被立即响应就会丢失。但是,这些 未立即触发转换的事件可以放在一个内部的延迟 事件队列中,等待需要时触发或者撤消。如果一 个转换依赖一个存在于内部延迟事件队列中的事 件,则事件立即触发转换;如果存在多个转换, 则内部延迟事件队列中的第一个事件将有优先触 发相应转换的权利。
3.
4.
动作事件 动作事件表示对一个嵌套状态机的调用。与动作 事件相关的活动必定引起嵌套状态机,而非引用 包含它的对象的操作。 信号事件 信号事件是两个对象之间的通信媒介,信号的接 收是信号接收对象的一个事件。信号分为异步单 路通信和双路通信。在异步单路通信中,发送者 是独立的,它不必等待解手者返回处理信号。在 双路通信中,至少在每个方向上都要有一个信号。 在信号事件中,发送者和接收者可以是同一个对 象。


Each object can only be in one state at a time. Objects may parade through one or more states during their lifetime. At a given moment of time, the various objects for a class can exist in a multitude of states. Events represent points in time; states represent intervals of time. A state corresponds to the interval between two events received by an object.
signal class
<<signal>> FlightDeparture airline flightNumber city date
Some signals are simple occurrences, but most signal classes have attributes indicating the values they convey.
Absolute time
interval
Event Summary

事件表示在某一个特定的时间或空间出现的 能够引发状态改变的运动变化如接收到的从 一个对象对另一个对象发送的信号、某些值 的改变或一个时间段的终结。事件是一个激 励的出现,它定义一个“触发子”以触发对 象改变其状态,任何影响对象的事物都可以 是事件。


Note the different between signal and signal event–a signal is a message between objects while a signal event is an occurrence in time.

Every signal transmission is a unique/occurrence, but we group them into signal classes and give each signal class a name to indicate common structure and behavior.
所有对象都有状态,它是对象的属性值,也是对 象执行了一系列活动的结果。当某个事件发生后, 对象的状态将发生变化。

States often correspond to verbs with a suffix of “ing” (waiting, dialing) or the duration of some condition (Powered, BelowFreezing).

events (time point)
power turned on power turned off power turned on
ห้องสมุดไป่ตู้
Powered
Not powered
state (duration)
5.3 Transitions and Conditions

A transition is an instantaneous change from one state to another. The transition is said to fire upon the change from the source state to the target state.

5.1.1 Signal Event
A signal is an explicit one-way transmission of information from one object to another. A signal event is the event of sending or receiving a signal. Usually we are more concerned about the receipt of a signal, because is causes effects in the receiving object.
Solvent
Insolvent Dialing
Waiting Powered
BelowFreezing
The UML notation for a state-a rounded box containing an optional state name. List the state name in boldface, center the name near the top of the box, and capitalize the first letter.
Signal classes and attributes A signal is an explicit one-way transmission of information from one object to another.
5.1.2 Change Event

A change event is an event that is caused by the satisfaction of a boolean expression.
5.
调用事件 调用事件是一个对象对调用的接收,这个对象用 状态的转换而不是用固定的处理过程实现操作。 调用事件至少涉及两个以上的对象,一个对象请 求调用另一个对象的操作。对调用者来说,一旦 调用的接收对象通过由事件触发的转换完成了对 调用事件的处理或调用失败,而没有进行任何状 态转换,则控制返回到调用对象。调用事件既可 以为同步调用,也可以为异步调用。如果调用者 需要等待操作的完成,则是同步调用,否则是异 步调用。
迁移(转移)是指两个状态之间的关系,它描述了 对象从一个状态进入另一个状态的情况,并执行 了包含的动作。
创建支票
when (room temperature<heating set point) when (room temperature>cooling set point)
when (battery power<lower limit)
when (tire pressure<minimum pressure)
6.
修改事件 修改事件是依靠特定属性值的布尔表达式所表示 的条件的满足来触发状态的转换。它表示了一种 具有时间持续性的并且可能是涉及全局的计算过 程,测试修改事件的代价可能很大,因为原则上 修改事件是持续不断的。
7.
时间事件 时间事件代表时间的流逝。时间事件既可以被指 定为绝对形式(具体时间),也可以被指定为相 对形式(从某一指定事件发生开始所经历的时 间)。时间事件可以描述一个通知信息,自进入 状态以来某个时间期限已到,时间事件就会激发 状态的转换。
5.1 Events
An event is an occurrence at a point in time, such as user depress left button or flight 123 departs from Chicago. Events often correspond to verbs in the past tense or to the onset of some condition. There are several kinds of events. The most common are the signal event, the change event and time event.
5.2 State

A state is an abstraction of the values and links of an object. Sets of values and links are grouped together into a state according to the gross behavior of objects.
5.1.3 Time Event

A time event is an event caused by the occurrence of an absolute time or the elapse of a time interval.
when (date=January 1,2000)
after (10 seconds)

事件有多种,大致可分为入口事件、出口事 件、信号事件、调用事件、修改事件、时间 事件和延迟事件等几种。
1.
2.
入口事件 表示一个入口的动作序列,它在进入状态时执行, 入口事件的动作是原子的,并且先于人和内部活 动或转换。 出口事件 出口事件表示一个出口的动作序列,它在退出状 态时执行。出口事件也是原子的,它跟在所有的 内部活动之后,但是先于所有的出口转换。
相关文档
最新文档