基于Struts架构的办公自动化系统的研究与开发毕业论文.docx
- 文档编号:9245068
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:65
- 大小:1.08MB
基于Struts架构的办公自动化系统的研究与开发毕业论文.docx
《基于Struts架构的办公自动化系统的研究与开发毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Struts架构的办公自动化系统的研究与开发毕业论文.docx(65页珍藏版)》请在冰豆网上搜索。
基于Struts架构的办公自动化系统的研究与开发毕业论文
基于Struts架构的办公自动化系统的研究与开发毕业论文
目录
1绪论1
1.1办公自动化软件开发的现状1
1.2本文要做的工作2
2运用技术及开发工具介绍3
2.1Struts技术简介4
2.2B/S模式介绍及应用4
2.2.1什么是B/S模式4
2.2.2B/S模式的优缺点5
2.3开发工具的选择6
2.3.1Eclipse介绍与应用6
2.3.2Tomcat介绍6
3需求分析与系统设计7
3.1问题域的一般描述7
3.2待开发软件的功能模块需求7
3.2.1系统模块功能图7
3.2.2系统模块功能描述8
3.2.3系统其他需求9
3.3系统用例模型10
3.3.1系统边界10
3.3.2主要参与者及其目标10
3.3.3用例图11
3.3.4系统主要类图12
3.4系统数据库设计18
3.4.1数据表概要说明18
3.4.2数据表的结构18
4系统详细设计23
4.1前期准备23
4.1.1配置应用Struts结构文件及数据库连接文件23
4.1.2类的分布架构设计23
4.2公共类的编写24
4.2.1数据库的连接及操作方法类:
DB25
4.2.2数据表信息类:
Content26
4.2.3分页类:
Page27
4.2.4检查用户权限类:
CheckUserAble29
4.2.5检查用户是否在线类CheckUser类30
4.3登录模块的设计31
4.3.1表现层设计31
4.3.2业务控制层设计31
4.4文件共享模块的设计34
4.4.1文件上传子模块表现层设计34
4.4.2业务控制层设计35
4.5其他模块的设计37
5系统测试38
5.1系统测试38
5.1.1系统运行概貌38
5.1.2收发文管理模块测试40
5.1.3会议管理模块测试42
5.1.4公告管理模块测试43
5.1.5日程管理模块测试45
5.1.6新闻管理模块测试45
5.1.7人力资源管理模块测试46
5.1.8资产管理模块测试48
5.1.9文档管理模块测试50
5.1.10意见箱模块测试50
5.2测试分析52
结论53
参考文献54
致谢55
附录A 办公自动化OFFICE部署手册56
1绪论
1.1办公自动化软件开发的现状
当今社会是一个信息飞速发展的社会,因此,针对各行业来说,计算机的应用实为重要,求质量、求速度,尽可能的脱离手工操作,是现代人追求的目标。
分析人士指出,在一个企业的运作过程中,交流成本成为了总成本的一个重大构成部分,因此,如何实现快速、有效的交流以降低交流成本成为每个企业所关心的问题。
在现代社会中,任何一个行业,任何一个企业,高效准确的办公都是至关重要的。
快捷的信息交流,畅通的公文传递,迅速的文档查询,自动的工作流转等等都能提高一个企业的办公效率,进而提高其市场竞争力。
图1.1传统办公模式
传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。
图1.2网络化办公模式
现有办公自动化系统中,企业文件流转功能都是核心功能。
可以认为,企业办公主
要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库表单。
传统办公自动化系统和大型MIS系统在处理企业管理流程中大多采用企业业务流程重组(BKR),其核心思想就是要先优化企业业务管理流程,再根据优化后的流程建设企业信息统。
这样不仅在系统建设中工作量巨大,同时面临来自企业内部重重的阻碍。
要想实现办公自动化,就需要实施计算机管理,所以,开发了这个办公自动化系统OFFICE,此系统是基于网络的,部署方便,易于维护。
1.2本文要做的工作
本文的最终目标是要描述建立一个办公自动化系统的过程,本文重点描述了个人办公,企业信息管理模块。
系统选用Struts框架,以MVC设计模式作为软件工程方法,并用JAVA语言实现。
本文主要做的工作是描述了此办公自动化系统从分析,设计,到实现的主要工作流程,并在最后阐述系统的使用方法。
本系统实现的主要功能模块有:
1、个人办公模块包括收发文管理、会议管理、邮件管理、日程管理、意见箱等五个子模块,提供公文流传、会议记录、邮件收发、日程安排、提出意见建议等功能,给企业员工在日常办公的过程中提供了方便。
2、企业信息管理模块包括公告管理、新闻管理、人力资源管理、资产管理、资料共享等五个子模块,提供公告、新闻信息的发布,员工信息的管理,记录企业资产状态,企业内部电子资料的共享等功能。
2运用技术及开发工具介绍
该办公自动化系统是在Eclipse3.2的环境下开发的,以MSSQLServer2000作为后台数据库,Action作为系统的业务逻辑层,JSP页面作为系统的表现层,通过使用Struts实现的MVC机制,来控制整个办公自动化的业务数据流程。
本系统是基于WEB的,所以Internet必须成为浏览器和服务器之间的通信媒介,UML架构模型如图2.1所示:
图2.1架构设计图
本系统的具体架构是MVC模式,并用DAO封装所有的数据库访问,具体的物理架构如图2.2所示:
图2.2物理架构图
2.1Struts技术简介
Struts最早是作为ApacheJakarta项目的组成部分问世运作。
项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。
Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架[1]。
它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
虽然仍然需要学习和应用该架构,但它将可以完成其中一些繁重的工作。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
2.2B/S模式介绍及应用
2.2.1什么是B/S模式
浏览器/服务器(B/S)模式又称B/S结构。
它是一种以Web技术为基础的新型的MIS系统平台模式。
把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系[2]。
第一层客户机是用户与整个系统的接口。
客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。
浏览器将HTML代码转化成图文并茂的网页。
网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。
这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。
如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。
2.2.2B/S模式的优缺点
B/S模式简化了客户端。
它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件[3]。
这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。
假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。
甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。
其次,它简化了系统的开发和维护。
系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。
各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。
现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。
相对于C/S,B/S的维护具有更大的灵活性。
当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。
这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。
如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。
再次,它使用户的操作变得更简单。
对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。
而采用B/S模式时,客户端只是一个简单易用的浏览器软件。
无论是决策层还是操作层的人员都无需培训,就可以直接使用。
B/S模式的这种特性,还使MIS系统维护的限制因素更少。
最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。
这是C/S所无法实现的。
而这种新增的网上信息发布功能恰是现代企业所需的。
这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。
鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。
各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。
一些企业已经领先一步开始使用它,并且收到了一定的成效。
B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选,但是它也有不成熟的一面,目前基于B/S模式的应用软件也很缺乏,其最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。
2.3开发工具的选择
2.3.1Eclipse介绍与应用
Eclipse是一个非常优秀的集成开发环境(IDE)。
Eclipse是一个用于构建集成Web和应用程序开发工具的平台[4],根据需求在Eclipse插入各种功能插件,能使Eclipse拥有不同的功能。
Eclipse的核心是动态发现插件的体系结构。
平台负责处理基本环境的后台工作,并提供标准的用户导航模型,于是每个插件可以专注于执行少量的任务。
Eclipse的出现,不仅为Java开发者提供了免费使用强大的JavaIDE的机会,而且也为C++的开发者提供了CDT(C语言开发工具)[5]。
本系统的开发过程中使用了MyEclipse插件,该插件主要用于开发java程序,集成了大量的实用类库。
2.3.2Tomcat介绍
JakartaTomcat服务器是一种Servlet/JSP容器。
Servlet是一种运行在支持Java语言的服务器上的组件[6]。
当客户请求访问某个Servlet时,Servlet容器将创建一个ServletRequrst对象和ServletResponse对象。
在ServletRequest对象中封装了客户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给客户所请求的Servlet。
Servlet把响应结果写到ServletResponse中,然后由Servlet容器把响应结果传给客户。
Servlet容器响应客户请求过程如图2.3所示:
图2.3Servlet容器响应客户请求过程图
3需求分析与系统设计
本章描述了此办公自动化系统的需求分析和系统设计,主要对待开发软件进行一般描述和对该软件各功能模块需求进行分析和设计。
3.1问题域的一般描述
系统将用户分为3个权限级别:
“系统管理员”可对系统中的所有功能进行操作;“普通管理员”可对系统中的部分功能进行操作;“游客”在本系统中只能进行收发邮件和浏览信息的操作。
3.2待开发软件的功能模块需求
3.2.1系统模块功能图
开发本软件的目的是为公司办公室提供一个方便快捷的办公平台。
经调查分析,本系统应具备的功能模块有:
用户登录、收发文管理、会议管理、公告管理、新闻管理、人力资源管理、资产管理、日程管理、资料共享、内部邮件管理、和意见箱等模块。
因此,本软件的各个功能划分如图3.1所示。
图3.1系统功能模块图
3.2.2系统模块功能描述
1、收发文管理
提供公文服务,如员工请假,领导审批等需要公文传递的都可以通过收发文管理模块实现。
2、会议管理
记录企业开会的会议记录,全体员工可以查看会议记录。
3、公告管理
拥有管理员权限的人员可以添加新公告、删除旧公告等。
全体员工可以查看公告。
4、新闻管理
拥有管理员权限的人员可以添加新闻、删除新闻等。
全体员工可以查看新闻。
5、邮件管理
在部门之间,各部门不同员工之间可以用邮件方式进行及时通信,收发邮件,管理邮件等。
6、人力资源管理
供全体员工查看个人信息、修改个人信息等。
管理员可以浏览全体员工信息,按条件模糊查询员工,创建员工,修改员工信息,评定优秀员工等,实现整个公司人力资源的管理。
7、资产管理
对公司固定资产和耗材进行管理,主要包括车辆管理和办公用品管理两类,方便员工掌握公司各种资产的情况。
8、资料共享
提供上传资料和下载资料的功能,给员工提供了共享资料的平台,只有拥有管理员权限的人员才可以对文件进行删除操作。
9、日程管理
由管理员(领导)安排部门的日程安排,给出一个工作任务的截至日期,其他员工每天注意查看日程,务必按时完成任务。
10、意见箱
一个公司员工提出意见的平台,员工有什么意见或者建议均可以在此处提出,管理员权限的人员可以查看意见箱,以做出及时反应。
3.2.3系统其他需求
1、错误处理:
系统要有一定的容错能力,出现错误及时提醒;
2、安全:
任何对系统的使用都必须先登录,而且要防止绕过登录,登录30分钟无任何操作会自动退出,以防被不法分子盗用;
3、性能需求:
系统对于用户做出的任何请求都要在10秒之内做出响应,做到尽快响应;
4、适用性:
用Struts作为框架,用JAVA语言实现,服务器可以允许于不同的操作系统之上;
5、可靠性:
系统要能够持续工作比较长的时间,而且不发生严重错误;
6、接口需求:
硬件接口:
键盘,鼠标,显示器;
软件接口:
基于网络的办公平台;
7、扩展需求:
将来要把公司的子公司联入系统,可以实现异地办公。
3.3系统用例模型
3.3.1系统边界
此办公自动化系统Office、数据库服务器和有关操作的人员都在系统边界之内。
3.3.2主要参与者及其目标
参与者是通过使用系统提供的服务来实现自己目的的人或者系统。
表3.1参与者目标
参与者
使用目标
游客
查看公司公告,新闻,查看、修改个人信息、查看日程、收发邮件等。
普通管理员
除拥有游客的所有权限外,还具有添加、删除公司公告、新闻、日程、收发邮件,管理资产、收发公文、提出建议等的权限。
系统管理员
除拥有普通管理员的权限外还具有添加员工、修改员工信息、查看意见箱的权限。
3.3.3用例图
用例图是UML中的一种对用例建模的图,用于简要描述系统功能[7]。
1、系统管理员身份的的用例图
如图3.2所示为本系统系统管理员身份的用例图:
图3.2系统管理员用例图
2、普通员工的用例图
如图3.3所示为普通员工身份的用例图:
图3.3普通员工用例图
3.3.4系统主要类图
1、后台数据库操作类DB
系统将用于数据库连接、操作的类封装成一个类DB,类图如图3.4所示:
图3.4后台数据库操作类DB
其中getCon()方法用于连接数据库;getStm()用于保存需要执行的Sql语句;getRs(sql:
String)用于保存执行sql语句后的结果。
2、分页类page
由于在系统中浏览信息的页面都需要分页功能,系统将分页功能独立封装成分页类page,page的类图如图3.5所示:
图3.5分页类page
3、树形菜单类OfficeMenu
系统采用了树形菜单,树形菜单功能用类OfficeMenu封装,OfficeMenu类图如图3.6所示:
图3.6树形菜单类OfficeMenu
其中LoadMenu()、LoadMenu2()、LoadMenu3()分别用于列出一级、二级和三级菜单。
而在每一级菜单中使用类MenuSigle来打开具体菜单,类MenuSigle的类图如图3.7所示:
图3.7查看单个菜单的类MenuSigle
4、登录动作类
LogonAction类图如图3.8所示:
图3.8登录动作类LogonAction
其中executeLogonNo()用于在登录失败的时候产生的动作,在登录成功以后用Loadmenu()方法导出相应菜单。
5、用户类UserAction
此类主要用于人力资源管理模块,类图如图3.9所示:
图3.9用户类UserAction
其中executePersonLook()用于查看员工信息,executePersonGood()用于查看优秀员工信息,executePersonSigleLook()用于查看员工的详细信息,executePersonMyselfLook()用于查看个人信息,executePersonAdd()用于添加员工,executePersonUpdate()用于更新员工信息,executeMyUpdate()用于修改个人信息,executePersonDel()用于删除员工信息。
6、发文动作类TextAction
此类主要用于收发文管理模块,类图如图3.10所示:
图3.10发文动作类TextAction
其中executeTextLookGet()用于查看收文信息,executeTextLookSend()查看发文件箱,executeTextSigleLook()用于查看发文内容,executeTextDel()用于删除收、发文,executeTextAdd()用于添加收、发文。
7、公告动作类PcardAction
此类主要用于公告管理模块,类图如图3.11所示:
图3.12公告动作类PcardAction
其中executePcardLook()用于浏览公告信息,executePcardSigleLook()用于查看选定公告具体信息,executePcardDel()用于删除公告,executePcardAdd()用于发布新公告,executePcardUpdate()用于更新公告。
8、文档动作类FileAction
此类主要用于文档管理模块,类图如图3.12所示:
图3.12文档动作类FileAction
其中executeFileLook()用于浏览文件信息,executeFileDownLoad()用于从系统下载文件,executeFileUp()实现上传文件到系统的功能,executeFileDel()实现删除文件的功能。
9、资产管理类MoneyAction
此类主要用于资产管理模块,类图如图3.13所示:
图3.13资产管理类MoneyAction
10、邮件管理类MailAction
此类主要用于邮件管理模块,类图如图3.14所示:
图3.14邮件管理类MailAction
其中方法executeMailAdd()用于发送邮件,executeMailLookGet()用于浏览收件箱,executeMailLookSend()用于浏览发件箱,executeMailLookSigle()用于查看邮件内容,executeMailDel()用于删除邮件。
11、意见箱管理类AdviceAction
此类主要用于意见箱管理模块,类图如图3.15所示:
图3.15意见箱管理类AdviceAction
其中方法executeAdviceLook()用于浏览意见箱,executeAdviceAdd()用于发表意见。
12、新闻管理类NewsAction
此类主要用于新闻管理模块,类图如图3.16所示:
图3.16新闻管理类NewsAction
其中方法executeNewsLook()用于浏览新闻信息,executeNewsSigleLook()查看新闻详细内容,executeNewsAdd()用于添加新闻,executeNewsDel()用于删除新闻。
13、会议管理类MeetAction
此类主要用于会议管理模块,类图如图3.17所示:
图3.17会议管理类MeetAction
其中方法executeMeetLook()用于浏览会议记录,executeMeetSigleLook()用于查看具体会议记录,executeMeetAdd()用于添加新的会议记录,executeMeetDel()用于删除会议记录。
3.4系统数据库设计
3.4.1数据表概要说明
开发系统之前首先要设计数据库,系统数据库的名称为db_office,共13张表,系统所需数据库表如图3.2所示。
表3.2数据库表的设计
db_office
tb_advice
建议表
tb_calendar
日程安排表
tb_car
资产管理车辆表
tb_file
文件表
tb_label
下拉列表信息表
tb_mail
内部邮件表
tb_meet
会议表
tb_menu
功能菜单表
tb_news
新闻表
tb_pcard
公告表
tb_text
收、发文表
tb_thing
资产管理办公用品表
tb_user
用户表
3.4.2数据表的结构
1、tb_advice(意见表)
意见表主要用于保存意见信息,记录意见的主题、内容、发送时间等意见的具体信息。
表tb_advice的结构如表3.3所示:
表3.3意见表
tb_advice
字段名称
数据类型
字段大小
说明
advice_id
int
4
自动编号
advice_subject
varchar
50
意见主题
advice_sender
varchar
50
意见发送者
advice_content
varchar
50
意见内容
advice_sendtime
varchar
50
意见发送时间
advice_sendbranch
varchar
50
意见发送者所在部门
2、tb_calendar(日程安排表)
tb_calendar表主要用于保存日程信息,记录日程的截止时间、内容、安排者等日程的详细信息。
表tb_calendar的结构如表3.4所示:
表3.4日程安排表
tb_calendar
字段名称
数据类型
字段大小
说明
calendar_id
int
4
自动编号
calendar_deadline
varchar
50
日程截止时间
calendar_origin
varchar
50
日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Struts 架构 办公自动化 系统 研究 开发 毕业论文