(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)authorware上机考试自动阅卷系统的研究与实现.pdf.pdf 免费下载

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

文档简介

沈阳工业大学硕士学位论文 摘要 随着社会信息化程度的不断提高,计算机应用能力的:曜咧| i 得到迅猛发展,考核中使 用的传统手工阅卷已经逐渐走向计算机自动评阅。目前自动阅卷已经能很好地完成了对 常见客观试题的自动批阅工作,但是对于些主观性很强的问题,尤其是程序设计的问 题,还没有很好的解决方案。 a u t h o r w a r c 是美国m a c r o m e d i a 公司开发的个功能强大的多媒体仓l 胙工具,以其 功能强大且易学易用的特性而成为课件制作工具中应用比较广泛的平台,因而 a u t h o r w a r c 也成为了计算机应用能力剖与考核的项重要内容。沈阳市教委和沈阳教 育学院提出的开发“a u t h o r w 甜- e 上机考试的自动阅卷系统”项目,目的是实现 a u t h o r w a m 上机考试的自动评阅,以达到捐t v j , 阅卷工作量,降低手工阅卷中评卷人员主 观因素的影响,提高评阅过程的公正性和准确性。本文对该系统的指导思想、实现策略 以及所用技术等进行了系统的阐述。 本澡匮判卷j 蟓是a u r h o r w 躲开发的程宇,其开苤稠境a u t h o r w a 把多j 触踌件的 开发理念与m i c r o s o r 的w o r d 、e x c e l 等软件的开放式开发环境不同:其软件系统自成 体系,采用相对封闭的开发思想,对很多流行的软件开发技术( 如o l e 、c o m 等) 只 提供了对外弓l 用的功能而没提供相应的对外接口。所以本系统采用模拟用户操作的方式 去驱动并控制用户程序,使其按预定策略运行;在运行过程中,利用嵌入的扫描代码程 序功能来完整地记录程序运行的状况和反映程序运行功能的信息;再对这些信息进行自 动处理,以实现自动阅卷的目的。 在设计系统的过程中,本人十分注重软件的实用性。初步实验结果证明自动评分模 块运行稳定,评分标准能够统一。 关键词:多媒体课件,自动阅卷,动态链接库代理 r e s e a r c ha n d i m p l e m e n t a t i o n o f a u t o m a t i c a l l ym a r k i n gs y s t e m s b a s e do na u t h o r w a r eo n - l i n et e s t w i t hd c 掣e co fs o c i e t yi n f o r m a t i o ni m p r o v i n gr a p i d l y ,t h et r a i l l a n so ft h ea p p l i c a t i o n a b i l i t y0 1 1c 0 1 i l p u t l 璐h a sb e e nd e v e l o p e dr a p i d l y ;a n dm e a n w h i l e ,t r a d i t i o n a lm a n u a lm a r k i n g s y s t e m s 啪r e p l a c e db y a u t o m a t i cm 舡酗n g s y s t e m sg r a d u a l l y t h o u g ha u t o m a t i c a l l ym a r k i n g s y s t e m sf o rf a m i l i a r l yo b j e c t i v ep r o b l e mh a sf i l l f i l l e ds u c c e s s f u l l y , t h e r es l i l l e x i s ts o m e d i f f i c u l t i e ss u c ha st h e m a r k i n g o n p r o g r a m m i n gp r o b l e m s a u t h o r w a z e ,ap o w e r f u l 如嫩d o nt o o lo l ip i d 如d n gm u l t i m e d i as o f t w a r e ,p u b l i s h e db y i a c r o l n e d i ac o m p a n y , i so n eo ft h em o s tw i d e l ya p p l i c a t i o nt o o l sd e v e l o p i n gm u l t i m e d i a e 0 1 1 f s e w a l eb e c a u s eo fp o w e r f u lf u n f m o na n dt h ec h a r a c t e r so f e a s ys t u d ya n db s e t h e r e b y , a u l h o r w a r cb e e sa ni m p o r t a n tc o n t e n to ft r a i n i n ga n de x a m i n i n gc o m p u t e ra p p l i c a t i o n a b i l i t y s h e n y a n g e d u c a t i o n a lc o l l e g e ,c c l 0 i p e 础n gw i t hs h c n y a n ge d u c a t i o n a lc o m m i t t e e , h a s p l a n n e d o i ld e v e l o p i n ga na u t o m a t i c m 赳恼n gs y s t e m f o ra u t h o r w a r e p r o g r a m m i n g t h eg o a lo f t h ep r o j e c ti st om a r k i m m e d i a t e l ya f 缸e x a m i n a t i o n sf i n i s h , r e d u c et h eg r a d i n gw o r k l o a d a n d i m p r o v e t h eo b j e c t i v i t ya n d j u s t n e s s i nt h et h e s i s ,t h em a i n d e s i g ni d e a , i m p l e m e n t a t i o np o l i c y a n d t e c h n o l o g y u s e d a 坤s y s t e m a t i c a l l ye x p l a i n e d t h et e s t i n go b j e c to ft h e 删e c ti st h ei x o g r a m m ed e v e l o p e db ya u t h o r w a r e ,w h i c h d e v e l o p m e n t e n v i r o n m e n t sd e v e l o p m e n ti d e a s ,w h i c hi sa u t h o r w a r em u l t i m e d i a s o f t w a f f e , a g e d i f f e r e n t w o r da n de x c e l so p e nd e v e l o p m e n te n v i r o n m e n to fm i c r o s o r b e c a u s ei t i n l r o d u c e d r e l a l i v e l y c l o s e d e v e l o p m e n ti d e a s ,a u t h o r w a r eo n l yp r o v i d e s t h ef u n c t i o n a l i n t e r f a c ew h i c hb o r r o w sf r o m o u t s i d e ,n o tp r o d d i n g c o r r e s p o n d i n g l y e x t e r n a li n t e r a c ew h i c hi s r e f e r e n c e db yo u t s i d ef o r p l e n t y o f p o p u l a r s o r w a r e d e v e l o p m e n tt e c h n o l o g y , s u c ha so l e 、 c o ma n ds oo i l t h e r e f o r e , t h es y s t e md r i v e sa n dc o n t r o l sl l s e a 8 p r o g r a mt h r o u g h s i m u l a t i n g u s e r s o p e r o t i o b m a k e s 啵s p r o g r a mr u na c c o r d i n gt oa d v a n c ep o l i c y ;i nt h eo o t l r s eo f a u t o m a t i c a l l yr u n n i n g ,t h es y s t e mr e c o r d sp e 删yr u n n i n gs t a t u so ft l s e r s p r o g r a ma n d i n f o r m a t i o nr e f l e c t i n g p r o g r a mr u n n i n gf u n c t i o nu s i n gs c a n n i n g - c o d ee m b e d d e dp r o g r a m ; 2 沈阳工业大学硕士学位论文 f i n a l l y , t h es y s t e md e a l sw i t ha u t o m a t i c a l l yt h ei n f o r m a t i o nr e c o r d e da n dr e a l i z e st h eg o a lo f a u t o m a t i c a l l y j u d g i n g e x a m i n a t i o n p a p e i - d i l i i f l gt h ed e v e l o p m e n to ft h ea u t o m a t i cm a r k i n gs y s t e mf o ra u t h o r w a r c ,舯a c l i a 呦 i se m p h a s i z e d p i q 删唧t e s t i n gr e s u l th a sp r o v e dt h a ta u t o m a t i cm a r 垴n gm o d u l e c a nr u n s t e a d i l ya n du n 掎y g r a d m g s t a n d a r d k e yw o r d s :m u l t i m e d i a c o u r s e w a r e a u t o - j u d g i n ge x a m i n a t i o np a p e r , d y n a m i cl i n kf i b r a r y a g e n t - 3 独创性说明 本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 沈阳工业大学或其他教育机构的学位或证书所使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表 示了谢意。 签名:上栏 关于论文使用授权的说明 ( 保密的论文在解密后应遵循此规定) 摊:盟 沈阳工业大学硕士学岱色文 1 1 课题背景 随着计算机技术的发展和整个社会信息文化述评的不断提高,计算机已经逐步渗透 到生产、学习、生活的各个方面。将计算机技术应用于教育测量和评价的全过程中,即 计算机辅助测试( c c l i i l i 砷t e ra s s i s t e dt e s tc a t ) 已成为国外计算机教育和教育技术领 域内的个穆院热点,它执评价内容、评价方法和评价形式等多方面发展了传统测评理 论和实践,并目使对信息技术能力的测评更加容易。2 0 世纪6 0 年代美国首先将电脑用 于教育测量,如今已步 成熟直甩阶段,而在国内这方面的研究才刚刚起步。 教育测量是教育过程的重要环节,它对学生的知识增长、能力发展、兴趣爱好、思 想品德,以及教育措施等许多问题按一定法则进行数量化测定。它可以分为对知识的 评价和对技能的评价。关于对知识测评相应的理论和技术比较成熟,通常采用客观题的 形式( 即选择、填空、匹配等睡型) 。而关于对技能的考核,即上机操作的考核,无论 是理论还是实践都比菠薄弱。如何解决技能考核中的环境模拟和自动阅卷是目前急需解 决的两大x 匪题。通过对国内外计算机测评系统的研究,发现早期的计算机考试主要采用 卷面考试的方式,这种以理论笔试为主的考试方式,其成绩不能真正反映学生的计算机 应用水平和能力,即使有在计算机上考的m ,大多也是标准化的考试系统m ,这不仅 仅是我国的计算机考试系统如此,国外也有很多考试系统也是这样m 。这种考试形式 也会导致学生重理论、轻实践的现象发生,考生的计算机能力大多限于“纸匕谈兵”, 其上机操作能力差,在新的软件工具、环境面前会束手无策。 随着社会信息化程度的不断提高,计算机应用能力的培训得到迅猛发展,考核中使 用的传统手工阕卷已经逐渐走向计算机自动评阅。目前国内的自动阅卷系统已经能很好 地完成了对常见客观试题的自动批阅工作,但是对于- 叫坠至观性很强的问题,尤其是程 序设计的问题,还没有很好的解决方案。 目前,对可视化界面软件的测试也得到了飞速发展。如已经能够对w i n d o w s 、 w o r d 、e x c e l 、p o w e f p o i n t 等软件的上机考核实现自动阅卷功能。在阅卷的过程中,通 过考生的操作步骤来判定操作是否正确。这样,对于能够获得操作步骤记录的软件来 沈阳工业大学硕士学位论文 说,是可行的埘。如w o r d 2 0 0 0 、e x c e l 2 0 0 0 和p o w c r p o i n t 2 0 0 0 中提供了宏记录的功 能,可以直接在宏中记录考生的操作步骤。而对于不能获得操作步骤记录的软件来说, 就会带来个问题:在考生操作该软件的时候,即使是简单操作,其实现途径也不是唯 一的。在阅卷之前,系统就必须预先考虑到考生的各种可能实现方法,如果不能穷尽所 有的操作步骤,就会将考生原本正确的操作步骤判定为错误。这样,很容易导致阅卷系 统的不完备性。而在实际考核中,我们关j 0 的是考生操作的结果是否正确,而不是考生 的实际途径。基于以上分析,目前比较流行的新思路: 通过分析考生操作的结果特定存储格式的文件,来判定考生的操作结果是否正 确。例如:在考生操作a c c e s s 2 0 0 0 的时候,即使是创建表这样的简单操作,实现途径 也不是唯一的。所以,此种情况只需判断考生在a c c e s s 2 0 0 0 中进行的操作结果是否能 够达到考核的要求即可【1 1 1 ;而对v i s u a lf o x p r o 、v i s u a lb a s i c 等面向对象语言自动阅卷 功能的实现也是归功于此思路1 ;1 3 1 。 目前,能够被实现上机考试自动阅卷的软件数目还很有限。还有很多可视化界面的 开发软件等待此功能的实现,以方便考生上机测试和实现现场自动批阅的目的。 面对呼啸而来的信息技术之风,方兴未艾的课件制作及应用,成为计算机辅助教学 不可或缺的一部分。由于课件有利于创造岚好的教学情境,越来越多的教师加入到课件 制作队伍中来。“工欲善其事,必先利其器”。优秀的溧件制作工具,会大大地提高广 大教师制作课件的效率与质量。a u t h o r w a r c 是课件制作工具中应用比较广泛的平台,它 的最大特点是创造了基于图标的创作方式,用可见的流程贯穿课件制作的整个过程,清 晰有序。a u t h o r w a r e 内置众多过渡效果( 利用插件,可产生更多的效果) ,5 种基本动 画功能,如果能够灵活应用可以满足普通课件对动画的要求。a u t h o r w a r e 的灵魂是它强 大的交互功能和函数库,1 1 种交互方式使我们轻松实现各种随心所欲的交互效果,丰 富的函数让我们如虎添翼【1 4 】。因而a u t h o r w a r e 也成为了计算机应用能力培训与考核的 项重要内容,并且在今后的培训中占据越来越重要的地位。如果仍采用人工阅卷的方 法,容易受主观影响,而且阅卷周期长、误差大、公正性不强。因此,实现a u t h o r w a r c 上机考试的自动评圆是迫切需要的。 2 。 沈阳工业大学硕士学位论文 本人的课题来源于沈阳市教委与沈阳教育学院提出的实际项目,并由本人独立开发 实现;该项目对参加者利用a u t h o r w a r c 制作课件的能力进行一次全面的考核。 1 2 国内外研究惰f i 5 己 随着社会信皂化程度的不断提高,计算机应用能力的培i j i i 得到迅猛发展,考核中使 用的传统手工阅卷已经逐渐走向计算机自动评阅。目前国内的自动阅卷系统已经能很好 地完成了对常见客观试题的自动批阅工作,但是对于些主观性很强的问题,尤其是程 序设计的问题,还没有很好的解决方案。 目前,我国对可视化界面的软件测试发展很迅速1 5 4 7 】。其自动阅卷功能大致通过以 下四条思路来实现: ( 1 ) 构造个被测试软件的仿真系统,这要求仿真系统不仅能模拟该软件的环境界 面,而且能够记录考生的操作步骤,然后通过分析考生的操作步骤来进行自动阅卷。 ( 2 ) 在被测试软件中直接将考生的操作步骤记录下来,然后分析考生的操作步骤, 以判定考生操作是否正确雌1 9 1 。 ( 3 ) 通过v b a 进行阅卷的方法具有定的通用性,通过使用相应的对象,实现对 被测试软件的自动阅卷功能。如由于每个w o r d 、e x c e l 文档都是由许多对象组成,这些 对象及其属性的值就决定了文档的结构和格式。所以对它们考核的自动阅卷功能是能够 实现的冽。 “) 通过分析考生操作的结果特定格式的文件,来判定考生的操作结果是否正 确口”。 而电脑辅助测试芷国外眭溶到了广泛的应用吲。国外有许多专门考浅帆构采用计算 机辅助测试洲,对参加考核的对象进行评价,如美国思而文学习系统有限公司 , v u - e 公司等。美国教育考试服务中心( e t s ) 从1 9 9 3 年g r e ( 研究生入学考试) 采 用自适应考试模式,同时逐步减少纸卷笔试为基础的考试方法,t o e f l 考试也将 在中国采用自适应考试蘸式。 1 3 课题的研究意义 一般的测试方法是教师命题,学生在试卷纸匕答题,教师再进行份份的批改, 最后才1 ;酐导到学生的成绩。这样的测试方法流程长,需要花费很多的时间,另外,考试 3 沈阳工业大学硕士学位论文 中会有作弊现象,试卷批改中带有教师的主观洼。而自动阅卷系统具有输入题目、题目 测试和自动批改三大功能,该系统建立了试题库,它实现了学生上机测试和现场自动批 阅的目的。不仅缩短了测试的流程,节省了教师的时间,而且可以减少作弊现象的产 生,批改中不带有主观因素,从而使学生的成绩能够真实客观地反应学生对所学知识的 掌握情况和教师的教学情况唧。 计算机自动评卷技术( 元纸化考试系统) 的研究、推广和应用,可以推进教育改 革,加快教学现代化,推动考核方法改革,实现考核手段的现代化。可以确保考试的高 效、科学、公平,实现教学管理现代化u - 8 1 。 自动阅卷作为计算机测评系统的一部分,以计算机的高效、自动的阅卷取代教师的 低效率的、机械的手工阅卷,将教师从繁重的机械劳动中解放出来。在考试结束后,立 即进行阅卷,当场给出考试成绩。同时,阅卷结果易于保存、查询、使对考生的学习成 绩做出更客观公正的评价捌。 1 4 所耍研究的内容 对a u t l a o r w a r e 程序进行自动阅卷主要包括两个方面:是判断程序的界面设计是 否正确,另外是程序的逻辑是否符合要求,通过分析,存在下面几个方面问题需要进行 深入的研究: ( 1 ) 从理论的角度判断对a u 吐l a r e 程序考核自动阅卷是否可行? ( 2 ) 从实践e ,如何对界面正确性进行笋h 断,如何分析程序逻辑的正确性? ( 3 ) 如何考虑a u t h o r w a r e 应用程序的灵活性、多样性、设计出通用的应用系统,最 大限度地避免重复劳动? ( 4 ) 如何制定合理的阅卷标准,才能使系统进行程序逻辑的自动评判。 1 5 课题中的难点及解决办法 本系统确定了研究内容后,便把目光转向了由a u t h o r w a r e 编写的应用程宇上。 首先,本人从分析a u t h o r w a r e 程序的组成格式开始着手:通过使用u l t r ah e x 工具 以及文本方式查看a 5 p 或a 6 p 文件( a u t h o r w a r e 生成文件扩展名) 时,发现其十六制 文件无规律可循,完全不像e x e 、b m p 、j p g 及z i p 文件格式已公开,可通过燃 4 沈阳工业大学硕士学位论文 看工具或其他工具洞悉出文件的隐含信息,如文件中的多段可表示图象格式、长度、采 样率等。 其次,采用在某种编程开发环境下,先创建出所要查看的对象,然后对其属性进行 访问的方法。但通过查w i n d o w s 注册表发现a u t h o r w a r c 没有o l e 的相关注册信息,而 且v f 里的a c t i v e x 控件也不支持对a u t h o r w a m 操作。 最后,利用视察器在工具窗口中遍历其它子窗口的控件状态。发现a u t h o r w a r e 所 有的控件资源仅仅根据自身的标准进行规定,无法像d e l p h i 、v b 、v c 等m i c r o s o f t 公 司的产品能够转化为w i n d o w s 操作系统下的标准控件。所以调用类似于v c 中s p y 抖功 能的视察器无法查到a u t h o r w a f e 环境下所编辑的窗口及其控件的状态信息。 通过以上各种方法的尝试,本人总结出本课题的难点为: ( i ) 如何取得a u t h o r w a m 程序界面的信息。 ( 2 ) 如何驱动程序,从某种意义上讲,就是如何控制程序按照规定的方式进行运 行。 ( 3 ) 如何从a u t h o r w a r e 文件这只“黑盒”中取出能够表示程序运行情况的关键数 据。 ( 4 ) 如何能够在每次“事件驱动”以后,探测出a u t h o r w a m 程序中关键数据的变 化。 本系统的解决办法:为了实现自动判卷,本系统利用w i n d o w s 消息处理机制控制 程序运行,即用程序模拟系统产生的消息,然后传送给相应的程序,就可以达到模拟用 户操作的目的,因为就应用程序而言,它所收到的消息都是样的。应用程序并不在乎 谁发给它消息,只要消息的接收者是它,而且它能够处理整个消息就可以了。本着此种 指导思想,采用消息机制来模拟 机界面中的鼠觥和键盘键击,从而实现计算机自 动阅卷的目的。 而要得到程序的运行结果,由于直接用外界程序探测a u t h o r w a m 程序内部数据十 分困难,从某种意义上说,几乎是很难实现的。在这个问题上,本系统构建了“嵌入扫 描代码”这个概念;也就是说,本系统在被测试程序中嵌入一段相关的探澳4 程序,在每 5 沈阳工业大学硕士学位论文 次事件发生以后,都会向记录临时参数的文件输出反映a u t h o r w a r e 程序功能的关键数 据;从而完整地记录下程序运行时的每个细节,供答案评分程序进行判断。 6 沈阳工业大学硕士学位论文 2 相关技术综述 2 1d l l 技术 动态链接库是个可以被其它应用程序共享的程序模块,其中封装了些可以被共 享的例程和资源。动态链接库文件的扩展名一般是d l l ,也有可能是d r y 、s y s 和f o n ,它 和可执行文件非常类似,区别在于d l l 中虽然包含了可执行代码却不能单独执行,而 应由w i n d o w s 应用程序直接或间接调用洲。 ( 1 ) 动态链接库的定义 动态链接是相对于静态链接而言的。所谓静态链接是指把要调用的函数或者过程链 接到可执行文件中,成为可执行文件的部分。换句话说,函数和过程的代码就在程序 的e x e 支牛中,该盈僦含了运行日寸所需的垒部代码。当多个程序都调用相同函数时, 内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。而动态链接所调 用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调 用函数的描述信息( 往往是些重定位信息) 。仅当应用程序被装入内存开始运行时, 在w i n d o w s 的管理下,才在应用程序与相应的d l l 之间建立链接关系。当要执行所调 用d l l 中的函数时,根据链接产生的重定位信息,w i n d o w s 才转去执行d l l 中相应的 函数代码。 一般情况下,如果个应用程序使用了动态链接库,w i n 3 2 幂统保证内存中只有 d l l 的份复制品,这是通过内存映射文件实现的。d l l 首先被调入w i n 3 2 系统的全 局堆栈,然后映射到调用这个d l l 的进程地址空间。在w i n 3 2 系统中,每个进程拥有 自己的3 2 位线性地址空间,如果个d l l 被多个进程调用,每个进程都会收到该d l l 的份e 趄像。与1 6 位w i n d o w s 不同,在w i n 3 2 中d l l 可以看作是每个进程自己的代 码。 ( 2 ) 动态链接库的优点 共享代码、资源和数据: 使用d l l 的主要目的就是为了共享代码,d l l 的代码可以被所有的w i n d o w s 应用 7 沈阳工业大学硕士学位论文 程j 影专孚。 隐藏实现的细节: d l l 中的例程可以被应用程序访问,而应用程序并不知道这些例程的细节。 拓展开发工具如d e l p h i 的功能: 由于d i 上是与语言无关的,因此可以创建个d l l ,被c + 十、v b 或任何支持动 态链接库的语言调用。这样如果一种语言存在不足,就可以通过访问另种语言创建的 d l l 来弥补。 ( 3 ) 动态链接库的实现方法 i x ) a d - t i m ed y n a i l l i e i _ j n k i a g 这种用法的前提是在编译之前已经明确知道要调用d l l 中的哪几个函数,缩译 时在目标文件中只保留必要的链接信息,而不含d l l 函数的代码;当程序执行时,利 用链接信息加载d l l 函数代码并在内存中将其链接入调用程序的执行空间中,其主要 目的是便于代码共享。 r u n - t i m ed y n a m i c l i n k i n g 这种方式是指在编译之前并不知道将会调用哪些d l l 函数,完全是在运行过程中 根据需要决定应调用哪个函数,并用l o a d l i b r a r y 和g e t p r o c a d d r e s s 动态获得d l l 函数 的入口地址。 ( 4 ) d l l 的两种调用方式在d l e l p m 中的比较 编写d l l 的目的是为了输出例程供其他程序调用,因此在d l l 的工程文件中要把 输出的例程用e 】币o f t s 关键字引出。在调用d l l 的应用程序中,需要声明用到的d l l 中的方法,声明格式要和d l l 中的声明样。访问d l l 中的例程有静态调用和动态调 用两j 中方式。静态调用方式就鼢惭的h 衄骶部分用e x 咖l a i 指示字列出要从d l l 中引入的例程;动态调用方式就是通过调用w i n d o w s 的a p i 包括l d a d i j b r a r y 函数、 g e t p r o c a d d m s s 函数以及r u 瞰i i y 函数动态f l g 弓i ad l l 中的例程。 静态调用方式所需的代码较动态调用方式所需的少,但存在着些不足,一是如果 要加载的d l l 不存在或者d l l 中没有要引入的例程,这时侯程序就自动终止运行;二 是d l l 一旦加载就一直驻留在应用程序的地址空问,即使d l l 已不再需要了。动态调 8 沈阳工业大学硕士学位论文 用方式就可解决以上问题,它在需要用蓟d l l 的时候才通过l o a d a h 鼍r y 函数引入,用 完后通过f r e e l i b r a r y 函数从内存中卸载,而目通过调g e t p r o e a d d r e s s 函数可以指定不 同的例程。最重要的是,如果指定的d l l 出错,至多是a p i 调用失败,不会导致程序 终止。 2 2 开发语言及编程方法的选用 2 2 1v i s u a lb a s i c 可视化编程 v i s u a lb a s i c 是m i c r o s o t t 公司于1 9 9 1 年推出的w i n d o w s 应用开发工具,经过十多 年的发展,它已经成为w i n d o w s 环境下流行的编程语言,它从根本匕改变了传统的程 序设计模式,大大简化了w i n d o w s 应用程序设计。v i s u a lb a s i c 与传统的语言不同,它 使用可视化、交互式的方法来开发w i n d o w s 下的应用程序。由于v i s u a lb a s i c 的交互 性,因此你可以一边运行着你的程序,一边进行界面的调整和程序代码的调试。通过这 种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。 v i s u a lb a s i c 应用程序开发工具具有非常强大的功能,在此仅就系统开发过程中用 到的相关技术作简单介绍。 2 2 1 1v i s u a lb a s i c 的数据库对象 用v i s u a lb a s i c 访问数据库有许多可供选择的方案,这些方案各有自己的特点。 r i x ) 是v i s u a lb a s i c 访问关系型o d b c 数据源的最佳界面接口,就如d a o j e t 是j e t 和 s a m ( 顺序索引查找方法) 类型数据源首选的访问接口一样。这两种方法都完整地集 成于v i s u a lb a s i c 中,并目形成了v i s u a lb a s i c 核心的数据访问策略。r d o 和d a o 都已 发展为相当成熟的技术。因此假如用户需要访问o d b c 数据源,可以使用r d o ;如果 需要访问s a m 或j c t 类型数据源,那么就使用d a o j e t a c t i v ed a t ao b j e a s ( a d o 舴为另一种可供选择的技术出现,正在逐渐代替其他数据 访问接口。由于r d o 和a d o 的体系结构非常相似,因此当需要将r i ) o 数据接口转换 为a d o 时,仍可以使用r d o 设计的代码。a d o 是独立于开发工具和开发语言的简单 而且容易使用的数据接口,同a d o 相比,其他数据访问接口都会黯然失色。所有的数 据源都可以通过a d o 来访问,在今天已逐渐成为现多学2 1 。 9 沈阳工业大学硕士学位论文 经过数年发展,o d b c 技术日臻完善,已成为访问远程数据的主要方法,而j e t 成 为本地j e t 和 s a m 数据接口的首选方案。虽然这些方法在不同程度e 有功能交迭的地 方,在论证选用数据库访问的方法时,主要还应满足用户在特殊应用程序中对具体数据 接口的访问。 本系统选用的是a d o ( a c t i v c xd a t ao b j e c t s ) 是d a o r d o 的后继产物。a d 0 2 0 在功能上与r d o 更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。 a d o “扩展”了d a o 和r d o 所使用的对象模型,这意味着它包含较少的对象、更多 的属性、方法( 和参数) ,以及事件。包含在d a o 和r d o 模型中的许多功能被合并 为单个对象,这样就生成了个简单得多的对象模型。不过,也应当注意,以便和o l e d b 数据源交互,另外还包括远程和d h t m l 技术。 a d o 使您能够编写应用程序以通过o l ed b 提供者访问和操作数据库服务器中的 数据。a d o 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。a d o 支持 建立客户端服务器和基于w e b 的应用程序的关键功能。 2 2 1 2a p i 文本查看器的采用 在动态链接库中调用的a p i 过程需要用d e c l a r e 语句进行声明。而有些过程的名字 比较长,并带有很多参数,在输 时不仅费时,而目容易出错。此外,在声明a p i 过程 时,为了区分1 6 位版本和3 2 位版本,需要对参数和过程类型认真进行检查,否则可能 会出错。利用v i s u a lb a s i c6 0 提供的应用程序“a p i 文本查看器”( 浏览器) ,可以快 速而准确地声明a p i 过程。其使用过程为:在使用a p i 文本查看器前,首先要装载a p i 文件。在v i s u a lb a s i c6 0 中,与a p i 有关的信息,包括类型、声明和常量存放在两个文 本文件中,即w i n 3 2 a p i t x t 和m a p l 3 2 t x t 。其中w l n 3 2 a p i t x t 含有w i n d o w s a p i 过程的3 2 位版本的常量、声明和类型,而m a p b 2 t x t 含有w i n d o w s 多媒体a p i 过程的常量、声明年类型。然后用a p i 浏览器就可以浏览含有a p i 信息的声明、常量 和类型,它们存放在文本文件或j e t 数据库中,可以将其拷贝到剪贴板上,然后粘贴到 v i s u a lb a s i c 代码中。以匕过程是调用a p i 过程的前提。正确声明以后,就可以像调用 v i s u a lb a s i c 内部过程样调用a p i 过程。需要特别注意的是,在传送变量( 参数) 时,其类型必须与a p i 所要求的相符合口3 1 。 一l o 沈阳工业大学硕士学位论文 2 2 2d e l p h i 编程语言 如今在w i n d o w s 平台上,有许许多多的开发工具可以选择v j s u a lc + + 、v i s u a l b a s i c 、d e l p h i 、c + + b u i l d e r 、j b u f l d e r 它们基于不同的编程语言、忠于不同公司的产 品理念。扶这个角度来说,它们之间的差异是非常大的。d e l p h i 优秀之处在于: ( 1 ) 开发的高效 d e l p h i 是个r a d ( r a p i da p p l i c a t i o nd e v e l o p m e n t ,快速开发工具) ,它有可视 化的开发环境。当然具有类似功能的开发工具也不少( 如v i s u a lb a s i c ) ,但d e l p h i 有 如下的独到之处 蚓: e 吨舳是真正面向对象的。其基于0 0 技术构建的v c l 库中的所有组件都可 以被继承以创建新的组件,包括窗体类t f o r m 。相_ 比之下,a c t i v e x 组件缺乏这种灵活 性。 d e l p h i 的c o d e l n s i g h t 技术( 即代码自动完成功能) 是建立在编译器信息上 的,而v b 使月i 的是类型库信息。使用编译黼的好处是更具有灵活性。不过,时常 有程序员抱怨d e l p h i 的代码提示时间太长。其实,我个人感觉是习惯了其速度之后,能 体会到一种节奏的快感。 ( 2 ) 语言的高效 d e l p h i 基于o b j e c tp a s c a l 语言。这是一种真正支持面向对象而又优雅美观的语言。 它在功能的健全e 毫不逊色于各种其他的面向对象语言,但同时又不贪多,不盲目地增 加复杂性。使得开发者运用各种模式进行没计时都能得到完善的支持,实现时却不用考 虑太多语言埔;译器细节。 ( 3 ) 编译的高效 可以说,d e l p h i 是w i n d o w s 平台上最快的高级语言本地代码编译器。编译速度快 有什么好处呢? 快速的编译器可以使用户频繁地在修改代码和编译运行的状态问切换。 至少,我自己已经非常习惯了这样的工作方式:运行程序看一下效果,退出程序修改少 量代码再运行程序。i i l id e l p h i 的编泽器从来不会让我有等待的感觉。 ( 4 ) 执行的高效 d e l p h i 不但编译速度快,生成的目标代码的执行效率也非常高。d e | p h i 与 c + + b u i l d e r 使用的是同个后端优化器,因此其生成的代码的效率跟优秀的c + + 编译器 生成的代码相同。 d e l p h i 生成完全本地代码,因此d e l p h i 编译结果的可执行文件可以被独立执行、 分发,不需要其他运行库支持。当然,也可以选择动态链接编译,这样可以大大减少可 执行文件的长度。不过,在这种情况下分发程序时,必须同时分发必要的运行库文件。 ( 5 ) 维护的高效 c + + 把许多决策权给了程序员,因此功能十分强大,但同时,要用c + + 写出出色的 面向对象代码,就要求程序员具有定的素质。而v i s u a lb a s i c 则根本没有提供面向对 象的编程机制( v b 6 0 及先前版本都是基于对象,而非面向对象) 。而d e l p h i 程序员虽 然会在一定程度上被限制在v c l 提供的框架中( 当然,完全可以在d e l p h i 中摆脱v c l 编程) ,但相对来说,更容易建立良好设计的代码。代码框架的优良使得软件维护成本 大大降低。 综合以上优点,可以归纳为: 能够将要解决的问题简化,并以某种理念快速实现之。 不隐藏任何用户想知道的细节。 可以忽略用户所不想知道的细节。 主动去适应不同层次的程序员。 所以,本系统选用了d e l p h i 1 2 2 3a u t h o r w a r e 编程语言 目前,c a i 课件的开发平台很多,如:t o o l b o o k 、v b 、吼、d e l p h i 、 a u t h o r w a r e 等。其中,a u t h o r w a r e 以其功能强大且易学易用的特性而得到广泛应用, a u t h o r w a a e 是美国m a c r o m e d i a 公司开发的个功能强大的多媒体创作工具,它是基于 图标和流程线的多媒体开发工具,它具有丰富的交互方式、跨平台的体系结构、高效的 多媒体集成环境和标准的应用程序接口。同时,使用a u t h o r w a r e 我们无需大量的计算 机知识,不需要编程就可以很方便地创作课件,这样教师就可以把主要精力用于教学设 计,以开发出符合教学规律的优秀多媒体课件。它主要具有以下特点】: 1 2 沈阳工业大学硕士学位论文 ( 1 ) 面向对象的图标化编程语言 a u t h o r w a r e 是一种为非程序员设计的编程软件,源程序中无传统形式的“语句”, 用户以图标为基本单元,通过变量和函数的使用、参数的设置,以流程线为结构而生成 程序。用户使用工具图标将文字、图形、图像、视频、声音、动画等合成至程序中,如 同搭积木样容易。进行设计时,将各种素材放置到相应的工具图标中,由图标来完成 具体功能,编程过程与思维过程十分相似。 ( 2 ) 灵活多样的交互模式以及多重分支功能 a u t h o r w a r e 5 5 提供了通过菜单、按钮、热区、定时、条件、事件等1 1 种响应交互 和超文本、超媒体等跳转功能,n a v i g a t e 图标和f r a m e w o r k 图标相互配合可以制作成多 层次、多页面的复杂分支结构,不仅可以实现同一层次的多媒体页面之间的检索、页面 翻页,而且可以实现不同层次的多媒体页面的跳转与返回等多项导向、多重分支功能。 ( 3 ) 丰富的系统函数和变量 a u t h o r w a r e 5 5 提供了功能各异的使用方便的系统函数、系统变量以及多媒体扩充函 数,同时也提供了用户自定义函数接口,方便用户编写自定义函数,以满足用户的需 求。 ( 4 ) 支持o l e a u t h o r w a r e 5 5 作为w i n d o w s9 8 n t 平台上的o l e 可以接受各种s a v c f 提供的丰富 的数据格式,例如,可将新的m i c r o s o f tp o w e r p o i n t 幻灯片对象嵌入页面中、在文档中 创建二维报表等。 ( 5 ) 支持数据库 a u t h o r w a r e 5 5 对数据库的支持是通过o d b c 方式实现的,所以可以兼容各种数据 格式,这样利用a u t h o r w a r e 可以作为某一数据库的前端检索和咨询系统动态地进行数 据的实时显示和更新。 ( 6 ) 支持网络功能 随

温馨提示

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

评论

0/150

提交评论