基于Struts架构的办公自动化系统学士学位毕业论文.docx

上传人:b****6 文档编号:13505060 上传时间:2023-06-14 格式:DOCX 页数:101 大小:619.76KB
下载 相关 举报
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第1页
第1页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第2页
第2页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第3页
第3页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第4页
第4页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第5页
第5页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第6页
第6页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第7页
第7页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第8页
第8页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第9页
第9页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第10页
第10页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第11页
第11页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第12页
第12页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第13页
第13页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第14页
第14页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第15页
第15页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第16页
第16页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第17页
第17页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第18页
第18页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第19页
第19页 / 共101页
基于Struts架构的办公自动化系统学士学位毕业论文.docx_第20页
第20页 / 共101页
亲,该文档总共101页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Struts架构的办公自动化系统学士学位毕业论文.docx

《基于Struts架构的办公自动化系统学士学位毕业论文.docx》由会员分享,可在线阅读,更多相关《基于Struts架构的办公自动化系统学士学位毕业论文.docx(101页珍藏版)》请在冰点文库上搜索。

基于Struts架构的办公自动化系统学士学位毕业论文.docx

基于Struts架构的办公自动化系统学士学位毕业论文

 

基于Struts架构的OA系统

的研究与开发

2011年11月

 

毕业论文(设计)原创性声明

本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。

据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。

对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:

日期:

毕业论文(设计)授权使用说明

 

本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。

有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。

学校可以公布论文(设计)的全部或部分内容。

保密的论文(设计)在解密后适用本规定。

 

作者签名:

指导教师签名:

日期:

日期:

 

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

摘要

随着社会经济的发展,计算机、网络技术的应用已经渗透到企业的日常工作中。

传统的办公室管理方式已经不能满足企业对信息的快速传递与处理的需求,而网络办公自动化的应用解决了这一问题,完善企业内部的管理模式,提高了企业内部的管理水平,进而全面得提升了企业在市场竞争中的综合竞争力。

办公自动化系统基于网络,提高了企业内部的信息化水平。

本文描述了一个办公自动化系统的开发过程,依据面向对象设计的开发思想,利用MVC设计模式,选用浏览器/服务器(B/S)模式搭建,使用Hibernate技术操作数据库,并用Struts完成了系统的最终实现。

根据办公自动化的特点,可将系统分为日常管理、考勤管理、计划指定、审核管理、员工管理、通讯管理6个部分。

关键词:

办公自动化,面向对象,MVC,Struts,Hibernate,B/S

 

目录

 

第1章引言

1.1办公自动化软件开发的现状

当今社会是一个信息飞速发展的社会,因此,针对各行业来说,计算机的应用实为重要,求质量、求速度,尽可能的脱离手工操作,是现代人追求的目标。

分析人士指出,在一个企业的运作过程中,交流成本成为了总成本的一个重大构成部分,因此,如何实现快速、有效的交流以降低交流成本成为每个企业所关心的问题。

在现代社会中,任何一个行业,任何一个企业,高效准确的办公都是至关重要的。

快捷的信息交流,畅通的公文传递,迅速的文档查询,自动的工作流转等等都能提高一个企业的办公效率,进而提高其市场竞争力。

图1.1传统办公模式

传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。

Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。

图1.2网络化办公模式

    现有办公自动化系统中,企业文件流转功能都是核心功能。

可以认为,企业办公主

要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库表单。

传统办公自动化系统和大型MIS系统在处理企业管理流程中大多采用企业业务流程重组(BKR),其核心思想就是要先优化企业业务管理流程,再根据优化后的流程建设企业信息统。

这样不仅在系统建设中工作量巨大,同时面临来自企业内部重重的阻碍。

要想实现办公自动化,就需要实施计算机管理,所以,开发了这个办公自动化系统,此系统是基于网络的,部署方便,易于维护。

1.2本文要做的工作

本文的最终目标是要描述建立一个办公自动化系统的过程。

系统选用Struts框架,以MVC设计模式作为软件工程方法,并用JAVA语言实现。

本文主要做的工作是描述了此办公自动化系统从分析、设计、到实现的主要工作流程,并在最后阐述系统的使用方法。

本系统实现的主要功能模块有:

公共模块设计、登录模块设计、主界面设计、日常管理模块、考勤管理模块、计划指定模块、审核管理模块、员工管理模块、通讯管理模块。

第2章运用技术及开发工具介绍

该办公自动化系统是在MyEclipse9.0的环境下开发的,以MSSQLServer2005作为后台数据库,Hibernate作为系统的业务逻辑层,JSP页面作为系统的表现层,通过使用Struts实现的MVC机制,来控制整个办公自动化的业务数据流程。

本系统是基于WEB的,所以Internet必须成为浏览器和服务器之间的通信媒介,UML架构模型如图2.1所示:

图2.1架构设计图

本系统的具体架构是MVC模式,并用Hibernate对JDBC进行简单封装,具体的物理架构如图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.2Hibernate技术的应用

Hibernate是Java应用和关系数据库之间的桥梁,通过对JDBC的简单封装,使Java程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护。

在Java应用中使用Hibernate包含以下步骤:

1、创建Hibernate的配置文件。

Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需要的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹classes中。

Hibernate能够访问多种关系数据库,如MySql、Oracle、Sybase等。

2、创建持久化类

持久化类符合JavaBean的一般规范,可以作为数据实体的对象化表现形式。

通常都是数据表所对应的域模型中的实体域类。

在编写持久化类时,主要遵循以下原则:

a)为持久化字段声明访问器和是否可变的标志。

持久化类的属性一般都与数据库中相对应表字段一一对应,并包括与之对应的getXXX()、setXXX()、isXXX()方法。

如果持久化类的属性为boolean类型,那么可以使用get或is作为get()方法的前缀。

b)实现一个默认的(即无参数的)构造方法。

所有的持久化类都必须有一个默认的构造方法(可以不是public的)。

这样Hibernate就可以使用java.lang.reflect.Constructor.newInstance()来实例持久化类。

3、创建对象——关系映射文件。

Hibernate采用XML格式的文件来指定对象和关系数据之间的映射。

在运行时,Hibernate将根据这个映射文件来生成各种SQL语句。

在Hibernate中,映射文件通常用.hbm.xml作为后缀名,该文件与持久化类存放在同一目录下。

在User.hbm.xml文件的开头声明了DTD(DocumentTypeDefinition),它对XML文件的语法和格式做了定义。

Hibernate的XML解析器将根据DTD来核对XML文件的语法。

4、构建SessionFactory。

Hibernate的SessionFactory接口提供Session类的实例,Session类用于完成对数据库的操作。

由于SessionFactory实例是线程安全的(而Session实例不是线程安全的),所以每个操作都可以共用同一个SessionFactory来获取Session。

Hibernate配置文件分为两种格式:

一种是XML格式,一种是Java属性文件格式的配置文件。

因此构建SessionFactory的也有两种方法,例程01是在配置文件为Hibernate.properties的情况下构建SessionFactory的,如果Hibernate的配置文件为XML格式,只需在配置文件中声明映射文件,在程序中不必调用Configuration类的addClass()方法来加载映射文件,代码如下:

SessionFactorysf=newConfiguration().configure().buildSessionFactory();

5、Session的创建与关闭。

Session是一个轻量型对象,通常将每个Session实例和一个数据库事务绑定,也就是每执行一个数据库事务,都应该先创建一个新的Session实例。

2.3B/S模式介绍及应用

2.3.1什么是B/S模式

浏览器/服务器(B/S)模式又称B/S结构。

它是一种以Web技术为基础的新型的MIS系统平台模式。

把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系[2]。

  第一层客户机是用户与整个系统的接口。

客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。

浏览器将HTML代码转化成图文并茂的网页。

网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。

这个后台就是第二层的Web服务器。

  第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。

如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。

  第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。

2.3.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.4开发工具的选择

2.4.1MyEclipse介绍与应用

 MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。

它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。

在结构上,MyEclipse的特征可以被分为7类:

  

1.JavaEE模型  

2.WEB开发工具  

3.EJB开发工具  

4.应用程序服务器的连接器  

5.JavaEE项目部署服务  

6.数据库服务  

7.MyEclipse整合帮助  

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。

MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。

2.4.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问题域的一般描述

系统将用户分为2个权限级别:

“系统管理员”可对系统中的所有功能进行操作;“普通用户”可对系统中的部分功能进行操作;

3.2待开发软件的功能模块需求

3.2.1系统模块功能图

开发本软件的目的是为公司办公室提供一个方便快捷的办公平台。

经调查分析,本系统应具备的功能模块有:

用户登录、会议管理、公告管理、外出登记、请假登记、上下班登记、企业计划指定、部门计划指定、个人计划、发布申请、审核批示、员工添加、员工维护、显示通讯组、增加通讯详细信息。

因此,本软件的各个功能划分如图3.1所示。

图3.1系统功能模块图

3.2.2系统模块功能描述

1、日常管理

日常管理模块包括公告管理、会议管理

a.普通用户可以查看公告和会议记录

b.系统用户可以对会议、公告进行添加、修改、删除等操作。

2、考勤管理

考勤管理模块包括外出登记、请假登记、出差登记、上下班登记。

a.用户可以进行上下班登记

b.用户可以进行外出登记、销假操作

c.用户可以进行请假登记、销假操作

d.用户可以进行出差登记、销假操作

e.系统用户可以查看所有登记信息

3、计划指定

计划指定模块包括企业计划、部门计划和个人计划的指定。

a.企业高管可以进行企业计划的新增、删除、修改操作

b.部门管理人员可以进行部门计划的新增、删除、修改操作

c.每个用户可以进行个人计划的新增、删除、修改操作

d.每个用户都可以查看企业计划、部门计划和个人计划

4、审核管理

审核管理包括发布申请和审核批示。

a.用户可以发布、修改、删除申请信息

b.系统用户可以对申请信息审核批示

5、员工管理

员工管理模块可以进行员工的添加和维护。

6、通讯管理

通讯管理模块主要负责存储员工的通讯信息。

a.员工的通讯信息可以按通讯组分别进行存储

b.系统用户可对通讯信息进行新增、修改和删除操作

3.2.3系统其他需求

  1、错误处理:

系统要有一定的容错能力,出现错误及时提醒。

2、安全:

任何对系统的使用都必须先登录,用户登录时,使用附加码,避免恶意的网络攻击。

登录30分钟无任何操作会自动退出,以防被不法分子盗用。

  3、性能需求:

系统对于用户做出的任何请求都要在10秒之内做出响应,做到尽快响应。

4、适用性:

用Struts作为框架,用JAVA语言实现,服务器可以允许于不同的操作系统之上。

5、可靠性:

系统要能够持续工作比较长的时间,而且不发生严重错误。

6、接口需求:

硬件接口:

键盘,鼠标,显示器。

软件接口:

基于网络的办公平台。

7、扩展需求:

将来要把公司的子公司联入系统,可以实现异地办公。

3.3系统数据库设计

3.3.1数据表概要说明

开发系统之前首先要设计数据库,系统数据库的名称为db_work,共14张表,系统所需数据库表如图3.1所示。

表3.1数据库表的设计

db_work

tb_User

用户信息表

tb_Meeting

会议记录表

tb_Placard

公告信息表

tb_Waichu

外出登记信息表

tb_Qingjia

请假登记信息表

tb_Chuchai

出差登记信息表

tb_Onduty

上下班登记信息表

tb_Qiye

企业计划信息表

tb_Bm

部门计划信息表

tb_Person

个人计划信息表

tb_Shenhe

审核信息表

tb_Tongxun

通讯组表

tb_Tongxunadd

通讯信息详细表

tb_Menu

菜单表

3.3.2数据表的结构

1、tb_User表用于保存用户注册的相关数据信息,结构如表3.2所示:

表3.2用户信息表(tb_User)

字段

描述

类型

id

ID(主键、自动编号)

int

userName

用户名

varchar

pwd

密码

varchar

purview

用户权限

varchar

branch

用户所在部门

varchar

job

用户工作

varchar

sex

用户性别

varchar

email

用户电子邮件

varchar

tel

用户电话

varchar

address

用户地址

varchar

bestMan

优秀员工

int

2、tb_Meeting表用于存储会议信息,结构如表3.3所示:

表3.3会议记录表(tb_Meeting)

字段

描述

类型

id

主键(自动编号)

int

Mtime

会议时间

varchar

ZPerson

主持人

varchar

CPerson

出席人

varchar

subject

会议主题

varchar

address

会议地点

varchar

content

会议内容

varchar

3、tb_Placard表用于存公告信息,结构如表3.4所示:

表3.4公告记录表(tb_Placard)

字段

描述

类型

id

主键(自动编号)

int

person

公告人

varchar

subject

公告主题

varchar

DDate

公告时间

dateTime

content

公告内容

varchar

4、tb_Waichu表用于存储员工的外出信息,结构如表3.5所示:

表3.5外出记录表(tb_Waichu)

字段

描述

类型

id

主键(自动编号)

int

name1

外出人

varchar

department

外出人所在部门

varchar

content

外出原因

varchar

time1

外出时间

dateTime

time2

预计回归时间

dateTime

date

是否回归

varchar

5、tb_Qingjia表用于存储请假登记的信息,结构如表3.6所示:

表3.6请假登记信息表(tb_Qingjia)

字段

描述

类型

id

主键(自动编号)

int

name1

请假人

varchar

department

请假人所在部门

varchar

[content]

请假原因

varchar

time1

请假时间

datetime

time2

预计回归时间

datetime

state

是否回归

int

6、tb_Chuchai表用于存储出差登记的信息,结构如表3.7所示:

表3.7出差登记信息表(tb_Chuchai)

字段

描述

类型

id

主键(自动编号)

int

chuarea

出差地点

varchar

time1

出差时间

datetime

time2

预计回归时间

datetime

name1

出差人

varchar

department

出差人所在部门

varchar

state

是否回归

int

7、tb_Onduty表用于存储上下班的登记信息,结构如表3.8所示:

表3.8上下班记录表(tb_Onduty)

字段

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2