UML第12章控制驱动部分的设计_第1页
UML第12章控制驱动部分的设计_第2页
UML第12章控制驱动部分的设计_第3页
UML第12章控制驱动部分的设计_第4页
UML第12章控制驱动部分的设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第1212章章 控制驱动部分的设计控制驱动部分的设计 12.1 12.1 什么是控制驱动部分什么是控制驱动部分 12.2 12.2 相关技术问题相关技术问题 12.3 12.3 如何设计控制驱动部分如何设计控制驱动部分 控制驱动部分是控制驱动部分是OODOOD模型的一个外围组成部分。模型的一个外围组成部分。 该部分由系统中全部主动类构成。这些主动类该部分由系统中全部主动类构成。这些主动类 描述了整个系统中所有主动对象,每个主动对描述了整个系统中所有主动对象,每个主动对 象是系统中一个控制流动驱动者。象是系统中一个控制流动驱动者。 12.1 12.1 什么是控制驱动部分什么是控制驱动部分 控制

2、流(控制流(control flowcontrol flow)是一个在处理机上顺)是一个在处理机上顺 序执行的动作序列。在目前的实现技术中,一序执行的动作序列。在目前的实现技术中,一 个控制流就是一个进程或者一个线程,在个控制流就是一个进程或者一个线程,在UMLUML 的文献中称之为控制流。的文献中称之为控制流。 在在OODOOD中,把系统中所有的主动对象表示清楚,中,把系统中所有的主动对象表示清楚, 就抓住了系统中每个控制流的源头,就可以把就抓住了系统中每个控制流的源头,就可以把 并发执行的所有的控制流梳理出清晰的脉络,并发执行的所有的控制流梳理出清晰的脉络, 所有的主动对象都用主动类描述,

3、所有的主动所有的主动对象都用主动类描述,所有的主动 类构成类构成OODOOD模型的控制驱动部分。模型的控制驱动部分。 12.2 12.2 相关技术问题相关技术问题 本节将从系统总体方案、软件体系结构、分布本节将从系统总体方案、软件体系结构、分布 式系统的体系结构风格以及系统的并发性这几式系统的体系结构风格以及系统的并发性这几 方面探讨控制驱动部分的设计中的技术问题方面探讨控制驱动部分的设计中的技术问题 。 12.2.1 12.2.1 系统总体方案系统总体方案 要开发一个较大的计算机应用系统,首先要制要开发一个较大的计算机应用系统,首先要制 定一个系统总体方案。系统总体方案的内容包定一个系统总体

4、方案。系统总体方案的内容包 括:括: (1 1)项目的背景、目标与意义。)项目的背景、目标与意义。 (2 2)系统的应用范围。)系统的应用范围。 (3 3)对需求的简要描述,采用的主要技术。)对需求的简要描述,采用的主要技术。 (4 4)使用的硬件设备、网络设施和商品软件。)使用的硬件设备、网络设施和商品软件。 (5 5)选择的软件体结构风格。)选择的软件体结构风格。 (6 6)规划中的网络拓扑结构。)规划中的网络拓扑结构。 (7 7)子系统划分。)子系统划分。 (8 8)系统分布方案。)系统分布方案。 (9 9)经费预算、工期估计、风险分析。)经费预算、工期估计、风险分析。 (1010)售后

5、服务措施,对用户的培训计划。)售后服务措施,对用户的培训计划。 对于对于OODOOD模型中控制驱动部分的设计而言,总模型中控制驱动部分的设计而言,总 体方案中所决定的下述问题是它的基本实现条体方案中所决定的下述问题是它的基本实现条 件:件: (1 1)计算机硬件。)计算机硬件。 (2 2)操作系统。)操作系统。 (3 3)软件体系结构。)软件体系结构。 (4 4)网络方案。)网络方案。 (5 5)编程语言。)编程语言。 (6 6)其他商品软件。)其他商品软件。 12.2.2 12.2.2 软件体系结构软件体系结构 软件体系结构是对系统的组成与组织结构较为软件体系结构是对系统的组成与组织结构较为

6、 宏观的描述,它按照功能部件和部件之间的联宏观的描述,它按照功能部件和部件之间的联 系与约束来定义系统,着重于软件系统自身的系与约束来定义系统,着重于软件系统自身的 整体结构和部件间的交互。整体结构和部件间的交互。 部件和连接器被公认为体系结构的两大类构成部件和连接器被公认为体系结构的两大类构成 部分。部件是软件系统的组成单元,在系统框部分。部件是软件系统的组成单元,在系统框 架中起结构块的作用,是软件功能设计和实现架中起结构块的作用,是软件功能设计和实现 的承载体。连接器是建立部件和部件之间连接的承载体。连接器是建立部件和部件之间连接 的部件。的部件。 以下是几种典型的软件体系结构风格:以下

7、是几种典型的软件体系结构风格: (1 1)管道与过滤器风格)管道与过滤器风格 (2 2)客户)客户- -服务器风格服务器风格 (3 3)面向对象风格)面向对象风格 (4 4)隐式调用风格)隐式调用风格 (5 5)仓库风格)仓库风格 (6 6)进程控制风格)进程控制风格 (7 7)解释器模型)解释器模型 (8 8)黑板风格)黑板风格 (9 9)层次风格)层次风格 (1010)数据抽象风格)数据抽象风格 12.2.3 12.2.3 分布式系统的体系结构风格分布式系统的体系结构风格 主机主机+ +仿真终端体系结构。以一台计算机为主仿真终端体系结构。以一台计算机为主 机,其他计算机只作为它的远程仿真终

8、端。从机,其他计算机只作为它的远程仿真终端。从 应用系统的角度看,其软件体系结构和集中式应用系统的角度看,其软件体系结构和集中式 的系统没有本质性差别,因为其功能和数据都的系统没有本质性差别,因为其功能和数据都 集中在主机上,其他计算机只相当于一些终端集中在主机上,其他计算机只相当于一些终端 设备而已。设备而已。 文件共享体系结构。在这种体系结构中,系统文件共享体系结构。在这种体系结构中,系统 功能分布到网络的各个节点上,数据存放在一功能分布到网络的各个节点上,数据存放在一 个被称作文件服务器的主机上。在某些系统中个被称作文件服务器的主机上。在某些系统中 也可以把数据分布到各个节点上。也可以把

9、数据分布到各个节点上。 客户客户- -服务器体系结构。这种体系结构把分布服务器体系结构。这种体系结构把分布 在不同节点上的系统组成部分之间的关系处理在不同节点上的系统组成部分之间的关系处理 为请求服务和提供服务的关系,提供服务的计为请求服务和提供服务的关系,提供服务的计 算机称作服务器,请求服务的计算机称作客户算机称作服务器,请求服务的计算机称作客户 机。客户机。客户- -服务器体系结构衍出生了一些特点服务器体系结构衍出生了一些特点 各异的变种:各异的变种: (1 1)两层客户)两层客户- -服务器体系结构服务器体系结构 这是早期最典型的客户这是早期最典型的客户- -服务器体系结构。其服务器体

10、系结构。其 特点是明显地区分客户机和服务器,把提供给特点是明显地区分客户机和服务器,把提供给 多个节点共享的公共服务集中在一台服务器上,多个节点共享的公共服务集中在一台服务器上, 客户机则只配备与本地业务处理有关的功能和客户机则只配备与本地业务处理有关的功能和 数据。客户机和服务器构成两个界限分明的层数据。客户机和服务器构成两个界限分明的层 次,这就是两层客户次,这就是两层客户- -服务器结构。服务器结构。 (2 2)对等式客户)对等式客户- -服务器体系结构服务器体系结构 这种体系结构观点把客户机和服务器看成是这种体系结构观点把客户机和服务器看成是 相对的。根据实际需要,系统中的每一台计算相

11、对的。根据实际需要,系统中的每一台计算 机既可以作为客户机,又可以作为服务器,即机既可以作为客户机,又可以作为服务器,即 每一台计算机既可以请求其他节点提供服务,每一台计算机既可以请求其他节点提供服务, 又可以向其他节点提供服务。实际上,这是一又可以向其他节点提供服务。实际上,这是一 种更具一般性的客户种更具一般性的客户- -服务器体系结构形式,服务器体系结构形式, 其他形式都可以看作这种形式的受限的特例。其他形式都可以看作这种形式的受限的特例。 (3 3)三层客户)三层客户- -服务器体系结构服务器体系结构 这种体系结构是在两层客户这种体系结构是在两层客户- -服务器体系结构服务器体系结构

12、基础上改进和发展的结果。其中包括数据服务基础上改进和发展的结果。其中包括数据服务 器、应用服务器和客户机三个层次。数据服务器、应用服务器和客户机三个层次。数据服务 器存储和管理被整个系统共享的数据,提供对器存储和管理被整个系统共享的数据,提供对 这些数据进行查询、更新、一致性维护等操作这些数据进行查询、更新、一致性维护等操作 的服务。的服务。 (4 4)瘦客户)瘦客户- -服务器体系结构服务器体系结构 这种体系结构的思想是把分布到客户机上的功这种体系结构的思想是把分布到客户机上的功 能尽可能减少。其目的是使客户机上软件的安能尽可能减少。其目的是使客户机上软件的安 装、维护和升级变得很容易。在一

13、个分布区域装、维护和升级变得很容易。在一个分布区域 较广的大型系统中,末端的客户机数量最多,较广的大型系统中,末端的客户机数量最多, 分布范围也最广,往往延伸到维护力量薄弱的分布范围也最广,往往延伸到维护力量薄弱的 边远地区。边远地区。 (5 5)浏览器)浏览器- -服务器体系结构服务器体系结构 瘦客户瘦客户- -服务器的思想发展到极端,应用系统分服务器的思想发展到极端,应用系统分 布到客户机上的软件成分就只剩下了一个浏览布到客户机上的软件成分就只剩下了一个浏览 器。用户在浏览器上进行人机交互操作,浏览器。用户在浏览器上进行人机交互操作,浏览 器把用户命令转换为对服务器的请求,并把得器把用户命

14、令转换为对服务器的请求,并把得 到的处理结果向用户显示。到的处理结果向用户显示。 12.2.4 12.2.4 系统的并发性系统的并发性 在本小节关于并发系统的讨论中将使用在本小节关于并发系统的讨论中将使用“任任 务务”、“进程进程”、“线程线程”、“控制流控制流”、 “主动对象主动对象”等一系列含义相近的术语。按以等一系列含义相近的术语。按以 下的约定来使用这些术语:下的约定来使用这些术语: (1 1)在)在OOAOOA和和OODOOD中用主动对象的一个主动服务中用主动对象的一个主动服务 来描述一个任务,用主动类来描述一类主动对来描述一个任务,用主动类来描述一类主动对 象。象。 (2 2)在从

15、用户需求的角度或者在较高的抽象层)在从用户需求的角度或者在较高的抽象层 次上讨论和认识系统的并发性时,使用任务的次上讨论和认识系统的并发性时,使用任务的 概念,以明确系统中客观上要求有哪些任务并概念,以明确系统中客观上要求有哪些任务并 发执行。发执行。 (3 3)从逻辑上看问题,忽略实现细节,可以说)从逻辑上看问题,忽略实现细节,可以说 OODOOD模型中的一个主动对象的主动服务描述了模型中的一个主动对象的主动服务描述了 一个控制流。一个控制流。 (4 4)在实现阶段,主动对象、主动类的概念仍)在实现阶段,主动对象、主动类的概念仍 然存在,但是已被实现为程序代码中的对象和然存在,但是已被实现为

16、程序代码中的对象和 类,它们的每个主动服务将被具体地实现为进类,它们的每个主动服务将被具体地实现为进 程或者线程。程或者线程。 (5 5)把)把“任务任务”和和“控制流控制流”作为讨论问题、作为讨论问题、 解释概念或陈述设计策略时使用的词汇,而把解释概念或陈述设计策略时使用的词汇,而把 “主动对象主动对象”、“主动类主动类”、“进程进程”作为模作为模 型或程序中的元素或技术术语。型或程序中的元素或技术术语。 顺序程序和并发程序:顺序程序和并发程序: (1 1)顺序程序中只有一件事在进行处理,即使)顺序程序中只有一件事在进行处理,即使 程序中包括多项工作,也不会在一个时间段同程序中包括多项工作,

17、也不会在一个时间段同 时做两项(或以上)工作。程序中可以有分支、时做两项(或以上)工作。程序中可以有分支、 循环、子程序调用等各种复杂情况,但是一切循环、子程序调用等各种复杂情况,但是一切 都按确定的逻辑进行。都按确定的逻辑进行。 (2 2)如果说系统要在同一段时间内执行多个任)如果说系统要在同一段时间内执行多个任 务,而这些任务之间又没有确定的时间关系,务,而这些任务之间又没有确定的时间关系, 这种系统就是并发系统。描述并发系统的程序这种系统就是并发系统。描述并发系统的程序 叫做并发程序。并发程序要执行的多个任务在叫做并发程序。并发程序要执行的多个任务在 时间上没有确定的逻辑关系,但是又相互

18、影响。时间上没有确定的逻辑关系,但是又相互影响。 进程和线程:进程和线程: (1 1)进程是)进程是W.DijkstraW.Dijkstra、C. A .R .HoareC. A .R .Hoare和和 P.B.HansenP.B.Hansen等人在等人在2020世纪世纪6060年代中期以后的一年代中期以后的一 系列文章中提出并逐渐完善的,它的全称是顺系列文章中提出并逐渐完善的,它的全称是顺 序进程。采用进程的基本思想是:把一个并发序进程。采用进程的基本思想是:把一个并发 程序分解成若干能够顺序执行的程序单位。每程序分解成若干能够顺序执行的程序单位。每 一个这样的程序单位的一次执行就叫做一个顺

19、一个这样的程序单位的一次执行就叫做一个顺 序进程。序进程。 (2 2)线程在进程之后出现,它可以看作是并发)线程在进程之后出现,它可以看作是并发 程序设计技术的进一步发展,然而更重要的原程序设计技术的进一步发展,然而更重要的原 因是由于并行计算技术的需要。进程既是处理因是由于并行计算技术的需要。进程既是处理 机资源的分配单位又是其他资源的分配单位;机资源的分配单位又是其他资源的分配单位; 而线程只是处理机资源的分配单位。一个进程而线程只是处理机资源的分配单位。一个进程 可以包含一个或者多个线程。可以包含一个或者多个线程。 (3 3)从应用的角度看,进程的概念适合于解决)从应用的角度看,进程的概

20、念适合于解决 系统固有的并发性问题。系统固有的并发性问题。 (4 4)从编程技术来看,线程概念的出现还有)从编程技术来看,线程概念的出现还有 更重要的逻辑上的理由,那就是:一个进程的更重要的逻辑上的理由,那就是:一个进程的 数据空间被该进程内的多个线程共享,使这些数据空间被该进程内的多个线程共享,使这些 线程可以方便地交换信息。线程可以方便地交换信息。 当前应用系统的并发性。有些程序员虽然已经当前应用系统的并发性。有些程序员虽然已经 成功地开发出许多并发的应用系统,但是他们成功地开发出许多并发的应用系统,但是他们 并没有觉察到自己曾经面对并发程序设计的挑并没有觉察到自己曾经面对并发程序设计的挑

21、 战性问题。他们觉得,自己编写的程序和一个战性问题。他们觉得,自己编写的程序和一个 顺序程序没有什么两样。原因在于当前的开发顺序程序没有什么两样。原因在于当前的开发 环境和运行环境无形中已经帮助,甚至代替这环境和运行环境无形中已经帮助,甚至代替这 些程序员解决了系统的并发问题。些程序员解决了系统的并发问题。 12.3 12.3 如何设计控制驱动部分如何设计控制驱动部分 设计设计OODOOD模型中控制驱动部分的关键,是识别模型中控制驱动部分的关键,是识别 系统中所有并发执行的任务,然后用主动对象系统中所有并发执行的任务,然后用主动对象 来表示这些任务。来表示这些任务。 12.3.1 12.3.1

22、 选择软件体系结构风格选择软件体系结构风格 分布式系统的设计中,除了采用面向对象风格分布式系统的设计中,除了采用面向对象风格 以外,还需要在其他几种体系结构中做出选择。以外,还需要在其他几种体系结构中做出选择。 主要的选择是客户主要的选择是客户- -服务器体系结构的几个变服务器体系结构的几个变 种,选择这些体系结构风格所考虑的因素包括:种,选择这些体系结构风格所考虑的因素包括: (1 1)被开发系统的特点。)被开发系统的特点。 (2 2)网络协议。)网络协议。 (3 3)可用的软件产品。)可用的软件产品。 (4 4)成本及其他,包括购置相应硬件及软件的)成本及其他,包括购置相应硬件及软件的 成

23、本、新开发软件的成本、系统的安装与维护成本、新开发软件的成本、系统的安装与维护 成本。成本。 12.3.2 12.3.2 确定系统分布方案确定系统分布方案 随着软件体系结构风格的选择,系统中的每个随着软件体系结构风格的选择,系统中的每个 节点采用何种计算机以及它们之间如何连接也节点采用何种计算机以及它们之间如何连接也 都将逐一明确。被开发的软件将分布到这些节都将逐一明确。被开发的软件将分布到这些节 点上。面对一个分散的计算环境,要考虑如何点上。面对一个分散的计算环境,要考虑如何 把对象分布到通过网络相连的各台计算机上。把对象分布到通过网络相连的各台计算机上。 本小节围绕这一目标,讨论对象的分布

24、、类的本小节围绕这一目标,讨论对象的分布、类的 分布以及如何在模型中表示这种分布方案。分布以及如何在模型中表示这种分布方案。 对象的分布。这里首先针对一般情况讨论对象对象的分布。这里首先针对一般情况讨论对象 分布策略:分布策略: 1 1)由数据决定对象分布,这又包括以下几点:)由数据决定对象分布,这又包括以下几点: (1 1)当应用系统中一个类的对象实例需要在文)当应用系统中一个类的对象实例需要在文 件或关系数据库中存储时,则定义与这个类的件或关系数据库中存储时,则定义与这个类的 数据结构一致的文件或数据库表。数据结构一致的文件或数据库表。 (2 2)该类的每个对象实例用文件的一个)该类的每个

25、对象实例用文件的一个 记录或者用数据库的一个元组保存。当记录或者用数据库的一个元组保存。当 一个类有大量的对象实例时,通常只把一个类有大量的对象实例时,通常只把 当前正在被处理的对象读到内存,所以当前正在被处理的对象读到内存,所以 一般只需要为该类定义少量的内存空间一般只需要为该类定义少量的内存空间 的对象。的对象。 (3 3)需要设计一个名为)需要设计一个名为“对象存取器对象存取器”的对象的对象 类,其功能是负责把内存中的对象实例保存到类,其功能是负责把内存中的对象实例保存到 文件或数据库表中以及把文件或数据库表中的文件或数据库表中以及把文件或数据库表中的 对象数据恢复成内存中的一个对象。对

26、象数据恢复成内存中的一个对象。 2 2)由功能决定对象分布)由功能决定对象分布 3 3)追踪消息)追踪消息 4 4)Use CaseUse Case 类的分布。关于类的分布,具体做法如下:类的分布。关于类的分布,具体做法如下: (1 1)如果整个系统只需要在一个节点上创建某)如果整个系统只需要在一个节点上创建某 个类的对象实例,那么这个类就分布在这个节个类的对象实例,那么这个类就分布在这个节 点上。点上。 (2 2)如果系统需要在多个节点上创建同一个类)如果系统需要在多个节点上创建同一个类 的对象实例,那么这个类主要分布在每个需要的对象实例,那么这个类主要分布在每个需要 它的节点上。可以把其中

27、一个节点上的这个类它的节点上。可以把其中一个节点上的这个类 作为正本,而把其他节点上出现的这个类表示作为正本,而把其他节点上出现的这个类表示 为副本。作为副本的类可以采用如图为副本。作为副本的类可以采用如图12-112-1所示所示 的表示法。的表示法。 classname副本 图图12-112-1 类图的划分。为了表明对象和类在各个节点上类图的划分。为了表明对象和类在各个节点上 的分布情况,需要在类图上采取相应的组织措的分布情况,需要在类图上采取相应的组织措 施,把描述整个系统的集中式的类图分散到各施,把描述整个系统的集中式的类图分散到各 个节点上,以分别描述分布在各个节点上的对个节点上,以分

28、别描述分布在各个节点上的对 象;最后要把每个节点上的类组织成一个主题。象;最后要把每个节点上的类组织成一个主题。 具体策略有以下两种:具体策略有以下两种: (1 1)把每个节点的主题看成是在整个系统的类)把每个节点的主题看成是在整个系统的类 图上划分出来的一个局部。图上划分出来的一个局部。 (2 2)把每个节点上的主题看成一个独立的子)把每个节点上的主题看成一个独立的子 系统,用一个定义完整的类图表示。系统,用一个定义完整的类图表示。 在类描述模板中的表示。下面给出类描述模板在类描述模板中的表示。下面给出类描述模板 的描述格式:的描述格式: 对象实例:对象实例: 处理机:处理机: , ; 内存

29、对象:内存对象:nn元数组元数组; 外存对象:外存对象:; 12.3.3 12.3.3 识别控制流识别控制流 以节点为单位识别控制流。以每个节点为单以节点为单位识别控制流。以每个节点为单 位考虑在每个节点上运行的程序还需要如何并位考虑在每个节点上运行的程序还需要如何并 发,需要设计哪些控制流以及各个节点之间如发,需要设计哪些控制流以及各个节点之间如 何相互通信。以节点为单位识别控制流是本小何相互通信。以节点为单位识别控制流是本小 节讨论的前提。节讨论的前提。 从用户需求出发认识控制流。现在需要考虑的从用户需求出发认识控制流。现在需要考虑的 是,每一个节点上的功能,还有哪些任务必须是,每一个节点

30、上的功能,还有哪些任务必须 在同一台计算机上并发地执行。在同一台计算机上并发地执行。 从从Use CaseUse Case认识控制流。在以下情况下应考虑认识控制流。在以下情况下应考虑 针对一个针对一个Use CaseUse Case设计相应的控制线程:设计相应的控制线程: (1 1)用户希望一个)用户希望一个Use CaseUse Case所描述的功能在必所描述的功能在必 要时能够与系统的其他功能同时进行处理。要时能够与系统的其他功能同时进行处理。 (2 2)一个)一个Use CaseUse Case所描述的功能是对系统中随所描述的功能是对系统中随 机发生的异常事件(例如某一种中断信号)进机发

31、生的异常事件(例如某一种中断信号)进 行异常处理的。行异常处理的。 (3 3)对一个)对一个Use CaseUse Case所描述的功能,用户可以所描述的功能,用户可以 在未经系统提示的情况下随时要求执行,这样在未经系统提示的情况下随时要求执行,这样 的的Use CaseUse Case一般应由一个专门的控制流去处理。一般应由一个专门的控制流去处理。 为改善性能而增设的控制流。除了满足系统固为改善性能而增设的控制流。除了满足系统固 有的并发要求之外,为了改善性能,可能需要有的并发要求之外,为了改善性能,可能需要 增设执行以下几类任务的控制流:增设执行以下几类任务的控制流: (1 1)低优先级任

32、务)低优先级任务 (2 2)高优先级任务)高优先级任务 (3 3)紧急任务)紧急任务 参照参照OOAOOA模型中的主动对象。主动对象的一个模型中的主动对象。主动对象的一个 主动服务,是在创建之后不必接收其他对象的主动服务,是在创建之后不必接收其他对象的 消息就可以主动执行的服务,从系统运行的角消息就可以主动执行的服务,从系统运行的角 度看,这意味着主动对象的一个主动服务是一度看,这意味着主动对象的一个主动服务是一 个控制流的源头,在个控制流的源头,在OODOOD中,通过考察中,通过考察OOAOOA模型模型 中的主动对象可帮助确定这些控制流。中的主动对象可帮助确定这些控制流。 实现并行计算的控制

33、流。如果被开发的系统包实现并行计算的控制流。如果被开发的系统包 含并行计算问题,那么由一个任务分解成的每含并行计算问题,那么由一个任务分解成的每 个可并行计算的子任务都应被设计为一个控制个可并行计算的子任务都应被设计为一个控制 流。通常是用一个重量级的控制流流。通常是用一个重量级的控制流进程实进程实 现一个任务,用若干轻量级的控制流现一个任务,用若干轻量级的控制流线程线程 实现各个子任务。实现各个子任务。 对其他控制流进行协调的控制流。当一个节点对其他控制流进行协调的控制流。当一个节点 上有多个控制流存在时,往往需要设计一个对上有多个控制流存在时,往往需要设计一个对 这些控制流进行协调和管理的

34、控制流。这些控制流进行协调和管理的控制流。 实现节点之间通信的控制流。在有些情况下可实现节点之间通信的控制流。在有些情况下可 能不需要设计专门负责节点之间通信的控制流。能不需要设计专门负责节点之间通信的控制流。 但是在有些情况下,为了实现的方便,可能要但是在有些情况下,为了实现的方便,可能要 设计一些专门负责与其他节点通信的控制流。设计一些专门负责与其他节点通信的控制流。 12.3.4 12.3.4 用主动对象表示控制流用主动对象表示控制流 确定了系统中需要设立哪些控制流之后,面对确定了系统中需要设立哪些控制流之后,面对 的问题就是如何表示这些控制流。在面向对象的问题就是如何表示这些控制流。在面向对象 系统模型中,系统的一切行为都是通过对象的系统模型中,系统的一切行为都是通过对象的 服务以及它们之间的消息来表示的。控制流在服务以及它们之间的消息来表示的。控制流在 这种由代表对象类的方块和它们之间的各种关这种由代表对象类的方块和它们之间的各种关 系连接线所构成的类图中,实际上并没有被显系连接线所构成的类图中,实际上并没有被显 示地表示,而是被隐含表示的。示地表示,而是被隐含表示的。 以过程抽象的观点看服务之间的调用。按照这以过程抽象的观点看服务之间的调用。按照这 种观点,从一个主动对象的主动服务开始,被种观

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论