程序在线评测系统的设计与实现(1)

程序在线评测系统的设计与实现(1)

信息科掌

SI L I C O N

L L E Y■_≯

程序在线评测系统的设计与实现

鲁静轩孙晶李元嵩

(北华大学吉林吉林132021)

[捕要】程序在线评测系统(O nl i n e Judge Syst em)是面向程序设计的源代码自动评测系统.经过扩展可向教学方面转化.提供辅助教学功能.介绍系统主要模块功能及天键技术的实现。

【关键词】O nl i n e j u dge在线评测辅助教学

中图分类号:TP3文献标识码:A文章编号:1571--7597(2008)1220038--01

i、引■

onl i ne Judg e Sys t em是仿照A C M/I CPC比赛模式,拥有自动编泽运行源代码,计时、评分、统计等功能的比赛系统,比赛之余可以将题目整理到题库,提供在线评测功能,供用户在赛后进行练习、切磋等.

在教学领域中,Onl i n e Jud ge的特点可以拟补人工评判的缺点.有效减轻教师负担,使评测更加公平合理,还能让学生在课内未完成的实验可以通过系统在课外的时间完成,这样整个实验过程得到了延伸.

:、曩境设计

(一)系统架构

本系统采用B/S模式(浏览器/服务器模式),B/S模式开发周期短。易于维护、扩展,无需安装客户端,用户可以随时随地在可以连接到

I nt er net的电脑上使用。

(二)开发平台

本系统在W i ndo w s S er ver2003操作系统下,使用H i cr oso f t.NE T cl I语言进行开发。数据库采用M ySO L。

(三)系统分析设计

1.用户模块。用户可以在本系统下注册自己的账号,查找自己提交过的代码。建立、删除、加入群。同其他用户进行比较。

2.题目模块。每道题目有本身的时间及内存的要求,可以查看提交数量及通过的数量。每道题目设置一个讨论区,每个用户也可以针对这个题目给管理员进行留言,并提出疑问。

3.比赛模块。每场比赛要求用户在规定时间内做出题目,比赛结束后,不可以再进行提交。比赛分类:按照公开程度分为pub]i c(任意本系统合法用户均可参加)和pri va t e(拥有进入比赛密码的用户可以参加),按照比赛的建立者分为系统比赛(由管理员建立比赛)和个人比赛(任意本系统的合法用户建立的比赛)。

4.系统功能模块。总排名功能:根据用户总通过题目数量,以及用户通过率对本系统的合法用户进行捧名。月捧名功能:根据当月通过当月用户题目数量,已经当月用户的通过率对当月在本系统提交的用户进行月排名。

5.管理员、教师管理模块。管理员可以添加系统比赛、添加题目、确认教师身份等,教师可以建立作业、确认学生身份,查看作业完成情况等.

(四)数据库设计

根据系统的分析设计.至少需要建立以下表:用户信息表,题目表,比赛表,状态表。

每个应包含以下字段:

1.用户信息表(标识,用户账号,用户密码,用户所属群).

2.题目表(标识,题号,题目名称,时间要求,内存要求.所属比赛,用户提示,题目出处)。

3.比赛表(标识,开始时间,结束时间,是否公开.题目账号).

4.状态表(标识.用户账号,语言种类,提交时间,返回状态.程序用时,程序占用内存.是否属于比赛题目)。

(五)主要功能模块设计

系统最核心的部分是编译运行模块.下面主要介绍编译运行的式及安全策略.

1.c#中的Pr o cess类。编译、运行过程中使用c}I中提供的Pr oce ss类创习建新进程,方法如下:

S y st e m D i agnos t i cs.Pr oces s pr oc es s2n e w Pr ocess():

通过Pr ocess.St ar t l nf o属性设置进程启动信息.主要属性有:

St ar t I nf o.Fi l eN am e设置要启动的程序。

St ar t I nf o.A r gu皿ent s程序启动时使用的命令行参数。

St ar t l nf o.U ser N am e启动进程时要使用的用户名。

St ar t I nf o.Passw or d程序启动时使用的用户密码。

St ar t I nf o.Redi r ect St andar dEr r or是否将应用程序的错误输出写入Pr oces s:St andar dE r r o r流中。

St ar t I nf o.Redi r ect St andar dI nput应用程序的输入是否从Pr o cess::St andar dI np ut流中读取。

St ar t I nf o.R edi r ec t St anda r dO ut put是否将输出写入P r oc e ss=l

St a ndar d O ut pu t流中.

2.编译。系统可以评判C、c++、Java、Pasca l源代码.C/c++的编译器使用G N U组织的G CC/G++、Jav a编译器使用Sun SD K、Pascal编译器使用FPc,通过新建进程调用编译命令完成编译。并捕捉错误输出信息。如果无编译错误,则进入运行阶段,否则返回编译错误信息。

3.运行及安全策略。通过编译的程序将进入运行阶段,这里是整个评测系统的核心部分,由于测试输入、输出都是基于文件的,利用St a r t I nf o.R E di r ect St and ar dl n put、St ar t I nf o.R ed i r ect St and ar dO u t put将输入输出流重定向到文件。对进程进行相应的时间限制、内存限制后,调用St ar t()方法,根据程序输出与标准输出文件的对比,判断程序的对错.并更改数据库中相关内容。

运行用户程序过程中,需要格外注意的就是运行权限的问题。例如,限制用户程序网络使用权限,不能将测试数据通过网路发送出去.限制用户程序非法调用系统函数关机、重启、格式化硬盘等操作。我们采取的方法是,建立单独的用户用于运行用户程序,在用户组中限制用户的网络、文件访问权限等,在St ar t I n f o.U se r N am e、St ar t I n f o.Pas sw or d中设置相应的用户名及密码,经测验此方法可有效的避免上述问题的发生。同时还可以在头文件中将有关危险系统调用函数屏蔽掉.如c/c++中的syst e m()函数.

三、培柬鼍

O nl i ne Judge系统不仅为A C W4/T C PC E3常训练提供了训练平台,而且经过技术扩展,使之参与到实际教学过程中,有效的减轻了教师的负担,同时减少了客观因素对学生成绩的影响.相信oI l l i ne Jud ge系统将会在未来的程序设计类教学中发挥更多的作用.

参考文献:

[1]孙宣东、路璐、明俊峰,从^C l I/I C PC看计算机算法设计教学改革[J].广东工业大学学报(杜会科学版),2005,(s1).

[2]郭炜、李文新,程序设计实习类课程如何准确考查学生学习情况[J】.吉林大学学报(信息科学版),2005.(S2).

[3]何广龙、吴维嘉、何明.利用P盱实现一个基于w eb的试愿系统[J】.甘肃科技纵横。2006.第瓦期:17-18页.

[4]李文新,A O i参赛教练:收获不只是心灵上的[J】.计算机教育,2006.3.69.7l 页.

【良心出品】Web报表系统研究背景意义及国内外现状

Web报表系统研究背景意义及国内外现状1研究背景 2国内外发展的动态 3研究的意义 1研究背景 随着Internet的广泛应用,电子政务、电子商务以及企业ERP(Enterprise Resource Planning)得到迅猛发展,数据的采集、传输、展示、交互、等问题显得越来越重要。报表作为一种信息组织和展示的有力手段,是企业信息系统的重要组成部分。据不完全统计,企业系统的实际应用中,有60%以上与报表相关。报表系统在各行各业中都有很广泛的用途,是进行信息浏览、分析、打印的有力工具。随着WWW(World Wide Web)技术的发展,企业系统从传统的客户端/服务器结构逐步向Internet转移,企业信息系统也正向基于Web的信息系统进行转变,越来越多的报表应用将在Web环境下开发与运行。 以往的报表系统中,业务逻辑与报表处理过程混杂在一起,任何一个需求或逻辑的改变都必须重新修改、编译这个报表程序才能完成。随着开发人员的不断完善,出现了多种报表设计器、生成器之类的工具,可以方便、快捷地实现需求。但创建的报表程序同样存在一下弊病: 1)开发出的报表程序功能有限,应用程序的交互界面、业务逻辑、数据库的处理操作没有分离,是混杂在一起的,属于是强耦合,维护升级相当困难。 2)静态确定报表的计算过程,报表无法在运行事动态改变,因而无法应对企业动态、复杂、多变的需求。一旦新的需求出现,或者运行时的环境发生改变,整个程序可能需要重写。 3)使用这类工具设计报表,经常使我们面临这样的处境:“简单设计,复杂实现,痛苦维护”,伴随着此类报表数量的增多,对报表系统开发与维护的工作量将成倍增长。 4)在企业内部大量存在使用了多个面向不同应用系统的情况,比如生产系统、财务系统、人事系统等,通常它们是独立的,无法整合,系统间数据无法通讯,或只能实现少量的信息交互,大量信息交互工作需要手工来进行。 因此,开发一个报表系统,显得日趋重要。这样的报表系统可以轻松地做到与数据库和平台无关。 2国内外发展的动态 近年来,国内外各个领域对于web报表的研究也在逐渐增多,不过传统的报

职工信息管理系统程序设计

.. 引言 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想——编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得

最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。 1 功能简介和设计要求 1.1 程序功能简介 可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览 1.2 程序设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询信息功能:(至少一种查询方式) --算法 按职工号查询 按学历查询 按电话查询 职工信息删除、添加功能

2 程序总体设计框图 :用键盘输入职工信息 :将信息写入指定文本文件 :将信息导出放在结构数组em 中 :将所有信息显示在屏幕上 :输入职工号显示信息 :输入名字显示信息 :输入学历显示信息 :删除原有的职工信息 :添加新的职工信息 3 主要函数介绍 主函数:main() 显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量*p 和全局变量a。其中

在线考试系统的设计与实现

南京理工大学泰州科技学院 计算机科学与技术系计算机科学与技术专业11(1)班级 课程名:数据库原理及应用课程设计课程设计说明书 姓名:任琰学号:1109030135指导老师:王云 设计地点:四号楼4301教室 起讫时间:2013.07.01—2013.07.05 完成报告书时间:2013年7月5日 计算机科学与技术系编印 2013年1月

课程设计要求 各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。 一、学生应按照老师的要求完成规定的课程设计任务量。 二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。程序清单不够填写时统一用A4纸补充并粘贴。对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。 三、必须独立完成课程设计,不得相互抄袭。在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通知相关系部做出处理。 四、学生课程设计结束后应提交的材料: (1)课程设计说明书(3000字以上); (2)包含完整的、正确的源程序代码(含电子文档); (3)答辨材料(介绍课程设计要点)。

参考文献情况 序号名称编著者出版社 1《数据库系统原理与设计实验教程》吴京慧清华大学出版社2《SQL SERVER2000数据库原理及应用》徐人凤北京高等教育出版社3《数据库系统概论》萨师煊高等教育出版社4《在线考试系统的设计与实现》崔小军襄樊职业技术学院报5《考试分析系统和题库的设计与实现》李大可四川师范大学出版社

课程设计考核情况 教师评价情况 指导老师评语: 指导老师:_____________(签名) 日期:年月日 学生答辩情况 答辩(组)评语: 主答辩老师:____________(签名) 答辩日期:年月日 综合成绩评定情况 综合评价等级:__________________ 注:共分五个等级(1.优秀2、良好3、中等4、及格5、不合格)

Java日志系统框架的设计与实现

Java日志系统框架的设计与实现 在Java领域,存在大量的日志组件,open-open收录了21个日志组件。日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有着重要的作用,我们可以把Java日志系统看作是必不可少的跟踪调试工具。 1.简介 日志系统是一种不可或缺的跟踪调试工具,特别是在任何无人职守的后台程序以及那些没有跟踪调试环境的系统中有着广泛的应用。长期以来,日志系统作为一种应用程序服务,对于跟踪调试、程序状态记录、崩溃数据恢复都有非常现实的意义。这种服务通常以两种方式存在: 1.日志系统作为服务进程存在。Windows中的的事件日志服务就属于这种类型,该类型的日志系统通常通过消息队列机制将所需要记录的日志由日志发送端发送给日志服务。日志发送端和日志保存端通常不在同一进程当中,日志的发送是异步过程。这种日志服务通常用于管理员监控各种系统服务的状态。 2.日志系统作为系统调用存在。Java世界中的日志系统和Unix环境下诸多守护进程所使用的日志系统都属于这种类型。日志系统的代码作为系统调用被编译进日志发送端,日志系统的运行和业务代码的运行在同一进程空间。日志的发送多数属于同步过程。这种日志服务由于能够同步反映处系统运行状态,通常用于调试跟踪和崩溃恢复。 本文建立的日志系统基本属于第二种类型,但又有所不同。该日志系统将利用Java线程技术实现一个既能够反映统一线程空间中程序运行状态的同步日志发送过程,又能够提供快速的日志记录服务,还能够提供灵活的日志格式配置和过滤机制。 1.1系统调试的误区 在控制台环境上调试Java程序时,此时往控制台或者文本文件输出一段文字是查看程序运行状态最简单的做法,但这种方式并不能解决全部的问题。有时候,对于一个我们无法实时查看系统输出的系统或者一个确实需要保留我们输出信息的系统,良好的日志系统显得相当必要。因此,不能随意的输出各种不规范的调试信息,这些随意输出的信息是不可控的,难以清除,可能为后台监控、错误排除和错误恢复带来相当大的阻力。 1.2日志系统框架的基本功能 一个完备的日志系统框架通常应当包括如下基本特性: 所输出的日志拥有自己的分类:这样在调试时便于针对不同系统的不同模块进行查询,从而快速定位到发生日志事件的代码。

交通科技项目管理信息系统使用指南

交通科技项目管理信息系统 使用指南 科教处用户 二〇一三年五月

目录 1科教处用户登陆 (5) 2科技项目管理 (6) 2.1待办工作 (6) 2.2项目申报管理 (7) 2.2.1待受理项目列表 (7) 2.2.2已受理项目列表 (7) 2.2.3退回项目列表 (8) 2.2.4浏览申报信息 (8) 2.2.5受理 (12) 2.2.6查看处理信息 (12) 2.2.7导出申报项目 (13) 2.3项目评审管理 (13) 2.3.1评审指标管理 (14) 2.3.2分组管理 (17) 2.3.3评审结果查看 (21) 2.3.4项目立项 (23) 2.3.5专家查看 (24) 2.4项目执行管理 (25) 2.4.1查询 (26) 2.4.2当前信息 (26) 2.4.3受理 (42) 2.4.4查看处理过程 (42)

3查询统计 (44) 3.1受理项目查询 (44) 3.2项目评审查询 (44) 3.3立项项目查询 (45) 3.4受理成果查询 (45) 4数据交换 (47) 4.1项目信息发布 (47) 4.2成果信息发布 (47) 4.3人员信息发布 (48) 4.4实验室信息发布 (49) 5科技人力资源管理 (51) 5.1人员管理 (51) 5.1.1信息浏览 (51) 5.1.2信息查找 (52) 5.1.3专家审核 (52) 6科技成果管理 (54) 6.1审核 (54) 6.2查看附属信息 (55) 6.3导出word文件 (55) 6.4导出成果列表 (56) 6.5查看处理过程 (56) 7标准管理 (58) 7.1功能概述 (58) 7.1.1标准申报管理 (58)

网络课程在线测试系统的设计与实现

网络课程在线测试系统的设计与实现 余红王柏清 华南师范大学教育技术研究所佛山广播电视大学 E-mail:gdgjdj@https://www.360docs.net/doc/364411430.html, 本文通过实践分析总结了网络课程在线测试系统的设计思路,结合目前学校的硬件环境,探讨了 如何采用当今流行的ASP技术,结合ACCESS2000的关系数据库和VBScript脚本语言,建立网 络课程在线测验系统。 关键词:网络课程在线测试CAT数据库 1在线测试系统的建立有着重要意义 1.1在线测试系统的建立有着重要意义 Internet的出现和发展改变了传统学校单一的教学模式,随着网络学院的建立,网络课程如雨后春笋迅速发展。网上学习成为一种新型的重要的学习途径,学员通过网上学习掌握了新的知识,增强了能力,但是如何了解、检查学习者的学习成果呢?显然,作为传统学习检测手段的――测验也必须在网上实现。 但是,综观现有的网络课程可见,许多网络课程还处于资源建设阶段,配套成熟的在线测试系统不多,对一些网校、网络学院中网络课程在线测试系统的分析之后,我们认为主要存在以下一些问题:①系统缺乏开放性。②对于测验系统题库的修订和校正缺乏数据基础,使得提高整个题库数据质量较为困难。③重视组卷功能,轻视教育测量功能也是一大障碍。另外,由于出题方式比较单一(如选择题),降低了测验的难度。 现在一些网络学院采用网络学习与传统测试手段结合运行,当然,非在线测试作为成熟的评价方式有着以下许多优点:①既可客观填答,也可主观描述;②能对理论知识、操作技能进行考核;③能全面了解学习者认知领域、技能领域和情感领域的发展变化。但是,如果网络课程的学习还沿用传统的非在线测试,这又将陷入以往广播电视、函授教育的局限;在线测试系统的建立,既有助于学习者,及时了解自己学习的状况,重新调整学习计划。此外,组织者也可以通过对回收反馈信息的统计和分析,及时对课程结构、内容安排等进行调整,并及时为学习者提供指导。因此,开发网络课程在线测试系统就显得非常必要。 1.2在线测试系统的设计思想 我们知道网络学习作为一种新型的学习方式,如果没有与之相应的学习评价手段,这样的学习体系(或者教学体系)是不完整的。因此,在网络上建立一个配套完善的教与学的体系,这才是我们建立网络教学的最终目的。我们在设计和实现网络课程在线测试系统时,既要突现CAT的特点,又尽可能吸收传统测验中有利的因素,具体来说,就是逐步建立题库,实现测试、评价自动化;设计的题目应涵盖所有知识点,且题型多样,不仅有选择题、填空题,还有判断题、排序题和匹配题,使在线测试能从不同的层次考查学习者的学习水平;并能对学习者的测试结果进行统计和记录。 2在线测验系统的结构和功能分析 2.1网络课程在线测试系统的结构 在传统学校教学中,考试、测验这一块都属于教学管理的工作,而且它与学生学籍管理、成绩管理有着密切关系。因此,网络课程的在线测验系统不但要有出题成卷的功能,还必须有对学生的学习成绩进行管理的功能,我们认为一个完整的在线测试系统应包括这三大块:学员的学籍档案管理;学员的成绩管理;评卷系统。 312

学生信息管理系统程序设计

学生信息管理系统程序设计-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

学生信息管理系统程序设计 1、软件开发目的 该软件主要是实现对学生基本信息进行系统化的管理,首先可以对学生基本信息进行录入和存取,其次可以浏览学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按学号或按学生姓名查询此学生的相关信息。由此来系统化管理学生基本信息,并达到简易操作的目的。 2、功能分析说明图 3、各项功能说明 (1)学生基本信息的录入和保存: 在链表中的适当位置插入一个学生信息节点,一次添加一条学生信息(添加内容包含学号、姓名、年龄),如果添加的学号已经在文件中存在,则不能添加到文件中去,应显示错误提示语;如果添加成功,则显示成功提示语。添加操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (2)显示学生信息: 此功能是显示一个学生信息节点中的信息,并在屏幕上显示出来。 (3)删除学生信息: 进入该项功能界面后,删除学生信息,一次删除一条学生信息。 (4)按学号查找学生信息: 按学号查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (5)按姓名查找学生信息: 按姓名查询学生信息,要求显示文件中与用户输入的学号相匹配的学生信息,要求显示学号、姓名、年龄等字段,如果文件中没有学生信息,则显示提示语。查询操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。 (6)修改学生信息 修改学生信息中的某一项信息,一次更新一条学生信息(更新内容包含学号、姓名、年龄等字段值),如果更新的学号在文件中不存在,则不能更新,应该显示错误提示语;如果更新成功,则显示成功提示语。更新操作完毕后,应该询问用户是否继续执行此操作。如果用户不继续,则退回到程序初始界面。

计算机网络在线测评系统的设计与实现

本科毕业论文 题目计算机网络课程在线测评系统的设计与实现 The Design and Implementation of Computer Network Courses Online Evaluation System 姓名学号 专业计算机科学与技术 指导教师职称 中国·武汉 二〇一三年六月

分类号密级华中农业大学楚天学院本科毕业论文 计算机网络课程在线测评系统的设计与实现 The Design and Implementation of Computer Network Courses Online Evaluation System 学生姓名: 学生学号: 学生专业:计算机科学与技术 指导教师: 华中农业大学楚天学院信息工程学院 二〇一三年六月

目录 摘要............................................................................... II 关键词............................................................................. II Abstract ........................................................................... II Key words .......................................................................... II 1 引言 (1) 1.1 研究背景 (1) 1.2 国内外研究现状 (1) 2 设计方法研究概述 (1) 2.1 可行性研究 (1) 2.2 系统开发技术 (1) 2.2.1 B/S模式 (1) 2.2.2 JSP技术 (2) 2.2.3 Oracle数据库 (2) 2.2.4 自动生成试卷技术 (2) 2.2.5 简答题批阅算法 (3) 3 系统的设计与实现 (4) 3.1 系统功能需求分析 (4) 3.2 系统流程图 (5) 3.3 系统数据分析 (8) 3.3.1 数据实体图 (8) 3.3.2 数据表 (11) 3.4 系统模块实现 (14) 3.4.1 注册、登录页面 (14) 3.4.2 管理员用户管理模块 (16) 3.4.3 管理员题库管理模块 (16) 3.4.4 管理员试卷管理模块 (18) 3.4.5 管理员测试管理模块 (19) 3.4.6用户我的测试管理模块 (20) 3.4.7用户成绩查询模块 (22) 3.4.8用户测试信息管理模块 (22) 3.5 测试 (23) 4总结与展望 (23) 参考文献 (24) 致谢 (26)

程序在线评测系统的设计与实现(1)

信息科掌 SI L I C O N L L E Y■_≯ 程序在线评测系统的设计与实现 鲁静轩孙晶李元嵩 (北华大学吉林吉林132021) [捕要】程序在线评测系统(O nl i n e Judge Syst em)是面向程序设计的源代码自动评测系统.经过扩展可向教学方面转化.提供辅助教学功能.介绍系统主要模块功能及天键技术的实现。 【关键词】O nl i n e j u dge在线评测辅助教学 中图分类号:TP3文献标识码:A文章编号:1571--7597(2008)1220038--01 i、引■ onl i ne Judg e Sys t em是仿照A C M/I CPC比赛模式,拥有自动编泽运行源代码,计时、评分、统计等功能的比赛系统,比赛之余可以将题目整理到题库,提供在线评测功能,供用户在赛后进行练习、切磋等. 在教学领域中,Onl i n e Jud ge的特点可以拟补人工评判的缺点.有效减轻教师负担,使评测更加公平合理,还能让学生在课内未完成的实验可以通过系统在课外的时间完成,这样整个实验过程得到了延伸. :、曩境设计 (一)系统架构 本系统采用B/S模式(浏览器/服务器模式),B/S模式开发周期短。易于维护、扩展,无需安装客户端,用户可以随时随地在可以连接到 I nt er net的电脑上使用。 (二)开发平台 本系统在W i ndo w s S er ver2003操作系统下,使用H i cr oso f t.NE T cl I语言进行开发。数据库采用M ySO L。 (三)系统分析设计 1.用户模块。用户可以在本系统下注册自己的账号,查找自己提交过的代码。建立、删除、加入群。同其他用户进行比较。 2.题目模块。每道题目有本身的时间及内存的要求,可以查看提交数量及通过的数量。每道题目设置一个讨论区,每个用户也可以针对这个题目给管理员进行留言,并提出疑问。 3.比赛模块。每场比赛要求用户在规定时间内做出题目,比赛结束后,不可以再进行提交。比赛分类:按照公开程度分为pub]i c(任意本系统合法用户均可参加)和pri va t e(拥有进入比赛密码的用户可以参加),按照比赛的建立者分为系统比赛(由管理员建立比赛)和个人比赛(任意本系统的合法用户建立的比赛)。 4.系统功能模块。总排名功能:根据用户总通过题目数量,以及用户通过率对本系统的合法用户进行捧名。月捧名功能:根据当月通过当月用户题目数量,已经当月用户的通过率对当月在本系统提交的用户进行月排名。 5.管理员、教师管理模块。管理员可以添加系统比赛、添加题目、确认教师身份等,教师可以建立作业、确认学生身份,查看作业完成情况等. (四)数据库设计 根据系统的分析设计.至少需要建立以下表:用户信息表,题目表,比赛表,状态表。 每个应包含以下字段: 1.用户信息表(标识,用户账号,用户密码,用户所属群). 2.题目表(标识,题号,题目名称,时间要求,内存要求.所属比赛,用户提示,题目出处)。 3.比赛表(标识,开始时间,结束时间,是否公开.题目账号). 4.状态表(标识.用户账号,语言种类,提交时间,返回状态.程序用时,程序占用内存.是否属于比赛题目)。 (五)主要功能模块设计 系统最核心的部分是编译运行模块.下面主要介绍编译运行的式及安全策略. 1.c#中的Pr o cess类。编译、运行过程中使用c}I中提供的Pr oce ss类创习建新进程,方法如下: S y st e m D i agnos t i cs.Pr oces s pr oc es s2n e w Pr ocess(): 通过Pr ocess.St ar t l nf o属性设置进程启动信息.主要属性有: St ar t I nf o.Fi l eN am e设置要启动的程序。 St ar t I nf o.A r gu皿ent s程序启动时使用的命令行参数。 St ar t l nf o.U ser N am e启动进程时要使用的用户名。 St ar t I nf o.Passw or d程序启动时使用的用户密码。 St ar t I nf o.Redi r ect St andar dEr r or是否将应用程序的错误输出写入Pr oces s:St andar dE r r o r流中。 St ar t I nf o.Redi r ect St andar dI nput应用程序的输入是否从Pr o cess::St andar dI np ut流中读取。 St ar t I nf o.R edi r ec t St anda r dO ut put是否将输出写入P r oc e ss=l St a ndar d O ut pu t流中. 2.编译。系统可以评判C、c++、Java、Pasca l源代码.C/c++的编译器使用G N U组织的G CC/G++、Jav a编译器使用Sun SD K、Pascal编译器使用FPc,通过新建进程调用编译命令完成编译。并捕捉错误输出信息。如果无编译错误,则进入运行阶段,否则返回编译错误信息。 3.运行及安全策略。通过编译的程序将进入运行阶段,这里是整个评测系统的核心部分,由于测试输入、输出都是基于文件的,利用St a r t I nf o.R E di r ect St and ar dl n put、St ar t I nf o.R ed i r ect St and ar dO u t put将输入输出流重定向到文件。对进程进行相应的时间限制、内存限制后,调用St ar t()方法,根据程序输出与标准输出文件的对比,判断程序的对错.并更改数据库中相关内容。 运行用户程序过程中,需要格外注意的就是运行权限的问题。例如,限制用户程序网络使用权限,不能将测试数据通过网路发送出去.限制用户程序非法调用系统函数关机、重启、格式化硬盘等操作。我们采取的方法是,建立单独的用户用于运行用户程序,在用户组中限制用户的网络、文件访问权限等,在St ar t I n f o.U se r N am e、St ar t I n f o.Pas sw or d中设置相应的用户名及密码,经测验此方法可有效的避免上述问题的发生。同时还可以在头文件中将有关危险系统调用函数屏蔽掉.如c/c++中的syst e m()函数. 三、培柬鼍 O nl i ne Judge系统不仅为A C W4/T C PC E3常训练提供了训练平台,而且经过技术扩展,使之参与到实际教学过程中,有效的减轻了教师的负担,同时减少了客观因素对学生成绩的影响.相信oI l l i ne Jud ge系统将会在未来的程序设计类教学中发挥更多的作用. 参考文献: [1]孙宣东、路璐、明俊峰,从^C l I/I C PC看计算机算法设计教学改革[J].广东工业大学学报(杜会科学版),2005,(s1). [2]郭炜、李文新,程序设计实习类课程如何准确考查学生学习情况[J】.吉林大学学报(信息科学版),2005.(S2). [3]何广龙、吴维嘉、何明.利用P盱实现一个基于w eb的试愿系统[J】.甘肃科技纵横。2006.第瓦期:17-18页. [4]李文新,A O i参赛教练:收获不只是心灵上的[J】.计算机教育,2006.3.69.7l 页.

学生信息管理系统c语言程序设计报告(完美)

HUNAN UNIVERSITY 程序设计训练 报告 学生姓名 学生学号 专业班级 指导老师 院长 (系主任) 2013 年 5 月25 日

目录 一系统功能简介 (3) 二本人完成的主要工作 (3) 三实训分析 ............................... ..4 四实训设计 ........... .. (5) 五实训源程序代码和调试过程 (7) 六实训总结 (11) 附录1 (12) 附录2 .................................12-22

一系统功能简介 .学生信息管理系统 1, 进入主界面:要求输入密码,输入三次错误系统锁定。 2,输入记录:将学生的基本信息包括学号,姓名,性别,地区,分数等数据作为一个记录写入文件。 3,显示记录:显示学生的各项信息。 4,增加记录: 增加多个学生的基本信息,位于之前的学生后面。 5,删除记录: 删除学生信息。 6,修改记录:可以修改学生的任何一项基本信息。 7,查找记录:可以根据学生的学号查找并显示出学生的信息。 8,统计记录: 统计全班通过情况和不及格情况。 9,退出系统 经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。二本人完成的主要工作 学生信息管理系统由我和龚晨同学共同完成。主程序的编写由我们两个共同完成。 我负责的是: 1、修改记录:可以修改学生的任何一项基本信息。 2、查找记录:可以根据学生的学号查找并显示出学生的信息。

3、统计记录: 统计全班通过情况和不及格情况。 4、退出系统 三实训分析 1、用结构化程序设计思想进行C环境下程序设计。 2、设计一个管理系统,上机编程、调试并通过该管理系统中的各功能模块。 3、设计完成后,每人必须提交程序清单及关于程序设计、维护和使用方面的图文材料即程序设计说明书各一份。 4、基于结构化程序设计思想和所使用的C语言开发环境与开发工具,并运用“软件工程”和“数据结构”中的有关概念和方法,针对具体设计题目和要求,分析功能要求,划分功能模块,用链表结构设计功能模块函数,以菜单方式调用相应功能模块来实现信息和数据处理 四实训设计 1、系统功能模块结构图 本图书管理系统理由输入记录,显示记录,增加记录,删除记录,修改记录,统计数据,查找记录,七个大模块组成,其总体结构图如下:

基于WEB的学生综合测评系统的设计与实现

题目基于WEB的学生综合测评系统的设计与实现 摘要 本文根据学生综合测评系统的特点,采用B/S(浏览器/服务器)的系统设计方案。选用https://www.360docs.net/doc/364411430.html,和SQL Server 2008开发环境,设计并实现了一个学生综合测评系统。主要工作如下: 首先,本文对系统进行了全面的分析,具体包括可行性研究、需求分析、数据流程分析以及系统流程分析。通过对可行性进行研究,得出了系统开发是可行的结论;通过用户的需求分析,了解了综合测评系统应该具有的功能;通过数据流程分析,明白了系统中数据的流向;通过系统流程的分析,得到了系统流程图。 其次,本文阐述了该系统的设计与实现,其包括总体设计、数据库设计及详细设计与实现,通过对系统的总体设计,划分出系统具体的功能模块;通过对数据库的设计,得到了系统的逻辑结构;通过详细设计与实现,实现了系统的各项功能。 最后,本文介绍了该系统测试的方法、步骤及采用的测试用例。经过一系列严格的测试得出的结论是:虽然本系统存在一定的缺陷,但是其各项功能却是较为可靠的。 本系统界面友好,操作简单,比较实用。 关键词:测评系统,https://www.360docs.net/doc/364411430.html,,SQL Server 2008

ABSTRACT According to the characteristics of student comprehensive evaluation system, the essay uses the B/S (Browser/server) system design, chooses https://www.360docs.net/doc/364411430.html, and SQL Server 2008 development environment, designs and implements a student comprehensive evaluation system. The main work is as follows: First of all, this essay conducts a comprehensive analysis on the system, including feasibility study, demand analysis, data flow analysis and the system flow analysis. Based on the feasibility study, it draws a conclusion that the system development is feasible. Through analyzing the demands of the users, we understand the function the comprehensive evaluation system should have. Based on data flow analysis, we know data flow of the system. By analyzing the system flow, we obtain the flow chart of the system. Secondly, this essay clarifies the design and realization of the system, including the overall design, the database design and the detailed design report and the realization. Through the design of the whole system, we divide it into specific function module of the system. By designing the database, we obtain system logic structure. And through the detailed report and the realization, we realize the functions of the system. Finally, the essay introduces the method and the progress of testing the system and applies some test examples. Through a series of strict tests, it can be concluded that although this system has certain defects, its function is more reliable. The system is more practical with a friendly interface and a simple operation. Keywords: Evaluation System, https://www.360docs.net/doc/364411430.html,, SQL Server 2008

在线考试系统需求分析

在线考试系统需求分析 1 引言 随着Internet的迅速发展和广泛普及,网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。远程教育成为现代教育技术未来发展的重要方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。 Internet技术的发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。与传统考试模式相比,在线考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加考试成绩的客观性和公正性。 传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。对于一些课程来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设,目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过Internet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观性、公证性,自动化组卷、阅卷可以减轻

管理信息系统课程设计程序代码附录

附录C Program程序代码 using System; using System.Collections.Generic; using System.Windows.Forms; using xyq20091204; using System.Data.SqlClient; static class Program { ///

///应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new用户登录()); if (SQL_Class.LoginState == 1) data.data.ConnStr = "Data Source=CAE47;Initial Catalog=xyq20091204;Integrated Security=True"; Application.Run(new供应商管理信息系统()); } }

附录D Property_Class代码 using System; using System.Collections.Generic; using System.Text; using https://www.360docs.net/doc/364411430.html,ponentModel; namespace xyq20091204 { class Property_Class { private string Id; private string Manager; private string Tel; private string Email; private string Addr; [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示供应商编号")] public string供应商编号 { get { return Id; } set { Id = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示负责人")] public string负责人 { get { return Manager; } set { Manager = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示联系电话")] public string联系电话 { get { return Tel; } set { Tel = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示电子邮箱")] public string电子邮箱 { get { return Email; } set { Email = value; } } [CategoryAttribute("供应商基本信息"), DescriptionAttribute("显示通讯地址")] public string通讯地址 { get { return Addr; } set { Addr = value; } } } }

职工信息管理系统程序设计

引言 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能够独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以看懂一些简单的程序,编写一些简单的程序,更多的是学会了一种思想——编程,它让我去思考很多日常生活中的事物是怎样通过一个个小小的函数实现其功能的,激发我探究的兴趣,更让我认真学习C语言的程序设计。 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、使用灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 在这次的课程设计中我将通过亲自设计程序,让自己熟悉C语言操作,更熟练的掌握C语句。初步体会编程的过程,在不断的调试中获得

最为完整的程序,为将来的程序深入学习打下基础和培养兴趣。 1 功能简介和设计要求 1.1程序功能简介 可以向文件中录入、删除、添加、查询职工信息,也可以从文件中导出来浏览 1.2程序设计要求 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询信息功能:(至少一种查询方式) --算法 按职工号查询 按学历查询 按电话查询 职工信息删除、添加功能

2 程序总体设计框图 :用键盘输入职工信息 :将信息写入指定文本文件 :将信息导出放在结构数组em 中 :将所有信息显示在屏幕上 :输入职工号显示信息 :输入名字显示信息 :输入学历显示信息 :删除原有的职工信息 :添加新的职工信息 3 主要函数介绍 主函数:main() 显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用 到的函数名。再运用选择函数switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量*p 和全局变量a。其中a表示当前系统中职工人数,p指向a的地址,追踪人数变化,这样在

试题库与试卷测评系统的设计与实现

试题库及试卷测评系统的设计与实现 贾海英 (九江学院信息科学与技术学院,江西九江 332005) 【摘要】:试题库和试卷测评是考试系统的核心内容,在深入研究考试系统的基础上,在分析了文科、理科以及工科课程考核、试题库建设现状的基础上设计出了通用题库应该具备的基本约束条件,给出了分阶段迭代组卷策略。介绍了试卷的三个主要测评指标,给出相应系统的实现方法。 【关键词】:试题库;难度级别;测评指标;自动组卷 1引言 试题库是为了规范教学效果检测方法,通过信息技术手段实现某个学科题目的组合。它是一种严格的教学检测方法,是辅助教学的教育质量评定工具。它应该具备大量的优质试题,具有良好的考核能力,试题的各项参数完整,能够为考试服务,具备精确的查询查找功能,方便编辑修改。构建试题库是网络考试系统建设的重要组成部分。 如何从大量的试题库中抽取出满足不同用户的教学要求的试卷供不同层次的用户使用是试题库建设的关键性技术,抽取试题的方式多种多样,抽出的试题组成试卷的质量好或坏,能真实地反映出教师的教学水平以及学生对知识技能的掌握程度。抽题成卷后,要根据试卷的测评成绩,应用教育学中对试卷测评的各项质量指标全面评价试卷。本文就结合开发网络考试系统的一点实践经验和教育学中的4个主要测评指标作了一些研究和探讨。 2自动组卷算法设计与实现 试题库经过前期的建设最终目的是要生成相应的试卷,这些试卷满足一定的知识点分布,能够达到相应的测试要求。自动组卷首先应该设置相应的参数,然后系统根据这些参数自动生成试卷的过程。另外,对于从试题库中抽取的试题的输出方法,输出的格式也是本模块在设计时需要考虑的问题。 2.1 组卷系统的数据结构 2.1.1试卷的难度级别 一套试卷是否合理,能否考察到学生的应用能力,主要通过试题的难易程度来体现,合理的设置试题的难度级别是优化试卷的核心。这里所说的难度级别只是用以表示试题难易程度的标识符,以《C程序设计》为例,分为容易题(1),较容易的题(2),中等难度的题(3),较难的题(4),难题(5)共5类级别。 2.1.2试题的题型及特征符号 按教学内容、测试形式、测试目的等不同要求,将试题分成不同类型。如《C程序设计》试题库,就将试题分为选择题、填空题、程序阅读填空题、判断题、程序设计题,系统为了使系统通用性,把这些题型又分为四大类选择类、填空类、判断类和简答类,分别用XZ、TK、PD、JD表示。 在试题库组卷系统中把试题的题型和难度系所进行统一编号用“|”分隔,以便系统组卷时能正确识别每道试题。如较难的选择题标识符为“XZ|4”,较容易的填空题标识符为“TK|2”。 2.2 自动组卷的设计 自动组卷首先应该设置相应的参数,然后系统根据这些参数自动生成试卷的过程。另外,对于从试题库中抽取的试题的输出方法,输出的格式也是本模块在设计时需要考虑的问题。 组卷参数设置,组卷参数包括试卷的题型、题目个数、知识点分布等参数信息,在设置完试卷参数信息后系统自动根据参数信息随机抽取试题。试题的抽取必须保证是随机的而且

相关文档
最新文档