素材ssh框架学习网站设计论文.docx
《素材ssh框架学习网站设计论文.docx》由会员分享,可在线阅读,更多相关《素材ssh框架学习网站设计论文.docx(34页珍藏版)》请在冰豆网上搜索。
素材ssh框架学习网站设计论文
(此文档为word格式,下载后您可任意编辑修改!
)
资料共享有意大家
大连民族学院本科毕业设计(论文)
基于J2EE的计算机基础教学学习网站的设计与实现
学院(系):
计算机科学与工程
专业:
软件工程
大连民族学院
摘要
信息技术的迅速发展,已经在教育领域产生了深刻的影响,它对于转变传统教育思想和观念,促进教学模式、教学体系、教学内容和教学方法的改革,加速教育手段和管理的现代化等方面都具有重要的意义。
计算机辅助教学(ComputerAssistedInstruction)作为一种现代化的教学技术,越来越受到人们的重视。
本次毕业设计将完成一个计算机基础教学学习网站的制作,该网站的主要用户为教师和学生,为了方便学生课余的学习,教师可以在网站上发布新的学习资料,上传课件和和热门文章。
学生也可以在课下通过浏览网页的方式获取教师发布的信息,下载网站的学习资料和课件,应用搜索功能快速定位所需资源。
学生可以在网站提问模块提出学习过程中遇到的问题,每个人都以匿名的方式回答问题,集思广益。
此网站最大的优势是把word,pdf,视频等资源以plash的形式统一发布,方便教师上传大量现有的word,pdf文档。
使用struts,spring,ofcomputerbasalteachingandlearningWebsitebasedonJ2EE
Abstract
Therapiddevelopmentofinformationtechnologyeducation.Itchangingthetraditionalideasandconceptsoftheeducation,promotingtoreformteachingmode,teachingsystem,teachingcontentsandmethods,acceleratingthemodernizationofmanagementandotheraspects.Asamodernteachingtechnology,CAI(ComputerAssistedInstruction)moreandmorepeople’sattention.
Thegraduationdesignwillcompleteacoursewebsite.Themainusersofthiswebsiteareteachersandstudents.Inordertofacilitatestudents’studyafterclass,teacherscanpublishnewlearninginformation,uploadcoursewareandarticles,andstudentscanaccesstheinformationsreleasedbyteachers,downloadlearningmaterials,coursewareandsoon,usesearchingtoolstolocateinformationwhichtheyneed.what’smorestudentscanalsoasksomequestionstheymeetthemafterclassstudy,andinordertosolvetheproblomeverybodyareabletoreplyitbytypeofcryptonym.byconversingword,pdf,videoandandotherresourcestoplashtopublishwilllendthiswebsiteanedgetotheothers,sothatteacherscanuploadagreaddealofwordandpdfresourceswhichalreadyexist,usingthestruts,spring,dynamic.
KeyWords:
ComputerAssistedInstruction;computerbasalteachingandlearningWebsite;uniformresources;
由RodJohnson和JuergenHoeller等开发。
Spring中包含的关键特性,如图2.1所示:
图2.1Spring模块
1、核心容器:
提供Spring框架的基本功能。
核心容器的主要组件是BeanFactory,它是工厂模式的实现。
BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
2、SpringContext:
是一个配置文件,向Spring框架提供上下文信息。
Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
3、SpringAOP:
通过配置管理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。
所以,可以很容易地使Spring框架管理的任何对象支持AOP。
SpringAOP模块为基于Spring的应用程序中的对象提供了事务管理服务。
通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
4、SpringDAO:
JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量。
5、SpringORM:
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQLMap。
所有这些都遵从Spring的通用事务和DAO异常层次结构。
6、SpringWeb模块:
Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。
所以,Spring框架支持与JakartaStruts的集成。
Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7、SpringMVC框架:
MVC框架是一个全功能的构建Web应用程序的MVC实现。
通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。
本文使用springIOC容器管理业务层对象及数据访问层对象;通过SpringAOP对数据库进行事务管理;使用SpringDAO结合Ibatis框架编写数据库访问层。
1、2.1.2),用于存储用户发布的问题信息,如表3.9所示:
表3.9t_question表
2、回复表(t_reply),用于存储问题回复信息,如表3.10所示:
表3.10t_reply表
3、教程表(t_tutorial),用于存储课程下的教程信息,如表3.11所示:
表3.11t_tutorial表
3.3.2实体关系图(主要部分ER图)
第四章系统实现
4.1用户登陆模块
4.1.1主要界面实现
功能描述:
计算机基础教学学习网用户分为三类:
管理员,教师,学生;其中管理员和教师需要登陆,学生主要游览管理员和教师发布的资源。
管理员和教师在同一个登陆表单中登陆,系统根据取到的用户名,密码,课程号判断用户的类型,由action负责跳转到相应的管理页面。
登陆界面主要特点是弹出型,避免了反复跳转的麻烦。
实现原理:
通过jquery动态生成一个表格,在表格中的每个单元格中加入图片或输入框,同时把图片的设置为透明。
登陆页面如图4.1所示:
图4.1用户登陆界面图
4.1.2主要代码实现
if(userManager.isTeacher(username,password)){
在教师表中查找,如果能查找到直接跳到教师管理界面,如果没查到,继续在管理员表中查找
Teacherteacher=userManager.findTeacherByUsername(username);
request.getSession().setAttribute("teacher",teacher);
request.getSession().setAttribute("coursename",teacher.getCourse().getCourseName());
request.getSession().setAttribute("courseid",String.valueOf(teacher.getCourse().getId()));
SettutorialFormList=newHashSet();
SettutorialList=teacher.getCourse().getTutorial();
for(Iteratoriter=tutorialList.iterator();iter.(t.getDescription());
tuf.setId(t.getId());
tuf.setPicFilename(t.getPicFilename());
tuf.setTitle(t.getTitle());
tutorialFormList.add(tuf);
}
request.getSession().setAttribute("tutorial",tutorialFormList);
request.getSession().setAttribute("username",username);
request.getSession().setAttribute("information","欢迎"+username);
actionForward=newActionForward("adminindex_teacher.jsp");
returnactionForward;
}elseif(userManager.isAdmin(username,password)){
在管理员表中查找,如果找到,跳转到管理员管理界面,如果没查找到说明用户名或密码错误
request.getSession().setAttribute("username",username);
request.getSession().setAttribute("information","欢迎"+username);
ListnewsList=newsManager.findAllNoPage();
ListnewsFormList=newArrayList();
for(Iteratoriter=newsList.iterator();iter.().setAttribute("newsFormList",newsFormList);
actionForward=newActionForward("adminindex_admin.jsp");
returnactionForward;
}else{
用户名或密码错误,直接跳转到首页登陆界面
*首页通知初始化*
ListmessageList=messageManager.findAllForHomePage(1,10);
request.setAttribute("messageList",messageList);
*首页新闻初始化*
ListnewsList=newsManager.findAllForHomePage(1,14);
request.setAttribute("newslist",newsList);
*首页当行条课程的初始化*
ListcourseList=courseManager.findAll();
request.setAttribute("courseList",courseList);
request.getSession().setAttribute("information","用户名或密码错误");
returnmapping.findForward("home");
}
4.2常用软件下载模块
4.2.1主要界面实现
功能描述:
主要是发布计算机学习中必备的软件,如word,excel,VC6.0,photoshop等软件。
实现原理:
主要由ServletContext类获得服务器的根目录,再用输入输出流读入和输入文件。
页面如图4.2所示:
图4.2常用软甲下载界面图
4.2.2主要代码实现
intstatus=0;
byteb[]=newbyte[1024];
FileInputStreamin=null;
ServletOutputStreamout2=null;
Stringpath=context.getRealPath("");
try{
response.setHeader("content-disposition","attachment;filename="+download.getFileName());
response.setContentType("applicationx-download");
in=newFileInputStream(path+"softwaredownloaddownloadfile"+download.getFileName());
out2=response.getOutputStream();
while(status!
=-1){
status=in.read(b);
out2.write(b);
}
out2.flush();
}catch(Exceptione){
e.printStackTrace();
response.sendRedirect("!
=null){
in.close();
}
if(out2!
=null){
out2.close();
}
}
4.3提问和回复模块
4.3.1主要界面实现
功能描述:
学生在学习过程中遇到的问题可以在计算机教学学习网站上提问,其他同学和教师可以游览,以匿名的方式回答,网站会记录每个问题的访问量和回答数量,学生可以学习到其他同学不懂的问题
实现原理:
每次提问都要选择问题所属科目,当在没有选择课程提交的情况下,由jquery做出拦截,阻止提交。
页面如图4.3所示:
图4.3提问与恢复界面图
4.3.2主要代码实现
intcourseId=Integer.parseInt(request.getParameter("courseid"));
Stringtitle=(String)request.getParameter("title");
StringquestionCon=(String)request.getParameter("questionCon");
Coursecourse=(Course)courseManager.findCourseById(courseId);
Questionquestion=newQuestion();
question.setCourse(course);
question.setPubTime(newDate());
question.setQuestionCon(questionCon);
question.setTitle(title);
questionManager.add(question);
PageModelpageModel=questionManager.findAll(1,15,courseId);
request.setAttribute("courseid",String.valueOf(courseId));
request.setAttribute("pageModel",pageModel);
4.4阅读教程模块
4.4.1主要界面实现
功能描述:
学生根据自己的爱好选择课程-》选择教程-》选择章节-》阅读
实现原理:
由flashpage把word转换成swf,实现同视频,pdf等统一播放,不必令写代码。
页面如图4.4所示:
图4.4阅读教程界面图
4.4.2主要代码实现
4.5.1主要界面实现
功能描述:
当系统总的教程很多时,找到学生感兴趣的资源不是一件容易的事情,现在学生可以输入关键词来搜索。
实现原理:
使用hql语言的模糊匹配,在章节表中查找匹配的资源。
页面如图4.5所示:
图4.5搜索界面图
4.5.1主要代码实现
publicPageModelsearchFor(finalintpageNo,finalintpageSize,finalStringitem){
PageModelpageModel=newPageModel();
ListnewsItems=this.getHibernateTemplate().executeFind(newHibernateCallback(){
publicObjectdoInHibernate(Sessionsession)
throwsHibernateException,SQLException{
returnsession.createQuery("fromChapternwheren.titlelike'%"+item+"%'orderbyn.iddesc")
.setFirstResult((pageNo-1)*pageSize)
.setMaxResults(pageSize).list();
}
});
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setList(newsItems);
pageModel.setTotalRecords(getTotalRecords(item));
returnpageModel;
}
第五章系统测试
5.1系统测试概述
由于计算机基础教学学习网是个实际项目,在系统测试阶段要进行功能测试,性能测试,安全测试,回复测试,文档测试等测试,重点要进行功能测试。
功能测试:
主要检查网站的功能是否符合需求规格说明书。
基本方法是构造一些合理的输入,检查是否得到预期的输出,是一种枚举的方法。
当若枚举空间是无限的,关键在于寻找等价区间,有效的方法是边界值测试。
性能测试:
性能测试是测试系统集成后的性能,常常与强度测试联系在一起进行。
安全测试:
安全测试测试的目的在于验证安装在系统内的保护机制能够在实际中保护系统不受非法进入,不受各种非凡输入的干扰,系统的安全测试要设计测试用例,视图图片系统的安全保护测试,检查系统是否有俺去保密的漏洞。
本系统主要进行功能测试,那么就需要对系统的功能点做到全面覆盖,力求设计的测试用例能够全面覆盖。
主要测试新闻模块,通知模块,软件下载模块,搜索模块,登陆模块,问题与回复模块,教程分类模块,阅读模块,视频观看等模块。
5.1.1测试工具QC(QualityCenter)介绍
1.QualityCenter有助于维护测试的项目数据库,这个数据库涵盖了应用程序功能的各个方面。
设计了项目中的每个测试,以满足应用程序的某个特定的测试需求。
要达到项目的各个目标,可将项目中的测试组织成各种特定的组。
QualityCenter提供了一种直观、高效的方法,用于计划和执行测试集、收集测试结果以及分析相关数据。
2.QualityCenter还具有一套完善的系统,用于跟踪应用程序缺陷,通过它,您可以在从初期检测到最后解决的整个过程中严密监视缺陷。
将QualityCenter链接到电子邮件系统,所有应用程序开发、质量保证、客户支持和信息系统人员可以共享缺陷跟踪信息。
3.QualityCenter可以集成Mercury测试工具(WinRunner、QuickTestProfessional、QuickTestProfessionalforMySAPWindowsClient、LoadRunner和VisualAPI-XP)以及第三方和自定义测试工具、需求和配置管理工具。
QualityCenter可以无缝地与您选择的测试工具通信,提供一种完整的解决方案,使应用程序测试完全自动化。
4.QualityCenter可指导您完成测试流程的需求指定、测试计划、测试执行和缺陷跟踪阶段。
它把应用程序测试中所涉及的全部任务集成起来,有助于确保客户能够得到最高质量的应用程序。
QC之所以强大,被很多公司采用(目前阿里巴巴公司也是采用这个测试平台),均是由于其与市面上流行的自动化测试工具有机的结合,可以将测试结果,bug直接放入QC,为测试人员节省了大量的时间并提高了效率。
5.2测试分析
5.2.1测试范围及重点
1.测试重点
功能测试:
主要测试新闻模块,通知模块,软件下载模块,搜索模块,登陆模块,问题与回复模块,教程分类模块,阅读模块,视频观看等模块。
性能测试:
测试大量用户同时连接时的访问速度。
2.测试范围:
浏览器:
IE6.0、IE7.0、Firefox
操作系统:
WindowsXP
5.2.2测试风险点及解决方案
风险点:
1.开发进度滞后:
开发进度的滞后影响了测试工作的开始。
2.编写TC时间,对TC的编写方法存在问题。
3.缺乏测试经验,没有合理安排测试时间。
解决方案:
1.开发进度滞后:
PM加强控制,推迟冒烟测试开始时间。
2.增加TC的编写时间,对TC的划分做详细分析。
3.尽量将计划时间提前,防止出现影响项目进度的情况。
5.2.3测试用例划分
在软件测试工具QC平台中,根据项目的模块进行测试用例划分,目的是是项目的测试能够模块化,这样更能分配任务,测试起来思路更清晰,也能够根据测试模块比较