校内教学资源共享平台——前端设计与实现.doc
《校内教学资源共享平台——前端设计与实现.doc》由会员分享,可在线阅读,更多相关《校内教学资源共享平台——前端设计与实现.doc(38页珍藏版)》请在沃文网上搜索。
1、校内教学资源共享平台前端设计与实现 摘 要我校课程资料的管理一直都是基于BB平台的,但是由于BB平台是一个综合性的教务管理系统,所以对资源的管理并没有做的非常细致,只能完成一些上传下载课件、文档等功能。无法实现资源的共享。显然一个让所有人都能上传资源并能分享别人的学习资源的共享平台是非常必要的。资源共享平台是是一个允许所有登录后的用户上传资源,下载资源的共享平台,同时系统围绕课程实现了很多相关功能,用户之间点对点的发送站内信,老师发布课程公告,用户对资源进行评论等功能。本系统是一个基于SSH的课程资源管理的平台。开发的工具为MyEclipse,版本控制使用CVS,开发语言为JAVA,数据库为O
2、racle11g。系统默认分配了四个用户组,分别为超级管理员、管理员、老师、学生。用户可根据自己所属的用户组的权限对平台上的课程资源进行相关的操作。关键词:资源共享;文件下载;SSH;JQuery;Oracle11g;前端性能优化 Design and Implementation of Frontend for School Resource Sharing PlatformABSTRACTThe management of our college courses resources is based on BB platform, but because BB platform is a
3、synthetical system, the management of courses resourses is not meticulous. It can only upload some simple coursewares, documents and so on. It can not share the resources. Obviously, a system that can make all users upload resources and download resoures which uploaded by others is necessary.The res
4、ource sharing platform is a system that allow all users who have already logon upload and download files. The system has some other functions about course, user senting letter to other users who logon this platform, teacher issuing bulletin, user commenting resource, etc. This systems design and imp
5、lemention are based on SSH. The IDE is My Eclipse.the version control tool is CVS, development language is JAVA and database is Oracle1g.The system has four defult user groups, they are supper-manager, normal-manager, teacher and student. Every user groups all have their own authority, the users aut
6、hority is based on the user group which they belongs to.Key words:resource Share; file download; SSH;JQuery; Oracle11g; frontend optimiztion;目录摘 要2Abstract31 绪论61.1平台设计来源及研究意义61.2模块设计的内容61.3平台设计要达到的目标72 模块分析82.1模块需求分析82.2开发技术路线92.2.1平台技术概述92.2.2前端技术概述92.2.3后端技术概述122.3可行性分析133 模块概要设计153.1模块功能总体设计153.
7、2模块流程分析153.2.1整体的流程分析153.2.2各用户流程分析173.3数据库概要设计204 模块详细设计214.1模块功能详细设计214.1.1公告模块214.1.2课程资源模块214.1.3留言模块214.1.4站内信模块214.2系统主要界面详细设计214.3数据库详细设计275 编码调试与测试分析355.1设计实现中的问题355.2调试测试中的问题35心得与体会38参考文献39谢辞401 绪论1.1平台设计来源及研究意义设计资源共享平台的时候,是以学习资源(电子书类、音频类、视频类、软件类)的共享为切入点。满足学生之间的资源共享的需求。学生们每个人手里都会有一些资源,但是如果能
8、降这些资源进行整合,并且共享起来,那么所有同学都将受益匪浅,本系统就是本着为同学提供高效的共享平台而开发的。系统以课程为单位,进行围绕课程的资源共享。同学们在寻找自己需要的资源的时候都是以课程为单位的,这样又能满足老师的教学需求。老师可以在自己的课程下面添加资源,同时也可以发布一些课程的公告。还可以进行点对点的站内信,可以说将资源的共享进行了细化。而且同学也可以进行资源的共享。但是我们已经有了一个BB平台,那你们做的那个资源共享平台还有意义吗?是很有意义。BB平台这种开放式的环境及对行业标准的适应性与协同性,为的是能够帮助教育机构实现互联互动的教学环境。而在我们学校师生对BB平台的使用情况大家
9、都有目共睹,大部分的学生经常使用BB平台看一些老师发布的公告、老师的个人信息、课程的简介信息、下载一些相关课程的学习资料、将完成的作业上传到数字收发箱,而实际情况是很多学生都不是积极主动的使用BB平台;大部分的老师经常使用BB平台发布一些公告,上传课程的简介信息和要求以及课程相关的学习资料、查阅学生上传的作业,而可能是学校网络环境的问题,老师反映说有时上传的资料会出现问题。BB系统的确强大,但是好多功能其实已经几乎都不在使用了,而且和本校开发的其他平台整合的时候会比较困难,所以我们进行了这个平台的开发,值做资源的共享,而将这个功能的可用性做好。而对以后进一步扩充其他功能留有接口方便给整合其他的
10、平台。1.2模块设计的内容凡是注册成功的用户登录到该平台后,都能够根据自己所属用户组的权限对平台上的系统公告、课程公告、课程资源、站内信、留言、用户、用户组等内容进行合法的操作(增、删、改、查)。1.3平台设计要达到的目标我们的目标就是希望通过大家的努力,能够让我们的这个资源共享平台成为一个以课程为中心,围绕课程的一个共享平台。在学校中实用和适用的平台,主要是面向全校的老师和学生,使其能够在自身受益的同时,还可以通过相互的交流使更多人受益。但是我们能够清楚地认识到要想达到这个目标会遇到很多困难,不论是在开发、测试过程中,以及后期的性能优化、管理与维护阶段,肯定会遇到很多技术上难题。2 模块分析
11、2.1模块需求分析目前平台默认有四个用户组,分别为:超级管理员组、管理员组、老师组、学生组。凡是注册成功的用户登录到该平台后,都能够根据自己所属用户组的权限对平台上的系统公告、课程公告、课程资源、站内信、留言、用户、用户组等内容进行合法的操作(增、删、改、查)。目前平台默认有39个操作,分别为:添加一个行为、删除一个行为、更改用户组行为、添加用户组、删除用户组、更换用户分组、更改用户信息、添加新用户到普通用户、删除用户、添加系统公告、更改系统公告、删除系统公告、添加任意班级公告、更改任意班级公告、删除任意班级公告、添加所属班级公告、更改所属班级公告、删除所属班级公告、添加留言、更改留言信息、删
12、除所属留言、删除所有课程资源留言、编辑所有资源专辑、删除所有资源专辑、编辑自己资源专辑、删除资源专辑、发送站内信、删除所有站内信、删除自己所收站内信、上传资源无限制、上传资源2G限制、上传资源1G限制、上传资源500M限制、上传资源200M限制、上传资源100M限制、上传资源50M限制、上传资源30M限制、上传资源20M限制、上传资源10M限制。这些操作将会合理的分配给各个用户组,当用户进行相应的操作之前,都会对该用户所属的用户组的权限进行检测,确认其所拥有的权限并进行相关的操作,一下为各用户组的所持有的相关权限。超级管理员:查看、发布、修改、删除系统公告;查看、发布、修改、删除课程公告;查看
13、、上传、下载、删除课程资源,上传资源大小限制;查看、发送、删除站内信;查看、发送、删除留言;查看、创建、修改、删除用户信息;查看、创建、修改、删除用户组信息,添加、修改、分配用户权限。(如图3.3所示)管理员:查看、发布、修改、删除系统公告;查看、发布、修改、删除课程公告;查看、上传、下载、删除课程资源,上传资源大小限制;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息,查看相关师生基本信息;查看所属用户组的基本信息。老师:查看系统公告;查看课程公告;查看、上传、下载课程资源;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息,查看相关学生基本信息;查看所
14、属用户组的基本信息。学生:查看系统公告;查看课程公告;查看、上传、下载课程资源;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息;查看所属用户组的基本信息。2.2开发技术路线2.2.1平台技术概述后端整合Struts2、Spring2、Hibernate3框架开发多层架构的JavaEE应用。前端开发脚本方面使用JQuery框架为基础开发库,布局应用CSS。数据库开发使用Oracle11g。文件上传方面的通信协议主要通过HTTP、Flex内置协议、自定义协议三种方式实现。服务器环境为Linux(SUSE)操作系统。开发环境为Window操作系统。服务器使用Tomcat服务器。
15、开发工具:MyEclipse。版本管理工具:CVS。2.2.2前端技术概述前端页面基于HTML4.0.1,CSS1.0的960栅格化进行设计,页面脚本架构基于jQuery进行开发。其中大量是用同源下的Ajax进行交互来增强用户体验。文件上传部分有部分功能基于Flex进行开发。其中大量使用了前端优化策略。对Ajax请求进行相应的安全优化。(1) 栅格系统的设计原理及应用图2.1栅格计算示意图在网页设计中,我们把宽度为“W”的页面分割成n个网格单元“a”,每个单元与单元之间的间隙设为“i”,此时我们把“a+i”定义“A”。他们之间的关系如下:W =(an)+(n-1)i由于a+i=A,可得:(An
16、) - i = W如以上原理,在本站的设计中,采用了类似如下960栅格设计:图2.2栅格化明细示意图(2) 前端优化方案描述: 减少HTTP请求,使用expires头 采用gzip压缩组件 将样式表放在顶部 将脚本放在底部 禁止使用CSS表达式,简化css选择符 尽量使用外部的JavaScript和CSS 精简JavaScript代码 尽量不适用重定向 对JavaScript进行并行加载,对JavaScript使用预加载 进行图片的优化,合理的合并图层(3) JQuery是一个前端的框架,其是由javascript编写而成的,其中提供了很多的内置方法方便前端脚本的编写。而且之中内置了很多前端方
17、面的性能优化,是的响应的减少了由于导入脚本库增加页面首次载入的下载量导致的页面的渲染速度问题。Flex是一种基于浏览器插件的技术,也就是说浏览器必须安装了adobe的flashplayer插件才能播放。也正因如此,它是夸平台的,不会因为浏览器对页面的解析不同而显示出不同的效果。本系统使用Flex主要是因为HTTP不能满足上传中大型文件的需求,如果用户有一个需求是这样的:想上传一个较大的文件,但是又不想安装客户端,而传统的HTTP方式又不可以实现,这是就要用到Flex上传。Flex方式可以上传300M一下的文件。2.2.3后端技术概述Struts2的简单处理流程如下:(1) 浏览器发送请求;(2
18、) 中心处理器根据struts .xml配置文件查找对应的处理请求的 Action类;(3) Struts2的拦截器链自动对请求应用通用功能,例如:WorkFlow、Validation等功能;(4) 如果struts .xml配置文件中配置了method参数,则调用 method参数对应的Action类中的method方法,否则调用通用的execute方法来处理用户请求;(5) 将Action类中的对应方法返回的结果响应给浏览器。Spring的核心是IOC(控制反转)和AOP(面向切面编程),IOC是用来管理所有的业务对象,当你需要一个对象的时候它会帮你自动的通过Java的反射机制来创建,而
19、不是通过以前传统的new的方式;AOP是允许在调用的方法前后附加另外的行为,可以为某一类对象进行监督和控制,从而达到对一个模块扩充的功能,这些都是通过配置类达到的。Spring目的:就是让对象与对象(模块与模块)之间的关系不通过代码来关联,都是通过配置类说明进行管理(Spring根据这些配置,内部通过Java的反射机制动态的组装对象),Spring的哲学是在不影响Java对象的设计的情况下将Java对象加入到框架中。Hibernate是一个开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,对 Java类和关系数据库进行mapping,使得Java程序员可以随心所欲的使用面向对象编程思
20、维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,Hibernate还可以在应用EJB的JavaEE架构中取代CMP,完成数据持久化的重任。2.3可行性分析Linux+Tomcat作为服务器环境是非常实用的,Tomcat虽然不像Apache那样的高效,但是由于其内部没有jsp的环境,所以如果使用apache的话还要将Tomcat集成到Apache上,导致中间的转换,而且在内网的环境下,使用过于复杂的服务器环境没有意义,所以我们最终选择了仅适用Tomcat作为服务器。JQuery库的主要优点是方
21、便开发,但是同时也会出现一个问题,就是在第一次载入JQuery的时候会给页面多带来300K的开销,会稍微减慢了页面的加载速度,但是这些开销其实是可以忽略的,因为即便是在外网中使用jquery库也不会对页面带来太多的影响,何况是本系统主要是服务于内网用户,而且当用户载入一次JQuey库之后就会在用户的电脑中形成浏览器缓存,在下次再使用的时候浏览器会自动的去取缓存里面的js文件,也就是说即便是对前端的性能有了一定的影响也只是影响了用户第一次访问本站的时候。而带来的好处是很大的,首先是提高了开发效率,其次是其包含了很多优化好的方法,可以大大增强代码的执行效率。Flex的跨平台性很好,其缺点也是在第一
22、次加载的时候需要加载一个SWF文件,这个文件相对较大。但是同样这个在内网可以忽略不计,而且会形成浏览器缓存。同时带来的很多优点就是Flex带来的用户体验非常好,同时满足了上传中大型文件的需求。Struts2是一个MVC框架,主要用于将交互系统分解成模型(Model)、视图(View)、控制器(Controller)三个部分,这三个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性。概括起来MVC框架的优点主要有以下方面:(1) 多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少重复性代码以及代码的维护量,一旦模型发生改变,也易于维护;(2) 模型返回的数据与显示逻
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校内 教学 资源共享 平台 前端 设计 实现