1、本 科 生 毕 业 设 计设计题目: 基于JSP在线培培训系统 学生姓名: 学生学号: 指引教师: 二级院系: 专业班级: 完毕时间: 目 录摘 要IVAbstractV第1章 概述11.1 课题背景11.2 课题意义21.3开发工具及技术21.3.1 MyEclipse21.3.2 Tomcat21.3.3 SqlServer31.3.4 JSP3第2章 可行性分析及总体设计原则52.1可行性分析52.1.1技术可行性52.1.2经济可行性52.1.3社会可行性52.2总体设计原则6第3章 系统分析73.1业务流程分析73.2数据流图7第4章 系统设计94.1系统功能设计94.2数据库设计1
2、04.2.1概念构造设计104.2.2数据库表设计13第5章 系统实现165.1管理员登录165.2管理员功能模块185.2.1公示信息管理185.2.2答疑信息管理215.2.3学习资料管理235.2.4视频信息管理275.2.5修改个人密码305.3前台网站功能模块305.3.1网站首面305.3.2学习资料下载315.3.3学习视频下载335.3.7在线答疑模块36第6章软件测试376.1软件测试重要性376.2测试实例研究与选取376.3测试环境与测试条件386.4系统运营状况386.5系统评价38第7章 结论39参照文献40道谢42摘 要本文采用自顶向下构造化系统分析办法,阐述了一种
3、功能全面在线培训系统开发过程、操作流程及其某些核心技术。本文一方面进行了项目概述,简朴简介了项目开发背景、项目开发目和项目开发意义;接下来是系统规划阶段,通过实际业务流程调研,分析了系统组织构造,详细完毕了在线培训系统需求分析、可行性分析、现行业务流程分析,并通过对现行业务流程优化,得出了系统业务流程;之后是系统分析,详细完毕了数据流分析和数据字典;系统设计阶段重要完毕了功能模块划分、数据库设计和系统界面设计。该阶段对各个模块功能进行了详细设计,形成了本系统功能模块图,在此基本上选取了适当开发模式;数据库设计先进行了概念构造设计,之后进行了逻辑构造设计,最后完毕了数据库表设计。依照前几种阶段分
4、析和设计,本系统在设计方面采用B/S模式,同步使用JSP技术进行基本页面设计与功能实现,后台数据库选用SQLSERVER数据库。本系统设计实行为在线培训系统运营做基本,为在线培训系统提供良好条件。核心词:构造化分析;B/SAbstractThis paper using the top-down structured system analysis method,this paper expounds the functions of a comprehensive course website development process,operation process and some of
5、 the core technology. This paper first on the description of project,introduced the project development background,the purpose of the project development and the significance of developing project;The next stage is system planning,through the actual business process of the investigation and research
6、,and the analysis of system structure,specific completed quality course website needs analysis,feasibility analysis,the current business process analysis,and through to the current business process optimization,concludes that the system of business process,After the system analysis,specific complete
7、d the data flow analysis and data dictionary;System design phase is completed the function module and database design and system interface design. This phase of the function of each module of the detailed design,formed the system function module chart,on the basis of the choice of appropriate develo
8、pment mode;The first database design the concept structure design,on the logical structure after design,finally completed the design of database tableAccording to former several stages of the analysis and design,this system in the design on the B/S mode,use at the same time JSP technology of basic p
9、ages design and function realization,the backend database choose SQLSERVER database. This system design for assembly language implementation of the operation of the auxiliary JiaoXueWang do foundation,to provide auxiliary assembly language JiaoXueWang good conditions.Key Words: structural analysis;B
10、/S第1章 概述1.1 课题背景在21世纪这个信息高度发达,并且高速流通时代,计算机普及以及计算机网络技术应用,让大量普通人可以有机会接触到比以往更多知识。建立一种自己在线培训系统是十分必要事情,这不但能使更多人享用宝贵教诲资料源,同步也对于提高学生自学能力,有相称大协助。随着互联网技术飞速发展,运用网络进行学习已经成为时代发展必然趋势,建立在线培训系统,尽量提高优质学习运用率,对实现人才培养,增进社会经济发展都能起到十分重要作用。也可以引导顾客积极年该学习,提高学习效率,更为学习双方提供一种进行写作学习和交流平台。人口多而教诲资源缺少影响着国内受过高等教诲人在人口比例中所占比重,这严重制约了
11、国内社会发展与进步,这对于提高国内国民文化科学素养十分不利。如何才干让更多人享有少某些人拥有精品教诲资源呢?对于这个问题,前人已经做了大量研究。随着计算机技术以及计算机网络技术飞速发展,人们终于找到了一条实现这种梦想捷径,那就是寄但愿于把各种教诲资源移置到互联网上去,使得各地方人都可以以便获取到各种自己想要知识,打破老式教诲资源分派不均限制,使得更多人可以有机会获取到知识。近年来,学校学生数量逐渐增长,人工书写学习方式已经不能满足如此庞大数据。为了更好适应信息时代高效性,一种运用计算机来实现学校在线培训系统管理工作系统将必然诞生。基于这一点,设计了一种在线培训系统,用来就学生在线培训系统进行管
12、理,以便在最短时间内,高效精确完毕整个学习程。基于对上述结识,收集有关资料和数据,查阅关于文献及技术参数,对学校实际需求等方面进行了调研,发现当前所采用手工记录办法进行管理存在如下几种方面弊端:对象范畴广,数据存储不易;填写数据多,且大量数据重复;不易存档,成千上万信息和堆积如山单据对管理人员来说是一种承担,需要大量文档资料。鉴于以上种种因素,学校学习管理急需一种软件来代替手工操作来管理数据资料。计算机技术在当代管理中应用,使计算机成为领导者和管理人员应用当代技术重要工具1。计算机辅助高校管理活动,可以极大地增强管理者采集、解决信息能力,从而有助于管理者及时决策。计算机系统能依照管理过程变化状
13、况,将原始数据、资料等进行加工、保存,管理人员可以在解决详细问题需要信息资料时,随时进行检索查询,理解整个在线培训系统动态状况,进行动态管理,从而有效解决在线培训系统管理工作,实当前线培训系统信息管理自动化,提高办学效率。1.2 课题意义与老式教诲相比,网络学习培训是一种全新教诲模式,它可以突破时间和空间限制,让更多学习者共享先进教诲资源。网络学习培训既具备开放性、交互性、协作性和自主性等特点,有具备异步性、实时性、生动性、集成性和大容量等优势。因而在网络学习培训平台系统建设中,单纯地构建各种功能单一系统并不能完全满足网络学习培训平台建设规定,只有那些对数据和信息进行有效组织,整合了各种业务,
14、为顾客提供个性化服务系统才干充分地发挥精品课程学习平台作用。建设网络培训系统主线目是运用当代化教诲信息技术手段将有关学习知识内容上网并免费开放,以实现优质学习资源共享,提高学习质量和人才培养质量。1.3开发工具及技术1.3.1 MyEclipseMyEclipse,是一种十分先进用于开发Java,J2EEEclipse插件集合,MyEclipse功能非常强大,支持也十分广泛,特别是对各种开元产品支持十分不错。MyEclipse公司级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE扩展,运用它咱们可以在数据库和JavaE
15、E开发、发布,以及应用程序服务器整合方面极大提高工作效率。它是功能丰富JavaEE集成开发环境,涉及了完备编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。1.3.2 TomcatTomcat是一种小型轻量级应用服务器,在中小型系统和并发访问顾客不是诸多场合下被普遍使用,是开发和调试JSP 程序首选。可以这样以为,当在一台机器上配备好Apahce服务器,可运用它响应对HTML页面访问祈求。事实上Tomcat 某些是Apache 服务器扩展,但它是独立运营,因此当运营tomcat 时,它事实上作为一种与Apache 独立
16、进程单独运营。1.3.3 SqlServerSQL(Structured Query Language),构造化查询语言。SQL语言重要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国标协会)规定,SQL被作为关系型数据库管理系统原则语言。SQL语句可以用来执行各种各样操作,例如更新数据库中数据,从数据库中提取数据等。绝大多数流行关系型数据库管理系统都采用了SQL语言原则。虽然诸多数据库都对SQL语句进行了再开发和扩展,但是涉及Select,Insert,Update,Delete,Create,以及Drop在内原则SQL命令依然可以被用来完毕几乎所有数据库操作。1.3.4 JSP
17、JSP技术使用Java编程语言编写类XMLtags和scriptlets,来封装产生动态网页解决逻辑。网页还能通过tags和scriptlets访问存在于服务端资源应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用基于组件设计,使基于Web应用程序开发变得迅速和容易。 Web服务器在遇到访问JSP网页祈求时,一方面执行其中程序段,然后将执行成果连同JSP文献中HTML代码一起返回给客户。插入Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要功能。JSP与Servlet同样,是在服务器端执行,普通返回给客户端就是一种HTML文本,因而客户端只要有浏览器能浏览。JSP页
18、面由HTML代码和嵌入其中Java代码所构成。服务器在页面被客户端祈求后来对这些Java代码进行解决,然后将生成HTML页面返回给客户端浏览器。Servlet是JSP技术基本,并且大型Web应用程序开发需要Java Servlet和JSP配合才干完毕。JSP具备了Java技术简朴易用,完全面向对象,具备平台无关性且安全可靠,重要面向因特网所有特点。JSP技术长处:(1)一次编写,处处运营。除了系统之外,代码不用做任何更改。 (2)系统多平台支持。基本上可以在所有平台上任意环境中开发,在任意环境中进行系统布置,在任意环境中扩展。相比ASP/.net局限性是显而易见。 (3)强大可伸缩性。从只有一
19、种小Jar文献就可以运营Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务解决,消息解决,一台服务器到无数台服务器,Java显示了一种巨大生命力。 (4)多样化和功能强大开发工具支持。Java已有了许多非常先进开发工具,并且许多可以免费得到,并且其中许多已经可以顺利运营于各种平台之下。(5)支持服务器端组件。web应用需要强大服务器端组件来支持,开发人员需要运用其她工具设计实现复杂功能组件供web页面调用,以增强系统性能。JSP可以使用成熟JAVA BEANS 组件来实现复杂商务功能。内部对象阐明:request 客户端祈求,此祈求会包括来自GET/
20、POST祈求参数; response网页传回客户端响应;pageContext 网页属性是在这里管理; session 与祈求关于会话; application servlet正在执行内容;out 用来传送响应输出流; config代码片段配备对象;pageJSP网页自身; exception针对错误网页,未捕获例外。第2章 可行性分析及总体设计原则2.1可行性分析可行性分析也称为可行性研究,是在调查基本上,针对新系统开发与否具备必要性和也许性,对新系统开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统开发成功2。可行性研究目就是用最小代价在尽量短时间内拟定问题与否可以解决
21、。下面将分别从技术、经济、社会三个方面对在线培训系统建设进行分析和研究。2.1.1技术可行性依照网络培训系统系统功能、性能及实现系统各种约束条件,依照新系统目的来衡量所需技术与否具备,本系统是一种数据库管理和查询系统,既有技术已较为成熟,硬件、软件性能规定、环境条件等各项条件良好,预计运用既有技术条件应完全可以达到该系统功能目的。同步,考虑予以开发期限也较为充裕,预测系统是可以在规定期限内完毕开发。由以上分析可知,在线培训系统开发在技术上是可行2.1.2经济可行性学校具备信息化解决设施,并且拥有支持本系统应用平台。因而无需再投入资金购买其她设施。系统开发基于本人对程序开发实践学习而来,学校无需
22、资金投入,并且软件开发过程投入成本不高,因而开发经费完全可以接受。由以上分析可知,在线培训系统在经济上是可行。2.1.3社会可行性本系统社会可行性重要从法律因素、顾客使用可行性两方面进行研究。(1)法律因素本系统是依照在线培训系统实际状况开发研制,是通过大量调研得出,系统软件设计是在独立环境下完毕,无可供抄袭软件产品。(2)顾客使用可行性本系统对顾客规定,除了需要具备在Microsoft Windows平台上使用个人电脑知识外,并不需要特别技术能力。使用系统管理员,需要具备对Tomcat服务器使用能力,在投入使用前,无需对操作系统人员进行培训。这样既减少投入成本又简化了操作环节。由以上分析可知
23、,本系统具备社会可行性。2.2总体设计原则本系统为了设计、实现和后期维护以便,以及系统顾客使用便利,因此必要采用一定设计原则。其重要设计原则有:简朴性:在实现系统功能同步,尽量让系统操作简朴易懂,这对于一种系统来说是非常重要。针对性:本系统设计是针对在线培训系统需求定向开发设计,因此具备专业突出和很强针对性。实用性:规定本系统可以满足在线培训系统需求,因而具备良好实用性。一致性:页面整体设计风格以及命名规则一致性:整体页面布局和用图用色风格及变量、类名和其她元素命名规则保持一致。功能一致性:完毕同样功能应当尽量使用同样元素。 元素风格一致性:界面元素美观风格、摆放位置在同一种界面和不同界面之间
24、都应当是一致。变量命名规则一致性:变量应当用统一规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用JSP技术、SQLSERVER等被广泛采用系统开发技术和数据库,因而本设计具备良好先进性,详细体当前其具备良好可扩展性,可开发性。第3章 系统分析3.1业务流程分析在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节解决业务、解决内容、解决顺序和对解决时间规定,弄清各个环节需要信息、信息来源、流经去向、解决办法、计算办法、提供信息时间和信息形态(报告、报单、屏幕显示)等4。业务流程分析可以协助开发者理解该业务解决过程,发现和解决系统调查工作中错误和疏漏。业务流程分
25、析是通过业务流程图来进行,即用某些规定符号及连线来表达某个详细业务解决过程5。图3.1业务流程图3.2数据流图数据流程是指数据在系统中产生、传播、加工解决、使用、存储过程6。数据流程分析是把数据在现行系统内部流动抽象独立起来,舍去了详细组织机构、信息载体、解决工具、物质、材料等,单从数据流动过程来考查实际业务数据解决模式。数据流程与数据流程分析是此后建立数据库系统和设计功能模块解决过程基本。描述数据流程工具是数据流程图以及其附带数据字典、解决逻辑等图表。其中数据流程图是描述系统逻辑模型重要工具,它以少数几种符号综合地反映出信息在系统中流动、存储和传递7。在业务流程分析基本上,对数据流进行了分析
26、,从数据流动过程考察了实际业务数据解决模式。该系统数据流图分为顶层、一层、二层。现行顶层数据流图如图3.2所示。图3.2顶层数据流图详细分析第一层数据流图,该层数据流图如图3. 3所示。图3.3第一层数据流图由于论文篇幅限制不能一一列举数据流图,只给出了某些数据流图,其她数据流图基本一致。第4章 系统设计4.1系统功能设计系统设计是一种把软件需求转换成用软件系统表达过程。通过对目的系统分析和研究,做出了在线培训系统总体规划,这是全面开发系统重要基本。在对在线培训系统全面分析调查基本上,制定出在线培训系统总体规划。系统设计涉及系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开
27、发模式等。从数据流图出发,对数据流图进行分析,得出层次化模块构造图.在线培训系统前台功能模块图如图4-1所示:图4-1前台功能模块图在线培训系统后台功能模块图如图4-2所示:图4-2 在线培训系统后台功能模块图4.2数据库设计数据库是本系统核心和基本。它设计好坏直接影响着整个系统质量。数据是一切系统设计基本,通俗地说,数据库设计就像高楼大厦根基同样,如果设计不合理、不完善,将在系统开发过程中,甚至到后期系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完毕工作。4.2.1概念构造设计从数据需求分析中得出系统实体属性图。(1)管理员实体属性图如图4-3所示:图4-3管
28、理员实体属性图 (2)会员信息实体属性图如图4-5所示:图4-4会员实体属性图(3)学习资料实体属性图如图4-7所示:图4-7学习资料实体属性图(4)公示信息实体属性图如图4-8所示:图4-8公示信息实体属性图(5)答疑信息实体属性图如图4-9所示:图4-9答疑信息实体属性图(6)教学视频信息实体属性图如图4-10所示:图4-10视频信息实体属性图4.2.2数据库表设计(1)管理员信息表(t_admin)管理员信息表重要用于系统管理员信息,重要字段涉及:编号、登陆账号、登陆密码。表4.13 管理员信息表(t_admin)字段名数据类型字段描述长度主键userIdInt编号10userNamev
29、archar登陆账号50userPwvarchar登陆密码50(2)学习资料信息表(t_doc)学习资料信息表重要用于管理员发布学习资料信息,重要字段涉及:编号、标题、简介等。表4.14 学习信息表(t_doc)字段名数据类型字段描述长度主键idInt编号10titlevarchar标题50contentvarchar内容50fujianvarchar附件50fujianYuanshimingvarchar附件原始名50shijianvarchar发布时间50(3)视频信息表(t_shipin)学习视频信息表重要用于管理员发布视频信息,重要字段涉及:编号、视频标题、附件等。表4.15 学习视频
30、信息表(t_shipin)字段名数据类型字段描述长度主键IdInt编号10titlevarchar标题50contentvarchar内容50fujianvarchar附件50shijianvarchar发布时间50(4)会员信息表(t_user)学生表重要存储学生基本信息,重要字段涉及:ID、学号、姓名、性别、年龄、登录帐号、登录密码等。表4.17学生信息表(t_stu)字段名数据类型字段描述长度主键idInt编号10loginnamevarchar账号50loginpwvarchar密码50xingmingvarchar姓名50(5)自测题目信息表(t_timu)自测题目信息表重要存储测试
31、题目基本信息,重要字段涉及:ID、学号、姓名、性别、年龄、登录帐号、登录密码等。表4.17学生信息表(t_stu)字段名数据类型字段描述长度主键idInt编号10namevarchar题目名称50xuanxiangavarchar选项A500xuanxiangbvarchar选项B500xuanxiangcvarchar选项C500xuanxiangdvarchar选项D500daanvarchar题目答案500fenshuInt题目分数5(6)公示信息表(t_gonggao)公示信息表重要存储管理员发布公示信息,重要字段涉及:ID、公示标题、公示内容、发布时间等。表4.19公示信息表(t_g
32、onggao)字段名数据类型字段描述长度主键idIntID10titlevarchar公示标题50contentvarchar公示内容5000shijianvarchar发布时间50(7)答疑信息表(t_liuyan)公示信息表重要存储学生和教师答疑信息,重要字段涉及:ID、答疑标题、答疑内容、答疑时间等。表4.20答疑信息表(t_liuyan)字段名数据类型字段描述长度主键idIntID10titlevarchar公示标题50contentvarchar公示内容5000shijianvarchar发布时间50第5章 系统实现5.1管理员登录1.描述:为了保证系统安全性,要先使用本系统必要先登
33、陆到系统中,顾客需要对的账号和密码登录本系统。2.程序运营效果图如图5.1所示:图4.1 系统登陆页面设计3.在登陆页面输入顾客名和密码以,点击提交按钮,跳转到登陆service中,在该service中会对顾客名密码,验证码进行判断,验证通过进入相应页面,loginservice核心代码:public String login(String userName,String userPw,int userType)String result=no;if(userType=0)/系统管理员登陆String sql=select * from t_admin where userName=?and
34、userPw=?;Object params=userName,userPw;DB mydb=new DB();mydb.doPstm(sql,params);try ResultSet rs=mydb.getRs();boolean mark=(rs=null|!rs.next()?false:true);if(mark=false) result=no;else result=yes; TAdmin admin=new TAdmin(); admin.setUserId(rs.getInt(userId); admin.setUserName(rs.getString(userName);
35、 admin.setUserPw(rs.getString(userPw); WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute(userType,0); session.setAttribute(admin,admin);rs.close(); catch (SQLException e)System.out.println(登录失败!);e.printStackTrace();finallymydb.closed();5.2管理员功能模块5.
36、2.1公示信息管理5.2.1.1公示信息录入1.描述:管理员输入公示有关对的信息后点击录入按钮,如果是没有输入完整公示信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit=return checkForm()来检查,checkForm()函数中是各种校验输入数据方式。2.程序效果图如下图5.12所示:图5.12 公示信息录入5.2.1.2公示信息管理1.描述:管理员点击左侧菜单“公示信息管理”,页面跳转到公示信息管理界面,调用后台action类查询出所有公示信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应jsp,
37、显示出公示信息。2.程序效果图如下图5.13所示图5.13 公示信息管理页面公示信息管理核心代码:public void gonggaoAdd(HttpServletRequest req,HttpServletResponse res)String id=String.valueOf(new Date().getTime();String title=req.getParameter(title);String content=req.getParameter(content);String shijian=new Date().toLocaleString();String sql=ins
38、ert into t_gonggao values(?,?,?,?);Object params=id,title,content,shijian;DB mydb=new DB();mydb.doPstm(sql,params);mydb.closed();req.setAttribute(message,操作成功);req.setAttribute(path,gonggao?type=gonggaoMana); String targetURL = /common/success.jsp;dispatch(targetURL,req,res); public void gonggaoDel(
39、HttpServletRequest req,HttpServletResponse res)String id=req.getParameter(id);String sql=delete from t_gonggao where id=?;Object params=id;DB mydb=new DB();mydb.doPstm(sql,params);mydb.closed();req.setAttribute(message,操作成功);req.setAttribute(path,gonggao?type=gonggaoMana); String targetURL = /common
40、/success.jsp;dispatch(targetURL,req,res);public void gonggaoMana(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOExceptionList gonggaoList=new ArrayList();String sql=select * from t_gonggao;Object params=;DB mydb=new DB();trymydb.doPstm(sql,params);ResultSet rs=mydb.getRs()
41、;while(rs.next()Tgonggao gonggao=new Tgonggao();gonggao.setId(rs.getString(id);gonggao.setTitle(rs.getString(title);gonggao.setContent(rs.getString(content);gonggao.setShijian(rs.getString(shijian);gonggaoList.add(gonggao); rs.close();catch(Exception e)e.printStackTrace();mydb.closed();req.setAttrib
42、ute(gonggaoList,gonggaoList);req.getRequestDispatcher(admin/gonggao/gonggaoMana.jsp).forward(req,res);5.2.1.3公示详细信息查看1.描述:先是点击公示信息管理,页面跳转到公示信息管理界面,浏览所有公示信息,点击要查看公示信息,弹出公示信息详细信息界面。5.2.1.4公示信息删除1.描述:先是点击公示信息管理,页面跳转到公示信息管理界面,浏览所有公示信息,点击要删除公示信息,弹出拟定对话框,即可删除该公示信息。5.2.2答疑信息管理5.2.2.1在线答疑信息管理1.描述:管理员点击左侧菜单“
43、在线答疑信息管理”,页面跳转到在线答疑信息管理界面,调用后台action类查询所有在线答疑信息。2.程序效果图如下图5.14所示图5.14 在线答疑信息管理在线答疑信息管理核心代码:public void liuyanDel(HttpServletRequest req,HttpServletResponse res)String id=req.getParameter(id);String sql=delete from t_liuyan where id=?;Object params=id;DB mydb=new DB();mydb.doPstm(sql,params);mydb.closed();req.setAttribute(message,操作成功);req.setAttribute(path,liuyan?type=liuyanMana); String targetURL = /common/success.jsp;dispatch(targ