教师在线作业批改系统设计毕业设计_第1页
教师在线作业批改系统设计毕业设计_第2页
教师在线作业批改系统设计毕业设计_第3页
教师在线作业批改系统设计毕业设计_第4页
教师在线作业批改系统设计毕业设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

重庆邮电大学毕业设计报告PAGE毕业设计报告(论文)题目:教师在线作业批改系统所属系专业学号 姓名 指导教师起讫日期设计地点毕业设计报告(论文)诚信承诺本人承诺所呈交的毕业设计报告(论文)及取得的成果是在导师指导下完成,引用他人成果的部分均已列出参考文献。如论文涉及任何知识产权纠纷,本人承担一切责任。学生签名:日期:PAGEI教师在线批改作业系统摘要众所周知,传统的办公模式以纸为主,且需靠人力实现传送。近几十年来,信息技术飞速发展,信息革命不断冲击,传统办公模式远远不能满足高效率、快节奏的现代工作和生活的需要。实现办公自动化逐步得到了人们的重视与认可。办公自动化(OfficeAutomation,简称OA)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人员可以跨越时间、地点协同工作。通过办公自动化系统所实施的交换式网络应用,使信息的传递更加快捷,从而极大地扩展了办公手段,实现办公的高效率。教师在线批改作业系统是各类学校内的教师和学生共同使用的实用性系统。这个系统结束了传统的手工管理模式,在一定程度上极大提升了办事效率,同时也大大节约了成本,还使得教师批改学生的作业实现了实时性。这大大节省了教师和学生的时间和精力,也提高教师的办事效率,是现代学校教师不可或缺的作业批改工具。本系统采用了JSP语言和MySql数据库来进行开发,系统使用人员包括:学校的学生、学校的教师、以及数据库管理员。学生的功能包括:登录、上传作业、查询成绩、下载作业。教师的功能包括:下载学生的作业、给学生打分、上传学生的作业、对两份作业进行重复率比对;管理员:添加教师和学生用户、批量上传用户信息、删除用户信息、对用户密码进行重置。关键词:JSPMySql;数据库;用户;功能

TeachersOnlinecorrectinghomeworksystemAbstractAsweallknow,thetraditionalpaper-basedofficemodel,andtheneedtoachievebyhumantransmission.Inrecentdecades,therapiddevelopmentofinformationtechnology,theinformationrevolutioncontinuetoimpactthetraditionalofficemodelcannotmeettheneedforhighefficiency,fast-pacedmodernworkandlife.Officeautomationandgraduallygetpeople'sattentionandrecognition.OA(OfficeAutomation,referredtoasOA)isamodernofficeandcomputernetworkfunctionstocombineanewwayofoffice,thenewtechnologyrevolutioniscurrentlyaveryactiveandhasastrongvitalityofthetechnologyapplications,isinformationsocietyproduct.Throughthenetwork,theinternalorganizationcanspantimeandplacetowork.Byswitchingnetworkapplicationimplementedofficeautomationsystem,makingthetransmissionofinformationmorequickly,thusgreatlyexpandingtheofficemeanstoachieveofficeefficiency.TeachersOnlinecorrectinghomeworksystemispracticabilityofteachersandstudentsinthevariousschoolsofcommonuse.Thissystemendedthetraditionalmanualmanagementmode,toacertainextent,greatlyenhancetheworkefficiency,butalsosignificantcostsavings,butalsosothattheteachercorrectingstudentworktoachieveareal-time.Thissavestheteachersandstudentstimeandenergy,butalsoimprovetheefficiencyofteachers,modernschoolteachersjobcorrectinganindispensabletool.ThesystemusesaJSPlanguageandMySqldatabasedevelopment,systempersonnelinclude:schoolstudents,schoolteachers,aswellasadatabaseadministrator.Studentsfeaturesinclude:logon,uploadoperations,queryresults,downloadthejob.Teacher'sfeaturesinclude:downloadingofstudentswork,givingstudentsscoring,uploadstudents'work,repetitionrateoftwojobsthan;Administrator:Addingteachersandstudentusers,bulkuploaduserinformation,deleteuserinformation,theuserpasswordreset.Keywords:JSP;MySql;databases;user;function目录第一章系统开发背景 11.1办公自动化 11.2系统研究意义 11.3系统研究方法 11.4论文章节安排 1第二章系统需求分析 22.1可行性分析 22.2系统目标 22.3系统功能需求分析 22.4本章小结 3第三章系统结构与模型 43.1系统的体系结构设计 43.2系统流程图 53.3数据库设计 63.3.1用户信息表(users) 63.3.2班级信息表(bjbh) 63.3.3作业信息表(homework) 73.3.4教师对应的学生信息表(jsdyxs) 73.3.5课程编号表(kcbh) 83.3.6专业编号表(zybh) 83.3数据库连接文件 83.4本章小结 8第四章系统功能模块详细设计及实现 104.1模块设计 104.2功能模块的说明 104.3系统界面与关键代码的设计 104.3.1系统登录界面的设计 104.3.2学生上传作业界面 114.3.3学生查看成绩界面 124.3.4教师查看学生作业 134.3.5管理员管理用户信息 164.4本章小结 19第五章系统的功能测试与性能测试 205.1测试目标 205.2系统运行环境配置 205.3功能测试 205.3.1测试系统登录功能 205.3.2系统管理员添加新用户信息模块测试 215.3.3用户信息模块增加、删除、修改测试 235.3.4学生上传作业测试 255.3.5下载测试 265.3.6打分测试 265.3.7作业重复率比对测试 275.4性能测试 285.5测试结果分析 305.5.1功能测试结果分析 305.5.2本章小结 30第六章系统评价 316.1系统的特点 316.2系统展望 316.3本章小结 32结束语 33参考文献 35PAGE35第一章系统开发背景1.1办公自动化历史的轮子已经悄然进入21世纪十几个念头了,同时人类也进入科技高度发达的信息时代。PC机的方便、快捷带动了日常办公的进步,办公自动化被人们提上日程,传统的手工式的、作坊式的办公方式已经跟不上时代的步伐了。以数据库为开发平台的信息管理系统越来越得到大家的欢迎。。1.2系统研究意义本系统为学校的教师和学生就作业的交互提供了一个平台,这关系着教师和学生双方的工作。然而很久以来大多数的学校使用的都是早已大大落后的、已经退出历史舞台的人工办公方式,这种办公模式效率不高,安全性也不好,难以实现实时性、高效性,为教师和学生都带来了极大的不便利。利用计算机进行日常的业务处理、信息保存,这大大提高了业务的处理速度同时也实现了实时性。使用计算机代替人的日常工作能够实现物业处理的科学化和自动化,这在很大程度上提高了工作的速度和准确性。批改学生的日常作业是一件非常繁琐又不得不及时处理的工作,因为教师必须要充分了解学生的学习情况。这就使得这项工作要求教师能及时的看见学生的作业,以便能及时的处理。所以,为了能实现对学生上传作业的及时处理,同时有助于教师能及时的掌握学生的学习状况,因此设计这样的一个教师在线批改作业系统是一件很有意义和必要的事情。1.3系统研究方法从系统使用者的角度出发,我利用JSP和Mysql数据库,结合数据库技术,MVC、Servlet框架开发了这个web系统。下面是整个系统的设计思路。1.4论文章节安排第一章主要介绍系统的开发背景、意义以及研究方法。第二章主要对系统的设计进行可行性分析,描述系统目标,从而对系统进行需求分析。第三章主要介绍系统的体系结构,设计数据库。第四章主要介绍在总体设计基础上,对系统分模块详细设计。第五章主要针对系统进行功能测试和性能测试。第六章主要介绍系统的特点以及对未来的展望。

第二章系统需求分析2.1可行性分析本系统使用JDK+tomcat+Myeclipse+Mysql搭建的开发平台。JSP采用的事当今比较流行的面向对象的编程思想——把我们需要操作的数据封装成一个类,并且为每一个类定义相应的属性和方法,当然我们还可以利用第三方软件进行功能的扩充;JSP把后台代码和前台的页面设计实现分离,支持可重用的基于组件的设计,这样就把web开发变得简单和方便起来了。另外,JSP技术具备了一个无与伦比和充满吸引力的优点:一次编写,处处运行、系统的多平台支持、强大的可伸缩性、多样化和功能强大的开发工具支持。因此,这里采用Jsp技术完全可以实现我们的系统。本系统使用SQLServer搭建后台的开发环境。SQLServer微软推出的一套数据库管理工具,其图形化界面可以使人们轻易的进行数据库的管理和操作,同时这个数据库还提供了强大的接口,这个能为我们的程序开发提供强大的支持。由于本系统的使用人员是教师和学生,数据库之间的关系都是比较密切的,因此整个程序的设计过程不是很复杂。所有,我决定采用数据库管理模式。这个系统就是一个单纯的web系统,所有对PC机的要求不是很高,平常我们用的PC机就可以完全满足我们的要求。最后,得到结论:这个系统是可行的。2.2系统目标一个基于web的教师在线批改作业系统,使用人群主要是学校的教师和学生,这个系统可以实现在网络环境下学生进行上传作业、下载作业、查看成绩等操作。而教师可以下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对等操作,管理员可以对用户信息进行管理。2.3系统功能需求分析教师在线批改作业系统上网服务人群主要是学校教师和学生,这是两种不同的使用人群,本系统主要是为教师和学生之间提供一个相互交流的平台,学生可以很方便的上传自己的作业,而教师也可以很方便的处理相关事宜。本系统具体要实现的功能如下:(1)统使用人员包括:教师、学生、系统管理员。(2)教师功能包括:登录、下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对。(3)学生功能包括:上传作业、下载作业、查看成绩。(4)系统管理员:添加用户信息、删除用户信息、用户密码重置、批量上添加用户信息;2.4本章小结这一章主要是对系统进行了可行性研究,然后在技术可行性、经济可行性以及操作可行性这个三个不同的角度进行了分析,并且还对系统使用的软硬件环境也进行了可行性分析。最后,对系统所要实现的系统进行了简要的阐述,这也是对系统的一个简单的需求分析。

第三章系统结构与模型3.1系统的体系结构设计系统体系结构如图3.1所示:图3-1系统体系结构 通过图3.1我可以很清楚的了解到使用本系统的人群主要是:学校教师和学生、系统管理员。下面列出各个功能的详细描述:管理用户信息:管理员可以添加、删除一个新用户,还可以对用户密码进行重置。下载学生作业:教师可以对自己的课程对于的作业下载。上传学生作业:教师可以对自己查看过的作业批改过了可以上传。学生作业打分:对学生的作业进行评分。比对作业重复率:可以比对两份学生的作业,定义关键字得到重复率是多少。学生上传作业:学生选择一门课程然后上传对应的作业。学生下载作业:对教师批改完的作业下载查看。学生分数查询:对自己的成绩进行查看。3.2系统流程图系统流程图如图3.2所示:图3-2系统流程图本系统采用账号和密码验证的方式,对登录的用户进行身份验证,系统中不存在的用户需要管理员来进行添加,而用户名和密码输入不对的需要重新输入。这里的用户可以分为三种:教师、学生以及系统管理员,教师和学生的账号需要管理员来提供。最后,当用户操作完成之后可以完全退出系统。3.3数据库设计本系统采用MySql进行数据库的设计。根据系统功能需求及功能模块的划分要求,创建一个数据库文件zxpg。数据库一共包含了六个表:用户信息表(users)、班级信息表(bibh)、作业信息表(homework)、教师对应学生信息表(jsdyxs)、课程信息表(kcbh)、专业信息表(zybh)。接下来详细的介绍一下这六个表的结构。3.3.1用户信息表(users)对用来进行数据存取的所有7个表的数据项和数据结构见表1到表7所示:用户信息表(users):用户账号、密码、姓名等基本信息。结构如表3.1所示

。表3.1用户信息表(users)字段名称数据类型说明usernamevarchar用户名(主键)passwordvarchar密码namevarchar姓名用户信息表是对用户的基本信息的记录。在这里对相关字段进行简要的介绍:username字段为文本,记录的是用户的登录用户名;Password字段为文本,记录的是用户的登录密码;name字段为文本,记录的是用户的姓名;3.3.2班级信息表(bjbh)班级信息表(bjbh):记录的是班级的基本信息。结构如表3.2所示。表3.2班级信息表(bjbh)字段名称数据类型说明Bjbhvarchar班级编号Bjmcvarchar班级名称班级信息表是针对使用本系统的班级信息的信息记录。Bjbh班级编号,主键。Bjmc字段为文本,记录班级名称;3.3.3作业信息表(homework)作业信息表(homework):存放学生上传作业的信息。结构如表3.3所示。表3.3作业信息表(homework)字段名称数据类型说明Xsnamevarchar学生账号Kcbhvarchar课程编号worknamevarchar作业名称scnamevarchar作业在服务器上的名称workurlvarchar作业URLcjdouble成绩作业信息表用来记录学生上传作业的信息。Xsname学生编号,主键;kcbh字段为文本,记录的是学生的作业针对那门课程;workname字段为文本,记录的是学生上传作业的名称;scname字段为文本,记录的是作业在服务器上的名称;workurl字段为文本,记录的是作业URL;cj字段为double,记录的是学生的作业成绩;3.3.4教师对应的学生信息表(jsdyxs)教师对应的学生信息表(jsdyxs):存放的是教师针对某门课程对应的学生信息。结构如表3.4所示。表3.4教师对应学生信息表(jsdyxs)字段名称数据类型说明Jsnamevarchar教师账号Xsnamevarchar学生账号Zybhvarchar专业编号Bjbhvarchar班级编号kcbhvarchar课程编号教师对应的学生信息表中记录是教师针对某门课程对应的学生信息。下面是各个字段的简要介绍:jsname字段为文本,记录教师账号;xsname字段为文本,记录教师对应的学生账号;zybh字段为文本,记录学生所在的专业编号;bjbh字段为文本,记录学生所在的班级;kcbh字段为文本,记录是学生上课的课程编号;3.3.5课程编号表(kcbh)课程编号表(kcbh):存放的是学生的上课课程信息。结构如表3.5所示。表3.5课程编号表(kcbh) 字段名称数据类型说明kcbhvarchar课程编号Kcmcvarchar课程名称下面是对主要字段的叙述:kcbh字段为文本,记录课程信息的课程编号,为主键;kcmc字段为文本,记录课程信息的课程名称;3.3.6专业编号表(zybh)专业编号表(zybh):存放学生所在专业的信息。结构如表3.6所示。表3.6处理负责人表(clfzr)字段名称数据类型说明zybhvarchar专业编号Zymcvarchar专业名称专业编号表是对学生所在专业的信息描述。下面是对主要字段的叙述:zybh字段为文本,学生所在专业的专业编号,为主键;zymc字段为文本,学生所在专业的专业名称; 3.3数据库连接文件因为本系统在运行过程中时时刻刻都和数据库打交道,如果每一次连接数据库我们都要写一段代码来进行连接,这样就增加的了代码的量,也会降低效率。因此,我就专门写了一个专门链接数据库类,用来连接数据库。3.4本章小结本章主要是对系统做了一个大体的介绍,让读者对这个系统要实现一个什么样的系统做到心中有数。本系统主要实现了如下几个功能:教师功能包括:登录、下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对。学生功能包括:上传作业、下载作业、查看成绩。系统管理员:添加用户信息、删除用户信息、用户密码重置、批量上添加用户信息。

第四章系统功能模块详细设计及实现4.1模块设计教师在线批改作业系统主要包括了如下几个功能模块:教师功能包括:登录、下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对。学生功能包括:上传作业、下载作业、查看成绩。系统管理员:添加用户信息、删除用户信息、用户密码重置、批量上添加用户信息。4.2功能模块的说明教师在线批改作业系统包含的几个功能模块的详细介绍如下:教师用户功能包括:登录、下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对:教师用户在使用系统之前必须要有一个账号,否则要联系管理员有管理员来分配一个账号给教师,这个时候教师就具备了使用系统的通行证。就像其他大多系统一样,我们同样是用用户名和密码来控制,登录成功之后教师可以进行下载学生作业、上传学生作业、对学生作业进行打分、对两份学生作业进行重复率比对。学生用户功能包括:上传作业、下载作业、查看成绩:这是本系统的学生用户具有的权限,同样学生用户也需要管理员对其分配账号,然后学生用户才能登录系统进行上传作业、下载作业、查看成绩等操作。系统管理员:添加用户信息、删除用户信息、用户密码重置、批量上添加用户信息。4.3系统界面与关键代码的设计4.3.1系统登录界面的设计系统的登录界面是一个系统的门面,是系统默认的欢迎界面。这个功能的设计也是对系统的一种保护,确保数据的安全性。该界面的设计主要是对用户名和密码的验证。其界面如图4-1所示。图4-1系统登录页面使用教师在线批改作业系统时,本系统给出的第一个界面就是这个登录界面,用户填写完用户名和密码之后并且提交这个表单之后,系统会自动到数据库中查找这个用户名和密码,看是否存在。如有误,那么系统将会再次返回登录界面,这时候用户就要再次输入用户名和密码,相反数据库存中在这个用户名和密码,那么这个用户就会进入到这个系统中。4.3.2学生上传作业界面用户通过验证之后,就会进入这个作业上传界面,此时就可以进行上传操作了。如图4-2所示。图4-2作业上传界面核心代码如下:Servlet里面的代码:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ //判断from表单的enctype属性值是否设置为multipart/form-data booleanisMultipart=FileUpload.isMultipartContent(request); if(!isMultipart){ return; } try{ DiskFileItemFactoryfactory=newDiskFileItemFactory(); //设置缓冲区大小 factory.setSizeThreshold(flushSize); factory.setRepository(newFile(tempPath)); //创建FileUpload对象 FileUploadfupload=newFileUpload(factory); //设置文件最大大小 fupload.setSizeMax(fileSize); Listitems=fupload.parseRequest(request); Iteratoriter=items.iterator(); while(iter.hasNext()){ Stringdesc=""; FileItemitem=(FileItem)iter.next(); //判断是否是file表单元素 if(!item.isFormField()){ Stringname=newString(item.getName().getBytes(),"utf-8");//获得文件路径及名称 name=name.substring(name.lastIndexOf(File.separator)+1, name.length());//获得文件名 StringfileType=name.substring(name.indexOf("."));//获得文件后缀名 Stringfilename=getFileName();//随机产生一个文件名防止文件名重复 longsize=item.getSize(); //如果文件名不存在则不处理 if((name==null||name.equals(""))&&size==0){ continue; } item.write(newFile(uploadPath+filename+fileType)); UploadDaouserdao=newUploadDao(); HttpSessionsession=request.getSession(); Stringusername=(String)session.getAttribute("username"); userdao.insertwork(username,kcbh,name,uploadPath,filename+fileType); }else{ //获得文件描述 desc=item.getString("UTF-8"); kcbh=desc; System.out.println(desc); } } response.sendRedirect("Upload_Success.jsp"); }catch(Exceptione){ e.printStackTrace(); response.sendRedirect("upload.jsp?code=002"); } } privateStringgetFileName(){ //根据时间产生文件名 SimpleDateFormatdf=newSimpleDateFormat("yyyyMMddhhmmssms"); returndf.format(newDate()); }4.3.3学生查看成绩界面这个功能主要提供得学生查看自己的成绩。如图4-3所示图4-3学生查看成绩页面核心代码:Servlet里面的代码: ArrayList<zypgbo>list=newArrayList<zypgbo>(); HttpSessionsession=request.getSession(); Stringusername=(String)session.getAttribute("username"); XsckcjxxDaomydao=newXsckcjxxDao(); list=mydao.getCxcjlist(username); request.setAttribute("list",list); request.getRequestDispatcher("xsckcjxx.jsp").forward(request,response);//教师查看学生上传作业信息Dao里面的代码:ArrayList<zypgbo>list=newArrayList<zypgbo>(); PreparedStatementps=null; ResultSetrs=null; Stringsql="SELECThomework.xsname,users.xm,homework.kcbh,kcbh.kcmc,homework.cj,homework.workname,homework.scnameFROMhomework,users,kcbhwherehomework.xsname=users.usernameANDhomework.kcbh=kcbh.kcbhANDhomework.xsname=?"; try{ ps=db.getConn().prepareStatement(sql); ps.setString(1,username); rs=ps.executeQuery(); while(rs.next()){ zypgbobo=newzypgbo(); bo.setXsname(rs.getString("xsname")); bo.setXm(rs.getString("xm")); bo.setKcbh(rs.getString("kcbh")); bo.setKcmc(rs.getString("kcmc")); bo.setWorkname(rs.getString("workname")); bo.setScname(rs.getString("scname")); if(!rs.getString("cj").equals("0")) { bo.setCj(rs.getString("cj")); } else { bo.setCj("未打分"); } list.add(bo); } } catch(SQLExceptione){ e.printStackTrace(); }catch(Exceptione){ e.printStackTrace(); }4.3.4教师查看学生作业这个模块主要是供教师来查询自己的学生作业的详细信息,包括投打分、下载和作业重复率比对等,具体界面如图4-4—4-6所示:图4-4所有作业的详细信息图4-5打分界面核心代码:Servlet:ArrayList<zypgbo>list=newArrayList<zypgbo>(); Stringxsname=request.getParameter("xsname").split(",")[0]; Stringkcbh=request.getParameter("xsname").split(",")[1]; HttpSessionsession=request.getSession(); session.setAttribute("xsname",xsname); session.setAttribute("kcbh",kcbh); response.sendRedirect("jsdf.jsp");Dao: PreparedStatementps=null; Stringsql="updatehomeworksetcj=?wherexsname=?andkcbh=?"; try{ ps=db.getConn().prepareStatement(sql); if(cj=="") { ps.setString(1,"0"); } else { ps.setString(1,cj); } ps.setString(2,xsname); ps.setString(3,kcbh); ps.executeUpdate(); } catch(SQLExceptione){ e.printStackTrace(); }catch(Exceptione){ e.printStackTrace(); } }图4-6学生作业重复率比较核心代码:Servlet:Stringzynr1=newString(request.getParameter("zynr1").getBytes("ISO8859_1"),"GBK"); Stringzynr2=newString(request.getParameter("zynr2").getBytes("ISO8859_1"),"GBK"); Stringgjglc=newString(request.getParameter("gjglc").getBytes("ISO8859_1"),"GBK"); intn=0; intm=0; doublecfl; for(inti=0;i<gjglc.split(",").length;i++) { if(zynr1.indexOf(gjglc.split(",")[i])!=-1) { n++; } if(zynr2.indexOf(gjglc.split(",")[i])!=-1) { m++; } } if(n>m) { cfl=((double)m)/((double)n); } else { cfl=((double)n)/((double)m); } zypgbobo=newzypgbo(); bo.setCfl(cfl); ArrayList<zypgbo>list=newArrayList<zypgbo>(); list.add(bo); request.setAttribute("list",list); request.getRequestDispatcher("cflxx.jsp").forward(request,response);//重复率 } 4.3.5管理员管理用户信息这一模块主要是系统管理员管理用户信息界面。如图4-7所示。图4-7管理员管理用户信息页面管理员添加一个新的用户信息,具体界面如图4-8所示。图4-8管理员添加新用户用户信息页面管理员添加一个新的用户信息。其核心代码如下:Servlet:AddYhxxDaomydao=newAddYhxxDao(); if(mydao.getUserSfcz(username)==true) { response.sendRedirect("Yhxxycz.jsp"); } else { mydao.addyhxx(username,password,xm); ArrayList<zypgbo>list=newArrayList<zypgbo>(); YhxxDaodao=newYhxxDao(); list=dao.getYhxxlist(); request.setAttribute("list",list); request.getRequestDispatcher("yhxx.jsp").forward(request,response);//管理员管理用户信息 }管理员对用户密码进行重置,具体如图4-9所示。图4-9管理员添加一个新的用户信息。其核心代码如下:Servlet:Stringusername=request.getParameter("username"); YhmmCzDaomydao=newYhmmCzDao(); mydao.yhmmCz(username); ArrayList<zypgbo>list=newArrayList<zypgbo>(); YhxxDaodao=newYhxxDao(); list=dao.getYhxxlist(); request.setAttribute("list",list); request.getRequestDispatcher("yhxx.jsp").forward(request,response);//管理员管理用户信息 }管理员删除用户信息,其页面显示如图4-10所示。图4-10删除用户信息页面核心代码如下:Servlet:Stringusername=request.getParameter("username"); DeleteyhxxDaomydao=newDeleteyhxxDao(); mydao.deleteYhxx(username); ArrayList<zypgbo>list=newArrayList<zypgbo>(); YhxxDaodao=newYhxxDao(); list=dao.getYhxxlist(); request.setAttribute("list",list); request.getRequestDispatcher("yhxx.jsp").forward(request,response);//管理员管理用户信息管理员批量上传用户信息,其页面显示如图4-11所示。核心代码如下:Servlet:Sheetsheet;Workbookbook;Cellcell1,cell2,cell3; //123.xls为要读取的excel文件名try{ book=Workbook.getWorkbook(newFile("D:\\yhxx.xls"));sheet=book.getSheet(0); for(inti=0;i<sheet.getRows();i++) { cell1=sheet.getCell(0,i);//用户名 cell2=sheet.getCell(1,i);//用户密码 cell3=sheet.getCell(2,i);//用户姓名 AddYhxxDaomydao=newAddYhxxDao(); mydao.addyhxx(cell1.getContents().toString(),cell2.getContents().toString(),cell3.getContents().toString()); } ArrayList<zypgbo>list=newArrayList<zypgbo>(); YhxxDaodao=newYhxxDao(); list=dao.getYhxxlist(); request.setAttribute("list",list); request.getRequestDispatcher("yhxx.jsp").forward(request,response);//管理员管理用户信息 }catch(BiffExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }4.4本章小结本章先是对本系统要实现的功能模块进行看详细的介绍,接下来对各个模块进行了详细的介绍,包括界面的具体设计和核心代码的具体编写,力图将整个系统的设计思路清楚地表达出来。

第五章系统的功能测试与性能测试5.1测试目标教师在线批改作业管理系统的主要功能模块,包括以下模块:下面列出各个功能的详细描述:管理用户信息:管理员可以添加、删除一个新用户,还可以对用户密码进行重置。下载学生作业:教师可以对自己的课程对于的作业下载。上传学生作业:教师可以对自己查看过的作业批改过了可以上传。学生作业打分:对学生的作业进行评分。比对作业重复率:可以比对两份学生的作业,定义关键字得到重复率是多少。学生上传作业:学生选择一门课程然后上传对应的作业。学生下载作业:对教师批改完的作业下载查看。分数查询:对自己的成绩进行查看。每个模块的测试都选取的相应的测试用例,并且结合相应的实际情况,这样做到好处是可以使测试过程更加简洁化、清晰化,由于系统模块过多,这里只选择的具有代表性的模块进行测试。5.2系统运行环境配置CPU :InterCore2DuoCPUT57502.00GHZ安装内存:4.00GB硬盘:500GWINDOW7IE8.0MySql5.3功能测试5.3.1测试系统登录功能首先输入用户名和密码,如图5-1所示。图5-1登录界面学生登录系统成果之后进入上传作业界面,如图5-2所示。图5-2学生上传作业界面如果输入用户名和密码不正确系统会再次显示登陆界面,如图5-3所示。图5-3登录界面5.3.2系统管理员添加新用户信息模块测试管理员没有输入用户名,则系统会给出提示,如图5-4所示。图5-4添加新用户管理员没有将两次的密码输入正确,系统会给出提示,如图5-5所示。图5-5添加新用户5.3.3用户信息模块增加、删除、修改测试增加一个新的用户信息,增加界面如图5-6所示。图5-6新增用户再去查看用户的信息表,结果如图5-7所示。图5-7新增用户成功删除用户信息,如图5-8所示。图5-8删除用户信息再去查看用户的信息表,结果如图5-9所示。图5-9删除用户信息成功用户密码重置,如图5-10所示。图5-10重置用户密码再去查看用户的信息表,结果如图5-11所示。5.3.4学生上传作业测试学生上传一门课的作业,如图5-12所示。图5-11学生上传作业然后我们查看该学生的上传作业记录,如图5-12所示。图5-12上传成功5.3.5下载测试教师和学生都可以进行下载操作,我们对其进行测试,如图5-13所示。图5-13下载操作然后我们来看经过处理后的状况,如图5-14所示。图5-14下载5.3.6打分测试教师为学生作业打分,我们对其进行测试,如图5-15所示。图5-15学生作业打分界面如图5-16。图5-16打分打分完成后,我们再看,如图5-17。图5-17打分后5.3.7作业重复率比对测试教师可以对两个学生的作业定义关键字进行重复率比对,我们对其进行测试,如图5-18—5-20所示。图5-18图5-19作业重复率比对图5-20作业重复率比对5.4性能测试 程序的开发已经完成,但是对于一个系统来说这只是一个开始而已,以后还要对齐进行大量繁复的测试,以此来保证程序的健壮性和可靠性,最主要的方式来测试它的并发性,多用户、多线程进行操作看一下程序还能否正常的运行。对于次系统,主要是考虑系统的性能方面。为此系统这设计了如下的设计方案:从局域网的一台或多台主机持续稳定地发送访问请求,本地系统将记录每个请求的接收时间,再记录下网站响应的时间,从而获得单位时间内请求次数的增加网站响应请求的时耗,分析程序的运行效率。在这里我们使用WEB能力测试V4.0对系统进行测试,将要测试的URL输入进去“http://localhost:8080/CLTS/Login.jsp”,这个测试软件可以根据不同的要求进行相应的调整,从而可以满足不同的测试。WEB能力测试V4.0主界面如图5-21所示。图5-21WEB能力测试V4.0整个测试,我们将初始测试的每秒请求次数定位4次/秒,并且以4单位增长,请求持续时间全部定位10秒,我们首先要访问的界面是登录界面,本地地址为http://localhost:8080/jszxpgzy/index.jsp每次测试结束后记录测试结果,所有的测试结果如表5.1所示。 表5.1性能测试数据每秒请求次数响应时间(ms)546510490155102051525525307903511104037694538695050005.5测试结果分析 5.5.1功能测试结果分析测试结果表明系统的各个模块都能正常运行,工作性能良好。系统的登录正常工作,用户系统登录,用户输入正确的登录名和密码则就会进入到系统中去,如果输入用户名和密码不正确系统会再次显示登陆界面;新增用户,如果管理员不输入用户名,或者两次输入密码不正确,系统都会弹出对话框,提示管理员进行正确的输入;下载学生作业:教师可以对自己的课程对于的作业下载;处上传学生作业:教师可以对自己查看过的作业批改过了可以上传;学生作业打分:教师对学生的作业进行评分;比对作业重复率:可以比对两份学生的作业,定义关键字得到重复率是多少;学生上传作业:学生选择一门课程然后上传对应的作业;学生下载作业:对教师批改完的作业下载查看;分数查询:对自己的成绩进行查看。5.5.2本章小结本章首先对测试目标和测试环境进行了交代,明确系统要达到的目标是什么样的,还有测试环境有什么要求。然后,就各个模块进行了合理的测试,选取适当的测试用例,测试结果表明系统的各个模块都能实现我们预期的功能,系统并没有明显的bug。等到这些测试完成之后,我们进行了压力测试,使用的一个专门的测试软件--web能力测试(v4.0)。根据我们的测试结果表明,系统是能够正常运行的,当然前提是共同使用人数控制在一定的范围之内,如果人数过多系统的相应时间就会大大的延长,这是我们后期的工作重心。

第六章系统评价6.1系统的特点本系统设计的时候用到的关键技术:(1)MVC(Model-View-Controller)是整个系统的核心和精华所在,这也是我本次系统设计的最大收获。这种架构把真个系统的各个模块都分成了清晰的几部分,是我们在开发系统的过程中思路极其明朗。MVC将逻辑和界面分开来进行设计,这是很厉害的地方,我十分佩服这一点的。这样做的好处就是:系统的维护和二次开发变得简单起来了。

(2)ServletServlet带给开发人员最大的好处是它可以处理客户端传来的HTTP请求,并返回一个响应。Servlet是一个Java的类,Java语言能够实现的功能,Servlet基本上都能实现(除了图形界面外)。

Servlet有以下优势

a.可移植

因为Servlet由Java开发并符合规范定义和广泛接收的API,它可以再不提的操作系统平台和不同的应用服务器平台下移植。b.功能强大Servlet可以使用JavaAPI核心的所有功能,这些功能包括Web和URL访问、图像处理、数据压缩、多线程、JDBC、RMI和序列化对象等。c.安全有几个不同层次为Servlet的安全提供了保障。首先,它是Java编写的,所以它可以使用Java的安全框架;其次,ServletAPI被实现为类型安全的;另外容器也会对Servlet的安全进行管理。在Servlet安全策略中,可以使用编程的安全也可以使用声明性的安全,声明性的安全由容器进行统一管理。d.简洁Servlet代码面向对象,在封装方面具有先天的优势。e.集成

Servlet和服务器紧密集成,它们可以密切合作完成特定的任务。f.模块化每一个Servlet可以执行一个特定任务,并且可以讲他们并在一起工作。Servlet之间是可以相互交流的

g.扩展性和灵活性

Servlet本身的接口设计得非常精简,使得它有很强的扩展性。需要指出的是,Servlet不等于HttpServlet,后者是前者的一个常见扩展。h.高效耐久Servlet一旦载入,它就驻留在内存中,这样加快了响应的速度。在服务器上仅有一个Java虚拟机在运行,它的优势在于,当Servlet被客户端发送的第一个请示激活,以后它将继续运行于后台,等待以后的请求。每个请求将生成一个线程而不是进程。6.2系统展望本系统是一个实用型的网站,当然系统存在着一些缺陷和不足之处,在系统的安全性方面我们还可以进一步的完善和加强,针对用户的权限问题,以后可以考虑加一个专门的权限管理

温馨提示

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

评论

0/150

提交评论