毕业论文-企业OA管理系统的开发与实现33614.doc

上传人:爱问知识人 文档编号:3940199 上传时间:2019-10-10 格式:DOC 页数:58 大小:8.95MB
返回 下载 相关 举报
毕业论文-企业OA管理系统的开发与实现33614.doc_第1页
第1页 / 共58页
毕业论文-企业OA管理系统的开发与实现33614.doc_第2页
第2页 / 共58页
毕业论文-企业OA管理系统的开发与实现33614.doc_第3页
第3页 / 共58页
毕业论文-企业OA管理系统的开发与实现33614.doc_第4页
第4页 / 共58页
毕业论文-企业OA管理系统的开发与实现33614.doc_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《毕业论文-企业OA管理系统的开发与实现33614.doc》由会员分享,可在线阅读,更多相关《毕业论文-企业OA管理系统的开发与实现33614.doc(58页珍藏版)》请在三一文库上搜索。

1、 华科学院HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文)题目:企业OA管理系统的开发与实现学 生 姓 名 郑成龙 学 号 20092204013 班 级 信管092201H 所属院(系) 计算机科学与技术系 指 导 教 师 王丽霞 2013 年 6 月 1 日企业OA管理系统的开发与实现摘 要 本系统的开发基于经典的瀑布模型。在依次完成可行性分析、需求分析、总体设计、详细设计和编码实现以及测试等环节后最终建立了基于B/S结构的企业OA管理系统。在开发过程的相关环节所应用的技术及其实现的目标包括,利用P

2、OI技术实现含员工信息的excel文件的下载,利用JavaScipt和JQuery技术实现对用户输入是否合法的判断,以及利用日历插件实现员工出生年月的快捷输入。经测试合格后,本人企业OA管理开发系统可以实现的功能包括:1. 部门管理 管理员可以执行添加新部门、删除部门、修改部门信息和查看部门列表信息等权利;2. 员工管理 管理员可以执行添加新员工、删除员工、修改员工信息和查看员工列表信息等权利;3. 日程管理 管理员可以执行添加新日程和删除某项日程的权利;4. 权限管理 本系统对不同的用户设定了不同的权限,管理员可执行所有操作,一般操作员只能查询和添加个人信息。系统同时具备方便易用性和高度可靠

3、性;5. 信息发布 个部门主管都有权利在公司网站上发布新的信息,以通知本部门的员工进行相应的调整;6. 个人文件夹 用以显示员工的个人通讯录;本系统的上述功能实现了对企业员工的科学管理和统一调配,基本满足了企业提出的要求。关键字:企业OA管理系统,SSH,POIIVDevelopment and Implementation of OA management systemAbstractThe development of this system is based on the classic waterfall model. In order to complete the feasibil

4、ity analysis, demand analysis, overall design, detailed design and coding, and testing and other aspects of the eventual establishment based on B / S structure. Technology and its application in the relevant part of the development process to achieve the goal, including through to use POI technical

5、excel file containing employee information system development download, as well as calendar plug-ins to achieve fast input of the date of birth of the employees.After passing the test, I OA management development system functions can be achieved include: 1) Department administrators can perform oper

6、ations like adding new department, delete the department to modify a department and view a list of departments information and other rights;2) Staff management administrator can perform add a new employee, delete employees, modify employee information and View staff list information rights; 3) Calen

7、dar administrator can perform to add a new schedule and the right to delete a schedule;4) Rights management system to be set for different users different permissions, administrators can perform all operations, general operator can only query a personal message.5) The information department competen

8、t has the right to post new information on the companys Web site, to notify the staff of the department to make the appropriate adjustments;Personal Folders to display the employees personal address book;6) The functions of the system of scientific management and unified deployment of employees, bas

9、ically meet the requirements of the enterprise.Keywords: OA management system, ssh, POI, AJAX 太原科技大学华科学院毕业设计(论文)目 录摘要I关键字IAbstractIIKeywordsII第一章 系统概述- 1 -1.1 系统开发背景- 1 -1.2 项目开发的环境- 1 -1.2.1 硬件环境- 1 -1.2.2 软件环境- 1 -1.3 技术介绍及开发工具- 1 -1.3.1 MyEclipse- 2 -1.3.2 Oracle11- 2 -1.3.3 Tomcat- 2 -1.4 任务概述-

10、2 -第二章 系统需求分析- 4 -2.1 系统实现的基本功能- 4 -2.2 数据库设计- 6 -2.2.1数据库概念结构设计- 6 -2.2.2数据库逻辑结构设计- 8 -2.2.3数据库物理设计- 8 -第三章 系统总体设计- 11 -3.1 系统结构- 11 -3.2 模块- 11 -第四章 系统详细设计和实现- 14 -4.1 人机界面设计- 14 -4.1.1 OA管理系统登录首页- 14 -4.1.2 部门调整- 15 -4.1.3 员工管理- 15 -4.1.4 权限管理- 16 -4.1.5 信息发布- 17 -4.1.6 日程管理- 18 -4.1.7 个人文件夹- 18

11、-4.2 技术介绍- 19 -4.2.2 POI- 24 -4.2.3 AJAX技术- 26 -4.2.4 JavaScipt技术- 27 -4.2.5 JQuery技术- 28 -4.2.6 JavaEE- 28 -4.2.7 增删改查的实现- 28 -第五章 测试- 31 -5.1 测试目的- 31 -5.2 测试目标- 31 -5.3 测试用例- 31 -结束语- 38 -参考文献- 39 -致 谢- 40 -附录 英文资料翻译- 41 -II- 1 -第一章 系统概述1.1 系统开发背景OA是Office Automation的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自

12、动化处理。OA从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对企业办公方式的改变和效率的提高起到了积极的促进作用。OA软件解决企业的日常管理规范化、增加企业的可控性、提高企业运转的效率的基本问题,范围涉及日常行政管理、各种事项的审批、办公资源的管理、多人多部门的协同办公、以及各种信息的沟通与传递。可以概括的说,OA软件跨越了生产、销售、财务等具体的业务范畴,更集中关注于企业日常办公的效率和可控性,是企业提高整体运转能力不可缺少的软件工具。不同企业的管理侧重点各不相同,因此不同的企业就对OA管理系统有着不同的需求。针对山西维信科技有限公司的管

13、理重点和客户需求,本为推出了企业OA管理系统。1.2 项目开发的环境1.2.1 硬件环境酷睿处理器,2GB以上内存容量。1.2.2 软件环境Microsoft Windows7操作系统,Oracle11数据库,MyEclipse8.5开发工具,服务器采用Tomcat 6.0.32。1.3 技术介绍及开发工具本系统采用Java语言,基于JavaEE企业级开发,前台采用用HTML,JavaScript,CSS,JQuery技术得到页面,后台用JQuery框架实现与数据库的交互,数据库采用Oracle11,选用 Hibernate框架实现访问数据库,并用Spring框架来管理整个开发过程。1.3.1

14、 MyEclipseMyEclipse,是一个十分优秀的用于开发Java, JavaEE的Eclipse插件集合。利用它我们可以在数据库和JavaEE的开发,他有着功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。在本设计中用MyEclipse作为开发工具的角色出现。1.3.2 Oracle11 Oracle 11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3

15、.6万人/月。相对过往版本而言,Oracle 11g具有了与众不同的特性。1.3.3 TomcatTomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。本设计中,Tomcat是作为服务器的角色出现的,利用Tomcat来响应HTML页面的请求。1.4 任务概述本设计借助山西维信科技有限公司OA管理系统帮助学生强化软件开发的流程和规范,需要实现的功能大致包括。1.完成对各种不同种类的人员(新员工、在职人员、单位领导及其在单位的职位和权限)管理、人员

16、调整。2.完成部门的添加功能和查看功能。3.实现对用户的管理(增加,查看,删除)。4.实现对各部门之间的日程管理(增加,查看,删除),导出表。5.权限管理,管理员和一般操作员,只有管理员能执行导出和删除、修改功 能。6.信息发布,管理员和一般操作员,只有管理员能执行增加、删除的操作,普通操作员只能进行查看操作。7.个人文件夹,任何一个操作员之能对自己的信息进行修改的操作,对其他人的信息则只能进行查看操作。第二章 系统需求分析本系统运用Windows7作为操作平台,数据库采用Oracle11g数据库,运用的软件开发平台为MyEclipse,属于浏览器/服务器模式,数据库在浏览器上能运行,并提供数

17、据库之间的数据复制功能,人员具备知识:Java核心,数据库的基本操作,Web网页的基本开发。从技术可行性的角度可以完成此设计。OA软件解决企业的日常管理规范化、增加企业的可控性、提高企业运转的效率的基本问题,范围涉及日常行政管理、各种事项的审批、办公资源的管理、多人多部门的协同办公、以及各种信息的沟通与传递。可以概括的说,OA软件跨越了生产、销售、财务等具体的业务范畴,更集中关注于企业日常办公的效率和可控性,是企业提高整体运转能力不可缺少的软件工具。确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:由于网站的操作是基于B/S结构,简单明了,用户只需相关电脑的基本知识,而管理员也

18、无需具备专业知识,只需要对一些数据进行输入以及平时的日常维护就够了。所以,从可操作性上来看,也是合理的。2.1 系统实现的基本功能1)个人资料管理 :所有信息的脚本验证是必须的增加新员工:录入新员工基本信息,包括编号,姓名,密码,性别,出生日期,加入日期,地址,内部邮箱,电话,部门ID,角色ID,其他手工填写;需要注意在此处应该提供添加编号、密码、出生日期、加入日期、内部邮箱对于必填项目要使用ajax效果给出提示。职务包含:员工,总经理,各部门经理,副总经理员工角色包含:系统管理员、部门管理员、普通员工2)员工管理:查询:完成员工的查询,显示所有员工,在此处要提供按名字查询的功能,要求是模糊查

19、询(要分页显示),用户点击该员工姓名,系统立刻显示该员工的所有详细信息。同时显示效果要求使用界面友好的提示效果。删除显示所有员工,用户首先输入姓名,然后系统列出该姓名的所有在职员工,点击删除即可将该员工删除;删除时有友好的提示效果。3) 部门管理:增加部门:录入部门的名称,电话号码查询部门:完成部门查询,显示所有部门,在此处要提供按部门名称查询的功能,要求是模糊查询(要分页显示),用户点击该部门名称,系统立刻显示该部门的所有详细信息。同时显示效果要求使用界面友好的提示效果。删除部门:显示所有部门,用户首先输入部门名称,然后系统列出该名称的部门,点击删除即可将该员工删除;删除时有友好的提示效果。

20、4)权限管理:查询权限:完成员工权限的查询,显示所有员工,在此处要提供按名字查询的功能,要求是模糊查询(要分页显示),用户点击该员工姓名,系统立刻显示该员工的职位和权限。同时显示效果要求使用界面友好的提示效果。修改权限:显示所有员工,用户首先输入姓名,然后系统列出该姓名的所有员工,点击员工姓名即可显示员工现有的权限,点击修改便可对员工的权限进行修改;修改时有友好的提示效果。2部门管理:增加部门:录入部门的名称,电话查询部门:列出所有的部门3人员调整部门调整:某员工由A部门调到B部门,系统要提供该功能,在该模块内要根据员工名字查询,查询以后显示该员工原来所在部门,然后用户选择调整的目标部门,提交

21、即可。用户可以在界面上通过鼠标点击可以完成员工状态的调整,注意在该模块里要提供按员工名字的模糊查询,用户先输入名字,然后在屏幕上看到该员工调整前的状态,用户选择目标状态即可。4. 用户管理增加系统用户,包括用户名和密码以及角色查看系统用户删除系统用户、修改用户信息2.2 数据库设计2.2.1数据库概念结构设计针对本人力资源管理系统,得到的总E-R图(见图2.1)和实体属性图(见图2.2、图2.3、图2.4、图2.5、图2.6、图2.7、图2.8)。图2.1 总E-R图图2.2 部门实体-属性图图2.3 菜单实体-属性图图2.4 公告实体-属性图图2.5 角色实体-属性图图2.6 权限实体-属性

22、图图2.7日程实体-属性图图2.8 员工实体-属性图2.2.2数据库逻辑结构设计把上述的E-R图模型转化成关系模型为:员工(员工编号,姓名,性别,出生日期,入职日期,员工密码,部门id,地址,联系电话,邮箱,员工代码,角色id,备注);部门(id,部门名称,上级部门,电话,备注);用户(id,用户名,密码,角色)。2.2.3数据库物理设计根据需求,本设计采用七张表七个序列来实现,包括员工信息表OA_EMPLOVEE,见表2.1,部门信息表OA_DEPT,见表2.2,菜单信息表OA_POWER,角色表OA_ROLE,角色菜单权限表OA_ROLEPOWER,日程信息表OA_CALENDAR,公告信

23、息表OA_BULLETIN这七张表中的id是用序列来实现的。其中P_USER表中的id使用的序列为SEQ_PUSER,最小值为1,最大值为99。P_STAFF表中的id使用的序列为P_STAFF_ID,最小值为1,最大值为50000。P_DEPT表中的id使用的序列为P_DEPT_ID,最小值为1,最大值为50000。表2.1 员工表(OA_employee) 字段名 描述数据类型数据长度NULLPrimarykeyemp_id员工编号NUMBER1NPKemp_code员工代码VC22Nempname员工名称VC22Nemppwd员工密码VC22Nemp_sex性别VC21Nemp_join

24、date加入日期dateNemp_birth员工生日dateemp_email邮箱VC25emp_address地址VC210emp_phone电话NUMBER2emp_desc备注VC210dept_id部门idNUMBER1NFKrole_id角色idNUMBER1NFK表2.2部门信息表(OA_dept)字段名描述数据类型数据长度NULLPrimarykeydept_id部门idNUMBER1NPKdept_name部门名称VC22Ndept_fid上级部门NUMBER1dept_desc备注VC210表2.3 菜单信息表(OA_power)字段名描述数据类型数据长度NULLPrimar

25、ykeypower_id菜单idNUMBER1NPKpower_name菜单名VC22Npower_address菜单地址VC210power_fid上级菜单NUMBER1表2.4 角色表(OA_role)字段名描述数据类型数据长度NULLPrimarykeyrole_id角色idNUMBER1NPKrole_name角色名VC21N表2.5 角色菜单权限表(OA_rolepower)字段名描述数据类型数据长度NULLPrimarykeyrolepower_id权限idNUMBER1NPKrole_id角色idNUMBER1NFKpower_id菜单idNUMBER1NFK表2.6 日程信息表

26、(OA_calendar)字段名描述数据类型数据长度NULLPrimarykeycalendar_id日程idNUMBER1NPKcalendar_name日程主题VC22Ncalendar_starttime开始日期DATEcalendar_endtime结束日期DATEcalendar_remind提醒时间NUMBER2calendar_content日程内容VC210calendar_isremind是否提醒NUMBER1emp_id员工编号NUMBER1NFK表2.7 公告信息表(OA_bulletin)字段名描述数据类型数据长度NULLPrimarykeybulletin_ID公告I

27、DNUMBER1NPKbulletin_name公告标题VC22Nbulletin_content公告内容VC22Nbulletin_time发布公告时间VC21Nbulletin_dept发布公告部门VC21N第三章 系统总体设计3.1 系统结构根据需求,本人力资源管理系统分为员工管理,部门管理,日程管理,权限管理,信息发布,个人文件夹六个模块,如图3.1.图3.1 系统功能模块3.2 模块以下列出上述六个模块。员工管理模块包括:查询员工、设置员工、添加员工;模块图如图3.21.查询员工:按姓名模糊查询所需要调整人的id,姓名,部门信息。2.设置员工:修改员工的状态,所属部门,权限以及删除员

28、工。3.添加员工:添加新员工及其所属部门,该员工的权限等。员工管理员调整添加员工设置员工查询员工图3.2 员工管理模块图部门管理模块包括:查询部门、添加部门、设置部门;模块图如图3.3。1.查询部门:按部门模糊查询所需要调整部门的id,名称,部门信息。 2.添加部门:管理员添加新部门及其权限。3.修改部门信息:修改部门名称,部门职能,部门权限 。4.删除用户:删除部门信息。 部门管理查询部门添加部门修改部门信息删除部门图3.3 用户管理模块图权限管理模块包括:新增角色权限、修改角色权限、设置员工角色;模块图如图3.4。1.新增角色:添加新的角色。 2.设置角色权限:按照新的角色的定位赋予一定的

29、权限。3.修改角色权限:对于有些需要对其权限进行修改的角色进行一定的处理。权限管理员调整添加角色设置角色权限查询角色权限图3.4 员工管理模块图第四章 系统详细设计和实现4.1 人机界面设计人机界面接口是接口设计的一个重要的组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。4.1.1 OA管理系统登录首页此系统有用户登录的功能,在此也中选择是管理员还是一般操作员的登录,页面如图4.1,其对应的流程图如图4.2。图4.1 登录页面图4.2 系统登录流程图4.1.2 部门调整部门调整包括增加部门、查询部门和设置部门。查询部门的列表页见图4.3,设置部门的列表也见

30、图4.4,增加部门列表页如图4.5。图4.3 查询部门列表页图4.4 设置部门列表页图4.5 添加部门列表页4.1.3 员工管理用户管理包括增加员工,设置员工,查询员工信息,员工列表页如图4.6,设置页如图4.7,添加加页如图4.8,其流程图见图4.12。图4.6 员工列表页图4.7 设置员工页面图4.8 添加员工页面4.1.4 权限管理权限管理包括新增角色,设置角色权限,设置员工角色三部分。新增角色页如图4.9,设置角色权限如图4.10,设置员工角色页如图4.11,其流程图如图4.12。图4.9 新增角色页面图4.10 设置角色权限页面图4.11 设置员工角色页面整体调整权限设置部门设置员工

31、设置调整权限输入调整后的信息输入调整后的信息查询管理权限列表页员工信息列表部门信息列表修改修改YYYNNN开始结束图4.12 整体调整流程图4.1.5 信息发布信息发布包括显示公告,添加公告,公告管理三部分。显示公告也如图4.13,添加公告4.14,公告管理页如图4.15。图4.13 显示公告页面图4.14 添加公告页面图4.15 公告管理页面4.1.6 日程管理日程管理包括添加日程,显示日程两部分。添加日程页如图4.16,显示日程页如图4.17。图4.16 添加日程页面图4.17 显示日程4.1.7 个人文件夹个人文件夹只有个人通讯录一个页面,如图4.18。图4.18 个人通讯录页面4.2

32、技术介绍本设计的亮点之一就是用传统的三大经典框架实现,SSH是指Struts2,Spring,Hibernate三大框架来完成本设计的开发过程。为什么要用这三个框架来实现呢?Hibernate对JDBC的轻量级封装使得程序员可用面向对象的编程思维来操作数据库。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的功能是一方面为Hibernate提供支持,另一方面通过管理service。4.2.1 SSH框架的整合新建一个工程renshi,一个普通的Java工程,先让其变成一个Struts2工程,步骤为加载类库,需要的类库见图4.19。图4.19

33、 Struts2需要的类库然后在web.xml文件中添加代码:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*然后再开发一个action开发的action需要继承ActionSupport,需要实现其中的execute方法,在此方法中实现相应的服务。然后把url和action,结果页面关联通过struts.xml,在struts.xml中配置package,实现相应的页面跳转。此时的工程已经成为一个Struts2工程了,接下来就该加Spring了。加Spring,右击本项目

34、|MyEclipse|Add Spring Capabilities,需要的包见图4.20图4.20 Spring需要的包配置数据源,用连接池(dbcp),需要的包见图4.21图4.21 连接池需要的包然后在applicationContext.xml文件中配置数据源,代码如下:配置文件中注入bean(java类)生成代理类:com.renshi.service.IService在此需要整合struts2和Spring需要的一个包如图4.22图4.22 Struts2和Spring整合需要的包同时在web.xml中配置:contextConfigLocationclasspath:applicationContext-*.xmlorg.springframework.web.context.ContextLoaderListener此时Struts2和Spring已经整合好了,下面就要让他成为一个Hibernate工程了。加Hibernate需要在com.renshi.bean下建UserBean.hbm.xml文件,是Hibernate的配置文件 seq_puser 此时需要将Spring和Hibernate整合org.hibernate.dialect.Oracle9Dialecttruecom/renshi/bean/UserBean.hbm.xml

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1