




已阅读5页,还剩60页未读, 继续免费阅读
(机械设计及理论专业论文)《机械制图》网络课件在线绘图软件开发研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 f 远程教育是当今社会发展最快的领域之一。它集计算机辅助教学c a t 、现代多媒 体技术和网络技术于一体,实行教育资源共享,它代表着未来教育的发展方向之一, 预示着人类进入信息社会以后即将到来的一场全新的教育技术革命。 j a v aa p p i c l 和a c t i v e x 是当今i n t e r n c ! 上展流行两种的网络插件,由于实质上都 是用高级语言编写而成的网络应用程序,因此他们在提高网页动态交互性功能方面是 所有其它标记性脚本语言( 如l t t m l 和各种s c r i p t 脚本等) 所无法比拟的。 把a c t i v c x 控件技术引入远程网络教育领域。对以上两种网络应用程序的运行机 理及内鄄结构等进行了研究论证了a c t i v e x 控件技术在开发远程网络教学软件方面 得天独厚的应用优势。,r 4 机械制图课程实践性强,要掌握课程的基础知识和基本技能就必须做一定量 的习题,因此机械制图远程教学离不升在线绘图工具的支持。为适应机械制图网络教 学的特点井突出课程的学习重点,律置选择了a c t i v e x 网络控件技术并以微软的v i s u a l ( x + 为开发工具编写了一套网络在线绘图软件,实现了课件与绘图软件的无缝连接, 具有很强的实用性为机械制图网络课件的实用化作出了重要贡献。 对机械制图作业自动批改进行了探讨,并通过采用图元链表对比法批改学生 作业。根据正确图元和错误图元数目之间的关系确定作业成绩。同时设计了教师命题 和学生做作业两种使用模式,方便教师随时增加和修改习题,使网络在线绘图软件更 具有实用性 ( 最后,对全文进行了总结,并指出了进一步研究的方向、工作要点和宜采用的技 术n 一? 关键词:a c t i v e x 、机械制图、远程教学、在线绘图软件、作业自动批改 h “ 一“ 。 1 华中科技大学硕士学位论文 一;= = ;# ;= ;= ;j _ i _ ;_ ;t _ _ # a _ 目目 a b s t r a c t n e tb a s e dd i s t a n c ee d u c a t i o ni so n eo ft h ef a s t e s td e v e l o p i n ga s p e c t se l i n t e r n e t a t p r e s e n t 。i n t e g r a t e d c a i 、m o d e r nm u l t i m e d i a a n di n t e r n e t e c h n o l o g i e s ,i ts h a r e sa n d p a s s e s e d u c a t i o n a lr e s o u r c e s u r m o u n t i n j s p a c e - t i m e i to r i e n t a t e se d u c a t i o n a lt e c h n o l o g y ,i n d i c a t i n g an e we d u c a t i o n a t e c h n 0 1 0 9 yr e n o v a t i o na f t e rh u m a nb e i n gc o m i n gi n t o i n f o r m a t i o ns o c i e t y j a v aa p p l e ta n da c t i v e xi st h em o s tp o p u l a rt e c h n o l o g yu s e do ni n t e r n e t o d a y a c t u a ll yb e l o n g i n g t oi n t e r n e t p r o g r a m s d e v e l o p e db y a d v a n c e , p r o g r a m m i n gl a n g u a g e ,t h e yp r e c e d ep r o g r a m sd e v e l o p e d b y l o w e rl a b e p r o g r a m m i n gl a n g u a g e ( s u c ha sh t m l 、a l 1k i n d so fs c r i p t i n gl a n g u a g ee t c ) i x m a n yr e s p e c t so fi m p r o v e m e n tn e t w o r ka c t ivit y 。 t h ea c t i v e xt e c h n o l o g yi si n t r o d u c e di n t on e t b a s e dd i s t a n c ee d u c a t i o n a f t e rr e s e a r c ho nt h ef u n c t i o n a lm e c h a n i s ma n di n n e rs t r u c t u r eo ft h et w oa b o r e m e n t i o n e dn e t w o r kp r o g r a m 。w ed e m o n s t r a t e dt h em e r i t so fh c t i v e xt e c h n o l 0 9 3 u s e di nd e v e l o p i n gs o f t w a r ef o rd is t a n c ee d u c a t i o n 。 t h ec o u r s eo fm e c h a n i c a ld r a w i n gi sv e r yu t i l i t a r i a n i no r d e rt om a s t e i t sf o u n d a t i o n ,o n es h o u l dd oap l e n t yo fd r a w i n ge x e r c i s e s s ot h ed i s t a n c e e d u c a t i o no fm e c h a n i c a ld r a w i n gn e e d ss u s t a i n i n go fd r a w i n gt o o lo n l i n e s c a st o f i t t i n gf o rt h es p e c i a l t y ,s t r e s s i n ge m p h a s e so fm e c h a n i c a ld r a w i n $ c o u r s e ,b a s e do ni n t e r n e ta c t i v e xt e c h n o l o g y ,t h ea u t h o rd e v e l o p e das e to f i n t e r n e tc a ds o f t w a r eo n l i n ew i t ht h eh e l po fm i c r o s o f tv cd e v e l o p m e n tk i t , r e a l i z i n gt h ei n t e g r a t i v ec o n n e c t i o no fc o u r s e w a r ea n dc a ds o f t w a r e t h i s a c t i v e xc a do n l i n ei sp r a c t i c a l l yu s e f u l 。s o ,ac o n t r i b u t i o nt ot h eu t i l i t y o fm e c h a n i c a l d r a w i n gc o u r s e w a r ei sm a d e 。 t h e s i g n i f i c a n c eo fa u t o m a t i c c o r r e c t i n gf o rp r a c t i c a li n t e r n e tc a d 华中科技大学硕士学位论文 s o f t w a r ei sd i s c u s s e d 。a l s o ,t h em e t h o do fi m p l e m e n t i n ga u t o m a t i cc o r r e c t i n g f o rm e c h a n i c a ld r a w i n ge x e r c i s e si st r i e db a s e do nt h ec o n t r a s to fc o r r e c t i i n ea n dw r o n g1 i n ef o rc h a i no fa n s w e ra n dc h a i no fs t u d e n t 。t h i sa c t i v e x p r o g r a mh a st h ea b i l i t yt oc o r r e c td r a w i n ge x e r c i s e so fp r i m i t i v em e c h a n i c a l d r a w i n g t w ou s i n gm o d e si sd e s i g n e di nt h i ss o f t w a r er e s p e c t i v e l yf o rt e a c h e r a n ds t u d e n t ,m a k i n gi t v e r yp r a c t i c a l 。 f i n a l l y ,t h ea u t h o rs u m m a r i z e st h et o t a la r t i c l e ,p o i n t i n go u tt h e d i r e c t i o n 、t h ei m p o r t a n tt h i n g sa n dt e c h n i c a ls e l e c t i o nf o rd e e p e rr e s e a r c h o nt h i st a s k 。 k e y w o r d s : a c t i v e x ,m e c h a n i c a ld r a w i n g ,d i s t a n c ee d u c a t i o n , c a do n l i n e ,a u t o m a t i cc o r r e c t i n g m 华中科技大学硕士学位论文 = # j # = # = # = = = # _ = # = = # = # = _ ;# 、课题的来源、提出 第1 章绪论 远稷教育是当今事主会豹热f 潺题。它是静全凝豹教旁模式,它以; 算辍透绩鼓 术昶耀络技术走依托,采躅远程实瓣多点双囱交互式多媒体现代化教学手段,实现跨 越时闻和空阅的教育传递。它打破传统鲍、封闼躲办学摸式,霹以实现残任锷时闻、 经何地点学习由饫倪优秀教鼎开设的课程,势将蠢助予建立起一耪满足终曳学 - j 要求 的教育保障体系。在数字化、傧息化侉l 代的二十一世纪,人们对教窟的需求日菔增加e 远程教育作为一种新的教育模式,将最大限度利用现有教育资源,是实现教育的大众 化、现代化、终身化和国际化的必然途径。 计算机辅助教学和远程教育是两个不同的概念,但随着网络技术的发展,两者的 关系越来越密切。计算机辅助教学技术( c o m p u t e rh s s i s t e d 1 n s t r u c t i o n ,c i ) 以 计算机为媒介,通过计算机和学生之间的交互作用来达到教学目的,它既是项崭新 的教学技术,又代表着一个广阔的计算机应用领域。 多媒体技术怒远程教育披术中的一个重要组成部分。媒体是信息的载体壮l ,多媒 体可淤是文字、阐形、圈片、声音、渤画、和视频信息等的缎合,它集计算梳技术、 数字蹋像膏痢技术帮糯代通讯技术为一俸,使信怠不仅律_ j 予入的视觉,也同时件用 乎入豹听觉嚣感嚣,极大缝拓展豢l 丰窿了入类对傣怠酌摄入鬣,使得入与计算机乏瀚 驰关系更亲避。 多媒体技术、专 棼撬辅助教学技术秘秘终技术豹快速发袋与融合,必将对蜣l 远 稷教毒蛇发展产生革念性戆撼动 乍用。可以毫蚕夸张圭| 墼说,璎饯远程教育歪楚i 基土三 顼技术的嶷度集成与综会运用,它掭恚若为适应瑰 弋傣怠挂会对教育熬援大需求巍在 教育领域中即憋掀起的一场全凝的教窍技术革鑫。 为了大力促进我耀网络教育事业灼发展,1 9 9 9 年国家教蠢部正式挞凌清华大学、 j b 京邮电大学、浙江大学葶湖南大学等赢校为我围蓖批开展送提教育的试点院校。华 中科技大学也于2 0 0 0 年启动了现代远程教育招生工作,并准餐在湖北省乃至全嗣建 立远程教学站点。本课题就是在这种大的背景下产生的,它是华中科技大学枫械学院 机械设计系接网络学院的 运行方式不同。应用程序都是独立运行的;而a p p l e t 只能被嵌入到w e b 页面后才能执行其功能( 这一点也有别于a c t i v e x 控件程序,因为a c t i v e x 控件不仅可以在网页里运行,而且还可以被插入到一般的应用程序中执 行) 。 2 运行工具不同。应用程序被编译后,用普通的j a v a 解释器就可以使其边 解释边执行;而a p p l e t 必须通过网络浏览器或a p p l e t 观察器才能执行。 3 程序结构不同。每个应用程序都唯一含有一个m a i n 方法,它是程序的入 口;而a p p l e t 程序没有m a i n 方法,这也是a p p l e t 程序不能独立运行的 原因。 4 受到的限制不同。j a v a 应用程序可以对用户的硬盘进行操作;而a p p l e t 程序对用户的硬盘没有任何操作权。 j a v a a p p l e t 是一种经过编译的小程序,程序由j a v a 类组成,程序文件非常短,适 合在网页之间快速传输,这也是j a v a 语言能在网络界声名大噪的主要原因。j a v a a p p l e t 程序之所以简短,主要原因有两点。第,j a v a 程序不像其它程序那样需要附带庞大 的类库函数,因为j a v a 本身就是一套完整的函数库:第二,程序中所有的类函数都4 : 需要包含在编译好的c l a s s 文件里( 因为这些j a v a a w t 函数已经是网页的共同语言1 【“。而只需把引入的函数写在程序里即可。只要遵循j a v a 语法编写j a v a a p p l e t ,就好 华中科技大学硕士学位论文 像每一个浏览器里都已经安装好一套j a v a 编译器样,拿到c l a s s 程序就会自动编译 一次运行了【2 1 】。图2 - 1 是j a v a 程序的运行平台示意图。 图2 - 1 :j a v a _ 甲台构成示意图 从图2 - 1 可以看出j a v a a p p l e t 程手运行环境的跨p 台性,凶为j a v a 虚拟机( 虚拟 操作系统1 和真实计算机之间有一个适配器1 2 2 j ,不同的计算机及不同的操作系统分别 对应着不同的适配器,这样就可以作到程序运行环境的平台无关性。 2 2 3 、网络控件a o t i v o x a c t i v e x 技术的核心内容是组件对象模型( c o m p o n e n to b j e c tm o d e l ,c o m ) 。 建立在组件对象模型基础之上的a c t i v e x 技术以前一直被称为对象链接嵌入技术 o l e ( o b j e c tl i n k i n ga n de m b e d d i n g ) 。长期以来,m i c r o s o f t 一直认为操作系统的焦 点是文档而不是应用程序,当用户的文档t | 1 含有f :同类型的数据,如文本和图形时, 为了不离开当前的编辑环境就可以对文本和图形进行编辑,m i c r o s o f t 提供了种无缝 创建和编辑文档的环境,它可以使相应的编辑工具融入当前的应用程序中,这就是 0 l e 技术i ”】。例如,使用o l e 将一个图形从p a i n t b r u s h 嵌入到一个m i c r o s o f tw o r df o r w i n d o w s 文档中之后,用户可以不离开w o r df o rw i n d o w s 而编辑那个图形r 只需双击 1 0 华中科技大学硕士学位论文 那个图形以激活已装入该图形供其编辑的p a i n g b r u s h 应用程序即可) 。实际上,a c t i v e x 是一种体系结构,它从o l e 技术演变而来,a c t i v e x 对象就是能在w w w 上运行的 o l e 对象i 堋,它以c o m 为基础,以精简之后的o l e ,加上重要的网络支持,然后让 o l e 控件随时保持动态( a c t i v e ) 以处理信息。这个方式与o l e 链接嵌入文档有所不同, 因为链接嵌入文档仍需要双击之后才可启动,而a c t i v e x 1 8 j 贝0 是随时保持已经启动的 状态基于对象的链接与嵌k ( o l e ) 技术是d d e 技术的后继和扩展1 2 9 l ,微软的动态数 据交换( d d e ) 技术是在应用程序之闭共享信息的一种方法。根据其名称,能很容易地 看出o l e 技术支持两种基本类型的对象:嵌入对象和链接对象。当用户把一个对象 ( 注意这里的“对象”与c + + 类中所指的“对象”不是一个概念,这里的“对象”是 类似图形、格式化字符块、某个表格的若干连续单元等数据,m f c 使用“项”这个 术语来指示o l e 对象,以避免与c + + 对象混淆1 2 7 1 ) 移动或复制到一个新位置( 诸如一 个不同的应用程序容器中1 时,保持它们全部原有特性的编辑和操作功能的数据对象被 称为“o l e 嵌入对象”。用户可以通过普通的剪贴或从客户应用程序的l n s e f l 菜单选 择“o b j e c t ”项来嵌入对象。这些嵌入对象即使在新的容器巾也保持它们的全部功 能集作为一种选择,用户也可以链接信息而不是嵌入它。“链接”是指在客户文档 中存放o l e 对象说明( 如对苏所在的文件和服务器名称等) 等过程,通过在服务器 文档( o l e 对象所在的文档) 中选择对象,并在客户应用程序的e d i t 菜单中选择“p a s t e s p e c i a l ”选项即可建立链接。总之,可以把o l e t 2 7 l 看作是两个应用程序之间的种 协议,该协议主要有两条。第一,用户可以从服务器( o l e 对象的来源) 把对象嵌入 到客户应用程序所创建的文档里;第二,当用户选择了披嵌入的对象时,客户应用程 序可以要求服务器程序( o l e 对象所在的应用程序) 去操作对象。除了“嵌入”概念 之外,“链按”对o l e 也是必要的,在链接过程中,若一个对象从服务器文档被粘贴 到客户,那么客户应用程序将记录下服务器文档的整个路径名。例如,若链接了一系 列e x c e l 表格单元到一个字处理文档内,这些表格单元的任何改变都将反映到字处理 文档显示的信息中。链接的缺点是,若把被链接的表格从其所在的文档中移走或删除 掉,那么在字处理文档中将无法得到表格信息,而这一点与对象的“嵌入”不同,被 嵌入的对象数据与其所在的源文件毫不相干。现在人们谈到的a c t i v e x 和o l e 具有相 同的含义,人们曾经谈论的o l e 控f ,t - ( o c x ) ,现在是押a c t i v e x 控件”。o l e d o c o b j c c t s 现在被称为“a c t i v e x 文档”。在某些情形下,微软把荚丁怎样实现o l e 技术的文档 撞个地更新为怎样实现a c t i v e x 技术,实际上,微软做的事情只不过是把术语“o l e ” 全都替换为“a c t i v e x ”了。但a c t i v e x 不只是意味着替换了o l e 它还把o l e 加以 扩展,使它可以包含于因特网、企业内联网、商用和家用应用程序开发以及用于开发 1 1 华中科技大学硕士学位论文 更新的、应用范围更广的应用程序的工具。可以说,a c t ! v e x 技术是o l e 技术的延续 和扩展1 2 9 。a c l i v e x 组件技术1 3 1 j 可以分为以下六类;自动化服务器、自动化控制器, 控件、c o m 对象、文档、容器。我们在开发机械制图网络教学在线绘图软件过程中 主要涉及到a c f i v e x 控件和a c t ! v e x 容器两个类。 简单地说,能在容器( 如w e b 网页) 中使用的交互式对象即为a c t ! v e x 控件一 a c t ! v e x 控件等价于以前的o l e 控件或o c x 。一个典型的控件包括设计时和运行时 的用户界面,唯一的i d i s p a t c h 接口定义了控件向外部世界显露的方法和属性,唯一 的i c o n n e c t i o n p o i n t 接口用于控件可引发的事件。除此之外,一个控件还可以包含对 其整个生命周期的一致性支持,以及对剪贴、拖放等用户界面持性的支持。从结构上 看,一个控件有大量必须支持的c o m 接口。c o m 所要解决的问题是为w i n d o w s 程 序模块之间相互通讯提供一种标准的方法,它实际上也是一种协议,建立了两个软件 模块之间的连接,而后再将其描述出来,于是这两个模块之间就可以通过称为“接口” 的机制来进行通讯1 3 1 1 p 2 i 。a c t ! v e x 控件永远都是在其所放霄容器的进程内运行。控件 的典型扩展名是o c x ,但从运行模块的角度看,它不过是一个标准的w i n d o w sd l l 而已。与j a v a a p p l e t 不同的是,a c t ! v e x 控件不是为跨甲台而设计的( 至少现在如此) 。 a c t ! v e x 特性只能在m i c r o s o f tw i n d o w s 操作系统上发挥作用,它受到操作系统甲台的 约束和限制,不能在其他平台上运行。但a c t ! v e x 控件运行速度快,功能更强大,而 且又有w i n d o w s 操作系统垄断性市场份额的支持,所以这种控件也广为流行。 使用a c t ! v e x 控件的程序称之为a c t ! v e x 容器( c o n t a i n e r l 。一个控件容器是 a c t ! v e x 可激活的用于控制用户界面结构的应用程序1 2 9 h 3 。a c t ! v e x 容器是个可以 作为自动化服务器、控件和文档宿主的应用程序。v b 和a c t ! v e xc o n t r o lp a d 是容器 的例子,它们可以作为自动化服务器和控件的宿主,m i e r o s o t 、o f f i c eb i n d e r 和 m i c r o s o f ti n t e r n e te x p l o r e r 可以作为自动化服务器、控件和文档的宿主。 2 3 、选择a o l :jv e x 控件技术来编写机械制图网络在线绘图软件 网络应用程序的安全性是网络客户荚注的前要问题。j a v aa p p l c l 和a c l i v e x 在这 方面都有各自的安全防范体系。j a v a 的安全模型称为“沙盒”( s a n d b o x i n g ) ,它将所 有的可执行代码都限制在一个受限区域内。j a v a 取消了内存指针,程序无法访问不该 访问的地方。j a v a a p p l e t 程序的内存布局是动态的,程序员无法从类的定义中推断出 运行时刻的实际内存布局。实际上,j a v a 已经抛弃了开发者直接进行内存分配及布局 的能力。j a v a l 4 2 l 的另一个安全性措施是在运行系统中增加了字节代码验证器,它在运 华中科技大学硕士学位论文 行之前对字节代码进行验证,以确保代码不被有意无意的篡改。图2 2 是j a v a 程序的 运行系统功能示意图。 解释和运行 图2 2 :j a v a 程序的运行系统功能图 j a v a 的安全机制可以有效地防止网络病毒、黑客侵入及下载程序对本地文件系统 的破坏等 a c t i v e x 控件是运行于w e b 之中的内置程序。开发者根据a c t i v c x 规范使用程序 设计语言创建的a c t i v c x 控件,是程序的自包含片段或独立构件,它独立丁程序语言, 开发者可以在其它程序,甚至其它语言编写的程序中重用这些a c t i v e x 控件。例如, 可将一个v i s u a lc + + 语言编写的a c t i v e x 控件插入至- 0 l jv i s u a l b a s i c 语言编写的程序 里- 这一点不同于j a v a a p p l e t 程序,因为a p p l e t 程序只能被插入到网页里才能运行, 而不能被插入到其它应用程序中使用。用a c t i v e x 控件能够制作光彩夺目的w e b 动画、 实时显示常用表格、容易访问数据库等。相比之下,它比j a v a a p p l e t 功能更强大( 也 更不安全) ,它能处理客户机上的文件,运行速度也更快。与j a v a a p p l e t 不同,a c t i v c x 控件可以访问用户计算机中的文件。这个有价值的特性为a c t i v e x 创造了j a v a a p p l e t 所没有的功能。例如,一个a c t i v e x 控件能够将数据库检索的结果保存在硬 i ;【一卜,以 供将来使用,然而j a v a a p p l e t 却只能一次又一次地反复检索并反复载入检索结果。再 者如金山毒霸网站提供的网络在线杀毒功能( 当然了,用厂 能使用这功能的前提是 他同意下载该网站提供的在线杀碡网络控什a c t i v c x ) ,而这- 一功能足j a v aa p p l c t 插件 所无法实现的,因为j a v a a p p l e t 插件出于网络安全考虑而禁止对客户本地机硬盘文件 的任何访问a c t i v e x 的安全模型i 刈采用的是身份验证技术,它由实现代码签名的 华中科技大学硕士学位论文 一一= = j = = = = = = = = = = = ;= ;= ;= = = = 目_ = = = # = # m i c r o s o f t 程序a u t h e n t i c o d e 提供。这种安全性的功效是依赖于核实a c t i v c x 控件开发 者身份的能力,它只能赋予用户根据授权来鉴别控件的能力和责任,而不能保护客户 不受恶意及不当控件的侵犯。虽然对客户机文件的直接访问是一种便捷方式,但同时 也极具危险性。例如,不怀好意的开发者可能会利用a c t i v e x 的这个特性在用户硬盘 中搜索信用卡号或其他机密信息。当一个a c t i v e x 控什自动下载安装后,用户就无法 了解计算机后台所发生的事情了。对于个可执行文件类的控件,它的运行与e x e 文件相似,由于是已编译的二进制代码,所以可将它看成是一个系统联机命令。于是 开发者就能够开发出一个功能是执行客户机硬盘删除操作的a c t i v e x 控件【2 8 1 。所以说, 程序开发者和网络客户必须确保a c t i v e x 控件的来源,千万不能使用或下载安装来路 不明的a c t i v e x 控件。 j a v aa p p l e t 插件每次都要随网页的打开而自动下载( 网页关闭时自动删除) :而 a c t i v c x 控件只随网页的第一次打开而下载并注册,以后再打开该网页时只需检测并 更额该控件的版本即可,而无需反复下载。但a c t i v e x 是建立在客户与网站之间信任 关系上的,由于a c t i v e x 控件远不如j a v a a p p l e t 安全,若网络用户对某一网站所提供 的a c t i v c x 控件安全性有顾虑而不下载它( 经常的事) ,则该控件就无法工作,而j a v a a p p l o t 则不同,只要客户机上安装有j a v a 虚拟机,j a v a a p p l e t 插件就能正常运行( 一 般的网络浏览器都自带有1 a v a 虚拟机,可以认为j a v a 虚拟机是一套计算机模拟操作 系统软件,j a v a a p p l e t 插件应用程序就运行于这种虚拟操作系统平台上) 。j a v a a p p l e t 具有跨操作系统平台性,而a c t i v e x 只能运行于微软的w i n d o w s 操作系统平台上。j a v a a p p l e t 出于网络安全考虑而限制对客户机上文件的操作:a c t i v e x 在这方面没有任何 限制,所以功能更强大( 也因此而最不安全) 。总之,j a v a a p p l e t 是最安全的网络应 有程序,一般没有人会排斥a p p e t 网络插件的下载与运行,所以它很适合于平台跨度 较大的国际互联网网络的在线游戏等;a c t i v e x 插件非常适合运行于企业内部的局域 网,也非常适合于当今的远程教育网络。首先是这种网络的客户计算机操作系统易于 统一,不存在跨平台问题( 特别是在当今社会微软的w i n d o w s 操作系统占绝对垄断性 的市场优势情况下) ;再者是用户对网站所提供的a c f i v c x 控件的安全性是绝对放心 的、毫无顾虑的,加上a c t i v e x 控件更为强大的木地机硬盘文件处理能力和更快的运 行速度,可以极大地增强网站与客户之问的网络互动能力,使网页的动态交互功能更 为强大。而且也使得局域网内部的网络应用程序更易于统一管理( 包括版本及功能的 自动更新等) 。这种情况下j a v aa p p i e i 网络插c v - 贝 j 有点逊色,首先是频繁的下载( 对 于较大的应用程序尤为不便) ;再者是运行速度慢1 5 0 绘图功能单一( 这点非常不利于 开发绘图工具方面的软件) ,而且禁止对用户硬盘文件作任何处理。正是基于对以上两 1 4 华中科技大学硕士学位论文 种插件的这些诸多利弊的考虑我们决定机械制图网络在线绘图工具的应用程序采用 a c t i v e x 控件形式来实现。控件版本的自动更新功能非常有利于绘图软件在具体的教 学实践中不断地发展与完善。非常重要的一点是,a c t i v e x 控件是下载并安装在网络 学员计算机上的本地机应用程序,所以学员们可以在网络断开的情况下脱机使用这一 绘图软件,并可以把所绘图形的数据文件保存在自己的本地机上,待网络开通后再向 教学网站站点服务器提交已经绘制好的图形数据文件,这非常有利于提高用户对网络 资源的利用,同时对地处偏远山区的网络学员非常有利( 这里的网络经常出现阻塞、 时断时续现象等) ,而这些功能用1 a v a a p p l e t 插件法是根本无法实现的。 2 4 、a c t i v e x 控件的两种编写方法对比分析 a c t i v e x 控件有两种常用的编写方法:m f c 法、a t l 法。两种方法的编程思想不 同,m f c = ( m i c r o s o f lf o u n d a t i o nc l a s s ,微软基础类席) 足基于类库思想的,鼓励编程人 员从父类继承行为来实现新的子类,子类在父类的基础上扩充新的功能以满足自己的 特有用途。由于子类从父类继承了大量的默认行为,所以子类的功能强大,而且容易 实现;a t l ( a c t i v e xt e m p l a t el i b r a r y ,活动模板库) 追求的是程序文件的短小精悍,反 对深层次的类层继承,因为子类在继承父类有用行为的同时也不可避免地要继承一些 不必要的行为,而这些不必要的“行为”会加重子类的“负担”。不仅如此,因为父 类中已经包含有祖类中的“不必要行为”,所以子类中不仅有父类中的“不必要行为”, 而且还有其祖类中的“不必要行为”。不难想象,经过几代继承之后的子类中包含有 它上面每一代类中的“不必要行为”,这会导致程序代码交得庞大起来。所以a t l 法 编写控件的主导思想是尽量用浅的类层继承结构以使程序只继承一些必要的行为,反 对过深的类层继承关系,这种浅的类层继承结构使得a t l 程序比m f c 程序小的多。但 是由a t l 编程法编写出来的控件也失去了祖类中许多有用的行为,即失去了许多默认 的有用行为,这就加大了a c t i v e x 控件功能的实现难度。这两种编写a c t i v e x 控件的 方法思路不同,不能说哪种方法更好,只能说它们都有各自的使用范围。那么具体到 网络绘图软件a c t i v e x 控件到底使用哪种编写方法会更合适些? 下面先简单介绍一 下它们各自的编程法实质。 2 4 1 、a o t i v e x 控件的a t l 编程法 a c t i v e x 控件设计的出发点是要在低带宽、长时问等待的i n t e r n c t 网上下载和安 l s 华中科技大学硕士学位论文 := = 一= = j = = = = 自自j = ;= 自= = = j j = g = = = l # = = = = 一 装,所以要尽可能的使a c t i v e x l 4 3 1 控件简洁、均匀并能高效的下载到客户机上。利用 a t l 创建a c t i v e x 控件是一种直截了当的过程。a t l 编写活动模扳库( a c t i v e x t c m p l a t el i b r a r y ,a t l ) 控件是用于共享代码的最有用的技术之一。设计a t l 的目的 是为了使开发者的工作更容易一些。a t l 提供了一种简易而灵活的方式,以便在c + + 中创建c o m 对象。它所占用的空间很小,因此被编译的控件也就很小。a t l 不是一 个具有相关类和库的大系统,它更象一个模块化的、节省时间的库,使程序员在每次 编写控件时不必非得实现l u n k n o w n 和i c l a s s f a c t o r y 。a t l 的设计思想在很大程度上 来源于s t l ( s t a n d a r dt e m p l a t el i b r a r y ,标准模板库) ,它已经成为标准c + + 库的一部分 和s t l 一样,a t l 主动地使用c + + 模扳。编译器和连接器技术的发展与主动性的模 板使用是同步的,使得s t l 和a t l 成为用于当前和未来开发的合理选择尽管在内 部广泛地使用了模板,你也可以甚至在连一个尖括号都不输入的情况下使用a t l a 这 是因为a t l 带有a t l o b j e c t 向导,它生成各种各样的基于a t l 模板类的默认对象实 现。该a t l o b j e c t 向导能够使任何人在不用考虑c o m 或者a t l 的情况下,在数分钟 之内创建并运行一个c o m 对象。当然,要利用a t l 的所有长处。你必须要理解c + + 模板和c o m 编程技术的知识。然而,对于一个大对象类来说,a t lo b j e c t 向导的默 认实现还需要为被导出的任何自定义接口添加方法的实现,这也是大多数开发者在第 一次实现c o m 对象时要做的全部事情。乍看起来,a t l 体系结构可能很奇怪并且不 可思议。对于要快速开发c o m 组件的主流组件开发者来说,实际的a t l 体系结构与 他们不相干,因为该向导完美地生成了合理的框架,只需再进行方法定义即可。对于 认真的c o m 开发者和系统程序员来说,a t l 提供了用于在c + + 中建立c o m 组件的 一个优美的、可扩充的体系结构。一旦你理解了该体系结构并且超越该向导后,则 a t l 可以象完全手工的c o m 编程一样强大和富有表现力。 2 4 2 、h o t i v e x 控件的m f o 编程法 在用于a c t i v e x 开发的所有工具中,m f c 是最简单的一个。v i s u a lc + + 的“集成 开发环境”( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n t ,i d e ) 就是用m f c 设计实现的,它提 供了对你开发应用程序非常有用的a p p w i z a r d 和c l a s s w i z a r d 。m f c 很强健,并且大概 包含了你需要的所有东西的9 0 。然而剩下的这l o 工作量会花费你9 0 的时问1 2 9 1 。 m f c 本身需要大量的d l l 4 1j 支持。如果客户端要运行这个用m f c 方法编出的控件, 贝该客户计算机上需装有相应版本m f c 类库的d l l 。否则就得下载这些巨大的类库 这会加重网络传输的负担。幸运的是,i n t e r n e te x p l o r e r 提供了m f c 类库而且i n t e r n e t 华中科技大学硕士学位论文 e x p l o f c r 是w i n d o w s 9 5 9 8 n t 提供的组件,所以只要a c t i v e x 控件使用的是m f c 或 者更早的版本,多数情况下并不需要下载m f c 类库1 3 3 1 。前面说过,m f c 编程法编 写出来的控件可能比用a t l 法编写出来的控件大的多,这可能会影响控件在网上的正 常传播。事实上,几乎所有的i n t e r n e t 都能够满足使用这种方法创建的a c t i v e x 控件 的带宽要求1 4 射。 m f c ( m i c r o s o f tf o u n d a f t o nc l a s s m i c r o s o f t 基础类库) 是v i s u a lc + + 的核心。它相 当彻底地封装了w i n 3 2 软件开发工具包( s o f t w a r ed e v e l o p m e n tk i t ,s d k ) ) 中的结构和 功能1 3 6 】,为编程者提供了一个应用程序开发框架。这和传统的使用c 语言和s d k 来 进行w i n d o w s 应用程序设计有着很大的不同。但从底层来说,其中的大部分功能仍然 是通过调用最基本的w i n 3 2 a p i 来实现的。最重要的一点是,w i n d o w s 应用程序的运 行机制仍然没有改变,它们仍然是通过消息和操作系统、进而和用户进行交互的事件 驱动型应用程序i 如i ,只不过m f c 对这一切进行了比较彻底的封装而已。m f c 处理了 很多与w i n d o w s 相关的常见任务,如管理窗口、菜单和对话框、执行基本的输入和输 出、使用集合类来保存数据对象等等。 2 5 、选择m f c 法编写机械制图网络在线绘图软件a c t i v e x 控件 a t l 法比较适合编写无窗口界面以及功能相对简单的网络控件。如果你想建立不 带窗口界面的a c t i v e x 控件,就开发、规模可伸缩性、运行时性能和可执行文件的大 小等方面而言,和m f c 相比,a t l 可能是更好的选择;但如果要建立带有窗口界面 的a c t i v e x 控件,最好用m f c 法来编写控件,因为m f c 法编写控件时,窗口界面是 默认实现的。m f c 是按照c + + 类的层次形式而组织在一起,几个高层类提供一般功 能,而低层类实现更具体的行为。每一个低层类都是从高层类中派生出来的,因此继 承了高层类的全部行为。窗口界面就是a c t d e x 控件通过继承m f c 高层类( c w n d 窗 口类、而自动实现的 在编写带有窗口界面以及功能相对复杂的机械制图网络绘图软件a c t i v e x 控件时 我们选择了m f c 编程法。首先是因为m f c 法非常适合编写带有窗口界面的控件;再 者是因为a t l 不包含设备上下文包装器1 4 4 1 ,这一点对开发诸如绘图工具之类的控件 尤为不便。设备上下文又称设备文本,是一种w i n d o w s 内部数据结构l 捌,它包括了 与一个具体设备( 如显示器、打印机等) 绘图属性相关的所有信息( 如背景色、前景 色、画笔和字体等) ,不仅如此,它还完全定义了设备驱动程序的状态。在m f c 中, 设备文本被封装在c d c 类中。该类包含了绝大多数w i n d o w sa p i 中的图形设备接口 华中科技大学硕士学位论文 函数。在应用程序向窗口客户区输出信息前,必须先获得一个设备文本t 如果没有获 得设备文本,那么应用程序和窗口之间就没有任何通道( 4 1 l 。 2 6 、小结 本章对提高网络交互性功能常用的两种方法:脚本和插件进行了论述,并进一步 对两种常用网络插件技术进行了对比分析,指出了a c t i v e x 控件技术在开发局域网应 用程序和远程网络教学应用程序方面得天独厚的技术优势,从而为开发机械制图网络 绘图软件选择了最佳的a c t i v e x 技术实现方案。由于a c t i v e x 控件有两种常用的开发 方法:孵c 和a t l ,作者最后又论述了选择好c 法开发机械制图网络在线绘图软件 a c t i v e x 控件的缘由。 1 8 华中科技大学硕士学位论文 i = = # = = = = = = =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025设备租赁合同协议书范本
- 抗菌药物临床应用知识考试试卷及答案
- 2025装饰工程个人劳务合同模板
- 2025年版施工合同规范本(建设工程)
- 2025年第四期工业废渣利用合同
- 火灾安全培训素材课件
- 2025年三支一扶之三支一扶行测真题附答案
- 2025年度企业员工技能提升培训合同
- 济南莱芜语文中考试卷及答案
- 防排烟风机检测
- 2025年公共营养师考试历年真题与试题答案
- DB15T 3943-2025紫花苜蓿冬春灌技术规程
- 《时尚品牌市场调研》课件
- 2025年一季度全院难免压疮风险评估上报总结分析(二篇)
- 网页设计的交互设计研究-洞察分析
- 微信零钱被冻结的保全复议申请书
- 《矿山安全技能培训》课件
- 虚开增值税专用发票罪的入罪标准解读
- 2025年江苏南京市国企集团招聘笔试参考题库含答案解析
- 公司管理安全奖惩制度(4篇)
- 老旧小区改造工程安全生产和文明施工措施
评论
0/150
提交评论