




已阅读5页,还剩52页未读, 继续免费阅读
(计算机软件与理论专业论文)分布的交互式系统模型与建模及corba环境下的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 一- - ( a m ,是人们认识事物的基本方法,包括自然的以及人造的系统。软件系统 的开发同样如此,特别是大的复杂的系统,模型的使用和建立是系统设计的中心。 实际上,软件开发的主要工作就是一系列模型的构造过程。,7 本文在介绍交互式系统的各种现有模型以及c o r b a 对象模型的基础上,提出 一个支持分布式对象系统设计和实现的二级对象模型t l o m ( t w o l e v e lo b j e c t m o d e l ) 。其中,主要引入了对象级别的概念,并对部分u m l 记号和视图及其语义 进行扩充,以支持t l o m 的概念在设计中的使用。我们认为,这样的模型能够更 好的达到设计与实现之间的平滑映射的目的。 关于基于t l o m 的建模,认为t l o m 适合于设计和实现而不是分析。并提供一 个简单的活动框架。这个框架指出了需要建立的模型,并没有考虑过程相关的问 题。它的特点在于:一般对象模型的分析,t l o m 的设计:在体系结构建立中进 行从分析到设计的过渡:面向交互式系统。 另外,通过一个实例的研究进一步说明t l o g 的应用,特别是在分布的、交 互式系统中的应用。从实现技术的角度初步探讨另一种支持分布式对象系统实现 的可能方式:分布式面向对象语言。 关键字:c o r b a ,对象模型,交互式系统 西北大学计算机科学系9 9 级硕士研究生学位论文 a b s t r a c t a b s t r a c t i o ni st h ep r i m a r ym e t h o dt ou n d e r s t a n d i n gt h i n g st h a ta r e a r t i f i c i a l i t i e so rf r o mn a t u r e t h i si sa l s ot r u ef o rt h es o f t w a r es y s t e m , e s p e c i a l l yt h el a r g eo rt h ec o m p l i c a t e ds y s t e m ,o fw h i c ht h eu s ea n db u i l d o fm o d e l si so f t e nt h ec e n t e ro fd e s i g n i nf a c t ,t h ep r o c e s st ob u i i d i n g as e r i e so fm o d e l si st h em a i nw o r kf o rs o f t w a r ed e v e l o p m e n t i nt h i st h e m s s o m em o d e l sf o ri n t e r a c t i v es y s t e ma n dt h ec o r b ao b j e c t m o d e li sd i s c u s s e d t o s u p p o r t t h e d e s i g n a n d i m p l e m e n t a t i o n o f o b j e c t o r i e n t e dd i s t r i b u t e ds y s t e m ,a m o d e lt l o w i ( t w o l e v e lo b j e c tm o d e l ) w ec a l l e di n t r o d u c e d i nw h i c ht h eo b j e c tl e v e li si n t r o d u c e da n ds o m e u m ln o t i o n sa n dd i a g r a m se x t e n d e df o rt h ed e s i g ni nt h ec o n c e p tf r o mt l o m w eb e l i e v et h a tt h i sk i n do fm o d e lc a ns u p p o r tm o r ep e r f e c tm a p p i n gb e t w e e n d e s i g na n di m p l e m e n t a t i o n ,i t i sa l s ot h ep u r p o s eo ft h em o d e l t h et l o m ,w eb e l i e v e ,s u i t st h ed e s i g nb u ta n a l y s i s ,b a s e do nw h i c h af r a m e w o r ko fa c t i v i t i e ss u p p o r tt h em o d e l i n gi nt l o m t h i sf r a m e w o r k i n d i c a t e st h em o d e l st ob u i l d ,n o td e a l sw i t ha n yp r o c e s s r e l a t e di s s u e w h a tm a k e si td i f f e r e n ti st h a tt h ea n a l y s i sb a s e so nc o i n i o no b j e c tm o d e l , t h ed e s i g nb a s e so nt l o m ,c o n v e r s i o nf r o ma n a l y s i st od e s i g ni s i nt h e a r c h i t e c t u r em o d e l i n g ,a n di tf o c u so nt h ei n t e r a c t i v es y s t e m ac a s es t u d ys h o w st h eu s eo ft l o m e s p e c i a l l yi nt h ed i s t r i b u t e da n d i n t e r a c t i v es y s t e m f r o mt h ev i e w so ft e c h n i q u e ,ap i l o ts t u d ye x p l o r e s t h ef e a s i b i l i t yt ot h i n k i n gd i s t r i b u t e do b j e c t o r i e n t e ds y s t e mi n t h e d i r e c t i o no fi m p l e m e n t a t i o n ,i st h ed i s t r i b u t e do b j e c t o r i e n t e dl a n g u a g e w ec a l l e d k e y w o r d s :o b j e c tm o d e l ,i n t e r a c t i v es y s t e m ,m o d e l i n g ,c o r b a 西北大学计算机科学系9 9 级硕士研究生学位论文 1 j 兰! 兰竺! ,2 独创性声明 本人声明所呈交的学位论文是本人在导师的指导下进行的研究工作及取得 的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含 其他人已发表或撰写过的研究成果,也不包含为获得西北大学或其他教育机构的 学位和证书而使用过的材料。与我一同工作的同志对本研究所做的贡献己在论文 中作了明确的说明并表示谢煮。 学位论文作者签名: f 午揿 签字日期:p ,p 年岁月增日 图表 图2 1 : 图2 2 : 图2 3 : 图2 4 : 图2 5 : 图2 6 : 图2 7 : 图2 8 : 图3 1 : 图3 2 : 图3 3 : 图3 4 : 交互框架3 界面与应用语义分离4 体系结构流程7 m v c 模型8 p a c 模型9 s e e h e i m 模型9 a r c h 模型1 0 p a c a m o d e u s 模型11 二级对象模型。 t l o m 元模型 分析模型与设计模型 w i s d o m 模型 1 9 2 l 2 5 2 6 图4 1 :初步的类图2 9 图4 2 :用例视图一3 0 图4 3 :交互模型31 图4 4 :p l a y 用例相关的交互模型3 3 图4 5 :接1 3 图( 只用于高级对象) 3 4 图4 6 :体系结构设计模型的类图3 5 图4 7 :体系结构设计模型的协作图3 5 图48 :c l i e n t 端界面一4 0 图4 9 :对局管理4 0 图4 1 0 :注册和上线4 1 图4 1l :上线界面构造4 2 图4 1 2 :成为p l a y e r 4 2 图4 ,1 3 :落子4 3 图4 1 4 :退出对局4 4 图4 1 5 :主要界面4 5 表4 1 :p l a y 用例的描述 3 0 w l # m m 女 一 一 1 前言 1 1 动机和意义 对象模型把系统的运行抽象为一个对象网,认为系统中除了对象就是消息的 传递。它为面向对象系统的开发提供了一个最基本的概念框架,是人们考虑0 0 系统的基本方法。例如在编码中,程序员所用的概念就是对象的创建、销毁、对 象之间的通讯等。设计也是围绕这样的模型展开的。但在分布式环境下,这样的 一个对象网却受到了限制。例如,对象、类一般只在一个地址空间中有效。 c o r b a 等分布式对象技术旨在解决这样的问题。它的对象模型具有相同的作 用,但是它是不完全的。一方面,c o r b a 对象适用于表现体系结构上的或分布性 的特点,不适合作为构成系统的最终元素。另外它包含了“客户”这样的概念, 它对于系统构成来讲是模糊的。因此,这个概念框架不足以准确、详细地描述和 实现具体的系统,甚至不足以描述系统完整的体系结构。 由于缺乏表现接i z l 与实现的严格分离以及表现c o r b a 对象的不同粒度,类的 抽象对于c o r b a 对象的描述是不够的 1 。为此,人们般引入构件、连结器等 概念。但是我们发现:构件与c o r b a 对象具有不同的含义;构件的目的在于转变 系统的开发思路、实现“软件系统的构件化”,并不排斥其它方式,只能解决一 定的问题。 首先,一个系统并不能完全由现成的构件构成。因此,如何满足系统相关的 需求是在构件中一般是找不到的。 其次,提供商如何开发新的构件也并不限制其它方法和思路。 最后,对设计上的构件,我们经常能听到这样的说法:“在一个系统的具体 设计中,需要自己开发新的构件”。问题是。自己丌发的构件在一定程度上看来 只有本系统一个用户;这样的构件是否有助于“软件系统的构件化”? 假设一个 系统完全是由构件构成的,而我们不得不开发每一个构件;那么,这样的概念能 提供给我们什么信息,我们是否需要这样的概念? 笔者认为,这样的( 设计上的) 构件完全可以替换为“部分”或0 0 系统中的类( 对象) 。 现有的交互式系统模型一般从分离界面的思想出发,对系统功能元素、关系 西北大学计算机科学系9 9 级硕士研究生学位论文 等进行了化分和描述。这对于系统的开发和理解是必要的。但在分布环境下,同 样面临以上问题。 总之,需要进一步的技术来支持交互式系统的具体设计与实现。就是说,需 要一个概念模型,指出系统应当由什么样的最基本的元素构成、它们之间的关系、 设计上的描述方法等。这个模型应当符合程序员、设计人员等对系统的理解,为 设计和实现提供一个公共的概念框架,从而支持设计到实现的平滑映射( 参考 2 ) 。 1 2 内容和结构 第二章介绍交互式系统以及体系结构相关的概念和技术:分析交互式系统的 各种模型。第三章对基于c o r b a 的系统进行分析,提出一个新的对象模型一t l o m : 给出基于u k l l 的设计记号及相关的问题。第四章研究一个交互式系统的实例。第 五章初步讨论了进一步的工作。 _ 一一一+ 一一“ 两北丈学计算机科学系9 9 级硕士研究生学位论文 一一一 2 交互式系统模型及体系结构 2 1 交互式系统概述 一般,计算机的利用被模型化为一个人机对,二者通过一个狭窄的、显式 的通讯通道相连。进一步的技术,如窗口,菜单,点设备,色彩,声音以及触摸 屏,扩展了这个通讯通道。另外,基于知识的人机界面( h u m a nc o m p u t e r i n t e r f a c e ) 提供了隐式通讯通道的可能。 围21 :交互框架 图2 1 描述了一个交互式系统一般所处的框架。它最初由a b o w d 3 明确提出, 但是它基于n o r m a n 的部分工作 4 。根据这个框架,用户一般头脑中有一个任务 ( 或子任务) ,这个任务被用户所表达( a r t i c u l a t e d ) 和执行( p e r f o r m e d ) 。对 系统的影响被表示( p r e s e n t e d ) 出来,并被用户所观察( o b s e r v e d ) 。之后,用 户可以进行另一个任务,。图中的阴影部分表示了计算机系统所处的位置。 用户界面( u s e ri n t e r f a c e ) 或称人机界面( h u m a nc o m p u t e ri n t e r f a c e ) 是一个计算机程序的一部分,它负责处理输出显示及来自用户的输入。程序的其 它部分称为应用或应用语义 5 。人机交互是多学科的,不仅仅是用户界面,但 是用户界面是人机交互研究的主要方面。 u i 的重要性早已被工业、学术和政府所认识到。一份报告( c o m p u t i n gt h e f u t u r e ) 6 中,把用户界面列为计算机科学的六个核心领域之一,并指出它对 于一系列重要应用,例如全球货币调查、计算生物学、商业计算和电子图书馆, 两北大学计算机科学系9 9 级硕士研究生学位论文 是“非常重要的”或处于“中心地位”。 另一方面,u i 设计不是一项简单的工作,设计一个好的u 1 只有计算机是不 行的,还需要专门的培训。一个非正式的调查表明,u i 在设计和实现阶段分别 占用4 5 和5 0 的工作时间,平均占有4 8 的编码工作。 用户 + 图2 2 :界面与应用语义分离 界面应该分离出来,这样可以较容易的改变界面,更重要的是分工的目的。 实现分离最简单的方法是实现一个对话层,负责应用功能和界面代码之间的所有 通信。对话层功能有两种类型:( 1 ) 由应用调用的。( 2 ) 由用户界面调用的。他 们分别代表了“内部控制”和“外部控制”。实际中并不采用纯粹的“内部控制” 或“外部控制”,而是两种方式的混合。要实现抽象层次的严格分离,界面表示 的任何改变都应当由“内部控制”完成。但是现实中,这种分离是困难的有时甚 至是不可能的。而且,当今的用户界面工具因为普遍使用“c a l l b a c k ”过程而增 加了这种困难。 自从1 9 6 3 年s k e t c h p a d 7 的出现,交互式图形对象的概念就成为了u i 技 术的关键,发展为今天所谓的图形用户界面( g r a p h i c su s e ri n t e r f a c e ) 。g u i 又称为“直接操作”( d i r e c tm a n i p u l a t i o n ) 式用户界面,就是通过点设备 直接控制屏幕上可见的对象。包括抓取、移动、改变大小和保持限制等。特别是, “w y s l w y g ”( w h a ty o us e ei sw h a ty o ug e t ) 8 的思想也源于此。 这样的界面要求细致的图形、同一命令的多种操作方式、多种异步的输入设 备、无模式( m o d ef r e e ) 的对话:用户可以在任何时间给出任何命令、以及快 速的语义反馈。 b e ns h n e i d e r m a n 于1 9 8 2 年使用了“直接操作”的称谓,并给出了它的心理 学基础 9 】。其中一个重要的概念是隐喻( m e t a p h o r ) :通过使得界面对象看起来 是用户熟悉的东西从而利用用户的先验知识。它也是避免u i 复杂性的方法之一。 用户界面特别是g u i 是难于设计和实现的,其中一个原因是对i o 设施的二 西北大学计算机科学系9 9 级硕士研究生学位论文 维描述要求用一维的文本程序声明。6 u i 编程语言的缺乏促进了利用软件工具柬 帮助开发和设计6 u i 及应用。由于编程语言的不足,人们开发了大量的工具和技 术来解决系统的界面部分。 用户界面管理系统( u s e ri n t e r f a c em a n a g e m e n ts y s t e m ) 1 0 这个提法最 初由d a v i dk a s i k 给出。它是支持u i 编码的软件库,用于抽象i o 设备,提供 标准的或自动化的生成界面的实现。然而,如何控制低级交互的“l o o ka n df e e l ” 对于u i 的设计是一个重要的问题而它是u i m s 试图独立于设计的部分。另外, u i 元素的标准化使得对于输入设备的抽象似乎没有必要。这使得u i m s 的应用受 到了极大的限制。 工具箱( t o o l k i t ) 建立在窗口管理器的基础上,一般提供一个可重用的交 互式组件( w i d g e t ) 库,和一个应用框架。窗口管理器为作图、屏幕更新以及用 户输入提供了一个基本的编程模式。然而,这个级别上的工作是繁琐的。而工具 箱简化了编程工作,同时能够支持界面一定程度的一致性。 原型化是一种方法,通过开发并体验可执行的系统原型,可以改进项目的计 划和实施。它适合于在开发新的应用时获取经验支持增量式的开发。用户界面 原型工具( p r o t o t y p i n gt 0 0 1 ) 的主要功能在于任务声明、界面表示、屏幕布局 和行为、以及可重用代码。通过u i 原型工具,用户可以快速地建立一个界面雏 形,在它的指导下进一步修改和完善系统的功能。 界面构造器( i n t e r f a c eb u i l d e r ) ,是一种交互式图形工具,通过用鼠标将 各种w i d g e t 直接放入界面的表示。例如,b xp r o 1 1 等。界面构造器一般具有 原型工具的能力,同时它又生成代码。这种工具成功的一个重要的原因是,利用 了图形式的方法表示图形上的概念。这使得它容易使用,不用深入的了解界面如 何实现。 从s m a l l t a l k 开始,面向对象技术( o b j e c t o r i e n t e dt e c h n o l o g y ) 与u i 研究就有着密切的联系。由于u i 中的w i d g e t 本身具有对象的特征:既有自己的 状态和操作,o o t 对于u i ( 特别是g u i ) 是一种自然的选择。 其他的技术包括自动化工具、限制技术、基于正规语言的工具以及事件语言、 脚本语言、超文本等等。 两北大学计算机科学系9 9 级硕士研究生学位论文 一一一 2 2 体系结构 2 2 1 概念 软件体系结构( 简称体系结构,或构架) 的问题并不新鲜,可以追溯到1 9 6 8 年。d i j k s t r a 指出,应当考虑如何构造计算机程序,以及如何保证它计算出正 确的结果 1 2 3 。也就是建议要注意系统结构上的问题。当前,对于体系结构及其 相关概念没有一个公认的定义。对于这个名词的使用也因人、因需要而异。严肃 的说,它是一个难于准确化的概念。 1 3 儿1 4 儿1 5 给出了一些典型的定义。 直到现在,体系结构一般与结构或模型作为同义词而使用。有人也把体系结 构作为“模型的模型”,或模型的结构。也有人把体系结构与体系结构风格( 或 模式) 1 6 等同。实际上,人们更多的是根据经验,直觉上来认识和使用这个词 语 1 3 。 s h a w 和g a r l a n 认为。体系结构是对构成系统的元素、这些元素间的交互、 他们的构成模式、以及这些模式之间限制的描述。这个定义注重结构上的问题, 忽略了体系结构对于系统开发上的帮助。 另外,为了解决体系结构的概念及其应用,i e e e 的软件工程标准委员会 ( s o f t w a r ee n g i n e e r i n gs t a n d a r d sc o m m i t t e e ) 发起了个体系结构计划组 ( a r c h i t e c t u r ep l a n n i n gg r o u p ) ,以期将体系结构相关的问题纳入i e e e 标准。 a p g 区分了体系结构与其描述。认为每一个系统都有一个体系结构,它是系统在 其环境中的最高级的概念。u s b p ( u n i f i e ds o f t w a r ed e v e l o p m e n tp r o c e s s ) 1 8 也认为,每一个系统都应当有其特定的体系结构( 体系结构实例 1 4 ) 。 体系结构并没有绝对的好坏,而是对于某些目的的合适程度。它表示了最不 易改变的决定,对于设计和一个需要了解该系统的程序员一般是第一步;它表示 了如何满足所有类型的需求;体系结构上的设计是成功完成工程的关键,在不同 的级别实现重用:支持以小的代价、风险,结构化的开发一组相似的系统。 体系结构当前的研究方向包括:体系结构的描述、体系结构的形式化基础、 体系结构分析技术、体系结构开发方法、体系结构的提取和再丌发、体系结构名 录和指导、体系结构设计工具和环境、个案分析等。 1 9 讨论了体系结构相关的 大量问题,例如体系结构风格、体系结构框架、体系结构模式等。 西北大学计算机科学系9 9 级硕士研究生学位论文 6 2 2 2 体系结构的描述 体系结构是概念上的,而体系结构的描述( a r c h i t e c t u r ed e s c r i p t i o n ) 是 具体的,可以有不同的表示方法。一个典型的表示需要区别那些活动的( 传递数 据) 和被动的( 存储数据) 构件,描述数据( 在构件问传递信息) 以及控制构件 ( 一个构件要求另一个构件完成它的功能) 的连接。这些提供了一个合理的静态 的表示。动态的表示可以利用自然语言或者更正规的结构化的规范。 1 3 从功用性出发,认为体系结构对于不同的利益相关者( s t a k e h o l d e r ) 有不同的含义和用途。由于利益相关者的要求随着系统的不同而不同,那么体系 结构也有这样的特点。 i e e ep 1 4 7 1 2 0 2 1 进一步规范了相关的概念框架。如果满足下面条件,则 就是遵守i e e ep 1 4 7 1 标准的体系结构描述:确定利益相关者和他们的利益 ( c o n c e r n ) ;选择定义的视点以表现这些利益;纪录体系结构的视图,以满足这 些视点:消除视图间的不一致;提供a d 中的体系结构决策的原理。 i e e e l 4 7 1 只是指出了当需要描述一个体系结构的时候所应当具有的东西,但 是并没有说如何得到这些东西。开发过程中,体系结构的建立应当是一个渐进的 过程。一个好的体系结构为软件开发提供了一个基本框架,很难想象一个最初的 体系结构能够包容软件周期中的每一个改变,如果在一开始就试图设计这样一个 体系结构,那么将严重拖延它的实现。例如,g r i s w o l d 的“既时体系结构 ( j u s t i n t i m ea r c h i t e c t u r e ) ” 2 2 建议首先建立一个基本的体系结构框架, 当需要的时候再引入细化的体系结构。 图2 3 4 2 说明了影响体系结构构造的因素,包括需求、技术和经验等。 影响体系结构的因素 图2 3 :体系结构流程 i 7 叮北大学计算机科学系9 9 级硕士研究生学位论文 7 一 2 3 交互式系统体系结构模型 模型是对个系统的抽象或描述,从一定的视点和一定的抽象级描述系统。 一个模型应当是完整的,就是说,它在这个抽象级和视点上能够完全描述系统。 这里的体系结构模型,是从交互性或u i 的要求出发,在较高的级别对交互式系 统的抽象。它的作用一般在于从概念上指导交互式系统的理解、及开发活动。 2 3 1 m v c 模型 m v c ( m o d e l v i e w c o n t r o l l e r ) 2 3 是为s m a l l t a l k 环境开发的,也是第一 个广泛采用的交互式系统模型。它把界面分为三种元素:模型,视图,控制器。 模型是一个或多个应用对象,它独立于界面。视图对象负责显示,并使它与模型 的状态相一致。控制器负责管理用户输入,把用户事件转化成对视图和模型的操 作。例如,控制器实现滚动和菜单。视图可以嵌套以形成复杂的界面。嵌套的视 图称为子视图。 图2 4 :m v c 梗型 m v c 范式实现了应用与界面的严格分离,但是没有完全分离对于系统行为的 设计和交互行为的设计。w c 允许一个模型与多个视图相连,这样,同一个对象 的不同表示成为可能。像s e e h e i m 模型一样,很难有效地支持环境的扩展。 2 3 2 p a c 模型 p a c 模型【2 4 】是为对话设计而开发的0 0 模型。它的主要元素是抽象、表示 和控制。抽象定义了一个应用交互行为的语义。用于维护应用对象的状态,相当 于m v c 中的模型构件。表示描述了应用的交互行为。控制保证了抽象与表示的 一致。它负责把一方的改变通知另一方。控制也可以维护上下文,例如用户输入 的历史、说明性的信息、定制规则等。 西北大学计算机科学系9 9 级硕士研究生学位论文 o 大 q 用户 图2 5 :p a c 模型 p a c 中应用语义和具体的表示严格分离,一方的改变不会影响另一方。p a c 看起来好像m v c ,然而与m v c 有着本质的不同。因为它在表示构件中为用户 提供信息以及接受用户信息,而在m v c 中,两种信息分别由视图和控制器负责。 而且,抽象与表示的一致性由控制构件维护,而i v i v c 中,这种一致性留给了程 序员。 2 3 3 s e e h e i m 模型 s e e h e i m 是- - 7 十基于语言的模型 2 5 它是最有影响的u i m s 模型之一( 图 2 6 ) 。其目的在于说明要自动生成用户界面所需要的各部分。s e e h e i m 模型不是 第一个d i m s 模型,但它是之后模型的基础。它把系统分为应用、对话和表示三 个层次,分别对应于u i 的语义、语法和词法。八十年代中期,人机交互基本上 被看成是基于语言的对话。分别描述为交互的语义、语法和词法方面。 q 灭 用户 图2 6 :s e e h e i m 梗型 s e e h e i m 模型为u i m s 技术提供了一个规范的功能分解。通过应用接口模型 s e e h e i m 确定了一个明确的位置,以解决功能核心和用户界面之间可能的不匹 配。s e e h e i m 可以被看作是一个纯粹支持功能或结构分配的框架。直接操作式的 到来,使得s e e h e i m 的这种基于语言的逻辑分配难于支持新的需求,如系统对用 户输入的多级反馈 2 6 1 。另外,s e e h e i m 没有考虑分布性、并发性、资源管理和 效率的的问题 2 7 。 2 3 4 a r c h 模型 西北大学计算机科学系9 9 级硕士研究生学位论文 一 a r c h 模型 2 8 注重于界面与其他部分的数据交换,为优化和分析开发活动提 供了一个框架a r c h 基于这样的认识:交互式系统中至少有三类数据表示:域 数据表示、1 o 数据表示和中介数据的表示。 表示对象 交互工具箱构件 图2 7 :a m h 模型 域相关构件和域适配器构件分别表示了应用和应用接口。对话构件相当于 s e e h e i m 中的对话控制器。负责任务级的调度、视图间的一致、以及两个方向上 的映射。所不同的是,s e e h e i m 的对话控制器局限于对词法级的输入进行命令级 的抽象( 记号收集) 。而a r c h 中,这些功能由可重用的软件完成,已经转到了低 级的交互工具箱构件中。它重新考虑了s e e h e i m 的表示部分:交互工具箱构件 和表示构件。前者负责与用户的具体交互,后者作为交互工具箱与对话构件之间 的适配器。通过引入域适配器构件和表示构件,a r c h 为可调整性和可移植性提 供了明确的切入点 2 6 。 另外,域对象表示功能核心提供的域数据;交互对象代表了工具箱提供的交 互技术;表示对象就是与交互工具箱无关的对象。 a r c h 的特点在于为了减小对功能核心的以及工具箱的依赖,分别引入了两个 适配器。然而数据中转站的增加,影响了功能核心与界面之间的交流。 s 1 i n k y 元模型 2 9 一定程度上解决了构件间的功能迁移问题它根据应用 的类型和不同的要求提供了各种不同的a r c h 模型。 2 3 5 基于代理( a g e n t b a s e d ) 的模型 基于代理的模型利用计算单元( 代理) 构造交互式系统。一个代理有自己的 状态、自己的专长、能够响应事件。代理风格将交互状态分布在一系列协作的代 理中。对于支持用户界面的设计、实现分布式应用:以及处理多线索对话、模 块化、平行和分布是合适的机制。 基于代理风格,设计者有足够的能力在足够的抽象级别上分配特定的功能角 西北人学计算机科学系9 9 级硕士研究生学位论文 0 色。例如,域相关的知识可以向界面部分迁移以支持效率和快速语义反馈。同时, 每一个代理的结构可以有多种方式。例如一个代理可以由p a c 进行分解,也可 以由m v c 分析。 利用代理风格,能够以一种和谐的方式建模交互式系统:所有的功能部分用 一种风格表达。然而,它只是一种风格,需要进行具体的分析、或与其它方式结 合,如下面的两个模型。 p a c a m o d e u s 3 0 ,是一种混合模型。其基础是a r c h 模型,同时在控制部分 融入了p a c 代理。因此它是一种基于代理的模型。 它用a r c h 模型作为一个交互式系统的功能部分,用多个p a c 代理代替了对 话构件。a r c h 支持可重用代码并且定义了两个适配器以支持类型异构及可能的 改变和移植。另一方面,a r c h 没有指出如何用一种符合用户需求的方式构造对 话构件。p a c 支持任务交错( i n t e r l e a v i n g ) 以及多粒度的任务分解,但是不支持 现有风格之间的明确连接。p a c - a m o d e u s 综合了二者的优点 2 6 。 图2 8 :p a c - a m o d e u s 模型 与a r c h 相同,p a c - a m o d e u s 在基本a r c h 构件间提供双向的信息流。由于 功能边界间的连接器依赖于应用,因此设计为开放式的。可以是过程调用,指针, 消息传递,以及任何合适的协议。对话构件内部,有两个信息流:p a c 代理间的 层次性的传递,以及与原p a c 不同的,域适配器( d a ) 与表示构件( p c ) 间的直接 连接。 p a c * 2 6 模型中,对话构件代理用了p a c a m o d e u s 中相同的规则。在 p a c a m o d e u s 代理的基础上,p a c * 中的每个代理的功能部分做了细化,以支持多 用户要求。 西北大学计算机科学系9 9 级硕士研究生学位论文 2 3 6 其它模型 k b f e ( k n o w l e d g e b a s e df r o n t e n d s ) 3 1 是s e e h e i m 模型的扩展。在s e e h e i m 模型的基础上引入了所谓的“基于知识的模块( k n o w l e d g e b a s e dm o d u l e s ) ”。 这种基于知识的模块可以包括有关问题域、用户环境、以及用户本身的信息。 p e r s o n a 3 2 模型为所有用户的爱好( p r e f e r e n c e ) 维护一个仓库,它把用 户的选择从界面中分离出来。裁剪代理( t a i o ra g e n t ) 和p e r s o n a 共同确定为 特定的用户提供什么样的表示。目的是自动半自动的生成与个体相适应的界面。 其他的模型还有:支持多用户的d e w a n 的模型 3 3 、基于限制的a l v 模型 1 - 3 4 、支持群件( g r o u p w a r e ) 的c l o v e r 模型 3 5 、l i s b o a 概念模型 2 7 等。 西北大学计算机科学系9 9 级碗士研究生学位论文 1 2 3 二级对象模型及建模 3 1 c o r b a 概述 0 m g ( o b j e c tm a n a g e m e n tg r o u p ) 的成员们对丌发和利用整合的软件系统有 一个共同的目的:这些系统应当用一种支持模块化的软件生产的方法来建立;鼓 励代码重用;实现在开发人员、操作系统和硬件之间的良好的整合;以及提高代 码的长远可维护性。作为一个组织o m g 相信利用0 0 方法构造软件能够最好 的支持他们的目的 3 6 。 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 由o m g 的o r b ( o b j e c t r e q u e s tb r o k e r ) 定义。o r b 提供了一种机制,通过它,客户透明的发出请求、 对象收到响应。o r b 提供了异构分布式环境下不同平台应用的互操作,以及多个 对象系统之间的互连 3 6 。简单地说,c o r b a 是一个面向对象的分布式计算平台, 它允许不同的应用程序之间透明地进行互操作,而不用关心对方的位置、实现和 运行平台等。同时,作为一种构件框架( 一个典型的构件框架将提供公用的技术 设施基础,使得能够在更高级别实现构件) ,提供了各种服务和设旆。包括名字 服务、事件服务、通知服务等。 o m g 在1 9 9 1 年发布了c o r b a 规范的1 1 版本,在该版本中主要对o m gi d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 和程序开发所使用的应用编程接口( a p i ) 进行了规范,从而确保在采用特定技术实现的o r b 内部可以实现客户与服务对象 之间的透明交互。1 9 9 4 年1 2 月c o r b a 2 0 发布,该版本对不同厂家的o r b 之间 如何交互进行了规范。从而实现了真正意义上的互操作。目前,其它的更高版本 都是在2 0 的基础上所作的修正,但是c o r b a 的核心( o r b ) 的变化并不大。 3 2 建模概述 复杂或庞大的系统需要依据明确的步骤,将开发活动分为一系列的子任务, 每一步产生相应的中间文档描述。这些中间文档和描述就是所谓的模型。一个模 型强调了设计系统时某些重要的方面,而忽略了某些低级的细节。因此,模型比 起系统来更容易理解。模型一般用于描述系统的整个结构或其体系结构。 实际上,软件的开发的大量工作是构造一系列的模型,以详细地描述系统的 重要方面,直到能够了解需求并能够开始编码。因此,模型的建立和使用是系统 西北大学计算机科学系9 9 级硕士研究生学位论文 设计的中心。一方面,模型提供对复杂系统的简明描述。另一方面,模型也是一 种有效的交流方式。包括开发人员之闯的交流以及丌发人员与客户之间的交流。 3 2 1 o o 建模 建模,是通过将系统分解而降低复杂性的一种方法。通过在模型中利用标 准的图( d i a g r a m ) 、记号、和词法,可以生成更易理解的系统文档从而简化开发 活动。建模,使得在设计的早期可以灵活、快速、廉价地做出改变。建模,使得 对现有系统的重用成为可能。与一个没有模型的系统相比,一个经过建模的系统 可以节约开发相似系统的费用和时间 3 7 。 基于功能的结构化软件开发方法注重于数据流建模。而面向对象方法以对象 为中心进行建模,包括结构建模和行为建模。例如u m l 中表示对象类型和系统结 构的类、类图等;表示对象状态变化的状态图、对象间交互的交互图和协作图等 等。 面向对象是面向对象技术的简称,包括面向对象编程( o b j e c t o r i e n t e d p r o g r a m m i n g ) 、面向对象方法等。面向对象方法是面向对象技术在系统分析设计 中的应用,包括面向对象分析( o b j e c t - o r i e n t e da n a l y s i s ) 、面向对象设计 ( o b j e a t o r i e n t e dd e s i g n ) 、和面向对象项目的管理。 3 8 详细介绍了这些概 念。 工业和学术界热衷于利用0 0 范式开发软件。它的吸引力源于对复杂性的控 制、在开发过程中对问题域概念的自然建模、重用问题域概念、以及为软件开发 活动提供一个公共的平台。面向对象技术用于大型的复杂的软件系统是成功的。 这种方法基于抽象和分类的简单数学模型。而且,0 0 方法为软件开发的整个过 程提供了概念上的一致。 面向对象方法经过很长时间才趋于成熟并为人们所接受。阻碍它发展的因素 之一在于这种方法( 包括建模技术) 的多样性和方法之间的大战a 最终,u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 3 9 4 0 j 成为人们期待已久的标准建模语言一 一不仅是被0 m g 采纳的正式标准,而且是事实上的工业标准。当然,u m l 只是一 种建模语言。方法( m e t h o d ) 一般包括一个设计语言和一个开发过程。但是,设 计语言的标准化是可喜的一步。 1 9 9 5 年,u m l 的第一个版本0 8 由g r a d yb o o c h 和j a m e sr u m b a u g h 提出。 西北大学计算机科学系9 9 级硕士研究生学位论文 1 4 之后,i v a rj a c o b s e n 加入,并于1 9 9 6 年发布了0 9 和0 9 1 版的u m l 。从此, 许多开发人员和公司对致力于u m l 的发展。通过融入不同的技术,u l - i l 经历了多 个版本。最终,o m g 于1 9 9 7 年1 1 月采纳了u m l l 1 ,由0 m g 负责u m l 标准的发展。 3 2 3 面向构件 面向构件或基于构件( c o m p o n e n t b a s e d ) 的方法强调利用可重用的软件“构 件”( c o m p o n e n t ) 设计和构造软件系统 4 1 。它的主要思想包括:遵循“买,不 要自己构造”的思想;使程序员从细节考虑中解放出来,重点从软件编程转移到 软件合成;以软件整合而不是软件实现为重点。 实际上,构件这个词,同体系结构一样没有公认的定义。一般根据场合及目 的而被赋予不同的含义( 例如分布式对象一般被称为构件) 。甚至,“c o m p o n e n t ” 大量的仅仅用于一般性的涵义( 例如,组成部分、元素) 。构件也是面向对象软 件打包和子系统发布的方法。 4 3 对构件的描述能够较好地支持以上思想:构件 是标准化的、可替换的软件部分:它与对象和类的不同在于,它是二进制的( 经 过编译或链接的) ,而不是符号( 源码程序)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省玉溪市峨山彝族自治县一中2026届高一化学第一学期期中复习检测试题含解析
- 缩宫素类药物应用与管理规范
- 小学数学研修汇报
- 药品布局与配置策略
- 2026届湖北省宜昌县域高中协同发展共合体化学高一第一学期期末质量检测模拟试题含解析
- 湖北省武汉为明学校2026届化学高二第一学期期末质量跟踪监视模拟试题含答案
- 项目改善项目汇报
- 融合课程展板汇报
- 侵袭性NK细胞白血病诊疗研究进展
- 商务图表应用技巧讲解
- 宽带小区进场协议书
- 电解铝公司工程项目投资估算
- 融资专员测试题及答案
- 钣金工考试试题及答案
- 2025护士招聘笔试题目及答案
- GB/T 45381-2025动梁式龙门电火花成形机床精度检验
- 2024年小学数学教师选调进城考试试卷含答案
- 2025五级应急救援员职业技能精练考试题库及答案(浓缩400题)
- 危险性较大分部分项工程及施工现场易发生重大事故的部位环节的预防监控措施和应急预案
- 公路工程标准施工招标文件第七章-技术规范2024年版
- 对药品不良反应及课件
评论
0/150
提交评论