ACM(AssociationforComputingMachinery),美国计算机协会是一个世界性的计算机从业员专业组织,创立于1947年,是世界上第一个科学性及教育性计算机学会。
1、论文名称、作者姓名、作者院系、邮编
2、摘要、关键词
必须包括中英文摘要、中英文关键词(3~5个)。
中文题名一般不超过20个汉字,避免使用"…的研究"等非特定词,不使用副题名。
论文摘要尽量写成报道性摘要,即应包括研究目的、方法和过程、结果和结论(中文一般不少于200字),采用第三人称写法,不要使用"本文"、"作者"等作为主语,避免图表、公式和参考文献的序号。
中文关键词选词要规范,应尽量从汉语主题词表中选取,不能采用中文缩写。
3、正文
正文篇幅一般在3500字以上8000字以内,包括简短引言、论述分析、结果和结论等内容。
一级标题形如一、二、三、…排序;二级标题形如(一)(二)(三)…排序;三级标题形如1.2.3.…排序。
4、参考文献
参考文献的著录格式如下:
专著:作者名.书名[M].出版地:出版者,出版年:起止页码.
期刊:作者名.题名[J].刊名,出版年,卷(期):起止页码.
论文集:作者名.题名[C]//论文集编者名.论文集名.出版地:出版者,出版年:起止页码.
学位论文:作者名.题名[D].保存地点:保存单位,年份.
科研报告:作者名.报告题名[R].出版地:出版者,出版年.
报纸:作者名.题名[N].报纸名,出版日期(版次).
电子文献:作者名.题名[EB/OL].[发表或更新日期]出版者(网址、网站名、网页名)
5、作者简介
文稿首页页脚处写明作者简介(包括:姓名,出生年份,性别(民族),籍贯,最后学位(或在读学历)。
论文模式:
论文题目(黑体三号加粗)
(宋体小四)作者(加粗)***指导老师(加粗)***
(沈阳师范大学****学院,辽宁沈阳110034)(宋体五号)
(黑体五号加粗):********(宋体五号)
[关键字](黑体五号加粗):********(宋体五号)
一、引言(宋体四号加粗)
二、(宋体四号加粗)
(一)(宋体小四加粗)
正文内容(宋体小四号)…
1.正文(宋体小四号)
2.正文(宋体小四号)……
(二)(宋体小四加粗)
正文(宋体小四号)……
三、(宋体小四加粗)
正文(宋体小四号)…
…
五、结束语
[参考文献](宋体五号加粗)
[1]作者,论文名或书名,刊名,刊期或出版社,论文页码,论文日期或出版日期(宋体小五号)
[2]…………
[3]…………
[关键词]ACM/ICPC;培训管理系统;Web开发;ASP.NET;数据库技术
doi:10.3969/j.issn.1673-0194.2014.03.015
1引言
基于上述应用需求,结合集宁师范学院多年参加这一赛事、组织开展ACM/ICPC竞赛训练活动的管理实践经验,我们开发了一个本专科通用的ACM/ACPC培训管理系统,该系统是一个基于B/S结构的多用户在线系统,实现了资源共享、在线讨论、在线学习测试、网络化管理等功能。
2系统分析
2.1系统功能结构
ACM/ICPC培训管理系统是一个B/S结构的Web应用系统。ACM/ICPC培训管理系统的主要功能是完成网络学习的综合浏览、学习资源的上传和下载、在线讨论、在线测试和系统管理等功能,系统功能结构如图1所示。
2.2功能模块需求分析
在线测试模块包括在线选题、在线提交、系统测试的功能[2],该模块提供了一个符合ACM/ICPC竞赛需求的学习训练平台。用户可以按照问题的说明编写源代码,并通过在线提交子模块上传给系统。系统根据用户提供的语言和源代码生成对应语言扩展名的源程序文件,调出相应的编译器来运行源程序并进行测试。通过编译、执行后,系统将运行时捕捉的输出信息同预先存放的标准测试输出文件进行比较,返回测试结果(比较一致,则返回运行成功信息,否则返回运行错误信息),并将运行成功后的有关信息(程序源代码、用户数据表的通过数量、问题类别表的通过数量、计算机耗时等)存入数据库。
ACM/ICPC培训管理系统作为一个网络化培训平台,系统采用Browser/Server(浏览器/服务器)结构,由客户端、WWW服务器和数据库服务器三部分组成[4],如图2所示。
B/S模式是一种平面型多层次的网状结构,其最大的特点就是与软硬件的无关性,应用逻辑和业务处理规则在服务器端实现,客户端可以做得尽可能简单,可以只是一个多媒体浏览器。在具体实现时,使用SQLServer2005数据库管理系统建立和管理网站数据库;运用动态网页技术(ASP.Net)开发系统,使用HTML、C#等语言编写应用程序;使用VisualStudio2008平台进行系统开发。
3.1Web应用系统的开发技术
3.2数据库技术
本文采用SQLServer2005作为数据库管理系统,并采用ADO.Net技术进行数据库的操作和访问。ADO.Net是.NetFramework用于访问数据的组件,它的一个重要优点就是可以以离线方式操作数据库,减少应用程序对服务器资源的占用,提高应用程序的效率。.NetFramework提供了4个.NetFramework数据提供程序,其中SQLServer.NetFramework数据提供程序就是用于实现对SQLServer的连接访问[6]。SQLServer.NetFramework的框架如图3所示。
针对ACM/ICPC培训管理系统的数据管理需求分析,本系统设计了用户信息表、资源分类数据表、资源数据表、论坛模块信息表、论坛帖子信息表、回复帖子信息表、问题类别信息表、问题表列信息表和运行状态信息表9个数据库表。
4关键技术的实现
4.1资源上传功能的实现
在上传资源页面管理中,系统先判断文件大小和文件名是否存在,如果文件大小满足要求且文件名不存在,为了节省存储空间,先将该文件内容转成二进制流,并和其他信息一起插入到资源数据表中。
获取上传文件、测试文件大小和将文件转换成二进制流的关键代码如下:
stringFileName=myFile.Value;//获取上传的文件名
HttpPostedFileUpFile=myFile.PostedFile;//获取对由客户端指定的上传文件的访问
FileLength=UpFile.ContentLength;//获取上传文件的字节大小
if(FileLength==0)
{Response.Write("");
}
if(FileLength>102400000)//判断文件是否大于5M(根据自己的需要判断大小)
else
{FileName=FileName.Substring(FileName.LastIndexOf("\\")+1);//文件名。
Byte[]FileByte=newByte[FileLength];//将指定文件储存到数组
StreamObjectStream=UpFile.InputStream;//建立数据流对象,该对象指向一个上载文件,读取该文件的内容
ObjectStream.Read(FileByte,0,FileLength);//读取指定文件数据
4.2测试系统的实现
在线测试模块的系统测试功能是本系统的设计关键,利用网络技术读取用户输入的源代码,并把源代码生成源代码文件。利用服务器上提供的程序编译器对源代码进行编译、链接和运行,把运行结果与数据库的标准答案进行对比并给出结果。
下面以C++程序为例来介绍系统测试功能的实现方法。主要包括以下3步:
(1)系统通过web.config文件的配置信息获取测试需要的路径配置信息,路径E:/Compiler/用于存放测试运行中需要处理的文件,路径E:/Compiler/Compiler/用于存放测试需要的编译器。
web.config文件的配置信息如下:
//编译其处理文件的文件夹
//存放编译器的文件夹
stringpath=string.Format("{0}userfile\{1}\",ConfigurationManager.
AppSettings["Path"],"temp");//通过字符串格式化存放路径(E:/Compiler/userfile/temp)
stringCodePath=string.Format("{0}{1}.{2}",path,sign,"cpp");//源代码文件保存的路径和文件名
StreamWritersw=newStreamWriter(CodePath);
sw.Write(code.text);//将系统提交的源代码文本(code.text)存入到指定的文件中
(3)编译、运行和测试。系统将保存好的源代码通过编译器编译后形成可执行文件,然后通过编译器执行对应的可执行文件,运行结果与数据库的测试数据进行比较,根据比较结果修改运行状态信息表对应信息的测试结果字段。
5结语
本文在总结分析目前ACM/ICPC培训管理信息平台建设现状的基础上,结合集宁师范学院的管理实践经验,设计并实现了一个ACM/ICPC培训管理系统。通过对系统功能、当前网络开发工具及数据库开发技术进行分析,介绍了该应用系统的开发环境和实现的技术。该系统运行稳定、可靠,不仅为组织开展ACM/ICPC竞赛指导训练提供了一种有效管理途径,而且为ACM程序设计爱好者提供了一个良好的网络学习环境。
主要参考文献
[1]龚丹,徐红梅.ACM-ICPC工作对高校日常教学影响的探讨[J].内蒙古师范大学学报:教育科学版,2011,24(9).
[2]杨志伟,曾艳姗.基于Linux的ACM在线评测系统研究[J].计算机与现代化,2010(6):166-169.
[3]韩立毛,徐秀芳,时顺.基于Web的ACM/ICPC自动评测系统的设计与实现[J].电脑知识与技术,2009,5(35).
[4]解季萍,凌永发.基于Web的远程教学资源数据库连接访问机制研究[J].云南师范大学学报:自然科学版,2005,25(2):22-24.
[5]张德瑞,杨晓东,张华龙.在VisualStudio2008中开发OPC客户端[J].可编程控制器与工厂自动化,2013(6):69-72.
[6]张玉荣.基于.NetFramework的用户服务系统的实现[J].中原工学院学报,2010,21(2):46-49.