中小企业办公自动化系统的设计与实现毕业论文.docx
- 文档编号:10213117
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:92
- 大小:1.52MB
中小企业办公自动化系统的设计与实现毕业论文.docx
《中小企业办公自动化系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《中小企业办公自动化系统的设计与实现毕业论文.docx(92页珍藏版)》请在冰点文库上搜索。
中小企业办公自动化系统的设计与实现毕业论文
中小企业办公自动化系统的设计与实现毕业论文
1前言
计算机经前所未有的速度在全世界普及,人们深切的感受到了计算机在生活和工作中的作用越来越重要。
现在,计算机技术渗透到人类社会生活的各个领域,越来越多的职业需要具有计算机的应用。
计算机成为职业的需要,也是发展的需要。
中小企业办公自动化管理系统(OA),是伴随着Internet技术在各个领域的广泛应用,和各行各业企业信息化建设步伐的加快应运而生。
当代社会已经进入信息时代,信息技术革命使社会的各个领域都发生了翻天覆地的变化,每个企业都必须紧跟时代的步伐,加强企业竞争力和提升现代化企业的管理能力,以适应整个社会的发展变化。
企业对信息需求的增长,使计算机、网络技术已经渗透到企业的日常工作中。
传统的企业信息的交流方式早已不能满足企业对大量信息的快速传递与处理的需求,中小企业办公自动化管理系统的应用满足了企业的办公网络化、自动化的管理需求,提高了企业部的管理水平,进而全面提升了企业在市场竞争中的综合竞争力。
计算技术应用于企业日常办公带来很多好处,本系统的设计目的就是通过计算机技术设计出一个高效的自动化办公系统,帮助企业提高办公效率,方便用户处理日常办公。
本系统采用J2EE为开发平台,数据库采用MYSQL5.0进行设计开发,工作流引擎采用JBPM,预期结果达到了要求。
2系统开发背景
2.1选题目的及意义
在日常办公中,通常会遇到许多常用的数据,比如地址、日程助手、日常记事等,这些数据通常凌乱不堪,在需要时不知道存放在何处,从而影响工作效率。
因此,办公自动化管理系统应用而生。
但是现在很多系统缺乏“柔性”,无法满足不同企业的需要,系统的重复开发消耗了大量人力财力。
本系统通过灵活的自定义设计,具有良好的扩展性,能够满足不同企业的需求。
计算机的出现给办公室职员带来的便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要将员工从繁琐的事务性工作中解放出来,用更多的精力去关注最重要的事情,从而提高企业的效率,增强企业的综合竞争能力。
在这种办公模式下,企业的组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确各个部门甚至每个员工的责任,而决策层可以迅速综合来自各个方面的信息,并以此为依据制定企业的战略决策。
从这个意义上讲,在市场竞争日趋白热化的今天,办公自动化己经不再是一种手段、一种工具,而成为决定企业生存发展的命脉。
在传统的办公模式中,由于缺少重要的信息传递和工作流程环节,办公的各个部门之间无法实现信息共享和信息集成,从而难以实现各个部门之间的高效协作。
2.2国外现状及发展趋势
办公自动化于50年代在美国和日本首先兴起,最初只是具有电子数据处理(EDP)的簿记功能,60年代被管理信息系统(MIS)取代,直到70年代后期才形成涉及多种技术的新型综合学科一办公自动化(OA)。
80年代,国外办公自动化得到了飞速发展,许多著名的计算机软硬件公司都跻身于这一巨大的市场。
进入90年代以来,办公自动化在世界主要发达国家得到蓬勃发展。
我国办公自动化是80年代中期才发展起来的。
1985年全国召开了第一次办公自动化规划会议,对我国办公自动化建设进行了规划。
1986年5月在国务院电子振兴领导小组办公自动化专家组第一次专家会议上,定义了办公自动化系统功能层次和结构模式。
随后国务院率先开发了“中南海办公自动化系统”。
近年来,伴随着企业信息化发展的浪潮汹涌,组织流程的固化、改进、知识的积累、应用、技术的创新、提升,办公自动化系统也在不断求新求变,最终办公自动化系统将会脱胎换骨,全新的"智能型自动化的办公系统"将成为未来的发展方向,将更关注组织的决策效率,提供决策支持、知识挖掘、商业智能等全面系统服务。
3系统开发的技术基础
3.1Freemarker技术
FreeMarker允许Javaservlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。
模板用servlet提供的数据动态地生成HTML。
模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序。
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
3.2.Myeclipse概述
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大。
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结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
3.3J2EE技术
3.3.1J2EE简介
J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。
其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。
3.3.2S.S.H框架三大框架技术
S.S.H框架是J2EE应用中struts+spring+hibernate三大免费开源框架的结合使用,主要作用是提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。
他们里面有很多优秀的设计理念及模式应用。
比如,struts属于MVC框架,关键是要了解MVC的概念及大致原理;而hibernate属于ORM系统,属于持久层的解决方案,同样需要对ORM的概念及原理有一个总体的了解。
而spring属于应用程序框架,其核心是IOC容器以及AOP,Spring中还集成了很多适用东西,比如对JDBC的封装、自己的MVC、对动态语言的简洁访问等。
(1)Hibernate技术
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
通常在WEB设计中充当持久化层。
(2)Struts技术
Struts是开源软件。
使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。
主要用在WEB设计中和JSP一起充当表现层。
(3)Spring技术
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
通常在WEB设计中充当业务逻辑层,完成对表现层和数据持久层的数据交换。
3.4MySQL概述
MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统来说,MySQL具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费的,可以在Internet上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任。
MySQL具有以下优点:
首先是速度。
对于MySQL来说,速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。
但是在最新的文档中,我们看到MySQL4.0.2-alpha已经开始支持事务,而且在MySQL的TODO中,对触发器、约束这样的注定会降低速度的功能也列入了日程。
MySQL更适宜在Windows环境下运行。
MySQL作为一个本地的Windows应用程序运行(在NT/Win2000/WinXP下,是一个服务),在Windows运行中,MySQL更加的稳定。
3.5JBPM技术
JBPM,全称是JavaBusinessProcessManagement(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
jBPM是公开源代码项目,它使用要遵循LGPL(GNULesserGeneralPublicLicense)和EULA(JBossEndUserLicenseAgreement)协议。
它的业务逻辑定义没有采用目前的一些规,如WfMC´sXPDL,BPML,ebXML,BPEL4WS等,而是采用了它自己定义的JBossjBPMProcessdefinitionlanguage(jPdl)。
jPdl认为一个业务流程可以被看作是一个UML状态图。
jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义,直观地描述业务流程。
JBPM的另一个特色是它使用Hibernate来管理它的数据库。
Hibernate是目前Java领域非常流行的一种数据存储层解决方案,只要是Hibernate支持的数据库,jBPM也就支持。
通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。
4系统需求分析
4.1系统简介
根据系统的需求,整个系统功能有:
个人办公模块包括工作日志,日程安排,通信录管理;公文管理模块包括公文维护,公文归档;公共信息模块包括公告管理;行政办公模块包括会议管理,新增会议室;消息管理模块包括收信箱,发信箱,写信息,聊天记录;工作流程模块包括流程定义和表单定义;组织管理模块包括机构管理,人员管理;权限管理模块包括模块管理,角色管理,用户管理;系统模块管理包括了密码修改。
本系统的设计目的就是通过计算机技术设计出一个高效的自动化办公系统,帮助企业提高办公效率。
另外,为了适合不同用户,系统设计了灵活的自定义功能,包括:
流程自定义、模块自定义、表单自定义、角色自定义、权限自定义等。
4.2系统功能需求
1)个人办公
工作日志:
该模块用作当前的登录用户添加、修改、删除和查看自己的日志安排列表;
日程安排:
该模块用作当前的登录用户添加、修改、删除和查看自己的日程安排列表;
通信录管理:
该模块用作每一个登录系统的用户来维护自己的通讯录,用户可以自由添加联系人信息;可以方便查询,修改或删除某一个联系人。
2)公文管理模
公文维护:
公文添加,已审公文,待审公文,添加公文信息操作;
公文归档:
当公文流转完成一个流程后,有档案管理员归档。
3)公共信息
公告管理:
该模块用发送公告通知,发送的公告通知可以被所有用户查看。
4)行政办公模
会议申请:
申请会议室,查看会议室的申请情况;
会议管理:
查看,删除和新建会议室。
5)消息管理
发信箱:
显示用户发出的信息;
收信箱:
显示用户收到的信息;
写信息:
用户可在此编写信息,发送信息给相应的联系人;
聊天记录:
查看用户与其他联系人的聊天记录。
6)工作流程管理
流程定义:
该模块提供给具有相应权限的用户进行流程的定义;
表单定义:
可以实现表单模板的动态定义,不同的流程,定义对应的表单。
7)组织管理
机构管理:
可查看,添加和删除公司机构(只支持增加一,二级机构);
人员管理:
可查看,添加公司员工信息;
8)权限管理
模块管理:
可查看,添加和删除系统模块(只支持增加一,二级模块);
角色管理:
可查看,添加和删除角色,还可以对角色进行授权;
用户管理:
可查看用户信息,删除和修改用户账号,分配角色和授权
4.3系统角色权限需求
本系统的权限管理比较灵活,可以根据用户需求创建新的角色,并且可以给角色和用户授予权限,随时可以根据需求变更权限。
初始状态系统的用户角色定义如表4-1所示:
表4-1用户角色及权限表
角色名称
操作权限
普通员工
个人办公,公文管理,公共信息,行政办公,消息管理
系统管理员
个人办公,公文管理,公共信息,行政办公,消息管理,工作流程,组织管理,权限管理,系统管理
部门领导
个人办公,公文管理,公共信息,行政办公,消息管理,工作流程,组织管理,权限管理,系统管理
总经理
个人办公,公文管理,公共信息,行政办公,消息管理,工作流程,组织管理,权限管理,系统管理
档案管理员
个人办公,公文管理,消息管理
4.4系统用例模型
以下是本系统初始时各个角色的用例图:
图4-1系统用例图
4.5开发环境需求
4.5.1系统开发硬件需求
CPU:
P42GHz以上
存:
512M以上
硬盘:
40G以上
4.5.2系统开发软件需求
操作系统:
Windows2000/WindowsServer2003/WindowsXP或以上版本
开发技术:
Struts2+Spring2.x+Hibernate3
开发语言:
java
开发工具:
Myeclipse9.0
数据库:
MySQL5.0
服务器:
Tomcat6.0
4.6可行性分析
4.6.1技术可行性
本系统采用JavaWeb开发技术,以Strurs+Hibernate+Spring三大框架为开发平台,用MySQL建立数据库,工作流采用JPBM工作流引擎,目前为止,该技术已经比较成熟,能够满足系统需求,而且具有很好的安全性。
4.6.2软件开发可行性
办公自动化是信息社会的一种新型办公方式,它将现代化办公和计算机网络功能结合。
随着信息技术的发展,办公自动化在行政企事业单位的管理、经营活动中发挥着日益重要的作用。
通过网络,组织机构部的员工可跨越时间、地点协同工作。
通过办公自动化系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了管理手段,实现了运营的高效。
5系统概要设计
5.1系统功能模块划分
根据系统的需求与系统功能的分析,可以把系统总体分为:
个人办公,公文管理,公告管理,消息管理,行政办公,工作流程管理,组织管理,权限管理等几大功能模块,如图5-1所示。
图5-1办公自动化系统功能设计图
5.2系统流程图
用户使用账号和密码登录时,系统将根据用户所属角色的权限或者根据用户所具有的权限进行判断,自动生成相应的菜单。
用户登录后就能够使用相应功能,以下是系统生成菜单的流程图:
图5-2菜单生成流程图
5.3数据库设计
数据库在中占有非常重要的地位,数据库结构设计的好坏将直接对应用的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能添加的需求。
数据库设计一般包括如下几个步骤:
(1)数据库需求分析。
(2)数据库概念结构设计。
(3)数据库逻辑结构设计。
5.3.1数据库需求分析
数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。
描述了数据结构、数据操作及数据约束。
以下是本系统相关实体以及实体属性:
(1)users实体属性(用户信息):
用户ID号,用户账号,密码,创建时间,失效时间;
(2)person实体属性(用户详细信息):
用户ID号,用户名,性别,住址,职位,联系,详细信息;
(3)notice实体属性(公告):
公告ID,公告主题,公告容,发布时间;
(4)schedule实体属性(日程):
日程ID,计划完成时间,计划容,创建时间;
(5)worklog实体属性(工作日志):
日志ID,日志主题,日志容,创建时间;
(6)sms实体属性(短消息):
消息ID,发送人,消息容,发送时间,是否已读;
(7)address实体属性(通讯录):
通讯录ID,联系人,性别,联系,,QQ,所在公司,通讯地址,邮编;
(8)orgnization实体属性(机构):
机构ID,机构名称,机构描述,父子结构描述;
(9)role实体属性(角色):
角色ID,角色名称;
(10)meetingroom实体属性(会议室):
会议室ID,名称,所在位置,详细描述;
(11)meetingroomapply实体属性(会议室申请):
申请ID,申请使用时间,结束时间,申请理由,申请状态;
(12)module实体属性(系统模块):
模块ID,名称,英文名称,对应地址,排序号;
(13)workflow实体属性(工作流程):
工作流ID,名称,流程定义文件,流程图片;
(14)acl实体属性(系统授权):
授权ID,授权状态,是否继承;
(15)document实体属性(公文):
公文ID,公文标题,描述,公文容,创建时间,流程实例,当前状态信息,公文类型;
(16)approveinfo实体属性(公文审批):
审批ID,审批意见,审批时间;
(17)fieldinput实体属性(表单输入类型):
ID,页面表单元素名称,表单模板名;
(18)formfield实体属性(表单域):
表单域ID,表单域标签,表单域名称,
(19)fieldtype实体属性(表单类型):
表单类型ID,类名称,类型;
(20)flowform实体属性(流程表单):
流程表单ID,表单模板名;
5.3.2数据库概念结构设计
根据以上的数据库需求分析,可以得出系统实体间的关系图(E-R图):
图5-3数据库E-R图
5.3.3数据库逻辑结构设计
将概念模型转化成逻辑模型,得到以下数据表:
(1)users表(用户信息表)记录管理登陆用户的简单信息。
表5-3-3-1用户简单信息表
字段注释
字段名
类型
表达式
用户ID号(主键)
id
int
自增1
用户名
username
varchar
密码
password
varchar
创建时间
createTime
datetime
失效时间
expireTime
datetime
用户详细信息(外键)
personid
int
(2)person表(用户详细信息表)记录后登陆用户的详细信息。
表5-3-3-2用户详细信息表
字段注释
字段名
类型
表达式
用户ID号(主键)
id
int
自增1
部门ID(外键)
org
int
用户名
name
varchar
性别
sex
varchar
住址
address
varchar
职位
duty
varchar
联系
phone
varchar
详细信息
description
varchar
(3)notice表(公告表)记录企业的公告信息。
表5-3-3-3公告信息表
字段注释
字段名
类型
表达式
公告ID(主键)
id
int
自增1
用户ID(外键)
personid
int
公告主题
title
varchar
公告容
content
varchar
发布时间
sendtime
datetime
(4)schedule表(日程表)记录员工的日程安排信息。
表5-3-3-4日程表
字段注释
字段名
类型
表达式
ID(主键)
id
int
自增1
用户ID(外键)
personid
int
计划完成时间
plantime
datetime
计划容
plan
varchar
创建时间
logtime
datetime
(5)worklog表(工作日志表)记录员工的工作日志信息。
表5-3-3-5工作日志表
字段注释
字段名
类型
表达式
日志ID(主键)
id
int
自增1
用户ID(外键)
personid
int
日志主题
title
varchar
日志容
description
varchar
创建时间
logtime
datetime
(6)sms表(短消息表)记录员工的聊天信息。
表5-3-3-6短消息表
字段注释
字段名
类型
表达式
消息ID(主键)
id
int
自增1
接收用户ID(外键)
personid
int
发送人
sender
varchar
消息容
message
varchar
发送时间
sendtime
datetime
是否已读
isRead
bit
默认未读
(7)address表(通讯录表)记录用户的通讯录信息。
表5-3-3-7通讯录表
字段注释
字段名
类型
表达式
ID(主键)
id
int
自增1
用户ID(外键)
personid
int
联系人
name
varchar
性别
sex
bit
默认为男
联系
mobile
varchar
电子
varchar
varchar
所在公司
company
varchar
家庭住址
address
varchar
邮编
postcode
varchar
(8)orgnization表(机构表)记录企业组织机构信息。
表5-3-3-8组织机构表
字段注释
字段名
类型
表达式
机构ID(主键)
id
int
自增1
父机构ID(外键)
pid
int
机构名称
name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中小企业 办公自动化 系统 设计 实现 毕业论文