资料简介:
毕业设计-软件工程实训环境的搭建--基于Struts和Hibernate的在线学习系统设计,共46页,16825字,附完整java源代码、开题报告等
摘要
随着网络应用的普及,软件技术在教学中的作用日益增强。对于教学而言,单纯依靠课堂上知识的传授是不够的,学生还需要在课下不断的练习和巩固自己所学的知识。软件工程实训平台即很好的为学生提供了这样一个环境。针对高校计算机人才在课余时间练习的需求,本系统以JSP技术为基础,使用了Struts和Hibernate框架,以B/S为结构基础,结合软件工程实训课程的教学特点和目标,以使学生更加明确的掌握自己的学习程度和漏洞,更加清晰明确的认识自己为目标,设计了这个系统。它运用方便、操作简单,效率很高,现阶段已实现了学生自主选择试题,计时答题的功能。本系统具有试题录入、修改和查询,组卷以及进行在线测试练习等重要功能,满足任何授权的学生随时登录系统进行测试练习,以及教师直观的查看学生学习的情况和进度,做到了课程知识的及时反馈。
本系统使用Java语言编写,Struts和Hibernate技术作为框架。Myeclipse作为编程工具,Tomcat作为服务器,MySQL作为数据库应用。
本文主要论述了采用软件工程的方法完成整个软件工程实训平台的搭建的开发过程。
关键词:软件工程实训平台;B/S模式; Struts和Hibernate框架
目录
1 绪论 - 1 -
1.1 研究现状 - 1 -
1.2 研究背景和意义 - 1 -
1.3 研究主要内容 - 2 -
2 系统开发技术介绍 - 3 -
2.1 技术平台及系统构架 - 3 -
2.2 Web应用程序 - 4 -
2.2.1 JSP技术 - 4 -
2.2.2 JDBC - 5 -
2.2.3 Hibernate和Struts 2框架 - 7 -
2.3 架构设计 - 7 -
2.4 B/S结构 - 8 -
3 系统开发环境的搭建 - 10 -
3.1 操作系统 - 10 -
3.2 系统开发环境 - 10 -
3.2.1开发环境的选择 - 10 -
3.2.2系统开发环境的安装 - 10 -
3.3 数据库 - 10 -
3.3.1数据库的选择 - 10 -
3.3.2 数据库的安装 - 11 -
3.4 系统服务器 - 11 -
3.4.1 系统服务器的选择 - 11 -
3.4.2 系统服务器的安装 - 11 -
4 系统需求分析 - 12 -
4.1 系统功能模块图 - 12 -
4.2 角色定义 - 12 -
4.2.1 学生 - 12 -
4.2.2 教师 - 13 -
4.2.3 项目要求 - 13 -
4.3 系统功能需求 - 13 -
4.3.1 学生功能需求 - 13 -
4.3.2 教师功能需求 - 14 -
5 系统设计 - 15 -
5.1 系统体系结构图 - 15 -
5.2 系统功能模块图 - 15 -
5.3 学生功能模块设计 - 17 -
5.4 教师功能模块设计 - 18 -
5.5 系统活动图 - 19 -
5.6 Hibernate数据持久化层设计 - 20 -
6 系统实现 - 22 -
6.1 数据层功能实现 - 22 -
6.1.1 创建对象/关系映射 - 23 -
6.1.2 创建持久化类 - 23 -
6.1.3 创建DAO实现 - 23 -
6.2 系统功能模块实现 - 24 -
6.2.1 用户管理 - 24 -
6.2.2 在线测试功能 - 25 -
6.2.3 教师管理 - 32 -
7 系统测试 - 35 -
7.1 系统测试环境 - 35 -
7.2 系统功能测试及功能测试工具 - 35 -
7.3 系统性能测试及性能测试工具 - 36 -
8 总 结 - 37 -
8.1 系统前景与展望 - 38 -
8.2 致 谢 - 38 -
参考文献 - 39 -
软件工程实训平台的模块层次结构图如图7:
图 7模块层次结构图
其中教师信息管理,试题管理,学生信息管理,试卷类型管理,都可以进行数据的添加、删除、修改操作。
(1)在线测试:当学生成功登录后,出现选择测试的试卷的操作,选定试卷后,系统自动生成试卷,学生答题,提交试卷,系统评卷,统计得分显示给学生。
(2)成绩查询:选择试卷类型查询、条件查询(分班、分科目、通过学生姓名查询)以及查看全部学生全部科目的测试结果。
(3)数据库管理:当以教师登录后,显示给教师数据库管理页面,数据库管理主要包括数据的添加、删除、修改操作,并将操作后的数据存入数据库。
动态模型时序图展示了几个对象间的动作协作关系,它主要是用来显示对象之间发送消息的时间顺序。
图8为生成试卷时序图。
用户选择测试的试卷类型;
按试卷类型选择界面取得试卷类型;
生成试卷机制搜索数据库创建匹配的试题信息表;
生成试卷机制显示匹配的试题至试卷界面。
图8 生成试卷时序图
其它功能的时序图以此类推。
5.3 学生功能模块设计
学生利用平台进行在线测试。包括管理个人信息、查询成绩、选择试题需要。
图9 学生功能模块设计图
1.学生登陆功能
功能描述:输入用户名密码,身份选择学生,点击登陆,通过系统验证,如果输入的管理员用户名密码和验证码正确,则弹出提示信息进如学生管理页面,否则弹出提示错误信息,用户需要再次进行登录验证。
2.在线测试功能
功能描述:学生点击在线测试,进入选择题库页面,点击需要进行的测试题目。系统读取数据库中的题目,开始计时答题。
3.资料管理功能
功能描述:学生点击资料管理,进入资料管理页面。可以将光标放在需要修改的信息栏内对信息进行修改。
4.成绩查询功能
功能描述:学生点击成绩查询,进入成绩查询页面。点击详细信息可以看到完成题目所用时间,题数,得分等信息。
5.退出系统功能
功能描述:学生点击退出系统,退出软件工程实训平台。
5.4 教师功能模块设计
教师使用软件工程实训平台对课程教学进行监督和管理。对系统的监督管理主要包括学生管理,试题管理,成绩管理,登陆管理,教师管理。
教师功能模块如图:
图 10 教师功能模块图
1.教师登陆
功能描述:输入用户名密码以及验证码,身份类别选择教师用户,点击登录,通过系统验证,如果输入的用户名密码和验证码正确,则进入欢迎页面,否则弹出提示错误信息,用户需要再次进行登录验证。
2.学生管理
功能描述:学生管理可以实现添加、修改、查询、删除学生信息功能。如果查询某人信息没有查到则显示空列表。如果需要添加学生,则需要填入学生的姓名等各项信息。
3.试题管理
功能描述:试题管理功能可有实现添加修改查询删除试题的功能。
4.成绩管理功能
功能描述:教师通过输入学生的信息,查询学生的成绩,可以查看到学生单个试题的正误情况。
5.登陆管理:
功能描述:登陆管理可以实现对用户登陆情况的查询和删除。
6.教师管理:
功能描述:教师管理功能可以实现添加、删除教师的功能,也可以修改教师信息,例如密码等。
资料文件预览:
共46文件夹,396个文件,文件总大小:29.63MB,压缩后大小:26.19MB
11.jpg [157.37KB]
222.jpg [176.10KB]
Examrecord.hbm.xml [1.09KB]
Examrecord.java [1.31KB]
Loginlog.hbm.xml [1.25KB]
Loginlog.java [1.76KB]
Options.hbm.xml [903.00B]
Options.java [1.07KB]
Question.hbm.xml [1.98KB]
Question.java [2.80KB]
Result.hbm.xml [1.57KB]
Result.java [2.39KB]
Student.hbm.xml [1.65KB]
Student.java [2.56KB]
Subject.hbm.xml [2.08KB]
Subject.java [2.81KB]
Teacher.hbm.xml [871.00B]
Teacher.java [1.08KB]
BaseService.java [660.00B]
ExamServiceImp.java [2.49KB]
LogServiceImp.java [1.66KB]
QuestionServiceImp.java [4.39KB]
ResultServiceImp.java [1.77KB]
StudentServiceImp.java [2.41KB]
TeacherServiceImp.java [1.17KB]
BOFactory.java [2.01KB]
IExamService.java [327.00B]
ILogService.java [531.00B]
IQuestionService.java [857.00B]
IResultService.java [568.00B]
IStudentService.java [597.00B]
ITeacherService.java [414.00B]
BaseDAO.java [518.00B]
ExamrecordDAOImp.java [588.00B]
HibernateSessionFactory.java [3.01KB]
LoginlogDAOImp.java [1.33KB]
OptionsDAOImp.java [367.00B]
QuestionDAOImp.java [1.53KB]
ResultDAOImp.java [3.63KB]
StudentDAOImp.java [2.25KB]
SubjectDAOImp.java [1.01KB]
TeacherDAOImp.java [1.07KB]
DAOFactory.java [1.11KB]
IDAO.java [243.00B]
IExamrecordDAO.java [187.00B]
ILoginlogDAO.java [272.00B]
IOptionsDAO.java [119.00B]
IQuestionDAO.java [337.00B]
IResultDAO.java [647.00B]
IStudentDAO.java [509.00B]
ISubjectDAO.java [271.00B]
ITeacherDAO.java [325.00B]
EncodingFilter.java [781.00B]
HibernateFilter.java [866.00B]
RightFilter.java [2.56KB]
BaseDispatchAction.java [718.00B]
ExamAction.java [5.92KB]
LogAction.java [1.75KB]
LoginAction.java [2.30KB]
RegistAction.java [2.23KB]
ResultAction.java [2.67KB]
ResultListAction.java [1.64KB]
StudentAction.java [5.11KB]
StudentInfoAction.java [2.77KB]
StudentLogoutAction.java [898.00B]
SubjectAction.java [9.84KB]
TeacherAction.java [4.11KB]
TeacherLogoutAction.java [898.00B]
ExamForm.java [1.24KB]
LoginForm.java [1.26KB]
QueryLogForm.java [1.30KB]
QueryResultForm.java [1.74KB]
QueryStudentForm.java [1002.00B]
QuestionForm.java [1.96KB]
StudentForm.java [2.09KB]
SubjectForm.java [1.51KB]
TeacherForm.java [1.30KB]
Constant.java [96.00B]
PageUtil.java [1.79KB]
Tools.java [1.80KB]
hibernate.cfg.xml [1.31KB]
rjsx on Tomcat 6.x.xml [1.07KB]
.jsdtscope [493.00B]
org.eclipse.jdt.core.prefs [395.00B]
org.eclipse.wst.common.component [450.00B]
org.eclipse.wst.common.project.facet.core.xml [252.00B]
org.eclipse.wst.jsdt.ui.superType.container [49.00B]
org.eclipse.wst.jsdt.ui.superType.name [6.00B]
0.gif [115.00B]
1.gif [80.00B]
1.jpg.bak [59.65KB]
2.gif [113.00B]
222.jpg [177.48KB]
3.gif [115.00B]
4.gif [114.00B]
5.gif [111.00B]
6.gif [117.00B]
7.gif [110.00B]
8.gif [119.00B]
9.gif [118.00B]
ba_goriyo-annai2.gif [2.71KB]
ba_goriyo-annai3.gif [2.59KB]
ba_goriyo-annai4.gif [2.72KB]
ba_goriyo-annai5.gif [2.57KB]
ba_goriyo-annai6.gif [2.66KB]
bg_bottom.jpg [383.00B]
bg_top.jpg [386.00B]
bt_01.gif [578.00B]
bt_02.gif [624.00B]
bt_03.gif [618.00B]
bt_04.gif [619.00B]
bt_05.gif [637.00B]
bt_06.gif [582.00B]
con_go.gif [402.00B]
con_next.gif [516.00B]
line.gif [66.00B]
line_banner.gif [47.00B]
line_tate.gif [90.00B]
line_yoko.gif [232.00B]
line_yoko_short.gif [197.00B]
loginA.jpg [47.89KB]
obj_bar.gif [269.00B]
obj_count.gif [183.00B]
p_01.gif [250.00B]
p_02.gif [197.00B]
p_03.gif [189.00B]
p_new.gif [279.00B]
spacer.gif [43.00B]
Thumbs.db [79.50KB]
0.gif [115.00B]
1.gif [80.00B]
1.png [30.48KB]
2.gif [113.00B]
3.gif [115.00B]
4.gif [114.00B]
5.gif [111.00B]
6.gif [117.00B]
7.gif [110.00B]
8.gif [119.00B]
9.gif [118.00B]
ba_goriyo-annai2.gif [3.20KB]
ba_goriyo-annai3.gif [3.07KB]
ba_goriyo-annai4.gif [3.04KB]
ba_goriyo-annai5.gif [3.00KB]
ba_goriyo-annai6.gif [2.73KB]
bg_bottom.jpg [383.00B]
bg_top.jpg [386.00B]
bt_01.gif [654.00B]
bt_02.gif [1.38KB]
bt_03.gif [654.00B]
bt_04.gif [619.00B]
bt_05.gif [637.00B]
bt_06.gif [582.00B]
con_go.gif [402.00B]
con_next.gif [516.00B]
line.gif [66.00B]
line_banner.gif [47.00B]
line_tate.gif [90.00B]
line_yoko.gif [232.00B]
line_yoko_short.gif [197.00B]
obj_bar.gif [269.00B]
obj_count.gif [183.00B]
p_01.gif [250.00B]
p_02.gif [197.00B]
p_03.gif [189.00B]
p_new.gif [279.00B]
spacer.gif [43.00B]
Thumbs.db [82.00KB]
0026.gif [344.00B]
1.htm [575.00B]
calendar.js [7.89KB]
popcalendar.htm [575.00B]
showdate.js [2.12KB]
fun.js [65.00B]
exam.jsp [4.73KB]
exam2.jsp [5.00KB]
examlist.jsp [1.66KB]
exampre.jsp [1.49KB]
examttop.jsp [2.52KB]
index.jsp [498.00B]
result.jsp [1.59KB]
resultdetail.jsp [2.43KB]
studentbottom.jsp [243.00B]
studenttop.jsp [5.20KB]
updatestudent.jsp [3.59KB]
addquestion.jsp [4.01KB]
addstudent.jsp [3.60KB]
addsubject.jsp [2.51KB]
addteacher.jsp [2.10KB]
index.jsp [845.00B]
message.jsp [952.00B]
queryresult.jsp [2.27KB]
resultdetail.jsp [1.56KB]
showlog.jsp [3.33KB]
showqueryresult.jsp [3.23KB]
showquestion.jsp [3.50KB]
showstudent.jsp [2.88KB]
showsubject.jsp [2.98KB]
showteacher.jsp [2.62KB]
teacherbottom.jsp [241.00B]
teachertop.jsp [5.28KB]
updatequestion.jsp [4.17KB]
updatestudent.jsp [3.70KB]
updatesubject.jsp [2.55KB]
updateteacher.jsp [2.12KB]
Examrecord.class [1.59KB]
Examrecord.hbm.xml [1.09KB]
Loginlog.class [1.85KB]
Loginlog.hbm.xml [1.25KB]
Options.class [1.25KB]
Options.hbm.xml [903.00B]
Question.class [2.99KB]
Question.hbm.xml [1.98KB]
Result.class [2.63KB]
Result.hbm.xml [1.57KB]
Student.class [2.67KB]
Student.hbm.xml [1.65KB]
Subject.class [3.23KB]
Subject.hbm.xml [2.08KB]
Teacher.class [1.15KB]
Teacher.hbm.xml [871.00B]
BaseService.class [1.02KB]
ExamServiceImp.class [3.74KB]
LogServiceImp.class [2.49KB]
QuestionServiceImp.class [5.55KB]
ResultServiceImp.class [2.72KB]
StudentServiceImp.class [3.75KB]
TeacherServiceImp.class [1.88KB]
BOFactory.class [2.87KB]
IExamService.class [357.00B]
ILogService.class [490.00B]
IQuestionService.class [823.00B]
IResultService.class [574.00B]
IStudentService.class [607.00B]
ITeacherService.class [410.00B]
BaseDAO.class [1.10KB]
ExamrecordDAOImp.class [1.15KB]
HibernateSessionFactory.class [2.37KB]
LoginlogDAOImp.class [2.24KB]
OptionsDAOImp.class [941.00B]
QuestionDAOImp.class [2.73KB]
ResultDAOImp.class [4.87KB]
StudentDAOImp.class [3.65KB]
SubjectDAOImp.class [1.75KB]
TeacherDAOImp.class [1.77KB]
DAOFactory.class [1.53KB]
IDAO.class [256.00B]
IExamrecordDAO.class [251.00B]
ILoginlogDAO.class [287.00B]
IOptionsDAO.class [200.00B]
IQuestionDAO.class [374.00B]
IResultDAO.class [642.00B]
IStudentDAO.class [548.00B]
ISubjectDAO.class [324.00B]
ITeacherDAO.class [351.00B]
EncodingFilter.class [1.24KB]
HibernateFilter.class [1.35KB]
RightFilter.class [3.04KB]
BaseDispatchAction.class [1.43KB]
ExamAction.class [6.51KB]
LogAction.class [2.67KB]
LoginAction.class [2.80KB]
RegistAction.class [2.76KB]
ResultAction.class [4.15KB]
ResultListAction.class [2.38KB]
StudentAction.class [5.06KB]
StudentInfoAction.class [3.48KB]
StudentLogoutAction.class [1.27KB]
SubjectAction.class [9.08KB]
TeacherAction.class [4.43KB]
TeacherLogoutAction.class [1.27KB]
ExamForm.class [1.42KB]
LoginForm.class [1.42KB]
QueryLogForm.class [1.46KB]
QueryResultForm.class [2.05KB]
QueryStudentForm.class [1.05KB]
QuestionForm.class [2.39KB]
StudentForm.class [2.37KB]
SubjectForm.class [1.84KB]
TeacherForm.class [1.49KB]
Constant.class [387.00B]
PageUtil.class [1.84KB]
Tools.class [2.28KB]
hibernate.cfg.xml [1.31KB]
antlr-2.7.6.jar [433.04KB]
antlr-2.7.6rc1.jar [425.21KB]
antlr.jar [343.70KB]
aopalliance.jar [3.84KB]
asm-attrs.jar [15.94KB]
asm-util-2.2.3.jar [34.47KB]
asm.jar [25.19KB]
aspectjrt.jar [100.82KB]
aspectjweaver.jar [1.55MB]
c3p0-0.9.1.1.jar [524.13KB]
cglib-2.1.3.jar [243.75KB]
cglib-nodep-2.1_3.jar [284.18KB]
classes12.jar [1.14MB]
commons-attributes-api.jar [31.31KB]
commons-attributes-compiler.jar [24.68KB]
commons-beanutils.jar [160.30KB]
commons-codec.jar [40.36KB]
commons-collections-2.1.1.jar [168.63KB]
commons-dbcp.jar [102.40KB]
commons-digester.jar [147.22KB]
commons-fileupload.jar [18.82KB]
commons-httpclient.jar [238.27KB]
commons-io.jar [70.52KB]
commons-lang.jar [203.15KB]
commons-logging-1.0.4.jar [33.09KB]
commons-logging.jar [33.09KB]
commons-validator.jar [73.72KB]
cos.jar [47.23KB]
dom4j-1.6.1.jar [256.81KB]
ehcache-1.1.jar [40.80KB]
ehcache-1.2.4.jar [182.18KB]
ehcache-1.2.jar [115.38KB]
freemarker.jar [711.08KB]
hibernate-annotations.jar [222.21KB]
hibernate-commons-annotations.jar [56.60KB]
hibernate-entitymanager.jar [97.83KB]
hibernate3.jar [1.63MB]
ibatis-2.3.0.677.jar [322.55KB]
itext-1.3.jar [1.08MB]
jaas.jar [99.37KB]
jakarta-oro-2.0.8.jar [61.86KB]
jakarta-oro.jar [61.92KB]
jasperreports-1.3.3.jar [1.42MB]
javassist.jar [448.89KB]
jaxen-1.1-beta-7.jar [194.44KB]
jboss-archive-browsing.jar [11.75KB]
jcommon-1.0.16.jar [302.04KB]
jdbc2_0-stdext.jar [6.57KB]
jdo2-api.jar [72.78KB]
jdom.jar [149.53KB]
jfreechart-1.0.13.jar [1.36MB]
jotm.jar [106.72KB]
jta-spec1_0_1.jar [8.47KB]
jta.jar [7.89KB]
jxl.jar [520.02KB]
log4j-1.2.11.jar [304.58KB]
log4j-1.2.14.jar [320.34KB]
mysql-connector-java-3.0.17-bin.jar [240.54KB]
openjpa-0.9.7-incubating.jar [2.30MB]
persistence.jar [51.90KB]
poi-2.5.1.jar [681.55KB]
portlet-api.jar [14.72KB]
serp-1.12.1.jar [170.92KB]
spring-agent.jar [868.00B]
spring-aop.jar [264.87KB]
spring-beans.jar [336.71KB]
spring-context.jar [138.35KB]
spring-core.jar [154.43KB]
spring-dao.jar [112.89KB]
spring-hibernate3.jar [93.50KB]
spring-ibatis.jar [21.06KB]
spring-jdbc.jar [198.16KB]
spring-jdo.jar [54.85KB]
spring-jpa.jar [86.08KB]
spring-portlet.jar [100.27KB]
spring-struts.jar [21.50KB]
spring-tomcat-weaver.jar [3.39KB]
spring-toplink.jar [50.72KB]
spring-web.jar [131.79KB]
spring-webmvc.jar [244.57KB]
struts.jar [473.99KB]
toplink-api.jar [44.55KB]
toplink-essentials.jar [2.03MB]
velocity-1.5.jar [337.40KB]
velocity-tools-view-1.3.jar [91.53KB]
xapool.jar [76.76KB]
xerces-2.6.2.jar [965.71KB]
xml-apis.jar [117.43KB]
.struts-config.mex [28.30KB]
struts-bean.tld [8.65KB]
struts-config.xml [10.48KB]
struts-html.tld [71.89KB]
struts-logic.tld [14.39KB]
struts-nested.tld [69.81KB]
struts-tiles.tld [7.66KB]
validator-rules.xml [13.46KB]
web.xml [1.67KB]
MANIFEST.MF [39.00B]
index.jsp [2.85KB]
regist.jsp [5.06KB]
registmessage.jsp [1.27KB]
style.css [948.00B]
.classpath [529.00B]
.mymetadata [285.00B]
.project [1.71KB]
db_exam.sql [15.24KB]
1091000200-宋思梦.doc [2.19MB]
1091000200_中期检查表.pdf [3.67KB]
1091000200_开题报告.pdf [6.14KB]
1091000200_成绩单.pdf [2.30KB]
1091000200_答辩记录单.pdf [2.37KB]
1091000200_进度报告.pdf [7.42KB]