OA系统的设计与实现毕业论文.docx
- 文档编号:25326334
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:38
- 大小:453.73KB
OA系统的设计与实现毕业论文.docx
《OA系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《OA系统的设计与实现毕业论文.docx(38页珍藏版)》请在冰豆网上搜索。
OA系统的设计与实现毕业论文
OA系统的设计与实现毕业论文
1绪论
1.1系统背景与现状
随着网络的高速发展,网络OA系统逐渐受到关注。
一些大型企业集团(例如联想、海尔)正致力实现高层次的网络办公自动化,这将为他们节省大量的人力资源,节省大量的办公费用,大幅度提高办公效率。
开发网络办公系统的市场前景是广阔的。
大型企业需要高层次的网络办公自动化,他们往往会选择大型的软件公司合作开发,所需的开发费用和维护费用也是非常高昂的。
这些高昂的费用并非大多数中小企业能承受得起的。
中小型企业存在一个很大的低成本网络OA系统的需求,开发这些低成本OA系统来满足这个需求。
1.2实现目标
OA系统要实现:
a、企业各种信息资源的共享
b、加强员工间的交流、提高整体工作效率
c、为领导各种有用数据,方便领导对公司情况的及时了解、提供决策支持
d、提供各种工作记录,以备事后查询
2需求分析
2.1可行性需求分析
2.1.1社会可行性
企业随着社会的发展进入当前的网络时代信息化管理大大提高传统的办公模式已经极大地束缚了人的创造力和想象力埋没了人的智慧和潜能使人们耗费了大量的时间和精力去手工处理那些繁杂、重复的工作。
手工模式无法满足新形势下发展的需要人们需要用先进的生产工具来提高企业的办公效率。
2.1.2经济可行性
经济可行性是软件带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会带来经济效益。
随着计算机软件和硬件技术的飞速发展,计算机软件和硬件的价格都有所下降,因此设计本系统所投入的资金是不会很多的。
另外,本系统的设计可以帮助学生的学习和教师的教学。
所以,相比之下系统是经济可行的。
2.2非功能性需求
系统性能
系统应满足以下面描述的系统性能指标。
相应数据待系统原型实现后可能做适当修正。
一般查询响应时间6秒;
系统稳定性和可靠性
系统应确保系统7×24小时不间断工作;
系统扩展性;
系统满足界面的友好性,系统界面的友好性将直接影响用户使用系统的效率。
要尽可能地满足用户已有的使用习惯;
系统独立性
2.3功能性需求分析
序号
功能名称
功能需求标识
优先级
简要描述
个人办公
我的办公桌
高
打开个人办公桌,在个人办公桌上,是到达各种管理功能的快捷
我的便签
低
随手记录的信息
我的任务
低
任务管理
通信录
低
个人通信录
公文管理
公文维护
高
各种类型的公文管理、审批公文等
归档处理
高
对已完成流转的公文进行归档
公共信息
信息管理
中
进行新闻、通知、期刊、知识和规章制度的发布和管理,使企业的信息和知识快速传播和转移。
行政办公
会议管理
中
管理会议室的占用情况
资产管理
低
管理企业的资产信息
用品管理
低
管理企业用品的申请
车辆管理
低
企业车辆的管理
图书管理
低
图书的借出管理
消息管理
收件箱
中
接收的所有消息
发件箱
中
发送的所有消息
垃圾箱
中
已删除的消息
聊天记录
中
跟某个用户的聊天记录
工作流程
流程管理
高
如何定义企业的流程(可以灵活定义各种流程)
表单定义
高
如何针对不同的流程定义表单
组织管理
机构管理
高
公司组织架构管理
人员管理
高
公司人员管理
权限管理
模块管理
高
系统所有模块的管理
角色管理
高
系统的角色定义、给角色分配权限等
用户管理
高
系统的帐号的分配、给用户分配角色、给用户分配权限等
系统管理
密码修改
低
代码定义
低
系统初始化
低
人事档案
人员履历
低
转正申请
低
离职申请
低
员工考勤
低
2.4运行环境
系统对运行的环境的要求。
2.4.1硬件环境
(1)服务器端
本网络系统服务器端的配置如下:
处理器:
InterPentium41.6GHz或更高
存:
512MB
硬盘空间:
80GB
(2)用户端
因为客户端主要用于浏览和操作数据,所以对客房端的硬件要求不高,不过现在的电脑很高的性价比,因此需要的配置应该高于下面的配置:
处理器:
InterPentium1.0GHz或更高
存:
32MB
硬盘空间:
40GB
显卡:
SVAG显示适配器。
2.4.2软件环境
(1)服务器端
操作系统:
window服务器
网络协议:
TCP/IP
web服务器:
Tomcat6.0
数据库:
MySQL5.0
(2)用户端
操作系统:
XP以上
网络协议:
TCP/IPMicrosoft
浏览器:
InternetExplorer7.0以上
3开发技术及开发工具
3.1开发技术介绍
3.1.1B/S模式及其优势
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。
一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。
这三个部分分别是:
工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。
在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI)的程序设计和具体的应用程序入口表格或交互式窗口。
这种B/S模式客户端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。
此技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层。
3.1.2Web应用程序开发环境-JSP技术
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。
JSP技术在多个方面加速了动态Web页面的开发:
(1)将容的生成和显示进行分离
(2)强调可重用的组件
(3)采用标识简化页面开发
(4)JSP能提供所有Servlet功能
(5)健壮的存储管理和安全性
(6)一次编写,各处运行
3.1.3Java技术
简言之,Java环境可用来开发能在任何计算平台上运行的应用软件。
它实际上是一种非常基本且结构紧凑的技术,而它对WorldWideWeb以及商业的总体影响已可同电子表格对PC机的影响相比拟。
3.1.4SSH框架
SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIOC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
3.2开发工具
3.2.1Tomcat服务器
目前支持JSP的应用服务器很多,Tomcat是其中较为流行的一个Web服务器。
Tomcat是一个免费的开源的Servlet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件,并将其解压。
你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。
编译以后,访问将会很快。
另外Tomcat也提供了一个应用:
manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。
通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用,当然本地也可以。
Tomcat是一个很好的工具,不仅仅因为其免费,更因为其开放性。
如今,开源软件越来越收到人们的重视。
人们不再限于只使用软件,而且已经关心起软件的具体实现。
我们有理由相信Tomcat会走得更远。
3.2.2MySQLserver5.0
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL数据库优点:
1.支持5000万条记录的数据仓库
2.适应于所有的平台
3.是开源软件,版本更新较快
4.性能很出色。
纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。
MyISAM数据库与磁盘非常地兼容而不占用过多的CPU和存。
MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。
你还可以通过使用64位处理器来获取额外的一些性能。
因为MySQL在部里很多时候都使用64位的整数处理。
5.价格便宜
缺点:
缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能
MySQL提供图形化处理界面,NavicatforMySQL。
3.2.3MyEclipse8.5
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和Java2EE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的Java2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
3.2.4RationalRose
RationalRose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。
用于可视化建模和公司级水平软件应用的组件构造。
RationalRose包括了统一建模语言(UML),OOSE,以及OMT。
其中统一建模语言(UML)由Rational公司3位世界级面向对象技术专家GradyBooch、IvarJacobson、和JimRumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。
同时这样的渊源也使RationalRose力挫当前市场上很多基于UML可视化建模的工具,例如Microsoft的Visio2002、Oracle的Designer2000,还有PlayCase、CABPWin、CA ERWin、SybasePowerDesigner等等。
RationalRose是一个完全的、具有能满足所有建模环境(Web开发,数据建模,VisualStudio和C++)灵活性需求的一套解决方案。
Rose允许开发人员,项目经理,系统工程师和分析人员在软件开发周期在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。
通过在软件开发周期使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。
RationalRose是基于UML的可视化建模工具。
UML全称叫UnifiedModelingLanguage,顾名思义,UML是一种语言,一种表示法,一种交流沟通的工具,特别适用于软件密集型系统的表示。
UML的统一性(Unified)表现为以下几点:
(1)、UML是人类思想和计算机代码的一个连接桥梁
我们知道,计算机能直接识别的语言就是二进制的CPU指令,早期工程师们都是直接输入这些指令让计算机直接执行的,效率不高;
后来就出现了更好理解的汇编语言,之后就出现了各种各样更加容易理解和编写,更加接近人类语言的计算机高级语言、VB、DELPHI、JAVA等。
(2)、UML所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。
(3)、UML所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。
目前版本的RationalRose可以用来做以下一些工作:
(1)对业务进行建模(工作流);
(2)建立对象模型(表达信息系统有哪些对象,它们之间是如何协作完成系统功能的);
(3)对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;
(4)建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等);
(5)生成目标语言的框架代码,如VB、JAVA、DELPHI等。
4系统设计
4.1系统结构设计
(1)OA系统管理页面
系统主体结构如图4-1所示:
图4-1系统主体结构
(2)个子模块功能:
个人办公功能描述:
打开个人办公桌,在个人办公桌上,是到达各种管理功能的快捷。
有我的办公桌,通讯录,我的任务等。
图4-2个人办公
工作流程管理:
包含了工作流程的定义,比如报销流程,请假流程等。
表单的定义,为各种不同的流程定义不同的表单。
公文管理:
包括了公文的维护,增加,删除,修改等,公文的归档
图4-3工作流程
图4-4公文管理
权限的管理:
模块的管理,系统有哪些模块,即系统有哪些功能。
角色管理,对角色的增加,删除,修改,对角色的授权等。
用户管理,对用户的操作,给人员分配账号,对人员授权,对用户的基本的增加,删除等。
图4-4权限管理
人事归档管理:
包括人员的履历,申请转正,离职申请,员工的考勤。
是对员工的一些基本的管理。
图4-5人事归档
消息管理:
包括了收件箱,发件箱,垃圾箱,聊天记录等,是员工之间沟通的桥梁,渠道
图4-6消息管理
组织管理;包括了机构管理,人员管理,有哪些机构,机构下面有哪些子机构。
人员是隶属那个机构的等功能
图4-7组织管理
4.2数据库系统分析及设计
4.2.1数据库E-R图
(1)授权模块的E-R图如图4-8所示:
图4-8授权模块E-R图
(2)机构模块的E-R图如图4-9所示:
图4-9机构模块E-R图
(3)员工登陆账户模块E-R图如图4-10所示:
图4-10员工登陆账户模块E-R
(4)工作流和公文E-R图如图4-11所示:
图4-11系统E-R图
4.2.2数据库连接
Java的数据库连接要添加一个相应的数据库jar包,里面包含了连接数据库需要的驱动等。
本系统采用hibernate来与数据库交互,通关配置文件hibernate.cfg.xml来连接数据库,数据库连接关键代码如图4-12所示:
图4-12数据库连接关键代码
4.2.3数据表设计
用人员表图如表4-13所示:
表4-13人员表
人员登陆表如表4-14所示:
表4-14人员登陆表
用户角色表4-15所示:
表4-15用户角色表
授权表4-16所示:
表4-16授权表
工作流程表4-17所示
表4-17工作流程表
公文表4-18所示:
表4-18公文表
机构表4-19所示:
表4-19机构表
模块表4-20所示:
表4-20模块表
审核表4-21所示:
表4-21审核表
5系统详细设计
5.1组织管理模块
5.1.1机构管理
(1)业务描述
对于机构的增删改查,点击添加机构信息,进入添加机构页面。
点击机构的名称,进入机构的所有子机构。
点击更新,可修改该机构的信息。
点击删除可以删除机构,但是机构的子机构为空,才能删除。
界面原如图5-1所示:
图5-1机构管理
代码实现:
在机构对应的action中调用机构对应的manager方法得到数据,跳转到页面,进行显示。
5.1.2人员管理
对于人员的管理,对于人员的增删改查。
点击添加人员信息,可以添加人员信息。
点击更新,可以修改人员的基本信息和所属机构。
点击删除可以删除人员的信息。
界面原型如图5-2所示:
图5-2人员管理
添加人员信息界面如图5-3所示:
图5-3添加人员信息界面
代码实现:
Override
protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
request.setAttribute("pm",
personManager.searchPersons()
);
returnmapping.findForward("index");
}
PublicActionForwardaddInput(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
returnmapping.findForward("add_input");
}
publicActionForwardadd(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
PersonActionFormpaf=(PersonActionForm)form;
Personperson=newPerson();
BeanUtils.copyProperties(person,paf);
personManager.addPerson(person,paf.getOrgId());
returnmapping.findForward("pub_add_success");
}
5.2权限管理
5.2.1模块管理
对于模块的操作,增删改查。
点击添加模块可以添加一个新的模块。
点击模块的名称可以显示该模块的子模块。
点击更新可以修改该模块的信息。
点击删除可以删除该模块。
界面原型如图5-3所示:
5-3
模块管理
代码实现(部分):
privateModuleManagermoduleManager;
/**
*打开机构管理主界面
*/
Override
protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
ModuleActionFormmaf=(ModuleActionForm)form;
request.setAttribute("pm",moduleManager.searchModules(maf.getParentId()));
returnmapping.findForward("index");
}
/**
*打开机构管理录入界面
*parammapping
*paramform
*paramrequest
*paramresponse
*return
*throwsException
*/
publicActionForwardaddInput(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
returnmapping.findForward("add_input");
}
//添加机构信息
publicActionForwardadd(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{
ModuleA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 系统 设计 实现 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)