第3章 面向对象的分析-2

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……
第3章 面向对象的分析-2.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219