第3章 面向对象的分析-2
时间:2025-07-12
时间:2025-07-12
第3章 面向对象的分析
3.5 建立动态模型
3.6 建立功能模型
3.5 建立动态模型
顺 协 状 活
序 作 态 动
图 图 图 图
3.5.1 建立动态模型的目的
(1) 确定职责(系统要“做”的事情)
(2) 确定方法
(1) 确定职责(系统要“做”的事情)存在各个类中的职责: 设置和获取( 属性为私有,创建公有方法存取)
创建和初始化新的实例(赋予其他类) 保存操作 增加和删除操作 发送、输出 拷贝、转换 计算数字结果 导航和查找4
(2) 确定方法 ① 用方法实现每个类的职责
职责可能由几个方法组成,而由一个方法负责。 一个类可以有多个方法或者根本没有方法。
② 方法的组成在 UML中,类的方法语法为: [可见性] 方法名 [(参数表)] [:返回类型] [{属性字符串}]5
方法的组成
方法的可见性公有(Public) “+” 私有(Private) “-” 受保护(Protected) “#” 包内公有(Package) “~”
负责实现职责的方法通常称为Public,它是整个 系统接口的一部分。 其他的协作方法尽可能声明为Private。6
方法的组成
方法名 用来描述所属类行为的动词或动词短语。 一个单词的方法名小写,如果方法名包含了多个
单词,后面单词的首字母要大写。如: openFile。
方法的参数表 一些按顺序排列的属性定义了方法的输入。 方法定义方式:“名称:类型”。 方法可没有参数。 若存在多个参数,将各个参数用逗号隔开。 参数可以具有默认值。7
方法的组成
方法的返回值 是可选的,具体的编程语言加一个关键字void来表
示无返回值。 绝大部分编程语言只支持一个返回值。
属性字符串 在方法的定义中加入一些除了预定义元素之外的
信息。8
3.5.2 建立动态模型的两个基本概念
(1) 事件(event) (2) 消息(message)
(1) 事件(event)
一个事件是对一个在时间和空间上占有一定位置的有 意义事情的详细说明。 An event is the specification of a noteworthy occurrence that has a location in time and space. 事件产生的原因:调用、出现满足条件的状态、到达 时间点或经历某一时间段、发送信号等。
① 事件具有的性质 一个事件的发生是在某一时刻,无持续性; 两个事件是可以相继发生的,也可以是共存的; 多个事件可以组成事件类; 多个事件具有触发事件动作的对象; 事件在对象间传递信息;
② UML事件的分类
Call event Change event Time event Signal event
(调用事件) (变化事件) (时间事件) (信号事件)
调用事件
The event of receiving a call for an operation that is implem
ented by actions on state machine transitions. Call event的语法格式如下: 事件名 ( [逗号分隔的参数列表] ) 其中参数列表中的参数格式为: 参数名:类型
例:
event
parameter startAutopilot(normal)
Manual 图3-68 调用事件
Automatic13
变化事件
The event of a Boolean expression becoming satisfied because of a change to one or more of the values it references. UML中,用关键字when,后面跟随布尔表达式来对一个变化事件 建模。
例:change event
When ( x > 15) After(2 seconds)/ dropConnection() Active 图3-69 变化事件
time event
idle
时间事件
An event that denotes the satisfaction of a time expression, such as the occurrence of an absolute time or the passage of a given amount of time after an object enters a state. 时间事件用关键字after或when表示。
例:
图3-70 时间事件
信号事件
An event that is the receipt by an object of a signal sent to it, which may trigger a transition in its state machine. 信号事件的语法格式和调用事件一样。 是一个异步事件(调用事件一般是一个同步事件)。 例:可以将信号(或异常)建模为构造型的类。 下图用一个构造型为send的依赖来表示一个操作发送了一个 特定的信号。《 signal 》 Collision Force:Float 《send》 MovementAgent Position velocity moveTo()
signal parameters
dependency
send
图3-71 信号事件16
…… 此处隐藏:237字,全部文档内容请下载后查看。喜欢就下载吧 ……上一篇:BGP路由协议学习指引
下一篇:安宁工业园区发展规划