网校系统开发设计javaweb.docx

上传人:b****6 文档编号:3880837 上传时间:2022-11-26 格式:DOCX 页数:27 大小:1.22MB
下载 相关 举报
网校系统开发设计javaweb.docx_第1页
第1页 / 共27页
网校系统开发设计javaweb.docx_第2页
第2页 / 共27页
网校系统开发设计javaweb.docx_第3页
第3页 / 共27页
网校系统开发设计javaweb.docx_第4页
第4页 / 共27页
网校系统开发设计javaweb.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

网校系统开发设计javaweb.docx

《网校系统开发设计javaweb.docx》由会员分享,可在线阅读,更多相关《网校系统开发设计javaweb.docx(27页珍藏版)》请在冰豆网上搜索。

网校系统开发设计javaweb.docx

网校系统开发设计javaweb

摘要

计算机的出现带给人们的生产生活一次全新的革命,提高了人们的工作效率。

而计算机网络则给人们之间信息的交流带来了极大的便利,丰富了人们获取知识的途径。

现如今,远程教育在网络上大肆流行,由于其投资小,限制小及自由便利等特点广受人们的青睐。

本设计采用软件工程中结构化思想,采用标准的软件设计流程,从可行性研究、需求分析、系统设计以及系统实现和测试等步骤来开发网校系统,本文运用软件工程原理和软件开发方法,对本应用进行了概要设计和详细设计。

该应用操作简便、界面友好、灵活、实用、安全,可以满足不同爱好学习者的要求,本文详细介绍了网校系统上开发的设计背景,设计思路以及实现方法,着重说明了该应用的创新点、突破点、用户的体验要求和应用的实际运行情况。

围绕该应用的实际使用情况来对该应用进行分析设计。

关键词:

网校系统;远程教育;计算机;学习

 

ABSTRACT

Thecomputeristobringpeople'sproductionandlivinganewrevolution,toimprovepeople'sworkingefficiency.Thecomputernetworkistoexchangeinformationbetweenpeoplehasbroughtgreatconvenience,enrichingthewaypeopleacquireknowledge.Today,distanceeducationpandemiconthenetwork,becauseofitssmallinvestment,smallandrestrictedfreedomofconvenienceandsowellreceivedbypeopleofallages.

Thedesignusesastructuredsoftwareengineeringthinking,theuseofstandardsoftwaredesignprocess,fromfeasibilitystudies,needsanalysis,systemdesignandsystemimplementationandtestingstepstodevelope-campussystem,paperusessoftwareengineeringprinciplesandsoftwaredevelopmentmethods,thisapplicationoutlinedesignanddetaileddesign.Theapplicationissimple,user-friendly,flexible,practical,safe,lovinglearnersmeetdifferentrequirements,on-campuspaperdescribesthedesignofthesystemdevelopmentbackground,designideasandimplementation,highlightingtheinnovationsoftheapplication,breakingpoint,theuser'sactualoperationexperiencerequirementsandapplications.Aroundtheactualusageoftheapplicationtotheanalysisanddesignapplications.

Keywords:

Campussystem;distanceeducation;computers;learning

第一章概述

1.1系统的开发背景以及意义

1.1.1开发背景

计算机的出现带给人们的生产生活一次全新的革命,提高了人们的工作效率。

而计算机网络则给人们之间信息的交流带来了极大的便利,丰富了人们获取知识的途径。

现如今,远程教育在网络上大肆流行,由于其投资小,限制小及自由便利等特点广受人们的青睐。

1.1.2开发意义

所谓的网络教育或者网校,是在网络环境下,以现代的教育思想和学习理论为指导,充分发挥网络的各种教育功能和丰富的网络教育资源优势,向受教育者提供一种网络教和学的环境,传递数字化内容。

但由于学习系统设计质量参差不齐及理论研究欠缺等等。

网校作为一种与学习者交互最直接的工具,设计和开发一款运行稳定,界面美观的学习系统无疑变得非常迫切重要。

1.2系统的国内外研究以及应用情况

随着全球化趋势不断加强,在当今知识大爆炸的世界,如何更好的学习便尤为重要。

网校是通过互联网实现校外教学的完整过程;只要具备上网条件即可以在任何时间、任何地点接入互联网,自主地选择学习内容。

相对于面授教育而言,网络教育最大限度地突破了教育的时空限制,是师生分离、非面对面组织的教学活动,是一种跨学校、跨地区的教育体制和教学模式。

1.3系统目标以及主要内容

1.建立起学校的网上名片,塑造基于互联网的学校教育品牌形象;

2.建立起教学信息和资源的网上便捷共享平台,实现教育教学资源的有效整合;

3.良好的资讯展示形式,实现校务信息、资讯的透明公开;

4.建立多种教学基地,实现多种手段辅助教学(如:

视频教学、PPT教学)

5.健全学校网校安全机制,保证信息的安全与可读性;

6.提高用户浏览、使用体验。

1.4系统要解决的问题

对前台的美化、布局。

以及jquery,Ajax,easeui等前台框架的应用,并能很好的掌握前后台的交互;根据该系统自主学习的特征,重点对支持自主互动学习环境进行设计,主要内容包括:

教学计划,教学大纲,课程选择,重点难点,在线自测,上传下载,答疑系统,常见问题FAQ,留言表,调查表等

第二章系统的架构

2.1系统开发平台

系统的开发是在Tomcat环境下进行的。

Tomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。

由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。

Tomcat的环境主要有以下几方面技术优势:

1.Tomcat中的应用程序是一个WAR(WebArchive)文件。

WAR是Sun提出的一种

Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。

2.在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp

目录下,Tomcat会自动检测到这个文件,并将其解压。

3.Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:

处理html页面。

4.Tomcat也可以与其它一些软件集成起来实现更多的功能。

2.2系统的运行环境

操作系统:

WindowsXP以上版本。

服务器软件:

Tomcat6.0以上版本。

浏览器:

IE、FireFox、GoogleChrome。

2.3技术路线

在与其他同类编程语言想比较之下,Java具有开发速度快、可移植、面向对象、可扩展性强、开源自由等特点,逐渐成为web开发领域的主流技术。

就本设计而言,用户通过浏览器访问本系统,高效的执行效率是提高用户体验的重要因素。

选择用CSS+HTML+easyUI设计界面,一些特别的显示效果使用JavaScript和jQuery等技术实现了一个很好的用户界面。

基于Struts2+Spring+Hibernate架构目前已经成为J2EE轻量级架构开发的主题,struts最为基于MVC设计模式的web应用的一种典型体现,借助标签、动态表单等相关技术,使项目实现的更简单,更高效,更方便。

Spring提供了一种轻量级Ioc容器,该容器负责创建、管理应用组建。

Hibernate是采用ORM映射机制的持久层开发工具,它是Java应用和关系数据库之间的桥梁,负责Java对象和关系数据的映射。

采用SSH架构快速构建web系统,能使系统结构清晰,同时具备很好的可扩展性和可维护性,大大提高了web系统的可重用性。

第三章系统的功能和设计

3.1系统功能模块概述和分析

系统包括前台和后台两部分:

1.后台部分:

系统管理:

管理员管理、会员管理、教师管理、学校管理、角色管理

资源管理:

一级分类管理、二级分类管、三级分类管理、课程管理、课时管理

个人设置:

修改个人信息、修改密码

前台管理:

FAQ分类管理、FAQ问题管理、调查表管理、调查表问题管理

后台部分的组织结构图如图3-1所示:

图3-1后台结构图

2.前台部分:

登录、注册;课程选择;在线自测;调查表;FAQ;答疑系统

前台部分的组织结构图如图3-2所示:

图3-2前台结构图

3.2系统功能模块设计

3.2.1前台设计与实现

1.登录、注册

用户可以浏览信息,但要参与学生必须登录,没有账号可以注册,若注册后忘记密码,系统会通过电子邮件的方式给会员找回密码。

2.课程选择

用户可以根据一级分类、二级分类、三级分类以及课程名称、上课老师等信息检索所需要的课程信息。

3.在线自测

会员学习完课程后可以选择进行在线自测。

4.调查表

会员可以参加系统的调查表,将不满意的信息反馈。

5.FAQ

常见问题专门解答。

3.2.2后台设计与实现

1.系统管理:

实现对管理员管理、会员管理、教师管理、学校管理、角色管理的添加、删除、修改、查询,同时超级管理员可以对普通管理员分配权限;上传图片等。

2.资源管理:

实现一级分类管理、二级分类管、三级分类管理、课程管理、课时管理的添加、删除、修改、查询

3.个人设置:

修改个人信息、修改密码

4.前台管理:

FAQ分类管理、FAQ问题管理、调查表管理、调查表问题管理,同时可以对调查表进行图表分析

3.4程序代码设计

3.4.1数据访问层的代码封装

/**

*baseDao的实现类

*@authorlujiangfei

*

*@param

*/

publicclassBaseDaoImplimplementsBaseDao{

privateClassclazz=null;

@Resource

privateSessionFactorysessionFactory;

@SuppressWarnings("unchecked")

publicBaseDaoImpl(){

//通过反射得到T的真实类型

ParameterizedTypept=(ParameterizedType)this.getClass().getGenericSuperclass();//得到带泛型的超类

this.clazz=(Class)pt.getActualTypeArguments()[0];

}

@Override

publicvoidsave(Tentity){

getSession().save(entity);

}

@Override

publicvoiddelete(Integerid){

getSession().delete(getSession().get(clazz,id));

}

@Override

publicvoidupdate(Tentity){

getSession().update(entity);

}

@SuppressWarnings("unchecked")

publicTgetById(Integerid){

if(id==null){

returnnull;

}

return(T)getSession().get(clazz,id);

}

@SuppressWarnings("unchecked")

publicListgetByIds(Integer[]ids){

returngetSession()

.createQuery("from"+clazz.getSimpleName()+"whereidin(:

id)")//

.setParameterList("id",ids)//

.list();

}

@SuppressWarnings("unchecked")

publicListgetAll(){

returngetSession().createQuery("from"+clazz.getSimpleName()).list();

}

protectedSessiongetSession(){

returnsessionFactory.getCurrentSession();

}

@Override

publicPageBeangetPageBean(intpageNum,HqlHelperhqlHelper){

intpageSize=Configuration.getPageSize();

Listparameters=hqlHelper.getParameters();

//查询本页的数据列表

QuerylistQuery=getSession().createQuery(hqlHelper.getQueryListHql());

if(parameters!

=null&¶meters.size()>0){//设置参数

for(inti=0;i

listQuery.setParameter(i,parameters.get(i));

}

}

listQuery.setFirstResult((pageNum-1)*pageSize);

listQuery.setMaxResults(pageSize);

Listlist=listQuery.list();//执行查询

//查询总记录数

QuerycountQuery=getSession().createQuery(hqlHelper.getQueryCountHql());

if(parameters!

=null&¶meters.size()>0){//设置参数

for(inti=0;i

countQuery.setParameter(i,parameters.get(i));

}

}

Longcount=(Long)countQuery.uniqueResult();//执行查询

returnnewPageBean(pageNum,pageSize,list,count.intValue());

}

@Override

publicvoiddeleteByIds(Integer[]ids){

for(inti=0;i

this.delete(ids[i]);

}

}

}

/**

*basedao封装操作数据库的基本方法

*@authorlujiangfei

*

*@param

*/

publicinterfaceBaseDao{

/**

*添加

*@paramentity

*/

voidsave(Tentity);

/**

*删除

*@paramid

*/

voiddelete(Integerid);

/**

*批量删除

*@paramids

*/

voiddeleteByIds(Integer[]ids);

/**

*更新

*@paramentity

*/

voidupdate(Tentity);

/**

*取得

*@paramid

*@return

*/

TgetById(Integerid);

/**

*根据Ids取得list

*@paramids

*@return

*/

ListgetByIds(Integer[]ids);

/**

*获取

*@return

*/

ListgetAll();

/**

*获取分页的信息

*@parampageNum

*@paramhqlHelper

*@return

*/

PageBeangetPageBean(intpageNum,HqlHelperhqlHelper);

}

3.4.2.通用工具类

publicclassJsonUtil{

/**

*将对象转换成json

*@paramo

*@paramstr

*@return

*/

publicstaticStringconvert2Json(Objecto,String...str){

JsonConfigconfig=newJsonConfig();

config.setExcludes(str);

returnJSONArray.fromObject(o,config).toString();

}

/**

*Map工具类,快速构造map

*@authorlujiangfei

*

*/

publicclassMaps{

/**

*功能描述:

构造一个HashMap,key为String,value为Object

*@paramkeyValues键1:

值1,键2:

值2的数组结构,注意key必须为String类型

*@return

*/

publicstaticMapcreate(Object...keyValues){

returncreate(String.class,keyValues);

}

/**

*功能描述:

构造一个HashMap

*@paramkeyType构造map的key的类型

*@paramkeyValues键1:

值1,键2:

值2的数组结构

*@return

*/

@SuppressWarnings("unchecked")

publicstaticMapcreate(ClasskeyType,Object...keyValues){

Mapmap=newHashMap();

for(inti=0;i

map.put((T)keyValues[i],keyValues[i+1]);

i++;

}

returnmap;

}

}

3.4.3相关配置文件

struts.xml配置信息

--开发模式,重新加载文件-->

--配置扩展名-->

--设置编码,可以不写,默认为UTF-8-->

--配置主题-->

--让OGNL中可以使用静态的方法-->

--声明一个拦截器-->

--重新定义defaultStack拦截器栈,需要先判断权限-->

--全局配置-->

/WEB-INF/jsp/adminAction/loginUI.jsp

/success.jsp

/noPrivilegeError.jsp

--主页面配置-->

/WEB-INF/jsp/homeAction/{1}.jsp

--管理员配置-->

展开阅读全文
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1