基于教学教务的协同办公系统的设计与实现毕业设计.docx
《基于教学教务的协同办公系统的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《基于教学教务的协同办公系统的设计与实现毕业设计.docx(48页珍藏版)》请在冰豆网上搜索。
基于教学教务的协同办公系统的设计与实现毕业设计
本科生毕业设计(论文)
基于教学教务的协同办公系统的设计与实现
学院:
电子与信息工程学院
专业:
网路工程
学号:
学生姓名:
指导教师:
(职称)
二〇年月
摘要
本文针对教师领导在教学教务中如何共同办公问题,提出了一套基于教学教务的协同办工系统的解决方案。
系统以J2EE架构为开发平台,采用基于B/S的三层结构,利用SpringMVC框架进行开发,同时针对当前企业应用环境的复杂性和本系统的特点,采用了当前流行的GWT(GoogleWebToolkit)开发工具进行开发,提高用户体验。
本论文首先概要介绍了目前办公自动化的发展现状,得出了办公自动化走向“协同”的发展趋势,分析当前学校办公运作效率不高的问题,根据协同办公理念,提出解决方案,接着详细介绍系统的开发过程,包括关键技术、设计过程以及其成果展示。
开发过程严格遵守软件工程的思想,按照需求分析、数据库设计、概要设计、详细设计、编码、改进和性能优化的步骤进行开发。
该系统主要完成以下功能:
创建项目资源共享平台功能;创建协作小组功能;在线文档编辑功能;在线信息交流互动功能;留言版功能;文件管理功能。
本系统不仅仅能提高教师领导的工作效率,协调完成工作任务,也能优化个人事务管理和提高学校办公的整体运作效率。
关键词:
协同办公;MVC;B/S三层结构;GWT
TeachingEducational-BasedCollaborativeOfficeSystemsDesignandImplementation
LINPeng-fei
Abstract
Teacherleadershipinteachingeducationalcommonofficeproblemsputforwardasetofteachingeducational-basedcollaborativeofficesystemssolutions.SystemdevelopmentplatformbasedonJ2EEarchitecture,usingthethree-tierstructurebasedonB/S,usingtheSpringMVCframeworktodevelop,thecomplexityofenterpriseapplicationenvironments,andcharacteristicsofthissystem,usingthepopularAjaxtechnologyandtheGWT(GoogleWebToolkit)developmenttoolsforthedevelopment,improvetheuserexperience.
Thepaperfirstanoverviewofthecurrentdevelopmentofofficeautomation,towardsthedevelopmenttrendof"synergy"cometotheofficeautomation,andanalysisofthecurrenthighschoolofficeoperationalefficiencyissues,proposesolutionsbasedontheconceptofcooperativeoffice,followedbydetailsofthesystemthedevelopmentprocess,includingthedesignprocess,keytechnologies,aswellastheresultsshow.Developmentprocessadherestotheideaofsoftwareengineering,inaccordancewiththerequirementsanalysis,databasedesign,preliminarydesign,detaileddesign,coding,improvementandperformanceoptimizationstepstobedeveloped.Thesystemcompletedthefollowingfunctions:
tocreatetheprojectresourcesharingplatformfeatures;tocreateacollaborativegroupfunction;onlinedocumentediting;theinteractivefeaturesofonlineinformationexchange;functionofthemessageboards;filemanagementfunctions.
Thissystemnotonlycanimprovetheworkefficiencyoftheteacherleadershipandcoordinationtocompletethetasks,butalsotooptimizethepersonalaffairsmanagementandimproveoveralloperationalefficiencyoftheschooloffice.
Keywords:
Coordinationoffice;theMVC;B/Sthree-tierstructure;theGWT
基于教学教务的协同办公系统的设计与实现
姓名:
林鹏飞学号:
2008394230班级:
08网络工程
(2)班
1.绪论
1.1办公自动化现状
目前关于办公自动化还没有一个严格统一的定义。
经典的办公自动化定义是美国M.季期曼教授提出的。
他认为:
“办公自动化是将计算机技术、通信技术、系统科学和行为科学应用于传统的数据技术难以处理的数量庞大且结构不明确包括非数值信息的办公事务上。
”
1.1.1办公自动化概况
办公自动化(OfficeAutomation,OA),在我国自70年代开始发展,到90年代中期大致经历了三个阶段。
第一个阶段的主要标志是办公过程中普遍使用现代办公设备,如传真机、打字机、复印机等;第二个阶段的主要标志是办公过程中普遍使用电脑和打印机,通过电脑和打印机进行文字处理、表格处理、文件排版输出和进行人事财务等信息的管理等;第三个阶段的主要标志是办公过程中网络技术的普遍使用,这一阶段在办公过程中通过使用网络,实现了文件共享,网络打印共享,网络数据库管理等工作。
自90年代中期至今,互联网技术在我国迅速发展和普及,引出了Intranet、Extranet、Internet、政府上网工程、企业上网工程、电子政府、电子商务、电子管理、政府内部网、企业网、数字神经系统和数字化办公等一系列新概念。
这是办公自动化应用发展的新阶段。
这一个阶段的主要标志应为互连网技术的普遍使用。
随着技术的不断发展以及市场经验的逐渐累积,办公自动化产品不断成熟,各种各样的办公自动化系统应用到了政府办公和企业业务处理中。
办公自动化已成为政府和企业信息化建设的重要组成部分,并渗入到社会的各行各业,它在一个组织的业务过程和组织管理中起着非常重要的作用。
1.1.2办公自动化走向“协同”
现代的企业要求办公自动化系统不仅仅能满足于当前工作的需要,而且还要求能够在复杂的企业应用环境中,满足不断变化的业务需求,达到随需应变的情况,实现企业的信息交换与共享、员工之间的协同办公、辅助企业的管理以及决策等。
然而传统的办公自动化系统只是简单地对当前的业务进行应用的汇集,因而并不能在复杂的业务环境中随着需求的改变而改变;另外随着业务的变更,重新开发一套新的产品或者升级原有系统,也就隐性地增加了系统的成本和由此带来的风险。
随着我国信息化的迅速铺开,企业或政府对信息化的认知越来越成熟。
企业需要在日益激烈的市场竞争环境中提高业务过程的效率,提高对风险的防御能力;政府要求不断提高其办公效率,加大政务工作的透明性和公众的满意度,这都为能够提供自动化流程审批和基于流程整合应用的协同软件产生了巨大的市场空间,使协同软件带动整个软件行业走向主流。
关于“协同”的概念,早在1999年,GartnerGroup就指出,“协同”是将具有共同商业利益的合作伙伴整合起来,通过对整个商业周期中的信息进行共享,实现和满足不断增长的客户需求,同时也满足企业本身增强活动力的需要。
根据当前市场的需求,协同软件与办公自动化应用结合在一起。
与传统办公系统不同的是,它通过将一个组织的要素进行分解,并统一到一个平台上来,实现信息交换与共享、员工之间协同办公、辅助组织的管理与决策。
经过几年的发展,协同的概念得到了更多企业和单位的认可,协同软件也逐渐走向成熟。
相对于ERP等软件的巨额投入和不确定回报,多数企业选择协同软件。
同时对于政府的“一站式服务”、“并联审批”等应用发展趋势,协同软件也成为首要考虑的解决方案。
1.1.3学校教学教务的协同办公要求日益突出
如今,在各个学校,无论教师还是领导的办公往往都不是一个人,会涉及到各部门或各任课老师,教学教务的信息化程度不断提高,数据量也越来越大,办公效率的要求日益突出,急需向智能化方向发展和开拓,如果以召集开会讨论的模式效力往往比较低,因为缺少一个共同的平台,资源难于及时共享,信息交流也容易滞后,且难于集中管理和掌控任务的发展状况,这对教学教务带来极大不方便和低效率。
而本文将提出方案,并通过现流行的技术解决目前学校在教学教务上的问题。
1.2本文研究的主要内容
本文主要针对当前国内学校教学教务办公效率不高的问题,结合最新的系统开发结构和框架技术,应用GWT开发工具,实现一个基于教学教务的协同办公系统。
本文首先针对协同办公系统的实现目标,设计系统的总体架构,结合SpringMVC框架,提出了协同办公系统的体系结构,最终构建实现基于B/S模式的协同办公系统平台。
本文的研究内容包括:
1)基于B/S的典型三层结构设计;
2)SpringMVC框架技术;
3)GWT开发工具的应用;
4)RPC远程过程调用协议;
5)教学教务的协同办公系统解决方案
1.3论文各章内容介绍
本论文围绕整个系统的设计、开发展开,从一开始的调研到以后的程序设计,在本论文中都进行了详细的描述。
本论文第一章为绪论,介绍了办公系统的发展背景和目前教学教务的协同办公要求,通过研究背景与需求,课题调研与可行性分析,为系统需求分析提供信息基础。
论文的第二章是系统的设计部分,详细介绍系统采用的总体结构,系统使用的框架模式,,系统的开发模式,系统的通信模式以及GWT开发工具的应用。
论文的第三章是介绍系统功能需求分析,数据流图分析,数据字典以及数据库表的设计。
论文的第四章为详细设计,在详细设计中主要介绍了各子模块功能、详细设计、功能实现方法,以及在系统开发过程中遇到主要问题及解决方案。
论文的第五章为对系统进行总结,分析总结系统存在问题并提出改进方案,展示系统界面,操作说明系统功能,以及对系统核心代码进行注解。
论文的最后为:
致谢及参考文献。
2.协同办公系统关键开发技术
系统设计工作应该自顶向下地进行。
首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。
总体设计主要是指在系统分析的基础上,对整个系统的划分、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。
2.1系统结构
为了利于系统的开发和维护,提高系统集成性,本系统采用基于B/S的典型三层架构,具有“高内聚,低耦合”的优点。
2.1.1基于B/S的典型三层结构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或 SQLServer等数据库。
浏览器通过WebServer 同数据库进行数据交互。
图2-1B/S结构(Browser/Server,浏览器/服务器模式)
基于B/S的典型的三层结构:
(1)展现层
(2)业务逻辑层(3)数据持久层。
三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级.虽然各层所负责的任务不相同,但之间有相互联系,每层负责的功能如下:
1)展现层:
展现层的逻辑都是关于如何和用户交互。
主要职责是向用户显示信息,获取用户命令并提交到业务逻辑层。
2)业务逻辑层:
负责程序需要处理领域中真正的工作。
如基于输入进行计算并调用数据持久层进行数据持久化。
3)数据持久化层:
主要的逻辑是和数据库系统交互。
图2-2基于B/S的典型三层架构关系图
2.1.2持久化机制
数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称.数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。
持久化狭义的理解:
“持久化”仅仅指把对象永久保存到数据库中
持久化广义的理解:
“持久化”包括和数据库相关的各种操作:
1)保存:
把对象永久保存到数据库中。
2)更新:
更新数据库中对象(记录)的状态。
3)删除:
从数据库中删除一个对象。
4)加载:
根据特定的OID,把一个对象从数据库加载到内存中。
5)查询:
根据特定查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中。
OID:
为了在系统中能够找到所需对象,需要为每一个对象分配一个唯一的标识号。
在关系数据库中称之为主键,而在对象术语中,则叫做对象标识(Objectidentifier-OID).
持久化机制的实现使用Hibernate对象关系映射框架。
Hibernate为应用程序提供了高效的O/R关系映射和查询服务,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。
2.1.3对象关系映射(ORM)技术
对象/关系映射全称Object/RelationMapping,是应用程序中对象与数据库中记录之间所建立的一种映射,这种关系使得应用程序对关系数据库中的存储,访问操作简化为对实体对象的操作,同时隐匿了数据持久化工作的复杂性。
ORM主要用于解决:
面向对象与关系数据库存在的互不匹配的现象。
ORM的实现思想:
将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。
因此ORM的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。
图2-3三层结构的数据处理关系图
2.2系统框架
本系统采用SpringMVC框架,为Web应用程序提供了全功能的MVC框架。
2.2.1SpringMVC框架技术
Spring框架提供了构建Web 应用程序的全功能MVC模块。
使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。
通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。
SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。
SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
2.2.2MVC设计模式
MVC是一个设计模式。
它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制器Controller)。
1)视图
视图是用户看到并与之交互的界面。
对普通的Web应用程序来说,视图就是由HTML元素组成的界面
2)模型
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
模型与数据格式无关,这样一个模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
3)控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
图2-4MVC关系示意图
MVC模式的目的就是实现Web系统的职能分工。
各层实现的功能:
1)Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
2)View层用于与用户的交互,通常用JSP来实现。
3)Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的
视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
2.2.3MVC模式的优点
1)低耦合性
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。
因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2)高重用性和可适用性
随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3)较低的生命周期成本
MVC使降低开发和维护用户接口的技术含量成为可能。
4)快速的部署
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
5)可维护性
分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6)有利于软件工程化管理
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
2.3系统开发模式
系统开发模式以GWT为富客户端开发技术,以Spring和Hibernate为服务端开发架构,通过SpringMVC控制客户端与服务端的数据交互,以RPC调用协议传输或返回客户端或服务端的数据。
图2-5系统的基本开发模式
2.4系统通信模式
本系统采用RPC进行通信,RPC(RemoteProcedureCallProtocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
RPC采用客户机/服务器模式。
请求程序就是一个客户机,而服务提供程序就是一个服务器。
首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
图2-6RPC通信模式
RPC面向客服端和服务端,实现的功能作用有所不同。
1)在客户端实现RPC
主要功能:
定义数据载体(客户端的model);定义接口和其相应的异步接口;将RPC接口注入客户端的IOC容器以供调用。
客户端IOC容器主要用于存储对象(组件、rpc接口等),一般有如下容器:
a)GwtIocModule公用容器;
b)RpcGwtIocModuleRPC接口容器;
c)WidgetGwtIocModule组件容器。
图2-7客户端组件获取数据的模式
2)在服务端实现RPC
主要功能:
实现客户端RPC的接口;将实现类定义到MVC的xml文件中;实现接口的方法时要记得进行数据转换。
3)RPC代理核心代码
以下代码是对客服端与服务端数据交互的核心处理,通过RPC代理,客服端可以通过请求从服务端拿数据传输到客服端,并反馈数据给服务端,完成客服端与服务端信息交互,数据处理。
SimpleRpcLoaderProxysimpleRpcLoaderProxy=
newSimpleRpcLoaderProxy(){//生成SimpleRpcLoaderProxy类的实例
@Override
protectedvoidloadDataAction(Objectparameter){
$.get(ComponentRpcServiceAsync.class).updateComponentSort($.getCurrentSiteId(),$.getCurrentLocale(),(GwtComponentSort)parameter,this..getBaseAsyncCallback());
//通过RPC调用服务端的实现方法对数据库进行操作
}
};
simpleRpcLoaderProxy.addSuccessListener(newListener(){//事件成功监听
@Override
publicvoidhandleEvent(CustomEventbe){//对返回数据的处理
if(be.getData())
componentSortTreePanel.reload();
}
});
simpleRpcLoaderProxy.load(tmpGwtComponentSort);/*调用simpleRpcLoaderProxy的load方法
获取数据*/
2.5GWT开发工具应用
GWT是GoogleWebToolkit的简称,由Google公司提供的免费开源的富客户端开发工具。
GWT以Java为开发语言,以类似Swing的方式编写UI组件,之后通过在客户端浏览器中运行的一个开发工具和编程模型。
目前,Google公司的大部分Web应用都使用GWT开发。
GWT应用程序与传统的HtmlWeb应用程序最基本的不同在于GWT程序执行时不需要更新整个Html页面,GWT应用程序可以在浏览器中像桌面应用程序那样,只更新页面中需要更新的部分。
像其他C/S应用程序一样,GWT应用程序执行时需要从服务器取得数据。
这种通过网络与服务器进行交互的机制称作远程过程调用(RemoteProce