面向对象框架技术及应用

上传人:壹****1 文档编号:459485972 上传时间:2022-08-19 格式:DOC 页数:11 大小:22KB
返回 下载 相关 举报
面向对象框架技术及应用_第1页
第1页 / 共11页
面向对象框架技术及应用_第2页
第2页 / 共11页
面向对象框架技术及应用_第3页
第3页 / 共11页
面向对象框架技术及应用_第4页
第4页 / 共11页
面向对象框架技术及应用_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《面向对象框架技术及应用》由会员分享,可在线阅读,更多相关《面向对象框架技术及应用(11页珍藏版)》请在金锄头文库上搜索。

1、面向对象框架技术及应用面向对象框架技术是软件重用的一种重要方式。本文以 面向对象开发方法为基础,结合防空 C I 通信网仿真系统, 介绍了开发特定领域应用框架的方法。引言 在现代软件工程中,软件重用已经成为其中一个主要目标。 代码重用通过面向对象语言的继承机制和编译技术已成为 现实。随着面向对象技术的日趋成熟,像这样低层次的复用 已经不适合于特定领域大型软件生产的需求。为了提高软件 生产过程的重用力度,软件领域的先驱者们开始进行一种新 的尝试来提高软件生产力,他们不仅要重用旧的代码,而且 要重用相似的分析设计结果和体系结构,来减少构造新软件 系统的代价并提高软件的可靠性。基于框架的方式就是这样

2、 一种面向特定领域的重用技术。框架由于提供了大力度的重用而被认为是一种最有前途的 面向对象技术。单独的类的重用,尽管有用,但由于重用力 度小而不具备有意义的生产力的飞跃,只有把特定领域的体 系结构作为一个整体进行重用才能取得引人注目的成就。 在仿真领域中,面向对象使得映射问题域到方案域变得很容 易。方法和数据可以绑定到面向对象风格的程序中。仿真领 域中的一个具体的实体都可以作为一个主动或被动对象,因 此采用面向对象技术来解决仿真问题是明智的。本文将结合 建立 C3I 通讯子网仿真来讨论建立面向对象框架的方法和步 骤。面向对象框架1.什么是面向对象框架 一个面向对象框架是指在特定领域中的应用软件

3、的半成品。 框架是对于那些试图在他们所关心的领域构造一个复杂软 件系统的用户而言的。因为它是处于特定领域中,所以应用 系统的体系结构在许多不同的方面具有一定的相似性。框架 利用一系列的对象和它们之间的接口来对应静态和恒定结 构的端口,并保留友好界面使用户能够很容易完成变化的、 不稳定的剩余部分而得到一个新应用程序。任何框架都是特 定领域的框架,一个框架可以包含一个或多个模式。 一般来说,如图 1 所示,框架定义了一个应用程序的骨架并 提供可以放置于该骨架中的标准用户界面实现。作为一个程 序员,你的工作只是在骨架中填入你的应用程序中特定的部 分。目前有关面向对象框架尚未形成一个严格而精确的定义,

4、 国外著名的软件设计大师 Ralph Johnson 教授对面向对象 技术进行了长期而深入的研究,在他写的许多关于面向对象 的论文中对框架进行了如下定义: 图 1 特定领域的框架 框架是一种软件重用技术,它是一个应用软件系统的部分或 整体的可重用设计。框架的具体表现为一组抽象类以及其实 例(对象)之间的相互作用方式。它是对于一个软件系统的 全部或部分的可复用设计。如一个用户界面框架只提供系统 对用户界面的设计,而MacAPP的“Macintosh应用框架”提 供了整个应用系统的设计。由定义可知,一个框架是一种面 向对象的设计,尽管通常我们看到的框架都是由某种面向对 象语言实现的,但从理论上讲它

5、可以不提供面向对象语言的 实现。面向对象类库大力度的复用需要框架,框架提供了类 库中被复用组件的上下文关系。在一个专用领域内构造框架时,把握框架的共同点是关键因 素。框架一旦被建立,其适应性和可扩展性就被提到了首要 地位。框架的直接目的是被复用,以减少建立一个新应用系 统的工作量。只有当理解一个框架的代价少于建立一个新系 统的代价时,框架的复用才成为可能。构造框架是一个逐渐 积累的过程,就是说不断有新发现的共同点和新的构件被加 入,同时那些老的、不必要的部件被删除,以此来保证整个 应用系统的性能,这样新旧构件之间的接口直接影响框架的 适应性和可扩展性。任何框架都不能被直接复用,除非要建 立的应

6、用系统非常简单或者与框架极为相似,除此之外,都 要对框架进行或多或少的修改和扩展才能被复用。 2.框架和类库的不同我们首先要给类库一个明确的定义,对类库的广义描述为: 类库以库文件的形式存在,库文件中包含了事先定义好的类。 从广义的角度看,面向对象框架的存在形式可以看作一个类 库,它是建立在对多态性和动态绑定的系统化的广泛使用基 础之上,这些说起来很简单,但现在已建立的开发方法很少 有支持对框架设计的。不过一些新的方法原理,例如模式和 抽取,表现了对面向对象方法有意义的支持。但在传统意义 上,框架是不同于类库的,框架包含更多的内容。框架是对 协作完成一系列相关责任的类集合的抽象设计。框架和类库

7、 的一些主要区别与联系如下: 在类库中是由用户实例化抽象类,类库构件被单独使用;而在框架中要有抽象类的一些具体子类,应用软件开发者通 过修改现存的类或定义新的子类以扩展现存的类来使用框 架。 在类库中是用户在需要的时候调用函数,不预定义控制流;而框架使用了与用户之间的反向控制流,使用框架时,通常 只是实现一些回调函数或者使一些类适用于上下文,然后调 用一个单一的方法或过程,框架将完成其余的工作,在适当 的时候和地点调用必要的函数或方法。这就是框架的 Hollywood 法则(“Dont call us, well call you”)。 使用类库只需要了解类的外部接口,但必须要定义应用软件的整

8、体结构;而框架的使用者要了解框架的抽象设计和类 的内部结构来进行修改和扩展,因此学习框架要比类库更加 困难,同时有被错误使用的危险,但框架被复用的潜力大大 超过了类库。 在类库中没有定义缺省行为,而在框架中提供缺省行为。框架技术应用示例下面,笔者将结合建立C3I通讯子网仿真来讨论建立面向对 象框架的方法和步骤。1防空C3I通信网仿真系统C3I 系统由指挥、控制、通信和情报四个方面的技术系统组 成,是一个庞大复杂的系统。防空 C3I 通信网仿真作为 C3I 系统仿真的一部分,其主要功能是通过共享传输设备进行信 息传输,所含部件包括工作站、路由器和通信链路等等,所 传送报文分为三种类型,由处于不同

9、位置的用户或用户群随 机产生,要求系统根据报文的不同属性、优先级和长度进行 适当处理。由于防空C3I通信网仿真系统涉及分布式理论及 时间同步原理,作为简单示例,在此我们只讨论单机环境下 的军师级防空作战指挥系统的面向对象仿真框架。防空 C3I 通信网包括军指挥中心(见图2)和若干(如3 个) 师属防空指挥系统(见图3)。该中心由军防空情报方舱、军 防空指挥方舱和军防空通信方舱组成,每舱中若干终端连成 LAN,方舱间由无线LAN互连,军情报方舱通过电台与情报 采集融合网络连接。军通信方舱通过电台与军直属防空群相 连,地域网接口与各个师防空指挥部交换信息。类似于军防 空指挥中心,各师由二个方舱,即

10、师防空指挥方舱和师防空 通信方舱通过LAN将若干终端连成网,且成师指挥通信系统。 类似的,我们可以再向下拓展至团、连、营等。由此我们可 分析得知,军防空指挥中心和师防空指挥系统在结构上具有 一定的相似性,它们有相同类型的方舱,有相似的内部结构。图 2 军防空指挥中心示意图2.防空C3I通信网仿真框架框架应该是在对现存应用领域内的软件系统作了深入了解 分析后才得到的。经过对军级防空作战指挥系统进行分析研 究,我们认为此系统主要包括如下结构成分(且件):局域 网、工作站、路由器、报文及报文队列,而这些成分在师级 的系统中也是必要的。为了建造防空 C3I 通信网仿真系统框架,我们在对其军级作 战指挥

11、系统进行分析后得出五个基本类,其对象关系如图 4 所示。基于软件框架的软件开发过程,把软件的开发看作一个且装 过程,在软件框架的指导下寻找可复用构件(及开发一些新 构件)并进行系统且装,这种开发过程是目前很受重视的研 究方向。 局域网类 HLan局域网类HLan是构成系统的主要成分,同时也是独立运行 和独立仿真的基本单位,它可以包含三个子类:军防空情报 方舱、军防空指挥方舱和军防空通信方舱。局域网由工作站 和路由器通过总线连接而成,其中工作站可以有多个,但不 能少于一个,路由器有且只能有一个。局域网对总线采用多 址接入方式进行访问。图 3 师防空指挥中心示意图 工作站类 HStation工作站

12、类 HStation 主要完成对报文的产生、存储、处理、转 发和接收。工作站利用接收队列存放自己产生的以及来自其 他队列的报文,利用发送队列存放自己需要发送到其他工作 站的报文。工作站可以根据报文的类型分为多种类型,如普 通终端、指挥报文计算终端、地域网出口及存储转发站等等。 通常工作站的属性信息是来描述工作站具体类型和所具有 的特殊功能。 路由器类 HNetBridge路由器类 HNetBridge 作为局域网和外界的通信接口,其主 要功能是完成局域网和外界之间的报文交换。路由器分别用 接收队列和发送队列来保存报文。我们可以以军防空指挥中心仿真系统为基础,抽象出其框架, 再复用到师防空指挥系

13、统中,这样就减少了开发整个防空C3I 通信网的代价,也为以后对系统的扩展提供了条件。 报文类 HMsg报文类 HMsg 是此系统中的动态实体,也是系统内各部件之 间进行联络的惟一表现形式。根据要求系统内的报文分为三 种形式:指挥报文、战况报文和业务报文。指挥报文的优先 级较高,是由特定源工作站每隔固定时间间隔产生一次,按 特定路由传递、处理,最终到达特定目标工作站。战况报文 按泊松分布产生,其产生期望值作为工作站参数,优先级较 低。业务报文由所有工作站产生,其产生规则及优先权约定 与战况报文相同。图 4 仿真框架对象关系图 报文队列类 HMsgQue报文队列类HMsgQue用于存储报文,分为接

14、收队列和发送 队列两类。当然在对该仿真系统进行详细的面向对象框架设计时,只有 这五个基本类是远远不够的,但由于篇幅的限制,在此我们 只给出这五个基本类的说明。由军级防空指挥中心抽象出的仿真框架,复用到师级防空指 挥系统中,控制线程为MEC中的GUI应用框架,将各子框 架进行组合就可以得到整个军师级防空C3I通信网仿真系统。结束语采用基于面向对象框架的方法开发应用软件,其意义在于可 以以框架为重用部件的基本构造单元来实现软件工业化生 产,有效地降低软件开发的成本,提高生产效率和软件可靠 性,尤其对特定领域复杂系统的高可靠性专用软件更具有实 用价值,为这些特定领域的软件开发提供了一种强有力的技 术。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号