ACM在线评测系统设计报告_第1页
ACM在线评测系统设计报告_第2页
ACM在线评测系统设计报告_第3页
ACM在线评测系统设计报告_第4页
ACM在线评测系统设计报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、西安建筑科技大学课程设计(论文)4§课程名称题目院(系)专业班级姓名学号指导教师课程设计(论文)软件工程实训课程设计在线测评系统信息与控制工程学院软件1202赵曼120670211朱旭东、祁飞2015年09月20日西安建筑科技大学课程设计(论文)摘要当今时代是一个信息时代,随着互联网技术和计算机技术的发展,计算机行业起着至关重要的作用。为了更好适应地这个时代选拔人才的标准,提高人们的计算机水平,计算机在线评测系统应运而生。在线评测系统是一个针对计算机人才选拔的网站,主要提供程序设计练习和考试平台。用户可以在这个网站上查询并练习题目,然后当用户针对相应的题目编写了程序以后,可以在在线评

2、测系统上将程序代码以相应题号为准提交到服务器端。服务器接收到提交信息后,将该程序的题号、提交时间、相应题目的信息等传送到后台测试平台,后台将根据这些信息对同学们提交上来的程序代码进行编译执行,并做出相应判断,将测试结果返回相应的数据库。程序代码提交后,提交结果将在网页上显示出来,同时会有相应的排名数据以及解题信息。本系统是基于JSP技术建立的药品进销存管理系统,其目标是完成对药品的进、销、存进行管理。整个项目采用MVC勺架构。使用Servlet充当控制器,Jsp用来做视图层的显示。这种分层模式可以降低模块之间的耦合度。有利于系统维护、代码重用和后期增加相应的功能。关键词:JSPSQLServe

3、r2005、JavaWeb、在线测评、ACM西安建筑科技大学课程设计(论文)目录1系统概述11.1 目的11.2 开发工具和运行环境11.2.1 开发工具11.2.2 运行环境12软件总体结构22.1 系统结构设计22.2 系统权限划分32.2.1 用户操作32.2.2 管理员管理32.3 系统功能划分32.3.1 用户模块32.3.2 管理员模块32.3.3 在线评判模块32.3.4 题库模块33详细设计43.1 系统架构目标43.2 构架设计53.3 系统开发模式63.4 数据流图73.5 逻辑视图83.5.1 系统类图83.5.2 人员信息包内的类图93.5.3 接口包内的类图9西安建筑

4、科技大学课程设计(论文)3.6 过程视图103.6.1 用户登录103.6.2 管理员题目管理113.6.3 用户管理123.6.4 试题评判管理134数据库设计144.1 概念模型154.2 逻辑模型154.3 表的物理结构定义175相关界面195.1主要功能界面196总结237参考文献25西安建筑科技大学课程设计(论文)1系统概述1.1 目的ACMt线评测系统是一个基于B/S结构的多用户在线系统,允许用户在线提交自己的解题代码,系统会自动编译运行给出结果,并根据用户的解题数量和分数排出名次。1.2 开发工具和运行环境1.2.1 开发工具该系统用到的主要开发工具有DreamweaverCS6

5、MyEclipse。(1) DreamweaverCS6iW介dreamweavercs6是世界顶级软件厂商adobe推出的一套拥有可视化编辑界面,用于制作并编辑网站和移动应用程序的网页设计软件。由于它支持代码、拆分、设计、实时视图等多种方式来创作、编写和修改网页(通常是标准通用标记语言下的一个应用HTML)对于初级人员,你可以无需编写任何代码就能快速创建web页面。1.2.2 运行环境系统网站部分是用HTML语言编写,数据库使用SQLserver2005,而服务器用的是tomcat,在Windows系统上运行。(1) tomcat简介Tomcat服务器是一个免费的开放源代码的Web应用服务器

6、,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML标准通用标记语言下的一个应用)页面西安建筑科技大学课程设计(论文)的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。2软件总体结构1.1 系统结构设计系统架构采用分离可缩放结构。前端服务器负责Web访问,后端tomcat服务器负责编译,运行和测试程序。双方通过数据库耦合。Tomcat服务

7、器与Internet没有连接,彻底保证测试数据不被外泄。前端设计基于B/S模式进行Web服务器设计,后端tomcat服务器采用多线程,多进程并发处理机制,在保证系统稳定性的同时极大地提高系统的响应速度。整个系统采用面向对象的思想进行设计。系统结构图如下:直理员查得题目注销注理登陆图1系统结构图个人信息管理西安建筑科技大学课程设计(论文)1.2 系统权限划分1.2.1 用户操作包括用户注册、登陆、用户信息修改、题型浏览、题目浏览、提交题目、查看提交结果、查看做题排名、查询分数、查找题目、账户注销等。1.2.2 管理员管理管理员主要进行的操作有:登陆、题库管理、用户管理、重测提交题目、注册功能、数

8、据维护管理、查看用户提交的源码、账户注销。1.3 系统功能划分该在线测评系统主要包括以下几个功能块:用户模块、管理员模块、在线评判模块和题库模块。1.3.1 用户模块用户模块主要有用户自行操作的注册功能、登陆功能、注销功能、个人信息查询和修改等。1.3.2 管理员模块管理员模块主要负责试卷添加、试卷查询和修改、修改用户权限、增加和修改试题、测试数据管理、数据库备份等功能。1.3.3 在线评判模块在线评判模块主要功能是用户通过此模块有查看题目、提交代码、查看分数和排名等。1.3.4 题库模块题库模块主要功能是用户能够在此查询、浏览和练习题目。系统功能图如下:西安建筑科技大学课程设计(论文)在名壕

9、则评系统题库模块图2系统主功能模块图3详细设计3.1系统架构目标该在线测评系统要达到的软件架构目标如下:(1)可靠性(Reliable)软件产品在规定的条件下和规定的时间区间完成规定功能的能力,软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。(2)安全性(Secure)软件系统要保证系统数据的安全性,如用户的基本信息,因为所承担的交易的商业价值极高,系统的安全性非常重要。(3)可扩展性(Extensible)在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展(4)可维护性(MAIntainable)西安建筑科技大学课程设计(论文)软件

10、系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费(5)可伸缩性(Scalable)软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。(6)可定制化(CuSTomizable)同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。(7)客户体验(CustomerExperience)软件系统必须易于使用。(8)市场时机(TimetoMarket)软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。3.2 构架设计构

11、架视图的图形描述称为构架设计图。设计图由以下统一建模语言图组成:逻辑视图:类图、状态机和对象图。进程视图:类图与对象图(包括任务-进程与线程)。实施视图:构件图。部署视图:配置图。用例视图:用例图描述用例、主角和普通设计类;顺序图描述设计对象及其协作关系。西安建筑科技大学课程设计(论文)3.3 系统开发模式MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。a.视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTMLE素组成的界面,在新式的Wetfi用程序中,HTM很旧在视图中

12、扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTMLXML/XSLWM簪一些标识语言和Webservices.b.模型模型表示企业数据和业务规则。在MVC勺三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusionComponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。c.控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击WebM面中的超链接和发送HTMLf

13、t单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。整个项目采用MVC勺架构。MVC即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用将被分成三层:模型层、视图层、控制层。使用Servlet充当控制器,Jsp用来做视图层的显示。这种分层模式可以降低模块之间的耦合度。有利于系统维护、代码重用和后期增加相应西安建筑科技大学课程设计(论文)的功能3.4数据流图图4系统数据流图西安建筑科技大学课程设计(论文)3.5 逻辑视图逻辑视图部分主要叙述了设计阶段的工作

14、根据系统划分的三类包图,分别讨论人员信息包,接口包和事务包中的类图。其中,人员信息包包含用户和管理员两个类;接口包包含登录、管理员管理模块、用户管理模块、评判管理模块和题库模块五个接口模块类;事务包主要包含用户做题管理、管理员题目管理、管理员用户信息管理、管理员用户组管理等事务类,相应的类图如下各图3.5.1 系统类图用户管理员登录名:varchar密码:varchar登录名:varchar密码:varchar做题正确个数int提交次数:int正确率:char登录(啜口管理员管理模块信息管理()题目管理()用户组管理()系统管理()在线用户管理()嘴口用户信息管理()题目管理()嘴口登录登录(

15、)注销()登录名:varchar密码:varchar登陆日t间:timestamp登录系统人数:int用户管理模块退出系统0嘴口评判管理模块测试题目(嘴口题库管理模块开始时间:timestamp结束时间:timestamp题号:varchar修改题目()增加题目()删除题目()查询题目()题号:varchar题目的类别varchar题目内容:varchar题目的难度varchar提交存储管理()编译管理()评判管理()提交登录名:varchar题号:varchar程序运彳T时间:timestamp程序运彳T内存:long程序运行结枭archar提交日t间:timestamp提交的语言:char

16、图5系统类图西安建筑科技大学课程设计(论文)3.5.2 人员信息包内的类图管理员用户登录名:varchar密码:varchar信息管理c题目管理()用户组管理()系统管理()在线用户管理O矍录名warchar密码:varchgr做题正有个数:Int提交次数;int正确隼:char)题目管理()X接口内题库管理模坡士接口评判管理模块提交存捕百理n煽诲管理3评判官哩t)uhrrknj.JI(目自题题改加博甯目口题边除间册苴图6人员信息包类图3.5.3 接口包内的类图箍LJ信息也毁接口”管理员管理模块宿亘膏通T厂题目省理()用户殂省理(系豌管理()在独用户百厘n图7接口信息包类图西安建筑科技大学课程

17、设计(论文)3.6 过程视图3.6.1 用户登录(1)简述用户如果要进行相应操作,需要输入正确的用户名和密码(2)基本事件流1用户输入正确的用户名和密码登录系统2系统进行身份验证3进入相应页面4结束(3)活动图第10页西安建筑科技大学课程设计(论文)3.6.2 管理员题目管理(1)简述管理员进入相应管理页面,对题目进行管理。(2)基本事件流1用户输入正确的用户名和密码登录系统2系统进行身份验证3进入相应页面4管理员进行题目管理5对题目进行增删改查6录入数据库7结束(3)活动图第11页西安建筑科技大学课程设计(论文)营理员数揖率网站部分图9管理员题目管理活动图3.6.3 用户管理(1)简述用户选

18、择试卷,做题并提交。(2)基本事件流1用户输入正确的用户名和密码登录系统2系统进行身份验证3进入相应页面4选择试卷类型5做题并提交6结束第12页西安建筑科技大学课程设计(论文)(3)活动图图10用户题目管理活动图3.6.4 试题评判管理(1)简述用户提交代码后,评测系统进行编译,并将结果录入数据库。(2)基本事件流用户提交代码评判系统存储代码并进行编译若编译成功,将结果存入数据库第13页西安建筑科技大学课程设计(论文)4调出数据库答案,并进行比对5得到相应分数6将分数存入数据库7结束(3)活动图图11代码评判管理活动图4数据库设计数据库是储存在计算机内的数据的集合。数据库存放数据是按数据所提供

19、的数据模式存放的,它能构造复杂的数据结构以建立数据间的内在联系与复杂联系,从而构成数据的全局结构模式。第14页西安建筑科技大学课程设计(论文)数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享数据库管理系统是用于管理和维护数据的系统软件。它是位于用户与操作系统之间的数据管理软件。数据库管理系统具有数据定义功能、数据组织功能、数据存储和管理功能、数据操纵功能、数据库的事物管理功能、运行管理功能、数据库的建立和维护等功能。4.1 概念模型图12实体E-R图4.2 逻辑模型将概念结构设计阶段设计好的基本E-R图转换为关系模型,第15页西安

20、建筑科技大学课程设计(论文)如下所示:a.管理员(登录名,密码,个人信息,编码,管理权限),此为管理员实体对应的关系模式。b.用户(编码,用户信息,登录名,密码),此为用户实体对应的关系模式。c.程序代码(提交人,题目,编号),此为程序代码实体对应的关系模式。d.题目(编号,题目内容,出题人,题型),此为题目实体对应的关系模式。e.管理员管理用户(编码,管理权限),此为管理员管理用户关系对应的关系模型。f.管理员管理题目(编码,管理权限),此为管理员管理题目关系对应的关系模型。g.管理员查看代码(编码,管理权限),此为管理员查看代码关系对应的关系模型。h.用户查看操作题目(编码,管理权限),此

21、为用户查看操作题目关系对应的关系模型。第16页西安建筑科技大学课程设计(论文)4.3 表的物理结构定义图13表的物理结构模型图本系统使用SQLServer来设计所有的数据表,根据预先设计好的编码规则设计了以下数据表:用户信息表,管理员权限表,题目信息表,评判状态表,做题信息表,考试信息表等。用户信息表主要是存储用户的登录名、密码、做题的正确个数、提交次数、做题数量、做题的正确率、编号等个人信息。考试信息表主要是考试开始时间、结束时间、标题、考试的题目等信息。以下只介绍做题信息表、用户信息表和用户权限信息表,其他表功能类似这里就不一一介绍。第17页西安建筑科技大学课程设计(论文)TID丁NAME

22、回TLEVELTSID44433333333|1最小公信数求解一殷12最大公信数困难25钻石环问题难56a难67工口。之内求禾口难78冒泡排序般&9归并排庠难9'表1题目信息表题目信息表主要存储每个题目相关信息,包括题目编号、题型、难度、题目内容等。室TSIDTSINTSOUT卜|求解5和25的最大公约数5_2求解4和8的最大公信数83此题待设讦新年快亲表2做题信息表做题信息表主要是用户每次提交时候留下的用户记录,包括题目编号、用户编号、程序运行时间、程序运行内存、运行的结果以及提交的语言等。A!Owpt1213-456nIIqx123456表3用户登录信息表用户登录表主要储存

23、用户登录信息,主要包括登录名、密码、编号、登陆时间,这样就能知道登录系统的人有多少。第18页西安建筑科技大学课程设计(论文)5相关界面5.1主要功能界面图14登录界面图登录主界面使用了表单,表单是Web中实现交互的重要方法,用于收集用户信息并提交给服务器。该界面使用了静态文本框和单行输入文本框,当用户名和密码验证正确,则进入相应的管理主界面。第19页西安建筑科技大学课程设计(论文)http?/1/lQC:ailhci5tiB0KI|/CQmpliert3n|ine/cQrnplierJi;pJa班语言在线编译器简舄版);_1.地1不例1publicclassTestpublicstaticvo

24、idmiainlSlringEjargs.JSystem.oulLprintIn(Tfel1oWard.!*):图15代码运行界面图用户可以在该图TEXTAREA件中输入程序代码,点击运行按钮就能进行程序编译。-ServersSearch>*JAX-WSAnnotations)Prnblem&STa&lfiElConsoleHX%|善口圄回色日2,Tomcatv6k0Server玳localhcMyEdip5eServerO:PragramFiles(蝎6川融囱dk|2/5Tbi吗酬a*+zi.112a281511:33:29org.apache.catalina-sta

25、rtup.Catalinastart士思:Serverstartupin716msMicrosoftWindowsz?6.1,7601片五比专(工)2009Microsaft0n.五重阳辱DjXPrograffiFiles(xB6),«yec1ipse>iavacSubbleSort.ja:144989142053a1449891421539D:ProgramFiles(x86)nyeclipse>javaBubbleSortHlawNMi6975878990991典67,船就758789兆99iee6967立?3体手n鼻.87899099756967萍41年于目屎:89

26、90991&&8775眄7>.宗5:湃林壬M991608987756967第5建辘L9910090S987756967累?心撑即臬1驰99903987756967二*注聋3宿里:1第99908987756967DEXProgramFiles(x86)»/ecllpse>4I而第20页西安建筑科技大学课程设计(论文)http:/loalhost:BOSO/CorTiplierOnlin?/Compil&rServlet编译成功,使用时间士1009毫秒返回苜页图16程序编译图该图是对程序代码进行编译后所显示的界面,图中显示了编译后的结果,所用时间,还有

27、编译是否成功。wk返回-,士奇界百旗把查询试题信息第号诚题名称域超强度诩为操作13333*徐亘跖,444吧Ml433443丽丽,热母数求解T1面1网配蚣麟困隼WO5钻石环质施5串保悝用6a-b?6则亶100之内将口墟*周则S耳硼呼8丽亶9邮序建9僧加图17管理员试题操作界面该界面是管理员查询试题界面,管理员可以对试题进行删除和修改操作。第21页西安建筑科技大学课程设计(论文)试题预览试题编号试题信息林题难度丽详情山而44做题33333331最小公倍数求解1做题2最大公倍数困难2K题5钻石环问题难做题6a+b难6做题710Q之内而口难P7做题8冒泡排序一般S做题9归并排序难9颐图18用户查询操作

28、界面该界面是用户浏览界面,用户可以查看试题的编号、主要信息、题目难度等信息,点击做题按钮就能进入相应程序编程页面http:/localhost:£080/CcmplierQnIine/testinfo£ervlet?way=update&Hd=4试题管理试题ID:45金词试题难度;33试题名称;33试题详情更新图19管理员试题管理界面该界面是管理员对试题进行相应操作,输入相关试题信息对实体进行修改或重置。第22页西安建筑科技大学课程设计(论文)6总结完成这次在线评测系统课程设计是一件让我觉得非常有成就感的事,因为在开发这个系统过程当中,我们遇到了很多问题,有很多技术

29、并不熟练如JSP技术,CSS技术和MVC真式等,但是在解决这些问题的过程中,我们也学习到了很多知识,下面我会一一说明。ACM在线评测系统整个项目采用MVC的架构。使用Servlet充当控制器,Jsp用来做视图层的显示。这种分层模式可以降低模块之间的耦合度。Servlet是一个用Java编写的程序,此程序在服务器上运行以处理客户端请求,处理请求的过程:接收客户端(浏览器)请求信息;调用业务处理;向客户端(浏览器)发送HTTP响应。Servlet的生命周期就是指Servlet实例创建之后直到其消失(对象销毁、回收)中间的时间及各个阶段,当接收到客户端的请求时,Servlet容器负责创建Servle

30、t的一个实例,以多线程的方式响应。在这段学习过程中,我进一步学习了Java编程语言,以前在学校实践的比较少,这次的课程设计让我对Java语言有了更清晰的认识,也让我具备了更好的Java编程能力。另外,还进一步了解了SQLServer等数据库编程技术,B/S结构应用软件管理和开发经验;使我深刻理解并掌握软件工程理论和方法,熟悉常用的设计模式,掌握常用的数据结构、算法。回首整个软件开发过程,我每天都有很多新的体会,想说的很多,我总结下来主要有以下几点:第23页西安建筑科技大学课程设计(论文)1)团队意识是完成项目的必要保证。在我们整个项目完成的过程中,我充分体会到了团队合作的重要性。特别是担任项目组长的组员分配大家完成项目期间,很难想象如果大家不团结一致的结果。期间通过大家的团队合作,项目组高效且快速的完成的项目,当然最重要的是大家都参与了项目的开发。2)

温馨提示

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

评论

0/150

提交评论