基于J2EE的中小企业协同办公系统的设计与实现.docx
- 文档编号:9740829
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:58
- 大小:1.23MB
基于J2EE的中小企业协同办公系统的设计与实现.docx
《基于J2EE的中小企业协同办公系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于J2EE的中小企业协同办公系统的设计与实现.docx(58页珍藏版)》请在冰豆网上搜索。
基于J2EE的中小企业协同办公系统的设计与实现
基于J2EE的中小企业办公OA的设计与实现
摘要:
关键词:
Abstract:
keyword:
1、绪论
1.1、办公自动化概述
办公自动化,英文OfficeAutomation,简称OA,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人、机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的.
办公自动化由70年代未80年代初在我国的提出,到现在已有了近二十年发展历史.由于办公自动化技术的不断发展,办公自动化新产品不断的出现,办公自动化的内涵也不断地丰富和发展.
(1)传统办公模式
图1-1传统办公模式
传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要,如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视.
(2)网络办公模式
图1-2网络化办公模式
现有网络办公自动化系统和大型信息管理系统中,企业业务流程重组或者是文件流转功能都是核心功能,同时企业办公主要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库表单.
WEB方式的办公自动化系统
目前办公自动化系统较成熟的模式是客户/服务器方式,而新一代的办公自动化系统则应是Internet/Intranet方式,即B/S(Browser/Server,B/S)结构[1],才更能适应目前及未来的要求.
1.2、中小企业办公模式现状
大部分中小型企业自成立至今,办公模式为传统的办公模式并主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
如何实现信息处理的自动化和办公的无纸化逐步得到了公司领导的重视。
而今公司普遍使用计算机来提高员工的工作效率,但是在需要许多员工一起协同工作的现代工作环境中,公司更需要提高整体的工作效率。
利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和办公自动化、信息管理电子化系统,为管理公司提供现代化的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现公司各部门日常业务工作的规范化、电子化、标准化,实现信息的在线查询、借阅。
最终实现“无纸”办公。
1.3、研究意义
应该说没有人怀疑计算机的出现给办公室职员带来的便利,但是对现代的办公自动化而言,其目的己经不局限于减轻员工的工作量,而是要将员工从繁琐的事务性工作中解放出来,用更多的精力去关注最重要的事情,从而提高企业的效率,增强企业的综合竞争能力。
在这种办公模式下,企业的组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确各个部门甚至每个员工的责任,而决策层可以迅速综合来自各个方面的信息,并以此为依据制定企业的战略决策。
从这个意义上讲,在市场竞争日趋白热化的今天,办公自动化己经不再是一种手段、一种工具,而成为决定企业生存发展的命脉。
在传统的办公模式中,由于缺少重要的信息传递和工作流程环节,办公的各个部门之间无法实现信息共享和信息集成,从而难以实现各个部门之间的高效协作。
在日常的办公过程中,比较容易出现以下的差错:
一是各部门的信息传递和事务交接仍然由人工完成,容易出现差错;
二是上下级和部门之间无法实现协同工作,难以及时沟通;
三是信息和工作流程相互分离,缺少至关重要的随时记录,使工作监控和评估困难重重。
可以想象,掺杂着如此大量的人工操作过程的事务处理方式根本无法适应现代化办公模式的需要。
随着信息技术的发展和国内信息技术应用水平的提高,在办公过程中,传统的工作方式和审批模式己经难以满足新的需求,实现办公自动化已经是提高政府机关和企事业单位办公效率,规范化管理的必然趋势。
办公自动化系统的带来的好处有:
(1)信息传递与沟通交流顺畅
排除因职能、职位、距离等原因造成的信息联络不畅而带来的企业发展羁绊,通过构建内部通讯、信息发布与交流平台,实现多途径的联络与沟通,减少信息在途时间,提高信息的时效性,与此同时,缩短领导与职员之间,各部门之间的距离。
(2)规范工作管理,提高整体效率
解决了跨地域跨部门多岗位间的业务处理诸多问题,有效避免工作中出现的脱节、延误、错办等情况,杜绝职责不清、工作推脱等怠工现象,实现网上协同办公,增强组织协调能力,提高团队协作能力。
同时,加强了领导实时了解事务状态,实时掌控工作进度,强化了过程控制与监督,加强了工作管理。
(3)整合信息资源,实现知识管理
打破“信息孤岛”,彻底改变文件丢失遗漏、管理分散、查找不方便等现象,解决因人事变动导致经验流失等问题,通过知识管理,有效整合并积累各类资源,实现再利用。
(4)增强凝聚力,提高响应能力
在降低管理成本,促进管理进步的同时,能够培养全员信息化关注与参与意识,激发掌握和利用先进信息技术的热情,提高专业素质,形成全新的企业文化。
办公自动化是信息社会的一种新型办公方式,它将现代化办公和计算机网络功能结合。
随着信息技术的发展,办公自动化在行政企事业单位的管理、经营活动中发挥着日益重要的作用。
通过网络,组织机构内部的员工可跨越时间、地点协同工作。
通过办公自动化系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了管理手段,实现了运营的高效。
1.4、设计技术及开发环境
1.3.1设计技术
自从Servlet技术产生以来,J2EE的Web开发技术与开发框架便层出不穷。
这些技术和框架的产生,给我们的开发带来方便,此系统就是通过使用Struts2.1+Spring2.5+Hibernate3.3+JBPM3+Freemarker+AJAX等当前流利的框架技术实现的一个OA办公自动化系统。
(1)Struts页面技术
Struts1框架以ActionServlet作为核心控制器,整个应用由客户端请求驱动。
当客户端向Web应用发送请求时,请求将被Struts1的核心控制器ActionServlet拦截,ActionServlet根据请求决定是否需要调用业务逻辑控制器处理用户请求(实际上,业务逻辑控制器还是控制器,它只是负责调用模型来处理用户请求),当用户请求处理完成后,其处理结果通过JSP呈现给用户。
对于整个Struts1框架而言,控制器就是它的核心,Struts1的控制器由两个部分组成:
核心控制器和业务逻辑控制器。
其中核心控制器就是ActionServlet,由Struts1框架提供;业务逻辑控制就是用户自定义的Action,由应用开发者提供。
对于大部分用户请求而言,都需要得到服务器的处理。
当用户发送一个需要得到服务器处理的请求时,该请求被ActionServlet拦截到,ActionServlet将该请求转发给对应的业务逻辑控制器,业务逻辑控制器调用模型来处理用户请求;如果用户请求只是希望得到某个URL资源,则由ActionServlet将被请求的资源转发给用户。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:
WebWork基础上发展起来的。
从某种程度上来讲,Strut2没有继承Struts1的血统,而是继承了WebWork的血统。
或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。
因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证;而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。
(2)Spring管理技术
Spring是一个开源框架,目前在开源社区的人气很旺,被认为是最有前途的开源框架之一。
她是由RodJohnson创建的,她的诞生是为了简化企业级系统的开发。
说道Spring就不得不说EJB,因为Spring在某种意义上是EJB的替代品,她是一种轻量级的容器。
用过EJB的人都知道EJB很复杂,为了一个简单的功能你不得不编写多个Java文件和部署文件,他是一种重量级的容器。
Spring的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(InversionofControl)容器、非侵入性(Nointrusive)的框架,并提供AOP(Aspect-orientedprogramming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVCWeb框架的实现,并对一些常用的企业服务API(ApplicationInterface)提供一致的模型封装,是一个全方位的应用程序框架(Applicationframework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate等),Spring也提供了与它们相整合的方案
(3)javascript技术
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。
使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中连接多个对象,与Web客户交互作用。
从而可以开发客户端的应用程序 等。
它是通过嵌入或调入到标准的HTML语言中实现的。
它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
从而实现了“编写一次,走遍天下”的梦想。
实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。
无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。
(4)AJAX技术
AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。
本系统主要使用XMLHttpRequest进行异步数据接收,即充当控制器的作用
(5)Hibernate技术
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。
Hibernate是一个面向Java环境的对象/关系数据库映射工具。
对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。
对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。
不管怎样,Hibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。
(6)Freemarker技术
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。
FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序。
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)。
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件。
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。
FreeMarker是免费的。
1.3.2开发环境
(1)JDK软件
我们要开发J2EE的系统,却需要安装的是J2SE。
J2SE的JDK是开发任何Java系统必须安装的工具包,而J2EE是指EJB、JSF等这些工具包,在不需要开发这些功能时是不需要安装的。
我们选用1.6的版本进行开发。
(2)数据库软件MySQL
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQLAB开发、发布和支持。
MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
它因为以下优点而广受欢迎。
MySQL是一个数据库管理系统
MySQL是一个关系数据库管理系统
MySQL是开源的
MySQL服务器是一个快捷的、可靠的和易于使用的数据库服务器
MySQL服务器工作在客户/服务器或嵌入系统中
有大量的MySQL软件可以使用
在此系统中我们选用5.1.4进行开发。
(3)Web服务器Tomcat
Tomcat是Apache-Jarkarta的一个子项目,是一个免费的、开放源码的、支持JSP和Servlet技术的容器,它同时又是一个Web服务器软件。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
在本系统中我们选用稳定版本Tomcat6.0进行开发。
(4)集成开发工具Eclipse+MyEclipse
是目前最流行的Java集成开发工具。
Eclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重构性能、快速修复错误、调整/组织导入包、弹出窗口进行代码自动装配。
由于功能强大,Eclipse一度成为JavaIDE领域的霸主。
它能够很好地与MySQL、Tomcat进行集成。
本系统中我们选用MyEclipse8.0作为Eclipse的扩展开发工具。
系统需求分析与功能描述
随着信息网络技术的应用,目前许多政府部门、企事业单位已建立局域网络,并直接与internet相连接.为了充分发挥网络的作用,提高办公处理效率,建设办公自动化管理系统已经是迫切需要[5].本系统采用动态WEB构建技术,使得系统客户端无须维护,适应性强,使用与企事业、政府机关等单位网络环境使用.
企业办公自动化系统是企业管理系统的一部分,企业内部办公网络的内容很多,如公司内部公告信息的发布,文件的管理,员工内部交流信息的发布和共享,个人日程及工作日志的安排,出勤登记.
随着信息技术的不断发展以及互联网技术的日益成熟,使远程办公成为可能.你无论身处何地,只要有上网条件就可以利用网上办公系统,及时有效地对各种文件、报告进行处理,同时也将彻底摆脱桌面上沉重繁杂的纸张文件,使得繁重的工作变得轻松自如,极大地提高工作效率.
3.1系统概述
3.1.1设计目标
企业办公网络服务是企业管理信息系统的一部分,而正因为这种网路服务,才大大提高企业信息的沟通,通信的更加便利,这种模式已经逐渐替代到过去的工作模式以及工作方式.本系统实现了员工信息的发布和共享,公司财务信息的发布和共享,员工交流信息的发布与共享.
3.1.2系统特点
企业办公管理系统是采用B/S(BROWSER/SERVER)结构,实现整个企业的信息化管理,这种系统的优势在于系统简单功能强大,扩展能力良好以及跨地域操作性能.
B/S模式通过Internet进行通信,可以不受地域的限制,但缺点是不能进行联机事务处理,并且在大量数据处理的过程中,速度较慢.对于“OA系统”,功能目标在于实现企业的信息资源的共享,同时实现不同用户的权限控制,由于系统数据的实时性要求并不高,因此采用B/S结构比较合理.
实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器[6].这种三层体系结构如图3-1所示.
图3-1B/S三层体系结构图
3.2系统功能
通过对所在公司的相关调查,要求系统具有以下功能:
Ø个人日志的管理及查询
Ø内部邮件
Ø会议通知管理以及会议室管理
Ø公告发布及管理
Ø发文通知以及管理
Ø考勤管理
Ø工资管理
Ø员工日常管理(转正,退休,请假)
Ø员工的考核培训管理
Ø公司部门管理
Ø员工档案管理
Ø公司车辆使用管理
Ø公司招聘管理
Ø公司新闻发布管理
Ø文件的上传和下载
由此得到系统的功能图如3-2所示:
图3-2OA系统功能结构图
3.3系统需求分析
3.3.1用户管理
(1)系统的用户必须为本公司的员工
(2)用户名在系统范围内唯一
(3)用户登录系统后只能执行与本人权限相符合的操作
(4)删除用户时候不要直接从数据库中删除,只是对用户不可见,方便以后的参训统计
3.3.2内部邮件管理
(1)发送邮件,本公司员工可以给公司内任何一个人发送内部邮件,发送后邮件保存在发件箱,有新邮件的时候能有相应提醒.
(2)接收邮件,员工可以随时接收其他员工发来的邮件,邮件存在收件箱,方便以后查看.
3.3.3日志管理
(1)每个员工每天都必须写日志.
(2)日志由部门的经理或者总经理来批阅,经历和总经理随时显示自己没有批阅的员工日志.
(3)所有的日志要求能够查询,批阅后的日志不能够修改.
(4)日志不能从数据库中删除.
3.3.4员工管理
(1)招聘管理,公司可以随时发布招聘信息招聘新员工.
(2)新员工到来后登记到公司员工中,设定好部门和员工种类.
(3)对于非正式员工可以提交转正申请,转正申请由人事部经理或者总经理来处理,并且返回给员工一个回馈信息,驳回要有驳回的理由.若是同意后员工自动成为正式工,工资也相应改动.
(4)当员工到达了退休的年龄可以向人事部门提出退休申请,不符合条件的系统不准提交申请,申请批准后员工的类型自动变为退休工,工资也做出相应的改动,若是人事部门不同意退休申请,要给员工返回一个不同意的理由.
(5)员工每天上班都需要打考勤,不打考勤可以填写请假申请,否则按旷工计算,月底算工资的时候要扣除相应的工资,员工的考勤和工资相联系.
(6)员工有事情需要请假可以填写请假申请,经理同意后自动根据请假日期和请假的天数在员工的考勤中注明请假.不同意的给出驳回理由.
3.3.5车辆管理
(1)车辆基本情况管理包括对新增的车辆进行录入,更新和状态的更改.
(2)车辆使用管理包括员工提交车辆使用申请,同意后,相应车辆为使用状态.
3.3.6发文管理
(1)发稿:
发稿人进行填写主题词、文件标题、主送部门,附件等内容,然后发送审核人进行审核.
(2)办理:
对发稿后的公文进行处理.
(3)查询:
可根据公文的属性进行有选择的查询.
(4)公文不允许删除,只能对用户隐藏.
3.3.7公告管理
(1)发布公告,公司部门向公司某个部门或者全公司发布公告.
(2)员工可以查看公告信息以便知道公司的工作要求.
3.3.8会议管理
(1)会议室管理,对会议室进行登记,维护,状态更改等操作.
(2)某个部门需要开会时候可以更具具体要求查询会议室并提交会议申请,申请的内容包括会议的主题,时间等事项.
3.3.9考核,培训管理
(1)公司不定期的增加考核和培训项目,并且要求特定的员工参加考核或者培训.
(2)考核成绩管理,等级员工的考核和培训成绩,员工可以随时查看自己的考核和培训成绩.
3.3.10工资管理
(1)工资标准管理,根据公司的员工种类设定不同的工资标准,标准包括底薪,全勤奖,缺勤扣率等.(注:
每种员工的工资标准只能有一种)
(2)工资发放管理,员工的工资是由底薪,奖金,出勤率,工龄工资,其他收入和处罚来决定的,工资发放的时候先找到员工属于哪一种员工,获得员工的工资标准,在根据员工的工龄和考勤来决定员工的最后工资.
(3)员工转正退休或者员工类型发生改变的时候工资也要跟着发生改变.
3.3.11档案管理
(1)提交档案,添加员工的个人档案,档案永久保存在数据库中.
(2)员工离职后,档案对用户隐藏,不删除.
3.3.12部门管理
(1)增加部门,为公司新增部门,并且任命部门经理.
(2)删除部门的时候,入市本部门还有人员,则不允许删除,只有更改所有本部门的员工后,才能删除这个部门.
3.3.13新闻管理
及时增加公司的动态,活动等新闻以方便员工及时的了解公司的动态.
3.4物理模型设计
根据上诉需求设计数据库
3.4.1系统总体ER图
在PowerDesigner下建立实体对象关系图如下:
图3-3系统总体ER图
3.4.2部分ER图及数据库对应表
(1)用户
图3-4用户员工ER图
有此可以的到员工和用户的数据库表如下(注明P表示主键,F表示外键,N表示非空,下同).
表3-1员工表staff
字段
说明
类型
长度
约束
id
标识
Int
10
P
ygbh
员工编号
varchar
50
N
xm
员工姓名
varchar
50
xb
员工性别
int
10
nl
年龄
varchar
20
csrq
出生日期
date
xl
学历
varchar
50
byxx
毕业学校
varchar
50
jg
籍贯
varchar
50
jtzz
家庭住址
varchar
100
jtdh
家庭电话
varchar
20
bgdh
办公电话
varchar
20
yddh
移动电话
varchar
20
gzjl
工作经历
varchar
100
jrsj
加入时间
date
szbm
所在部门
int
10
F
zc
职称
varchar
20
ygzl
员工种类
varchar
20
sfzh
身份证号
varchar
20
hyqk
婚姻情况
varchar
20
zp
照片
blob
enable
注销标志
varchar
2
N
表3-2用户表yonghu
字段
说明
类型
长度
约束
id
标识
int
10
P
username
用户名
varchar
50
N
password
密码
varchar
50
ygbh
员工编号
int
10
F
yhlb
员工类型
varchar
20
enable
注销标志
varchar
2
N
(2)员工培训考核
图3-5员工培训考核ER图
表3-3培训项目表pxxm
字段
说明
类型
长度
约束
id
标识
Int
10
P
xmbh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 中小企业 协同 办公 系统 设计 实现