




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)汇编程序在线评测系统的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研 究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本声明的法律责任由本人承担。 学位论文作者:徐重 日期:加,。年f 月z 舌日 学位论文使用授权声明 本人在导师指导下完成的论文及相关的职务作品,知识产权归属郑州大学。 根据郑州大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部 门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权郑州 大学可以将本学位论文的全部或部分编入有关数据库进行检索,可以采用影印、 缩印或者其他复制手段保存论文和汇编本学位论文。本人离校后发表、使用学 位论文或与该学位论文直接相关的学术论文或成果时,第一署名单位仍然为郑 州大学。保密论文在解密后应遵守此规定。 学位论文作者:绞蘧 日期:矽j o 年箩月2 占日 峪。l卜砒“谢、 摘要 摘要 随着高校扩招,班级人数不断增加,而教师人数相对没有增加,这样就导 致教师由原来的小班授课变为大班授课,班级人数也由以前的几十人增加到上 百人。这样的教学模式在一定程度上存在着弊端,其中一个就是教师对学生作 业的批改过程中存在的问题,尤其是对计算机专业的程序语言设计课程。 目前在计算机程序语言设计课程中教师基本都采用的是手工批改学生程序 作业,这在很大程度上增加了教师的负担,而且批改的结果也不能及时反馈给 学生。因此为了能够更好的促进学生的应用能力和自主学习的能力,同时也为 了减轻教师批改程序作业的负担,我们研究并开发了对于汇编语言程序作业的 在线评测系统a u t o m a r k 。 本文在对国内外已有的程序自动评测系统进行分析的基础上,根据这些已 有系统的特点和不足,设计实现了我们的汇编程序在线评测系统a u t o m a r k 。该 系统由教师模块、学生模块、助教模块、管理员模块和登陆模块组成,主要用 于对汇编语言程序这门课程中学生程序作业的自动批改,起到了辅助教学的作 用。目前系统已经实现了教师模块中教师对题库、成绩的管理和布置作业、批 改作业的功能;在学生模块中实现了程序作业提交、自动批改、查看作业和查 看成绩的功能;管理员模块和助教模块的基本功能也都实现。论文中对系统的 分析和这些功能的具体实现进行了详细的论述,并重点介绍了关于动态评测、 多文档程序评测和服务器端进程管理等关键技术的解决方法。该系统的开发和 应用在一定程度上减轻了教师的负担,满足了学生对自己汇编语言程序作业自 动评测的要求,并且具有在线评测和对多文档程序评测等特点。 关键字:b s 模式静态测试动态测试多文档程序评测在线评测 a b s t r a c t w i t ht h ei n c r e a s i n gn u m b e ro fc o l l e g ee n r o l l m e n t ,t h en u m b e ro fs t u d e n t sh a s b e c o m em o r ea n dm o r ei nt h eu n i v e r s i t y , b u tt h en u m b e r o ft e a c h e r sh a sn o ti n c r e a s e d s i g n i f i c a l l t l v - s ot h et e a c h e rn e e d t ot e a c hi nl a r g e - c l a s si n s t e a do ft h es m a l lc l a s s ,a n d t h ec l a s ss i z ei si n c r e a s e df r o mt h ed o z e n s ,o fp e o p l et oh u n d r e d so fp e o p l e ,b u t s u c h t e a c l l i n gm o d e lh a sm a n yd r a w b a c k s o n eo ft h ep r o b l e m si sa s s e s s i n gt h es t u d e n t s h o m e w o r k e s p e c i a l l yi n t h ec o u r s e so fc o m p u t e rs c i e n c es u c ha s t h ep r o g r a m l a n g u a g ed e s i g n i n g n o w i nt h ec o u r s eo fp r o g r a ml a n g u a g ed e s i g n i n g ,m o s tt e a c h e r sa s s e s s m gt h e s m d e n t s ,p r o g r a ma r em a n u a l ,b u tb e c a u s et h en u m b e ro fs t u d e n t s i n c r e a s e d ,t h e t e a d l e rm u s ta s s e s sal a r g en u m b e ro fp r o g r a m sa n dt h i sg r e a t l y i n c r e a s e dt h e t e a c h e r sw o r k t e a c h e rc o m p l e t i n ga l lt h es t u d e n t s p r o g r a ma l w a y st a k e sa v e r yl o n g t i m e t h i si sn o tc o n d u c t i v et ot h et e a c h e rg r a s p i n gt h es t u d e n t sl e a r n i n ga n d t o p r o v i d i n gm e a n i n g f u lf e e d b a c kt ot h es t u d e n t s t h e r e f o r ei no r d e r t og r e a t l yp r o m o t e s t u d e n t sc a p a b i l i t i e so fp r o f i c i e n c ya n ds e l f - l e a r n i n g ,w es t u d ya n dd e v e l o p a l lo n l m e a u t o m a t i ca s s e s s m e n ts y s t e mf o ra s s e m b l yp r o g r a ml a n g u a g e a u t o m a r k i nt h i sp a p e r , w et h r o u g ha n a l y z i n gt h ee x i s t i n ga u t o m a t i ca s s e s s m e n ts y s t 锄s , a i l dd e s i 龋t h ea u t o m a r ks y s t e mb a s e do nt h o s es y s t e m sc h a r a c t e r i s t i c sa n d d e t e c t s 。 n ea u t o m 破c o n s i s t so ft e a c h e rm o d u l e ,s t u d e n tm o d u l e ,t e a c h i n g a s s i s t a n tm o d u l e , a 西n i i l i s t r a 氟) rm o i u l ea n dl a n d i n gm o d u l e ,t h es y s t e mi sm a i n l yu s e df o ra s s e s s t a g s t l l d e n t s ,a s s e m b l yp r o g r a ma n di tp l a y e das u p p o r t i n gr o l ei nt h e c o b r s eo fa s s e m b l y l a n g u a g ep r o g r a m m i n g c u r r e n t l yt h es y s t e m h a sr e a l i z e dt h eb a s i cf u n c t i o n ,s u c h 鹪 t h et e a c h e fc a nu s et h et e a c h e rm o d u l ef o rm a n a g i n gt h ee x e r c i s e sa n dt h es t u d e n t s 7 s c o r e ,a f r a n 西n gh o m e w o r k ,a s s e s s i n gt h ep r o g r a m sw h i c h a l es u b m i t t e db ys t u d e n t s ; t l l e 咖d e n tm o d u l ec a nb eu s e df o rs u b m i t t i n gs t u d e n t sp r o g r a m ,a s s e s s i n gs t u d e n t s p r o 鲫a u t o m a t i c a l l y , b r o w s i n gh o m e w o r ka n dv i e w i n gt h e r e s u l t sb yt h e 咖d 咖; t h ef i l i l c t i o i l so fa d m i n i s t r a t o rm o d u l ea n dt e a c h i n ga s s i s t a n tm o d u l ea r ea l s or e a l i z e d i nt h ep a p e rw ew i l li n t r o d u c et h ep r o c e s sa b o u th o w t od e s i g nt h es y s t e ma n dh o wt 0 r e a l i z ei t s 矗m c t i o n ,a n dh i g h l yi n t r o d u c et h ek e yt e c h n o l o g i e s ,i n c l u d i n gh o w t o i l a b s t r a c t r e a l i z et h ed y n a m i ct e s t i n g , h o wt oa s s e s sm u l t i d o c u m e n to fa s s e m b l yp r o g r a ma n d t h em e t h o do fm a n a g i n gt h es e r v e r - s i d ep r o c e s s t h ea u t o m a r k sa p p l y i n gc o u l d a l l e v i a t et h et e a c h e r sb u r d e n ,m e e tt h es t u d e n t sn e e do fa u t o m a t i ca s s e s s i n gt h e i r a s s e m b l yp r o g r a m ,a n dt h es y s t e mh a si t sf e a t u r e s ,f o re x a m p l eo n l i n ea s s e s s m e n t , a s s e s s i n gt h em u l t i - d o c u m e n ta n ds oo n a tp r e s e n tt h eb a s i cf u n c t i o n so ft h es y s t e mh a v eb e e nr e a l i z e d ,b u ti na l o n gr u n t h e r ea r ea l s os o m ei n a d e q u a c i e si nt h es y s t e m ,s ow en e e df u r t h e rr e s e a r c ha n d i m p r o v e di nt h ef u t u r e k e yw o r d s :b s ;s t a t i ca n a l y s i s ;d y n a m i ct e s t i n g ;m u l t i d o c u m e n t s ;o n l i n e a s s e s s m e n t i i i 目录 目录 1 绪论一1 1 1 研究背景1 1 2 程序评测系统国内外发展概述2 1 3 在线评测系统研究开发意义5 1 4 论文组织结构6 2a u t o m a r k 系统的需求分析和评测方法7 2 1a u t o m a r k 系统的需求分析7 2 1 1 教师需求分析7 2 1 2 学生需求分析8 2 1 3 管理员、助教需求分析9 2 2 程序测试方法:9 2 2 1 静态测试10 2 2 2 动态测试1 1 2 3 本章小结1 2 3a u t o m a r k 系统的设计13 3 1a u t o m a r k 系统结构设计。1 3 3 2a u t o m a r k 系统功能设计。1 4 3 2 1 教师模块1 4 3 2 2 学生模块1 5 3 2 3 管理员、助教模块1 5 3 2 4 登陆模块一1 6 3 3 评测模块1 6 3 3 1 结果匹配一1 7 目录 3 4 评分策略设计1 8 3 5 数据库设计1 9 3 5 1 数据流图一l9 3 5 2 数据表2 0 3 6 开发工具简介2 l 3 6 ii ) r e a m w e a v e r 21 3 6 2m y s q l 数据库系统和p h p m y a d m i n 2 2 3 6 3a p a c h e 2 2 3 6 4p h p 2 3 3 7 本章小结2 3 4a u t o m a r k 系统中的关键技术2 4 4 1 汇编多文档程序的评测设计2 4 4 1 1 汇编多文档程序2 4 、 4 1 2 汇编多文档程序评测方法2 5 4 2 服务器端实现评测- 一2 6 4 3 动态测试实现2 7 4 3 1p h p 扩展2 7 4 3 2p h p 函数2 8 4 3 3 动态测试的实现方法2 9 4 4 本章小结3 0 5a u t o m a r k 系统的实现31 5 1 教师模块的实现。3l 5 1 1 习题库管理一3 1 5 1 2 作业布置。3 2 5 1 3 作业批改3 3 5 1 4 成绩管理3 7 5 2 学生模块的实现3 7 i l 目录 5 2 1 作业查看3 7 5 2 2 作业提交一3 8 5 3 管理员模块的实现4 0 5 4 登陆模块的实现4 2 5 5 本章小结4 3 6 总结与展望4 4 j 6 1 总结4 4 6 2 展望4 4 参考文献4 6 致谢j 4 8 个人简历在学期间发表的学术论文与研究成果4 9 i i i 图目录 图目录 图2 1 教师需求分析图7 图2 2 学生需求分析图一8 图3 1b s 模式架构图13 图3 2 系统功能图1 4 图j 3 3 评测过程图1 7 图3 4 数据流图l9 图3 5p h p m y a d m i n 管理界面2 2 图4 1 保存多文档程序的文件夹结构图2 6 图5 2 题库管理页面3 2 图5 3 指令和评分标准的设定3 2 图5 4 选题布置作业页面3 3 图5 5 教师查看提交作业页面3 3 图5 6 教师查看学生程序页面3 4 图5 7 教师批量批改作业页面3 5 图5 8 批改程序作业流程图3 6 图5 9 教师评分页面3 7 图5 1 0 学生查看作业页面3 8 图5 1 1 单文档程序提交页面。3 8 图5 1 2 单文档程序评测结果3 9 图5 1 3 多文档程序提交页面。4 0 图5 1 4 多文档程序评测结果4 0 图5 1 5 学生信息管理页面。4 2 图5 1 6 登陆页面4 2 i v 1 绪论 1 绪论 1 1 研究背景 最近几年随着高校的扩招,学生的人数不断增加,这样给各专业教师尤其 是计算机专业教师的教学工作带来了不小的压力,而且许多计算机专业课程的 教授也由小班授课变为了大班授课,这样大量的程序作业批改成为教师教学过 程中一项繁重的任务【l 】。现在随着教学改革提倡以学生为本自主学习理念的推 进,很多高校都对计算机专业的教学方法和手段进行了改革,以提高学生的动 手能力为目的使学生能够把所学理论更多的应用到实践中去【2 1 。在此过程中教师 的角色也逐渐由知识传授者转向学习的辅助者,教师在教学过程中也更注重提 高学生的实际操作能力。但长期以来学生程序作业基本都是以书面形式提交, 程序作业的批改也是靠教师的手工批改,由于目前学生人数的增加,这种传统 的作业批改模式便带来了一些问题。首先对程序作业的批改占用了教师的大量 时间,而且批改效率低,不利于教师全面了解学生整体的学习情况;教师不能 及时把作业中存在的问题即使反馈给学生,减少了教师和学生的交流沟通;另 外教师手工批改学生程序作业时,由于外界环境等各方面的影响会使教师的评 测标准发生变化,同样的程序可能由于其它因素的影响使教师给出不同的分数, 这样对学生来说也是不公平的【3 1 。因此在教学过程中引入在线程序自动评测系 统,不仅会提高程序批改的效率,使批改结果及时反馈给学生,同时也帮助教 师掌握学生学习情况,及时调整自己的授课计划,此外也保证了评测标准的一 致性和公平性,具有很好实用价值。 程序评测系统出应用在教学上,它在许多程序竞赛中也都会被用到,如国 际青少年信息学奥林匹克竞赛( i o i ) 和a c m 的i c p c 国际大学生程序实际竞赛 h ,但竞赛中对程序的评测标准会不同于教学过程中的评测标准。程序设计竞赛 是指组织竞赛者在确定好的地点和时间,或者是通过i n t e r n e t 互联网平台,让参 赛选手在规定的时间内编写出自己的程序来解决组织方所出的问题( 一般为3 或4 个问题) ,参赛者编写程序所用的语言可以是c c + + 、j a v a 、f r e e p a s c a l 等 程序设计语言。在比赛结束后,竞赛的组织方需要对选手编写并提交的程序进 行评测,然后根据评测后的成绩来评定参赛选手的获奖名次等【5 1 。参加竞赛的选 1 绪论 手完成程序后由竞赛的组织者利用程序评测系统对参赛者的每道题目进行测 试。测试的方法是选用一定量的测试数据来测试参赛者的程序,在评测过程中 不仅要检查运行结果是否正确,而且对参赛者程序运行所占用的空间、运行效 率和算法设计等做进一步的判定。测试数据是由命题者提供的,测试数据可能 会有多组,每组数据的标准的输出结果是由该数据的命题者给出的。 竞赛中对程序的评测标准比较严格,而由我们研究开发的汇编程序在线评 测系统a u t o m a r k 主要是用于计算机程序设计语言课程的教学,目的是提高学生 的自主学习能力、动手能力等,所以a u t o m a r k 系统在评测学生程序时主要检查 的是程序运行结果的正确性。在检测程序的正确性时,a u t o m a r k 系统所使用的 方法和程序竞赛中的评测方法基本一致,都是用测试数据运行程序并通过检查 运行结果来判断程序是否正确。 1 2 程序评测系统国内外发展概述 目前国内外的许多大学也都研究开发了自己的程序评测系统。由英国诺丁 汉大学开发的a n a l y s e 系统,实现了对c 语言程序的自动批改【6 】。a n a l y s e 主要 从以下几个方面来测试程序:a 程序的可维护性;b 程序的结构缺点;c 程 序动态执行的正确性;d 程序动态执行性;e 程序的复杂性。a n a l y s e 系统主 要包括教师设置和学生程序评估两个子系统。教师可使用教师设置系统来布置 作业,包括以下功能: 1 问题的描述,用来对所要解决的问题进行具体的说明 2 所求问题的程序模型,由教师给出用来解决问题的标准模型 3 所需的测试数据,每组数据测试结果的几种表示方法 4 总分和各部分所占分数的权重 5 评分标准( 如程序格式、所使用的解决方案等) 中所涉及到的参数 学生评估子系统中,学生可通过系统实现以下功能: 1 读取本周的作业 。 2 获得一个主要解决方案 3 编辑,编译,运行程序 4 用所给的测试数据运行程序 5 用相同的测试数据运行模型程序 2 1 绪论 6 请求阅读相似于课程作业的问题和解决方案 7 从注释中获得帮助 8 提交程序进行评估 在a n a l y s e 运行过程中,教师首先利用a n a l y s e 系统设置习题,包括对习题 的具体说明、标准的程序模型和测试数据的设置,然后为学生布置程序作业并 设置评分标准,在完成这些工作后学生就可登陆a n a l y s e 系统查看教师布置的程 序作业。、学生根据习题的具体要求,并利用教师提供的一些帮助编辑完成自己 程序的设计,最后学生向a n a l y s e 提交自己的程序后系统就会对学生的程序进行 自动评测。 由于a n a l y s e 系统只实现了对c 语言程序的评测,所以此后诺丁汉大学又研 究开发了c o u r s e m a s t e r 程序评测系统,c o u r s e m a s t e r 不仅实现了对c 语言程序 的评测还实现了对j a v a 、c + + 程序语言的评测功能。c o u r s e m a s t e r 系统从程序编 写的规范性、程序模块的特征性、程序运行的正确性等方面实现了对程序的检 测【7 】。其中程序模块特征性检查是指检测程序的设计中是否采用了所要求的方 法,如程序是否按照要求使用f o r 语句来实现程序中的循环而不是w h i l e 。 c o u r s e m a s t e r 系统对学生提交的程序和批改后的成绩还进行了保存,以便学生在 今后学习过程中的查阅,而且学生在向系统提交完自己的程序后,系统不但自 动对程序实现评测还把评测后的结果及时反馈给学生供学生查看。c o u r s e m a s t e r 系统对教师的工作和学生的学习都提供了很大的帮助,在使用过程中得到了学 生的好评,但此系统是采用c s 模式开发的并主要用于实验室范围内,所以在 应用上还存在一定的局限性。 现在随着网络的发展,许多在线的程序评测系统也被相继研究开发出来。 在线系统地开发使学生无论在哪里都可利用系统提交自己编写的程序,并能实 现在线测试。例如由q u e e n s l a n d 大学研究的e l p 就是一个基于网络环境的在线 程序自动评测系统【8 】,该系统以填空的形式为学生提供了程序模板,而且系统在 服务器端编译程序,让学生在熟悉程序开发环境前帮助初学者运行自己的程序。 但e l p 只支持j a v a 语言,而且只是以填空的形式让学生练习程序的编写,所以 系统没有实现学生在编程过程中自己编写算法的练习。 国内在此系统的开发研究上也有很大的进展,如由上海应用技术学院使用 a s p n e t 和v b n e t 开发的在线程序设计作业自动批改系统,该系统主要模块 包括学生模块、教师模块、系统管理员模块和题库管理员模块。其中教师模块 3 1 绪论 主要实现了布置作业、查看学生程序作业和查看学生信息的功能;学生模块则 实现了查看、提交程序作业和查看评测结果的功能。系统的基本功和运行方式 为,首先教师布置作业,然后学生对作业内容完成调试后,将源程序提交给该 系统,系统会对学生提交的源程序进行编译和运行,并进行打分。由北京工业 大学研究开发的一个基于黑箱测试的在线评系统,则采用黑箱测试的方法对程 序进行了评测,该系统是采用b s 结构和n e t 技术进行开发的,并主要用于程 上机考试、竞赛等。以上所介绍的这些测试系统大都实现了对多种语言的评测, 但大多所评测的程序都是单文档程序。 近年来,北京大学、浙江大学、哈尔滨工程大学等国内知名大学也都建立 起了自己的在线评测系统【9 】。研究开发这些在线评测系统主要还是为国内参加国 际上一些大型的程序设计竞赛的选手( 如a c m 国际大学生程序设计竞赛) 提供 一个平台,供他们练习和竞赛。其中北京大学的在线评测系统【lo 】还为一些计算 机专业的课程提供了辅助教学的功能,这些课程包括程序设计的实习课程、数 据结构等。目前北京大学的在线运行的系统有三种,包括p o j ,“百炼”系统和 一套p g 。其中p o j ( a c mo n l i n ej u d g e ) 主要是为网上比赛而设计的,能够评 测的程序语言包括c 、c + + 、j a v a 、p a s c a l 等。p o j 会对系统中的每个习题进行 详细的说明并会给出一定的解决方案,并把评测后的具体结果显示给用户,结 果包括程序是否编译成功,运行结果是否与标准结果相匹配、程序运行所占内 存和运行时间等。目前该p o j 系统题库中的题目近3 0 0 0 道,题目所涉及的知识 点比较全面,类型也比较新颖,因此注册使用该系统的用户很多,系统每天所 接收的程序提交量达到2 0 0 0 多个。 北京大学在线评测系统是运用j a v a 技术并且是在w i n d o w s 操作系统平台上 开发和使用的。该系统的主要特点是会把所有用户已经提交过的程序进行备份, 为了使用户在提交程序后,在下次需要时能够再次浏览该程序,方便于用户的 再次使用。此外该程序评测系统还提供了很多的免费下载软件供用户使用。北 京大学的在线评测系统题库中的题目不仅包括字符串处理、模拟题和编程题等 基本编程题目,还包括的一些如图算法【1 1 1 、贪心算法等算法性很强的题目,这 些题目类型的广泛不但可以使初学者对基础性知识进行进一步的巩固,而且一 些比较难的题目还可供程序高手参考。 国内这些在线评测系统中运行时间最常的就是浙江大学开发的在线评测系 统( z o j ) 。该系统的用户数量巨大,而且在评测过程中系统是把用户提交的程序 4 轻了教师 网站开始 些技术已 目前该网 北京大学豹p o j 和浙江大学的a c m 在线评测系统都是用来程序竞赛的,所 以这些系统题库中的题目的设置并不适合于教学过程中对基础知识的编程练 习。但这些系统中的一些特点可供我们借鉴,如服务器端实现评测的运行模式, 保存学生提交的程序,评测具体结果的显示等。 1 3 在线评测系统研究开发意义 目前在高校教学过程中,一个很主要的实践性教学环节就是学生完成所布 置作业和教师对作业的批改,尤其在计算机专业程序语言的教授过程中对程序 作业的完成与批改显得更加的重要。程序语言设计课程只通过课堂上的理论学 习是远远不够的,更重要的是要让学生通过大量实践性的练习来掌握一门计算 机语言。学生在完成程序作业的过程中可以对所学知识有更深一步的理解,还 可从评测结果提供的信息中了解到自己程序中存在问题,通过这些问题及时发 现学习中的不足之处并改正补充,同时教师也可从学生的作业完成情况中了解 学生对所学内容的掌握情况和教学效果。 研究设计的汇编程序在线评测系统a u t o m a r k ,主要面向计算机专业的教师 和学生,目的是为了提高教师对学生程序作业批改效率,减轻教师手动批改大 量程序作业的负担同时也使学生具有更多的实践机会,而且在线程序评测系统 的应用使学生程序作业的完成和提交不再受时间和地域的限制。只要能够连接 上网络学生就可以完成并提交自己的程序作业并及时获得反馈信息,使学生学 习的自主性得到很大的提高,也使评测标准统一化【1 4 】。 a u t o m a r k 系统的设计主要包括学生系统和教师系统两个主要功能模块。教 师通过教师系统可实现管理习题、布置作业、查看学生作业、批改作业、管理 学生成绩的功能;学生则可通过学生系统实现查看教师布置的作业题目和习题 要求、提交程序源码、查看自己程序批改成绩的功能,而且学生在提交自己的 5 1 绪论 程序后,系统会对程序进行自动评测并在线把评测的结果返回给学生。 1 4 论文组织结构 论文全文共分七章: 第一章绪论。这一章主要介绍课题的研究背景,包括程序评测系统的起源 以及发展过程的介绍。并对目前国内外的程序评测系统做了简单的介绍,指出 了已有系统中存在的不足之处,而且针对现在教育机锏中存在的问题提出了我 们研究开发汇编程序在线评测系统a u t o m a r k 的实际意义。 第二章a u t o m a r k 系统的需求分析和评测方法。这一章对对用户的需求做了 详细的分析,对程序评测方法中的动态测试和也做了详细的介绍,而且对动态 测试中测试数据的设置和静态测试方法也做了简要的说明。 第三章a u t o m a r k 系统的设计。这一章根据对用户需求分析,对a u t o m a r k 系统的结构和系统所具有的功能模块进行了具体的说明,并且对每个模块所要 实现的功能也做了介绍,其中重点介绍了评测模块和系统评分过程中所采用的 评分策略。根据需求和数据的流程图对数据库做了详细的设计,并对表中的某 些属性做了具体的说明,最后对系统的开发工具也做了简单的介绍。 第四章a u t o m a r k 系统中的关键技术。这一章对a u t o m a r k 系统中所涉及到 的关键技术进行了说明,对汇编多文档程序的评测方法,服务器端进程的控制 方法和系统动态测试所采用的具体方法做了详细的阐述。 第五章a u t o m a r k 系统的实现。这一章根据a u t o m a r k 系统的设计思路详细 介绍了系统的教师模块、学生模块、管理员模块和助教模块的实现,同时也对 这些模块所要实现的功能做了具体说明。此外对功能实现中的一些关键问题和 解决方法也做了详细的阐述。 第六章总结与展望。本章主要对论文所做的研究和工作进行总结,对系统 的功能性等方面做了详细的评估,从而对系统的发展做出了展望。 6 2a u t o , l a r k 系统的需求分析和评测方法 2a u t o m a r k 系统的需求分析和评测方法 2 1a u t o m a r k 系统的需求分析 汇编程序在线评测系统a u t o m a r k 的研究与开发主要是利用网络为计算机程 序语言课程提供一个辅助教学的平台,从而使教师更好的完成教学工作,而学 生也可利用该系统的自动评测功能实现对自己所写汇编程序的测试,进而增强 自己的实践能力和自主学习能力。 2 1 1 教! j 币需求分析 教师的主要需求就是利用系统实现汇编课程习题的设置、作业布置和批改 的功能,下面的流程图从整体上给出了教师的总体需求。 i 习题管理 弋夕 i 布置作业 i l 查看学生提交的作业 弋夕 l 评测 , i 成绩管理 图2 1 教师需求分析图 a u t o m a r k 系统首先要能够实现教师添加习题的功能,并且还要实现教师对 系统中已有的习题的修改、删除操作。教师在为学生布置作业时会包括多道习 题,所以系统在实现布置作业的功能时,需要满足教师从系统的习题库中选择 多道习题的需求;在学生提交自己的程序并实现自测后,教师还希望能够查看 学生提交程序的具体内容,并且在需要的情况下再次对学生的程序进行评测, 最后根据系统的评测结果给学生的程序作业得出一个合理的分数。 这些都是对教师基本需求的一个分析,根据此需求分析,a u t o m a r k 系统在 实现教师模块功能时需要包括以下主要功能: a u t o m a r k 系统要给教师提供一个题库,该题库用来保存教师设置的习题和 7 2h u t o m a r k 系统的需求分析和评测方法 对该习题的一些具体要求,包括说明该习题是以单文档程序完成还是以多文档 程序完成;程序的测试数据的设置并针对测试数据给出标准的测试结果。由于 对汇编程序编译时,不同的程序所需的汇编和连接指令也会不同所以教师还要 给出具体的汇编和连接指令,但对于经常使用的指令系统需要给出默认值。 教师在布置作业时,a u t o m a r k 系统可以给教师提供从习题库中为每次作业 选择习题的功能,使所布置的作业可以包含多道习题。为了使学生在规定时间 内完成所布置的程序作业,a u t o m a r k 系统还要为教师提供设定提交作业截止时 间的功能,并以此来检查学生是否在规定的时间内提交作业,若超出规定时间 则系统不予接受,而且对学生提交过的程序作业系统能够马上显示给教师,以 便教师对作业的批改。 2 1 2 学生需求分析 一 a u t o m a r k 系统的设计主要是为了实现学生对提交的汇编程序自动测试的需 求,学生需求分析图如下: i 查看布置的作业 j i 完成程序并提交 弋夕 i 自动评测 | l 夕 i 查看评测结果和成绩 图2 2 学生需求分析图 在教师布置完作业后学生能够利用a u t o m a r k 系统查看教师布置的作业和作 业中每道题目的具体要求,在查看完作业并按具体要求完成汇编程序作业后能 够向系统提交自己的程序。 学生提交汇编程序后为了使学生及时得到评测结果,系统要对学生提交的 程序进行评测,评测完成后系统能够马上把评测结果在线显示给学生,以此完 成学生对系统自测功能的需求。学生在利用a u t o m a r k 系统提交程序并进行程序 自测后便可从测试结果中看到自己程序编写和运行的正确性,如果学生程序存 在错误学生还需要对自己的程序进行改正。从此需求来看,对每个程序系统还 要给学生提供多次提交和评测的机会,这样可以使学生在用系统实现程序的自 2h u t o m a r k 系统的需求分析和评测方法 评时能够不断发现自己程序中的错误并对其进行改正,进而更好的掌握所学知 识。学生有时还需要查看自己以前提交的汇编程序的评测结果和成绩,所以系 统会把学生的评测结果和成绩保存在数据库中,以便学生需要时进行查阅。 对于自动评测的实现,由于学生所完成的汇编程序大多都是比较小的程序, 在测试过程中主要是检测程序是否能被工f 确的编译、运行结果是否正确,所以 a u t o m a r k 系统在满足自动评测的功能时,需要自动调用汇编编译器来实现对程 序的汇编、连接,并自动调用测试数据运行程序,把测试结果与标准结果比较, 最后把汇编、连接过程和结果比较的相关信息显示给用户。 2 1 3 管理员、助教需求分析 a u t o m a r k 系统的用户信息需要管理员的统一管理,在管理过程中管理员需 要了解每个用户的信息,因此系统就要为管理员提供查看用户具体信息的功能, 并且还能够实现对这些信息的添加、修改、查询和删除功能。 助教主要是为了辅助教师的教学工作,根据教师要求助教能够帮助教师查 看学生提交的作业并根据教师的需要对学生的程序再次进行评测,所以 a u t o m a r k 系统为助教提供的主要功能就是查阅学生程序和批改学生程序的功 能。 在a u t o m a r k 系统设计过程中,为了满足用户能够在不同地点都能方便的使 用该系统的要求,我们把系统设计成为一个在线的评测系统并为用户设置了登 陆功能,这样用户就可以利用网络随时随地的登陆系统,并使用系统为用户提 供的各项功能。此外a u t o m a r k 系统本着易用性和易扩展性的设计原则,系统的 界面设计要简明,这样可以使用户能够很快的熟悉系统的各项操作;易扩展性 则使系统在以后的应用过程中能过根据用户新的需求增加新的功能,从而使系 统的功能更加的完善。 2 2 程序测试方法 程序的评测主要检查的就是程序的质量,评测程序的质量最常用的方法就 是查看影响程序质量的多种不同因素,首先独立的评测影响程序质量的各个因 素,最后再把这些评测结果综合起来评测程序的整体质量。 j m c c a l l ,p r i c h a r d s ,gw a l t e r s 在他们的文章中定义了影响程序质量的3 9 2a u t o m a r k 系统的需求分析和评测方法 可执行性,包括程序运行的正确性,可靠性,执行效率,完整性 性 可维护性,可维护的程序指的是该程序是可理解的、可靠的、可 测试的和可使用的 3 程序的可移植性,可重用性 j m c c a l l 等提出的这些因素比较全面,但是在不同的环境下不同的影响因素 所占的重要程度也会不同【1 6 】,例如一个比较小的程序,要评估它的质量可能只 需考虑它运行是否正确,是否可维护等【1 7 1 。 程序设计语言的教学过程中是把该程序语言所包含的知识点分章节,采取 由浅到深的方法进行讲解的,教师也主要基于让学生能够充分的理解和运用各 知识点的目的来设置程序习题,所以a u t o m a r k 系统中的习题都是一些基本的、 比较小的程序练习题,这样就使a u t o m a r k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉安市中储粮2025秋招面试专业追问题库购销统计岗
- 2025年新型保险考试题及答案
- 职业道德考试试题及答案
- 村干部竞选考试题及答案
- 中国移动莆田市2025秋招心理测评常考题型与答题技巧
- 福州市中储粮2025秋招笔试题库含答案
- 中国广电龙岩市2025秋招心理测评常考题型与答题技巧
- 玉溪市中石油2025秋招笔试模拟题含答案财务与审计岗
- 中国移动兴安盟2025秋招市场与服务类专业追问清单及参考回答
- 池州市中石油2025秋招笔试模拟题含答案炼化装置操作岗
- 2025年时政真题面试题及答案
- AI基础知识培训
- 2024年秋季新苏教版一年级上册数学全册教案
- GB/T 18936-2025禽流感诊断技术
- 小学三年级数学万以内加减法能力练习习题大全附答案
- 《危化品储罐设计与制备技术规范》
- 现代设施蔬菜产业高质量发展现状分析
- 2025年中国石油吉林石化公司招聘笔试参考题库含答案解析
- 小学数学五年级上册简便计算68道题(含详细规范标准答案)
- 光伏租赁用电协议书(2篇)
- 技术服务科技成果转化考核试卷
评论
0/150
提交评论