已阅读5页,还剩55页未读, 继续免费阅读
(计算机软件与理论专业论文)图形用户界面生成工具的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 图形用户界面( g r a p h i c su s e ri n t e r f a c e ) ,简称g u i ,即使用图形的方 式,借助菜单、按钮等标准界面控件和鼠标操作,帮助用户方便地向计算机系 统发出指令,启动操作,并将系统运行的结果同样以图形方式显示给用户。8 0 年代以来,计算机的使用者从计算机专家迅速扩大到了广大未受过专i j ;j if 练的 普通用户,由此极大地提高了用户界面在系统设计和软件开发中的重要性,强 烈地刺激了人机交互界面的进步。 传统的用户界面的设计与描述是基于“嵌入”方式进行的,应用程序设计 人员在设计软件时,按功能及界面两方面要求混合编写用户界面和应用功能两 , 部分程序。当前计算机软件的开发已不再将用户界面和应用功能两部分混合编 写,越来越倾向于二者分别编写。这是因为对不同的应用系统,用户界面部分 在逻辑上和处理方法上具有高度的相似性,让软件丌发人员花费大量的时间与 精力去开发一个很类似又不具有通用性的用户界面程序显然是不可取的。使用 户界面的生成独立于应用功能的开发,具有强大的用户界面丌发能力的工具是 非常必要的,用户最好能够通过这样的工具方便地构造符合自己意愿的界面外 观并能方便地对界面进行维护,本文将要论述的图形用户界面生成工具即为满 足某一工程建设单位的具体需求而设计的具有上述功能的工具。 本文主要论述了该工具的具体设计思路以及软件实现。首先,对论文选题 项目的总体设计进行了论述;然后对图形用户界面生成工具进行了介绍:最后 对该工具的需求描述、设计原理以及程序实现进行了详细的论述。 关键词:图形用户界面控件人机交互嵌入图形用户界面生成工具 a b s t r a c t g r a p h i c su s e ri n t e r f a c e ( g u i ) i sag r a p h i cw a y i nw h i c hc o m p u t e ru s e r sc a n c o n v e n i e n t l yg i v ei n s t r u c t i o n st oc o m p u t e rb yt h eh e l po fm o u s eo p e r a t i o na n d s o m es t a n d a r di n t e r f a c ec o n t r o l ss u c ha sm e n ua n dc o m m a n db u a o n b yt h eh e l po f g u i ,t h er u n n i n gr e s u l to fc o m p u t e rs y s t e mc a na l s ob eg i v e nt ou s e r si nag r a p h i c w a y ,s i n c e1 9 8 0 ,t h ec o m p u t e ru s e r si n c l u d e dm o r ea n dm o r eu n t r a i n e dp e o p l e t h i ss i t u a t i o n g r e a t l yp r o m o t e dt h e g u i si m p o r t a n c ei ns y s t e md e s i g na n d s o f t w a r ed e v e l o p m e n ta n ds t r o n g l ys t i m u l a t e dt h ep r o g r e s so f i n t e r a c t i v ei n t e r f a c e t h et r a d i t i o n a lw a yo fg u l d e s i g nw a st ow r i t et h ei n t e r f a c ep r o g r a ma n dt h e p r o g r a mo fa p p l i c a t i o nf u n c t i o nm i x l y t h i sw a yw a sc a l l e d e m b e d d i n g ”m e t h o d b u tn o w , p r o g r a m m e r st e n dt os e p e r a t e d l yw r i t et h ep r o g r a mo ft h i st w op a r t s t h a t i sb e c a u s et h eu s e ri n t e r f a c ei nd i f f e r e n ts y s t e n l si ss i m u l o u sa n di ti su n r e a s o n a b l e t ow a s t et h ep r o g r a m m e r s t i m ei nd e v e l o p i n gau s e ri n t e r f a c ew h i c hi ss i m u l o u st o o t h e r sa n di sn o tu n i v e r s a l i fw ew a n tt od e v e l o pt h eu s e ri n t e r f a c ei n d e p e n d e n t l y , t o o l sw h i c hh a v eg r e a ts t r e n g t ht od e v e l o pu s e ri n t e r f a c ei sn e c e s s a r y c o m p u t e r u s e r sc a nc o n v e n i e n t l yc o n s t r u c ti n t e r f a c ea sh e ( s h e ) w i s hb yu s i n gt h i sl ( i n do f t 0 0 1 w ec a l lt h i st o o lg r a p h i c su s e ri n t e r f a c et o o l ( g u it 0 0 1 ) t h i st h e s i si sa b o u tag u i t o o lw h i c hw a sd e s i g n e dt om e e tt h er e q u i r e m e n to f ap r o j e c t t h i st o o l sd e s i g na sw e l la si t ss o f t w a r er e a l i z i n gh a v eb e e nd e s c r i b e di nt h i s a r t i c l ei nd e t a i l s f i r s to fa l l ,t h et h e s i ss t a t e st h ep r o j e c t sc o m p r e h e n s i v ed e s i g n ; s e c o n d l y , t h eg u it o o li si n t r o d u c e d ;f i n a l l y , t h er e q u i r e m e n td e s c r i p t i o n 、d e s i g n m e t h o da n ds o f t w a r er e a l i z i n go f t h i st o o la r es t a t e di nd e t a i l s k e y w o r d s :g r a p h i c su s e ri n t e r f a c e c o n t r o li n t e r a c t i v e e m b e d d i n g g u i t 0 0 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电 子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示 谢意。 签名: 蘧整 日期:肋“年,月6 日 i 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的 规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或 部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制 手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 图形用户界面生成_ 具的设计与实现 前言 图形用户界面( g r a p h i c su s e r i n t e r f a c e ) ,简称g u i ,作为一个独立的、 重要的研究领域越来越受到世界计算机界的关注,并成为计算机行业的又 一竞争领域。 g u i 是计算机系统的重要组成部分,它直接关系到整个计算机系统的 可使用性和效率。经验表明开发高质量的用户界面,需花费大量的人力物 力,且开发周期较长。传统的用户界面的设计与描述是基于“嵌入”方式 进行的,应用程序设计人员在设计软件时,按功能及界面两方面要求混合 编写用户界面和应用功能两部分程序。这种开发方式忽略了用户界面的个 性,使程序复杂化,可维护性差。当前计算机软件的丌发已不再将用户界 面和应用功能两部分混合编写,越来越倾向于二者分别编写。这是因为对 不同的应用系统,用户界面部分在逻辑上和处理方法上具有高度的相似性。 让软件开发人员花费大量的时间与精力去开发一个很类似又不具有通用性 的用户界面程序显然是不可取的,使用户界面的生成独立于应用功能的开 发,具有强大的用户界面开发能力的工具是非常必要的。用户最好能够通 过这样的工具方便地构造符合自己意愿的界面外观并能方便地对界面进行 维护。本文将要论述的图形用户界面生成工具即为满足某一工程建设单位 的具体需求而设计的具有上述功能的工具。 本文具体论述了该用户界面生成工具的设计与实现方法。该工具允许 用户反复设计和修改自己所需的图形用户界面用户只需通过该生成工具 提供的编辑环境按照自己的意愿编辑界面。用户通过该工具在设计阶段生 成的界面信息被存放在一中间文件中,在界面运行之前读取中间文件中的 界面信息来生成界面并运行。这样,用户可以只用一些非常简单的操作便 可以生成符合自己意愿的界面外观和完成对界面进行修改。本文通过对这 样一个工具的设计思路介绍,希望能为今后开发类似的功能更强大的界面 生成工具提供有益的借鉴。 第3 页共5 9 页 l 划彤用户界面生成t 具的设计与实现 1 1 图形用户界面概述 第一章绪论 图形用户界面( g r a p h i c s u s e r i n t e r f a c e ) ,简称g u i ,即使用图形的方式, 借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发 出指令,启动操作,并将系统运行的结果同样以图形方式显示给用户。g u i 的 基本元素有:窗口,下拉式菜单,按钮,滚动条,图标,鼠标等,用户通过这 些东西和计算机完成交兀。 g u i 作为一个独立的、重要的研究领域受到了世界各计算机厂家的关注。 并成为9 0 年代计算机行业的又一竞争领域。从计算机技术的发展过程来看, g u i 技术还引导了相关软硬件技术的发展,是新一代计算机系统取得成功的保 证。 8 0 年代以来,计算机的软件和硬件技术取得了较大的发展,同时,计算机 的使用者也从计算机专家迅速扩大到了广大未受过专门训练的普通用户,由此 极大地提高了用户界面在系统设计和软件开发中的重要性,强烈地刺激了人机 交瓦界面的进步。人一计算机的交互作用是通过用户界面来实现的。与传统人 一机系统不同的是,人- q 算机系统中的交互形式已成为用户与计算机两个“智 能系统”之间的通讯和对话。在计算机技术发展的初期,由于系统的运行速度慢、 价格昂贵并且可靠性差,不可能进行交互使用,用户必须调整自己的行为去适 应机器的要求。因此,与i 1 卜算机使用1r 的其它问题相比,界面只是一个小问题。 随着计算机性能的提高,系统能够用一部分资源来处理人一计算机界面,用户 界而设计丌始引起人们的注意。 用户界面的发展对计算机系统整体性能的提高所具有的重要性已经得到 了人们的高度重视,与此同时,围绕人机建模业已形成了计算机产业又一新的 竞争领域。在美国人机建模研究在信息技术中被列为与软件和计算机并列的六 项幽家关键技术之一,并被认为“对于计算机工业有着突出的重要性,对其它 工、世也是很重要的”。美国国防关键技术计划不仅把g u i 列为软件技术发展的 重要内容之一,而且还专门增加了与软件技术并列的人一系统界面一项内容。 同本也提出了f p i e n d 21 计划( f u t u r ep e r s o n a l i z e di n f o r m a t i o ne n v i r o m e n t 第4 “其5 9 页 图形用户界面生成工具的设计与实现 d e v e l o p m e n t ) ,其目标就是要开发2 l 世界的计算机界面。 1 2 国内外动态 随着虚拟现实、科学计算可视化及多媒体技术的飞速发展,新的人机交互 技术不断出现,更加自然的交互方式将逐渐为人们所重视。 目前,美国正在进行研究的有关人机交互技术的项目主要有:m i t 媒体实 验室的多通道自然对话项目,c m u 交互系统实验室( i s l ) 的i n t e r a c t 项目, 海军的i n t e l l i g e n tm 4 系统。在欧洲信息技术研究战略规划( e s p r i t i i ) 的 a m o d e u s 项目中,有大量关于多通道人机交互的理论和系统研究。在e s p r i t i i 中,正在进行m i a m i ( m u l t i m o d a li n t e g r a t i o nf o ra d v a n c e dm u l t i m e d i a i n t e r f a c e s ) 项目的研究,其领域包括多媒体和高级多通道人机界面两部分, 语言内容是通过视觉、听觉、触觉和手势来访问、表示和产生多媒体信息的多 通道交互的各个方面。还有法国i m a g 的c o u t a z 和n i g a y 设计的系统k a t i s ( m u l t i m o d a la i r l i n et r a v e li n f o r m a t i o ns y s t e m ) 中,用户可以利用键盘、 鼠标、话筒或者它们的组合方式查询航班信息体现了多通道用户界面人机交 互的自然性和高效性。语音、自然语言、手势、视线跟踪及头部跟踪等各种形 式的输入技术f 在研究中,沉浸式的头盔显示器已经开始使用,新的立体显示 设备也f 在研制。在g u i 基础上,新的人机交互技术已逐渐开始应用。 新一代界面的主要特征可描述如下: ( 1 ) 用户为中心以用户对界面的需求变化为出发点,使用户界面的外在 形式和内部机制能符合不同用户的需要,这就是以用户为中心的设计思想。 ( 2 ) 多通道( m u l t i m o d a l i t y ) 多通道界面旨在充分利用一个以上的感觉 和运动通道的互补特性来捕捉用户的意向,从而增进人机交互中的自然性。人 的感觉通道有视觉、听觉、触觉、嗅觉和平衡等,人的运动通道有手、嘴、眼、 头、足及身体等。现在,计算机操作时,人的眼和手十分累,效率也不高。若 将听、说和手、眼等协同动作,采用多通道、以自然方式交互,可以实现高效 人机通信,也可以由人或机器选择最佳反应通道,从而不会使某一通道负担过 重。 第5 页共5 9 页 幽彤用户界面生成t 且的设计与实现 ( 3 ) 非精确精确交互技术是指能用一种技术来完全说明用户交互目的 的交互方式,键盘和鼠标器均需用户精确输入。而人们的动作或思想往往并不 很精确,计算机应浚理解人的要求,甚至于纠正人的错误,智能化的界面是一 个重要方向。 ( 4 ) 高带宽现在计算机输出的内容已经可以快速、连续地显示彩色图 像,其信息量非常大。而人们的输入却还是使用键盘一个又一个地敲击,因而, 计算机的输入带宽是很低的。新一代的用户界面应该支持高的输入带宽,快速 大批量地输入信息。语音、图像及姿势等的输入和理解是今后的发展方向。 ( j ) 不限制地点目前,计算机主要是在办公室、实验室或家庭中使用, 人们面对着计算机屏幕进行操作,这种操作方式限制了计算机的应用。虽然已 可用遥控器代替部分动作,但用望远镜看屏幕似不方便,而采用语音输入输出 或其它计算机视觉( 摄像输入) 技术,则可不受地点的限制。 ( 6 ) 图示编程图形用户界面的编程是很费时的工作,而采用图示编程 ( v i s u a lp r o g r a m m i n g ) 则比较简单和直观。现在有些多媒体制作工具,如 k u t h o r w a r ep r o f e s s i o n a l 、l c o n a u t h o r 等,采用图示方法设计多媒体文档脚 本,以便于交互修改、控制时问关系。新一代的用户界面应尽可能提供图示化 的开发工具。 北京大学计算机系图形研究室在窗口系统的开发和汉化、用户界面生成工 具和超文本制作工具的研制等方面做了一些工作。近来,杭州大学工业心理学 国家重点实验室、中国科学院软件研究所共同承担了国家自然科学基金重点项 目“多通道用户界面的研究”。与d e s k t o p 隐喻相仿,他们提出了三维 v i r ( v i r t u a l n f o r m a t i o nr o o m ) 隐喻,采用基于智能体( a g e n t - - b a s e d ) 的方法, 探索了多通道界面的软件结构,并使用三维鼠标器、汉字手写体识别工具及语 音输入软件等,研究了多通道界面的关键问题,即输入原语和通道综合,并正 在丌发多通道界面原型。针对i n t e r n e t 的飞速发展,目| j i 正在研究虚拟现实建 模语- a ( v r m l ) 及基于p c 的桌面虚拟现实开发平台。 图形用户界面是当前计算机界面的主流,它仍需不断丰富和改进,例如, 增强超文本机制以支持i n t e r n e t 的浏览,增强三维和多媒体功能,支持应用数 图形用户界面生成工具的设计与实现 据的可视化,开发更好的界面构造工具与语言。新一代的用户界面将在图形用 户界面的基础上,采用新的更加自然的人机交互技术,如语音、自然语言、手 势、视线跟踪及头部跟踪等,以用户为中,t l , ,实现多通道、非精确、高带宽、 高效及不限制地点的人机通信。 1 3 图形用户界面相关产品 1 3 1x 窗口系统 x 窗口系统是控制位图显示设备与输入设备的系统软件。它所管理的资源 有屏幕、 窗口、象素映象( p i x m a p ) 、色彩表、字体、光标、图形资源及输入 设备。 x 窗口系统向用户提供下列界面: ( 1 ) 应用界面 ( 2 )编程界面 ( 3 )窗口管理界面 x 窗口系统的一个重要设计思想是提供实现各种界面的机制,而不是策 略。由于上述四部分只规定了应用程序员的编程接口,因而不同厂商或用户可 在它们之上实现各种窗口管理程序及界面外观。由此,x 窗口系统成为工作站 各用户界面的基础、事实上的工业标准。 窗口是x 窗口系统的一个重要资源,是屏幕上的一个矩形区域( 透明窗口 无此区域边框) 。它实质上是位图输出设备及输入设备的一个抽象,有自己的坐 标及感兴趣的事件等。x 窗口系统有一个根窗口覆盖整个屏幕,应用程序的窗 口均为根窗的子窗口。这样,所有窗口构成了树形结构,子窗口大小不能超出 父窗口。x 窗口系统中窗口的树形结构为应用程序的多级抽象提供了清晰的概 念。 x 窗口提供了极强的显示管理及输入设备的管理功能,是工作站上c a d 软 件及其用户界面的主要支撑环境,已成为工作站窗口系统事实上的工业标准。 1 3 2o s f m o t i f 和o p e nl k x 窗口系统提供了一系列构造用户界面的机制。在x 窗口系统之上已经构 第7 页共5 9 良 图彤用户抖血生成工具的设计与实现 造了具有不同用户界面风格的高级界面对象集,通常称为w i d g e ts e t 。它们各 有不同的视感( 1 0 0 k & f e e l ) ,其中对象可以包括窗口、菜单、对话框、按钮、 图符、边框等。一种风格的某种w i d g e ts e t 为用户提供了一种外观统一的图形 用户界面,也为应用程序员提供了面向对象的应用编程界面。o s f m o t i f 是由 开放软件基金会( o s f ) 1 9 8 9 年发布的图形用户界面规范。它以x 窗口系统为 软件平台,吸取了m mo s 2 的p r e s e n t a t i o nm a n a g e r ,m s d o s 及h pn e w w a r e 界 面风格的特点,提供了风格( s t y l e ) 、窗口管理、工具箱、用户界面语言( u i l ) 等一系列机制及规定。o s f m o t i f 已在多种硬件平台及操作系统上工作。o p e n l o o k 是由u n i x 国际1 9 8 8 年发布的图形用户界面规范,它已作为u n i x 系 统第四、第五版本发布的重要组成部分正式使用。 1 3 3w in d o w s w i n d o w s 窗口系统是基于核心的窗1 :3 系统( w i n d o w s9 5 ,w i n d o w s 9 8 ,w i n d o w sn t ) , 其核心功能放在操作系统内。由于w i n d o w s 窗口环境具有 风格一致的操作界面,在w i n d o w s 环境下开发的应用软件具有同样的界面风 格因而易学易用。这种通用的操作系统为界面各种对象的设计提供了过程化设 计的平台和工具箱,从而使界面设计实现容易。 1 4 图形用户界面的相关技术 1 4 1 多媒体技术 近年来多媒体技术已成为人们关注的交点,众多的产品和不断的产品更新 令人目不暇接,应用多媒体技术已是2 0 世纪9 0 年代计算机时代的特征。多媒 体技术是指把文字、音频、视频、图形、图像动画等多种媒体信息通过计算机 进行数字化采集、获取、压缩解压缩、编辑、存储等加工处理,再以单独或合 成形式表现出来的一体化技术。主要在于其丰富多彩的多种媒体的同步表现形 式和直观灵活的交互功能,在多媒体应用软件设计时,应在屏幕设计和人机交 互界面上下工夫。 1 多媒体计算机系统的基本组成 多媒体计算机系统是一复杂的硬件、软件有机结合的综合系统。它把视频、 第8 页其5 9 面 图形用户界面生成工具的设计与实现 音频等媒体与计算机系统融合起来,并由计算机系统对各种媒体进行数字化处 理。与计算机系统类似,多媒体计算机系统由多媒体硬件系统和多媒体软件系 统组成。 ( 1 ) 多媒体计算机硬件系统构成多媒体计算机硬件系统除了需要较高配 置的计算机主机硬件之外,通常还需要音频、视频处理设备、光盘驱动器、各 种媒体输入输出设备等。由于多媒体计算机系统需要计算机交互式地综合处理 声、文、图信息,不仅处理量大,处理速度要求也很高,因此对多媒体计算机 系统的要求比通用计算机系统更高。对多媒体计算机基本硬件结构要求有功能 强、速度高的主机,有足够大的存储空i n ( 主存和辅存) ,有高分辨率的显示接 口和设备。 ( 2 ) 多媒体计算机软件系统多媒体计算机软件系统按功能可分为系统软 件和应用软件。 a 多媒体系统软件系统软件是多媒体系统的核心,它不仅具有综合使 用各种媒体、灵活调度多媒体数据进行媒体的传输和处理的能力,而且要控制 各种媒体的硬件设备。多媒体的各种软件要运行于多媒体操作系统平台( 如 w i n d o w s ) 上,故操作系统平台是软件的核心。多媒体系统软件除具有一般系 统软件的特点外,还要反映多媒体技术的特点,如数据压缩、媒体硬件接口的 驱动与集成,新型的交互方式等。多媒体计算机系统主要的系统软件有多媒体 驱动软件,驱动器接口程序,多媒体操作系统,媒体素材制作软件及多媒体函 数库和多媒体创作工具、开发环境。 b 多媒体应用软件多媒体应用软件是在多媒体创作平台上设计开发的 面向应用领域的软件系统,通常由应用领域的专家和多媒体开发人员共同协作、 配合完成。开发人员利用开发平台、创作工具制作组装各种多媒体素材,生成 最终的多媒体应用程序,并在应用中测试、完善。最终成为多媒体产品,例如 各种多媒体教学系统、培训软件、声像俱全的电子图书等。这些产品可以是磁 盘,但更多的是以光盘产品形式面世。 2 多媒体技术研究方向 计算机多媒体技术的发展将是一幅绚丽多彩的画卷。正确了解多媒体技术 发展趋势不仅对研究人员有益,而且对应用多媒体技术和推动市场开发也有极 第9 贞若5 9 页 幽1 f 眵用户界面生成t 具的设计与实现 大的好处。现在,多媒体技术的重点已愈来愈明确,其研究方向主要有以下几 项: ( 1 ) 利用已较成熟的图像理解、语音识别、全文检索等技术研究多媒 体基于内容的处理,开发能进行基于内容的处理系统是多媒体信息管理的重要 方向。 ( 2 ) 多媒体技术将与相邻技术结合以提供完善的人机交互环境。 ( 3 ) 多媒体技术与外围技术构造的虚拟现实技术研究。 ( 4 ) 多媒体语音领域不断扩大,多媒体产品市场r 趋增长。 1 4 2 数据库技术 计算机用户界面的一个重要应用领域是为数据处理系统提供界面。早期在 数据录入、文字处理、数据管理方面,采用命令行、填表格的风格进行人机交 互。自从大量采用数据库管理系统进行数据处理以来,界面技术随之有许多改 进。现在个商用的数据库管理系统常常带有极方便的用户界面工具,由于数 据库系统中数据库与界面紧紧地联系在一起,因而数据库的强有力的支持是界 面设计的基础。 另一方面在各类字符型、图形用户界面都有大量的命令集或图形界面元素 集,这就必须有另一文件系统或数据库予以支持。在构造用户界面时,不管用 状态转换图、事件驱动、语法表示、基于规则方法、面向对象方法等,其界面 生成工具内部均需要记录状态集、事件集、规则集、对象集等,这些也需要对 应的设计系统进行管理,虽然这种系统不一定采用数据库管理系统,但提供快 速的查询机制或文件系统均足必要的。 1 4 3 网络技术 用户界面与网络的关系较之与数据库的关系更为紧密,这是因为当前各种 数据处理系统、信息管理系统均朝着分布式、共享资源的方向发展。原来一个 系统只有一个用户界面,在多任务、多用户、分布式的环境中,网络就成为其 不可缺少的支持条件。在这种情况下,用户界面软件就必须得到网络的支持。 例如w i n d o w s 是p c 机上的一个操作环境,也是一个图形化的优秀用户界面, 但它必须能在网络下运行,否则在许多情况下无法发挥界面的作用。当前。一 第1 0 页共5 9 页 图形用户界面生成工具的设计与实现 些优秀的用户界面工具,其一个重要功能就是可支持网络下的运行,其突出代 表就是x 窗口系统,它就是为在网络透明环境下运行而发展起来的,可在 t c p i p 协议支持下运行。其它如w i n d o w s 9 8 w i n d o w sn t 都具有网络工作环 境。像这类软件在市场上已有许多,如n o v e l l 公司的n e t w a r e ,m i c r o s o r 公司 地l a nm a n a g e r ,这些网络适合于w i n d o w s 环境下使用。在u n i x 环境下 t c p i p 、n f s 、d e c n e t 等网络已广泛使用。 1 5 本文选题 本文( “图形用户界面生成工具的设计与实现”) 来源于我校与航天工业部 6 1 1 所合作项目“w i n d o w s n t 系统下实时动态模拟环境”。本项目实现的实时 动态模拟环境是一个基于w i n d o w s n t 系统下的实时多任务应用软件的运行平 台。该软件通过使用n t 系统的现有资源,在主模拟计算机中实现多任务的建立、 调度管理、删除、以及各任务间的数据共享,通过以太网实现与外围计算机的 实时数据交换,在其中一个任务中实现用户可自定义的图形用户界面。该项目 主要由以下几部分构成: ( 1 ) 实时多任务实时多任务是指在n t 系统下通过进程或线程( 或其 它现有系统资源) 实现的、具有不同优先级的、独立运行的用户开发的应用程 序。 ( 2 ) 以太网实时通信在该项目的硬件环境中包括两条以太网,用于实 现主模拟计算机与外围计算机之间的高速、实时数据通信。数据通信的方式包 括主模拟计算机对外围计算机的单向传播方式通信,以及主模拟计算机与外围 计算机之间的双向通信。两种通信方式都要求直接在网络的最底层进行。 ( 3 ) 图形用户界面图形界面部分分为固定界面和自定义界面两部分, 固定界面部分一经生成,其格式和内容确定不变;自定义界面部分要求针对该 项目在界面上的需求,开发出一个界面生成工具,用户通过该工具提供的编辑 环境可以方便高效的构造所见即所得的图形用户界面,而不用了解任何的界面 描述语言。本文选题即来源于该项目的图形用户界面部分。 第1 1 页共5 9 页 【芏| 彤h j 户界向生j 止l 具的设计与实现 第二章总体设计 在上一章的“本文选题”一节中简单介绍了“w i n d o w s n t 系统下实时动态 模拟环境”项目的简单情况。我参与了该项目的总体设计并负责图形用户界面 部分的实现。在本章中我们将就该项目的除图形用户界面以外的几个部分的设 计与实现作较为详细的论述。 实时动态模拟环境是一个基于w i n d o w s n t 系统下的实时多任务应用软件的 运行平台。软件通过使用n i 系统的现有资源,在主模拟计算机中实现多任务的 建立、调度管理、删除、以及各任务问的数据共享,通过以太网实现与外围计 算机的实时数据交换,其中一个任务实现用户可自定义的图形用户界面。整个 软件系统功能可以分为以下几个部分:多任务的建立、调度管理、删除;多任 务问的数据共享;以太网的实时通信;用户可自定义的图形用户界面。 2 1 多任务和数据共享 2 1 1w i n d o w s n t 系统下实时动态模拟环境中多任务的控制 w i n d o w s n t 系统下实时动念模拟环境中多任务通过进程实现,多任务之 间的控制通过对线程的控制完成,利用与主控进程通信的方法实现。各个任务 中的应用程序通过一些简单的函数调用实现对本任务或其他任务运行状态的控 制。控制任务包括挂起唤醒、终止、改变优先级等。该方法简便、实用、高效, 动态性好。 1 进程和线程 进程是指在系统一f ,正在运行的一个应用程序,是程序在一个数据集合上的 运行过程,它具有动态、并行、独立、异步等特性。一个进程将唯一地对应于 一个e x e 文件。 线程是系统分配处理器h , 寸f n j 资源的基本单元,或者说进程之内独立执行的 一个单元。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程 从主线程的执行开始进而创建一个或多个附加线程,这些线程都共享该进程的 地址宅问,它们可以并行、异步地执行。 第1 2 贝共5 9 页 图形用户界面生成工具的设汁与实现 在w i n d o w s 中,“多任务”是基于线程而不是基于进程的。多任务执行是 指在同一台计算机系统的同一时刻运行多个程序。在w i n d o w s 中,采用了一种 所谓带优先权的多任务方式来运行应用程序,称为“抢先式多任务”。实际上 就是抢先式多线程执行。 w i n d o w s n t 系统下实时动态模拟环境中的实时多任务是指在n t 系统下通 过进程或线程( 或其它现有系统资源) 实现的。具有不同优先级的、独立运行 的、用户开发的应用程序。它们可以是不同的开发语言的应用程序,如v b 、 d e l p h i 、c + + b u i l d e r 、v c + + 等。 2 实时多任务的建立 多个任务的建立是主控进程通过使用n t 的系统服务资源来实现的,在建 立任务的同时应指定各任务的优先级,其中两个任务( 核心任务) 的优先级应 高于系统页面管理任务的优先级,其余各任务的优先级应低于以上任务。每次 实时模拟运行过程中所建立的任务及其对应的优先级,由一个用户可修改的文 本格式数据文件进行定义,定义的格式为 应用程序1 的可执行文件的文件名( 包含路径)创建该进程的状态和优先 级 应用程序2 的可执行文件的文件名( 包含路径)创建该进程的状态和优先 级 级 应用程序n 的可执行文件的文件名( 包含路径)创建该进程的状态和优先 各个任务在模拟环境中是作为子进程对待的,主进程需要先定义子进程的 标识。 主进程创建子进程时调用标准函数: b o o lc r e a t e p r o c e s s ( l p c t s t ri p a p p li c a ti o n n a m e , l p t s t ri p c o m m a n d l in e , l p s e c u r i t y i a t t r i b u t e sl p p r o c e s s a t t r i b u t e s l p s e c u r i t ya t t r i b u t e si p t h r e a d a t t r i b u t e s , 第1 3 页共5 9 页 图形用户界血生成t 且_ 的设计与实现 b o o lb i n h e r l t h a n d l e s d w o r dd w c r e a tio n f la g s , i p v o i d l p e n v i r o n m e n t , l p c t s t r l p c u r r e n t d i r e c t o r y , l p s t a r t u p i n f o 1 p s t a r t u p i n f o , l p p r o c e s s i n f o r m a t i o n1 p p r o c e s s i n f o r m a t i o n ) : 其中第6 个参数:d w c r e a t io n f la g s ,可以控制创建进程时的状态:如实 参为c r e a t e s u s p e n d e d ,则表示创建的进程是挂起状念,并没有被立即执行, 直到该进程被唤醒;该参数也能控制创建进程的优先级:实参可以是 h i g h p r i o r i t yc l a s s 、i d i f p r i o r 1 1 y c l a s s 、n o r m a l 。一p r o r i t yc l a s s 、 r e a l t i m ep r i o r i t y c l a s s ;实参还可以是两种情况的综合:既可以控制状态, 也可以控制优先级。 3 多任务的调度管理 各任务通过一些简单的函数调用实现对本任务或其他任务运行状态的控 制,任务的基本状态包括:运行、睡眠、挂起、等待事件标志、终止等。各个 任务是主进程下的子进程,子进程之间是不能够直接进行相互控制的,子进程 只有通过发对应的控制消息给主进程,然后由主进程再对某个子进程进行控制。 因此。t 进程要响应自定义消息,并根据参数执行相应的操作。要注意的是,对 进程的控制是通过对它的线程的控制完成的。 ( 1 ) 子进程发对应的控制消息给主进程 定义动态链接库p r o c e s sd l l ,提供函数c o n t r o l p r o c e s s ( ) ,其中参 数为 s z p a r e n t w i n d o w c l a s s 为父进程窗口注册类, s z p a r e n t w i n d o w t i t l e 为父进程窗口标题,二者至少有一个必须不为n u l l w c o n t r o l t y p e 为控制类型 w n u m 为数组序号 d w p r i o r i t y c l a s s 为优先级类,可以取以下四个值: h 【g hp r 【o r i t yc i ,a s s 第1 4 虹共5 9 负 图形用户界面生成丁具的议计与实现 i d l e p r i o r i t y c l a s s n o r m a l p r i o r i t y c l a s s r e a l t i m e _ p r i o r i t y c l a s s 函数的定义如下: b o o l c o n t r o l p r o c e s s ( l p c t s t rs z p a r e n t w i n d o w c l a s s ,l p c t s t r s z p a r e n t w i n d o w t i t l e , w o r d w c o n t r 0 1 t y p e ,w o r dw n u m ,d w o r d d w p r i o r i t y c l a s s ) 获得父窗口旬柄 h w n dh p a r e n t = f i n d w i n d o w ( s z p a r e n t w i n d o w c l a s s 。s z p a r e n t w i n d o w t i t i e ) : i f ( h p a r e n t = = n u l l ) r e t u r nf a l s e : 发送消息 s e n d m e s s a g e ( h p a r e n t ,v y h i _ u s e r + i ,m a k w p a r a m ( w n u m ,w c o n t r o l t y p e ) ,( l p a r a m ) d w p r i o r i t y c l a s s ) : r e t u r nt r u e : 、 应用程序实际调用该函数时: 第一个参数为空n u l l , 第_ 二个为父窗口的标题”a p p ”, 第三个参数为整数,0 - - 挂起进程, 卜一唤醒进程 2 - - 设置进程的优先级 3 - - 终止进程 第四个参数为进程的代号( 从0 开始,依次递增) 第五个参数为要设置的进程的优先级 ( 2 ) 主进程响应自定义消息 主进程响应自定义消息w m _ u s e r + i ,并根据参数执行相应的操作: w o r dw t y p e = w p a r a m 1 6 ; 获得控制类型 w o r dw n u m = ( w p a r a m 1 6 : 获得数组序号 第1 5 页共5 9 页 剧形用户界曲生成t 月_ 的垃计与实现 d w o r dd w p r i o rn y c l a s s = 1 p a r a m : 获得优先级类型 s w it c h ( w t y p e ) , c a s e0 : 挂起第w n u m 个子进程 s u s p e n d l l h r e t d ( pi w n u m h t h r e a d ) : b r e a k : c a s e1 : 唤醒第w n u m 个子进程 r e s u m e t h r e a d ( pi w n u m b t h r e a d ) : b r e a k : c a s e2 : 设置第w n u m 个进程的优先级 s e t p r i o r i t y c i a s s ( p i w n u m h p r o c e s s ,d w p r i o r i t y c l a s s ) : b r e a k : c & s e3 : 终止第w n u m 个子进程 t e r m ih a t e7 f h r e a d ( p i w n u m h t h r e a d ,e x it c o d e ) : b r e a k : j 4 突破的关键技术 通过主控进程的技术方法实现w i n d o w s n t 系统下实时动态模拟环境中多 任务相互之间的控制,是一种简便、实用的多任务控制方式,各个任务之间可 以通过简单的函数调用完成相瓦阳j 的调度控制。 2 1 2w i n d o w s n t 系统下实时动态模拟环境中多任务间的数据共享 不同应用程序之间有共享数据的要求,针对w i n d o w sn t 系统和v c + + 的特点 我们提出通过动态链接库提供共享数据的方法,该方法解决了w i n d o w sn t 系统 下实时动态模拟环境中多任务问的数据共享问题,使得各个应用程序共同使用 一个动态链接库,需要共享的数据在该库中定义,达到共享的目的。同时,不 同语言的应用程序之唰也能共享数据。通过地址访问方式还可以使各个应用程 序通过间接访问方式使用共享数据。陔方法简便、实用性强。 1 数据共享的几种方法 共享数据可以通过很多方式进行,如通过磁盘文件或数据库,将共享数据 鹕1 6 打共5 9 页 图形用户界面生成工具的设计与实现 存放在一个磁盘文件或数据库中,通过对该文件或数据库的读写,达到数据共 享;或通过共享内存的方式,共享内存的方法可以归纳为几种:内存映像文件、 共享内存页( 又分为动态申请和静态申请两种方式) 、定制资源内存映像文件 是其它内存共享方法的基础。 内存映像文件:内存映像文件u o 是w i n 9 xa p i 处理磁盘文件的一种方式。 内存映像文件i o 允许两个或多个进程共享基于文件的数据。每个和共享有关 的进程直接存取一组公共页。由于共享占用的资源最小,当大量的数据必须被 共享时,通过内存映像文件i o 共享就显得非常有用。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 维修加工承揽合同范本
- 牛奶产品定制合同范本
- 牛蛙合伙养殖合同范本
- 酒业销售用工合同范本
- 租房改造公寓合同范本
- 绿化租摆合同补充协议
- 火锅废油回收合同范本
- 衣服租赁团购合同范本
- 分析化学药学题库及答案
- 酒厂转让协议合同范本
- 2022广东惠州市博罗县自然资源局补充公开招聘土地监察巡查协管员18人模拟检测试卷【共500题含答案解析】
- 第2课卓越的工程
- 机械论文题目(精选参考题目140个),论文题目
- 高级药理学-第三篇-药物代谢动力学总论课件
- 一年级《生命安全教育》 全册教案
- (完整版)荷兰进食行为问卷
- 保健食品GMP质量体系GMP总目录
- 钢筋工安全教育培训
- 电缆保护性拆除方案
- 工程现场踏勘情况记录表(模板)
- 打印机报价单模板(1)
评论
0/150
提交评论