网络辅助教学平台的设计与实现_第1页
网络辅助教学平台的设计与实现_第2页
网络辅助教学平台的设计与实现_第3页
网络辅助教学平台的设计与实现_第4页
网络辅助教学平台的设计与实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

在服务器上建立数据库,其中包括以下表:表4-1所有用户:表4-2成绩:表4-3错题记录:表4-4单选题:表4-5多选题:表4-6教师表4-7教学资源:表4-8课程信息:表4-9留言板:表4-10判断题:表4-11评论:表4-12试卷信息:表4-13填空题:表4-14新闻通知表4-15学生:表4-16用户注册:表4-17友情链接5.系统实现5.1基本任务系统实现阶段的基本目标是在该阶段的设计工作中准确地描述目标系统的业务逻辑,方便在代码编写时可以直接转换为用编程语言编写的系统。系统实现的基本任务如下:1)每个功能模块的详细功能设计。使用图形、表格等工具描述每个模块对应的功能逻辑。2)设计每个模块的数据结构,确定数据库的表结构。由需求分析和系统设计确定数据类型的精确定义。3)编写系统实现流程规范。4)回顾该过程的实现代码和数据库的物理结构。系统结构可分为src的java源代码,database文件夹为系统的数据库文件,webroot为系统的界面代码文件。Src文件夹里面包含control包、dao包、util包,dao包为逻辑层,是系统方法的底层包,包括各种数据增删改查的方法,control包是控制层,用于把逻辑层和视图层连接起来。在逻辑层调用逻辑层以完成视图层所需的功能。视图层是系统的界面代码,完成了接口的设计和数据的显示。系统结构如图5-1所示。图5-1系统结构5.2登录模块的实现5.2.1首页实现在系统的前台首页,主要有用户登录页面,以及相关新闻的展示等,在首页的导航栏中可看出,该系统主要有站内新闻、系统简介、学生注册、教师注册、教学资源、在线留言等主要模块。首页页面如图5-2所示。图5-2首页页面图首页主要代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="gb2312"%><%@pageimport="util.Info"%><%@pageimport="dao.CommDAO"%><%@pageimport="util.PageManager"%>5.2.2管理员后台登录为确保系统的信息安全,管理员需要在个人后台页面的登录框中输入正确的用户名,密码,权限和验证码,然后单击“登录”按钮便能进入系统的后台管理页面。用户登录流程图如图5-3所示。图5-3用户登录流程图登录界面如图5-4所示。图5-4登录界面用户登录的逻辑代码如下:if(ac.equals("adminlogin")) { Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("pwd"); Stringutype=request.getParameter("cx"); Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom"); Stringrandom=(String)request.getSession().getAttribute("random"); if(!pagerandom.equals(random)&&request.getParameter("a")!=null) { request.setAttribute("random",""); go("/login.jsp",request,response); } else{ StringMySQL1="select*fromalluserswhereusername='"+username+"'andpwd='"+password+"'"; List<HashMap>userlist1=dao.select(MySQL1); if(userlist1.size()==1) { request.getSession().setAttribute("username",userlist1.get(0).get("username")); request.getSession().setAttribute("cx",userlist1.get(0).get("cx")); gor("main.jsp",request,response); }else{ request.setAttribute("error",""); go("/login.jsp",request,response); } } }5.3教师用户模块的实现5.3.1教学资源管理模块的实现教学资源信息添加功能主要指对其科目、内容等一些基本信息的添加、删除和修改。教学资源查询能根据标题、内容等多种条件对资源信息进行精确查询。教学资源管理流程图如图5-5所示。图5-5教学资源管理流程图教学资源添加如图5-6所示:图5-6教学资源添加教学资源查询如图5-7所示:图5-7教学资源查询5.3.2试卷生成管理模块的实现用户点击试卷生成按钮以进入测试卷生成页面,并提交试卷生成信息。在生成成功的试卷之后,管理员管理用户的试卷生成信息并进行检查,如果试题数量不够则提示报错。用户试卷生成流程图如图5-8所示。图5-8用户试卷生成流程图用户试卷生成界面如图5-9所示。图5-9用户试卷生成5.4管理员模块的实现5.4.1用户管理模块的实现系统用户管理模块主要是对用户进行添加或者删除操作。添加新用户主要是指添加用户名并确定其密码;还会从下拉菜单中删除旧用户的删除,以查找相应的用户名。无论是新用户添加还是旧用户删除,此操作权限只有管理员才能使用。用户管理流程图如图5-11所示。图5-11用户管理流程图用户管理界面如图5-12所示。图5-12用户管理系统用户管理关键代码为:<%newCommDAO().delete(request,"yonghuzhuce");Stringurl="yonghuzhuce_list.jsp?1=1";StringMySQL="select*fromyonghuzhucewhere1=1"; if(request.getParameter("yonghuming")==""||request.getParameter("yonghuming")==null){}else{MySQL=MySQL+"andyonghuminglike'%"+request.getParameter("yonghuming").trim()+"%'";} if(request.getParameter("xingming")==""||request.getParameter("xingming")==null){}else{MySQL=MySQL+"andxingminglike'%"+request.getParameter("xingming").trim()+"%'";} if(request.getParameter("QQ")==""||request.getParameter("QQ")==null){}else{MySQL=MySQL+"andQQlike'%"+request.getParameter("QQ").trim()+"%'";} if(request.getParameter("youxiang")==""||request.getParameter("youxiang")==null){}else{MySQL=MySQL+"andyouxianglike'%"+request.getParameter("youxiang").trim()+"%'";} if(request.getParameter("dianhua")==""||request.getParameter("dianhua")==null){}else{MySQL=MySQL+"anddianhualike'%"+request.getParameter("dianhua").trim()+"%'";} if(request.getParameter("shenfenzheng")==""||request.getParameter("shenfenzheng")==null){}else{MySQL=MySQL+"andshenfenzhenglike'%"+request.getParameter("shenfenzheng").trim()+"%'";}MySQL+="orderbyiddesc"; //out.print(MySQL); ArrayList<HashMap>list=PageManager.getPages(url,10,MySQL,request); inti=0; for(HashMapmap:list){ i++;%>5.4.2课程信息管理模块的实现课程信息管理模块主要是对课程资源信息进行添加、修改、删除等操作。课程信息查询可以根据名称、科目等各种条件查询指定一条的课程信息。课程信息管理流程图如图5-13所示。图5-13课程信息管理流程图课程信息添加如图5-14所示:图5-14课程信息添加课程信息查询如图5-15所示:图5-15课程信息查询课程信息信息添加关键代码为:protectedvoidButton1_Click(objectsender,EventArgse){stringMySQL;MySQL="insertintoliuyanban(cheng,biaoqing,biaoti,neirong,huifu)values('"+cheng.Text.ToString().Trim()+"','"+biaoqing.Text.ToString().Trim()+"','"+biaoti.Text.ToString().Trim()+"','"+neirong.Text.ToString().Trim()+"','"+huifu.Text.ToString().Trim()+"')";intresult;result=newClass1().hsgexucute(MySQL);if(result==1){Response.Write("<script>javascript:alert('添加成功');</script>");}else{Response.Write("<script>javascript:alert('添加失败');</script>");5.4.3教师信息管理模块的实现教师信息信息管理模块主要是对标题和内容等一些基本信息的添加,删除和修改。教师信息查询可以根据标题和内容等各种条件查询某一教师的信息。教师信息管理流程图如图5-16所示。图5-16教师信息管理流程图教师信息添加如图5-17所示:图5-17教师信息添加教师信息查询如图5-18所示:图5-18教师信息查询教师信息信息添加关键代码为:protectedvoidButton1_Click(objectsender,EventArgse){stringMySQL;MySQL="insertintoliuyanban(cheng,biaoqing,biaoti,neirong,huifu)values('"+cheng.Text.ToString().Trim()+"','"+biaoqing.Text.ToString().Trim()+"','"+biaoti.Text.ToString().Trim()+"','"+neirong.Text.ToString().Trim()+"','"+huifu.Text.ToString().Trim()+"')";intresult;result=newClass1().hsgexucute(MySQL);if(result==1){Response.Write("<script>javascript:alert('添加成功');</script>");}else{Response.Write("<script>javascript:alert('添加失败');</script>");}}5.4.4学生信息管理模块的实现学生信息管理模块主要是管理员对学生信息进行添加、删除、修改等操作。学生信息管理流程图如图5-19所示。图5-19学生信息管理流程图学生信息添加如图5-20所示:图5-20学生信息添加学生信息查询如图5-21所示:图5-21学生信息查询学生信息关键代码为:<%HashMapext=newHashMap();ext.put("issh","否");newCommDAO().insert(request,response,"xueshengxinxi",ext,true,false,"index.jsp");%>5.5学生管理模块的实现5.5.1在线考试模块的实现用户点击某个试卷进入在线考试页,点击开始考试按钮进入在线考试页,提交考试信息,考试时间结束后交卷,系统显示此次测试的成绩。用户在线考试流程图如图5-22所示。图5-22用户在线考试流程图用户在线考试界面图5-23所示。图5-23用户在线考试5.5.2我的成绩管理模块的实现管理员发布考试成绩,系统显示我的成绩,学生可在系统中查看自己的试卷测试成绩并详细查看做过的错题。考试成绩流程图如图5-24所示。图5-24考试成绩流程图我的成绩查询如图5-25所示:图5-25成绩信息查询成绩关键代码为:<%HashMapext=newHashMap();ext.put("issh","否");newCommDAO().insert(request,response,"chengji",ext,true,false,"index.jsp");

6.系统测试6.1测试目的系统测试的目的主要是确认系统相关功能是否正常运行以及暗处存在的代码bug等,其次,软件测试能够识别项目风险。为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪项目进度和严格把控各个开发阶段的产品质量。基于ssm的网络辅助教学平台,主要测试客户端的使用和后台服务器的使用。客户端主要是测试用户注册、用户登录、用户完善信息、页面是否进行跳转等功能是否实现。管理员则主要是测试系统信息管理、教师信息管理、学生信息管理、教学资源管理等功能是否正常添加、删除或修改。6.2测试概述1)测试的原则(1)系统测试应该避免测试自己的程序,以免发现不了细小的问题。(2)系统测试用例应有两部分组成,分别为输入测试和输出测试。(3)系统测试数据应通过引用不合理的数据进行测试,每个案例应逐一测试。(4)不仅要检查程序是否达到了预期的效果,还要检查程序是否执行了预料之外会影响系统数据的操作。(5)对仍然存在错误的模块进行测试并完善错误代码。(6)模块代码修改后,应及时重新测试保证功能正常。2)测试的方法测试方法主要有人工测试和机器测试。(1)人工测试人工测试又称代码复审,包括个人复查、走查、会审三种方法[7]。(2)机器测试机器测试主要是由黑盒测试和白盒测试两种方法。在最后的测试阶段,系统采用后黑盒测试和白盒测试想结合的方法。黑盒测试主要用于对系统的输入和输出特性进行测试,检测功能方面存在的错误与可能存在的缺陷。白盒测试主要用于对软件的过程及逻辑路径进行测试,发现性能方面的错误。具体采用的测试方法为系统测试和单元测试。6.3单元测试6.3.1注册测试游客用户得先注册账号才能登录系统,用户输入符合规则的用户名后,填写2次一样的密码,点击注册按钮,系统弹出提示框提示“成功“。当用户密码和确认密码不一致时,系统会提示确认密码与设置密码不一致,请重新修改。注册测试如表6-1所示。表6-1注册测试6.3.2登录测试登录模块需要测试的功能有:输入登录用户的用户名和密码,单击“登录”按钮测试网页是否正常转发进入系统首页。登录测试用例如表6-2所示。表6-2登录测试用例6.4集成测试集成测试的方案主要如下所述:1)将本系统移植到另一台计算机上,测试是否能正常运行。2)用户信息管理模块综合测试,添加新用户test,为其分配一般管理员角色,查看一般管理员角色权限,保存设置,以text身份登录,查看所拥有权限。3)最后按照网络辅助教学平台的设计与实现,以不同角色的身份进入系统,对系统各模块功能进行测试,测试模块间逻辑功是否有误。经过测试,发现此开发系统可以满足网络辅助教学平台流程的基本工作流程和基本要求。7.总结经过一段时间的努力和坚持,网络辅助教学平台终于完成,程序功能模块可以根据需要运行,并实现多个用户的并发使用,但是在系统开发过程中。由于我对设计经验和专业知识的局限性,在功能和业务逻辑的某些方面并不完美,系统仍然存在一些缺陷。如外观界面的布局设计受到自身低设计的限制,无法满足其我对设计的界面审美要求。另一方面,系统存在一些问题和未考虑完善的功能模块。在学习过程中,我第一次独立设计工作,编码过程存在很多问题和困难,比如在编写代码时觉的没有问题并且能通过编译,但是在测试时才发现即使能通过编译器运行但往往会发生错误。这些问题可能都是简单的问题。例如,标点符号应该是英文的,但是由于编程习惯不好而输入一些中文符号。经过仔细观察和老师的帮助小组,问题终于还是得到解决。目前,该系统的功能相对简单,仍存在许多缺陷。这是我不断进步和改进的动力。参考文献刘晓华,周慧贞.JSP应用开发详解[M].北京:电子工业出版社,2013.阿斯利森,舒塔,金灵等译.Ajax基础教程[M].北京:人民邮电出版社,2014.

孙鑫.Struts2深入详解[M].北京:电子工业出版社,2012.

王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社出版社,2010.王毅,周峰,孙更新.J2EE经典案例设计与实现[M].北京:电子工业出版,2013.

孙鑫.Struts2深入详解(Java技术大系)[M].北京:电子工业出版社,2012.

郑阿奇.MySQL实

温馨提示

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

评论

0/150

提交评论