收藏 分销(赏)

毕业设计OA办公系统.doc

上传人:精*** 文档编号:1879337 上传时间:2024-05-10 格式:DOC 页数:32 大小:766.50KB
下载 相关 举报
毕业设计OA办公系统.doc_第1页
第1页 / 共32页
毕业设计OA办公系统.doc_第2页
第2页 / 共32页
毕业设计OA办公系统.doc_第3页
第3页 / 共32页
毕业设计OA办公系统.doc_第4页
第4页 / 共32页
毕业设计OA办公系统.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、学位论文原创性声明本人所提交的学位论文,是在指导老师指导下独立完成的研究成果。本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明确方式标明。本人依法享有和承担由此论文而产生的权利和责任。声明人(签名): 年 月 日目 录摘 要IAbstractII1 前言11.1 系统开发背景和意义11.2 国内外研究现状11.3 系统开发的任务22 系统分析32.1 可行性分析32.1.1 市场可行性32.1.2 经济可行性32.1.3 技术可行性32.2 需求分析42.3 系统层次分析43 系统设计63.1 系统目标63.2 系统功能构架设计63.2.1 用户信息注册与查询模块63.2.2 公告

2、管理模块73.2.3 考勤管理模块73.2.4 请假管理模块73.3 数据库设计73.4.1 数据库概念设计83.4.2 数据库逻辑设计104 系统实现134.1 登陆实现134.2 注册信息实现144.3 主功能模块实现154.3.1 管理员模块实现164.3.2 员工模块实现174.3.3 用户信息管理模块实现184.3.4 考勤管理模块实现194.3.5 公告管理模块实现214.3.6 请假管理模块实现225 系统测试245.1 系统测试的目标和原则245.2 系统测试的方法245.3 系统测试方案255.4 系统测试结果及分析25总 结 27参考文献28致 谢29摘 要随着互联网技术的

3、飞速发展,传统纸质办公模式已经远远不能满足现代企业工作的需要,而网络办公自动化的应用满足了这个需求。办公自动化OA系统可以从根本上简化企业办公操作流程,提高企业办公的效率和质量,节约成本,提高企业效益。本系统主要采用B/S(浏览器/服务器)模式,利用Java Web的相关技术,设计并实现了可以在线登录并完成办公的网络平台。本系统主要功能有员工注册,发布公告,签到管理,请假管理和个人信息管理。管理员可以发布公告,查看员工个人信息,管理员工签到信息,对员工的请假申请进行处理。员工可以进行注册、修改个人信息,签到和退签,申请请假等操作。关键字:B/S模式;办公自动化OA;Java Web- 1 -A

4、bstractWith the rapid development of the Internet, the traditional way of paper office fai-ling to meet the modern company needs. However, the application of automatic netw-ork office can make people satisfied.Office automation system can simplify the busines-s operation process fundamentally,and im

5、prove the efficiency and quality of enterprise.At the same time,it can save cost and improve the benefit of the enterprises.This system mainly uses B/S (Browser/server) mode,and using the technique of Ja-va Web.It was designed and implemented can log in and complete the online office n-etwork platfo

6、rm.The main function of the system are employee registration,issued a p-ublic notice,attendance management,leave management,personal information management, and so on. Administrator has some functions,such as posting the announcement,viewin-g employees personal information,sign-in information in sta

7、ff management and carryin-g on processing to the staff leave application. The employee can register,modify perso-nal information,sign in,and applying for a leave operation.Keywords:B/S mode;office automation OA;Java Web- 1 -1 前言1.1 系统开发背景和意义当今社会,公司的规模在不断地扩大,公司的业务额在不断地增加。但在企业不断发展的同时,传统的人工办公、纸质办公的方式不断

8、地暴露出一些问题。比如:公司的员工需要请假,就必须填写申请表并交给领导,而领导可能因为有事不在办公室,或者因为其他事务不能及时进行审批,这样就会耽误员工的时间和其他工作。为了避免诸如此类事情的发生,公司需要更加人性化、更加方便快捷的办公自动化系统,去代替过去较复杂低效的人工办公模式。办公自动化系统就是一个将现代办公思想和计算机、网络、通讯、多媒体等现代化工具集成在一起的办公应用系统。通过计算机的处理,能够进一步提高办公的效率和质量,同时又能够缩短办公时间,减轻员工办公压力,改善办公的环境和条件,也能够让决策者在第一时间得到最权威、最有效的信息,以产生明智的策略,为企业和公司带来最大的效益。而作

9、为一名计算机专业的学生,研究这一系统不仅能巩固和提高在校所学知识,达到学以致用,更能为将来走入社会打下良好的基础。1.2 国内外研究现状目前国外办公自动化技术的发展比较成熟,特别是群件产品,如IBM Lotus Notes/Domino 和 Microsoft Exchange的出现使办公自动化软件得到了广泛的应用。它提供的工作流平台及非结构化数据库的功能使我们可以很方便的实现非结构化文档的处理、全文检索、工作流等重要的功能。同时Lotus Notes还提供了与企业业务系统的连接方式,为管理人员提供了一个统一的操作平台1。进入20世纪90年代中期以后,由于国内经济的飞速发展引发市场竞争的逐渐激

10、烈,以及政府管理职能的扩大和优化,这一切导致政府和企业对办公自动化产品的需求快速增长。这时,办公自动化开始进入一个快速发展的阶段。国内专门从事软件开发的公司也逐渐成长起来,并专门为政府和企业订做办公自动化系统。由于这些系统是根据用户的具体需求开发的,所以需要功能比较完善,并能较好地满足用户的实际需要。但这是一个巨大而低效的市场,具体表现在投资大、效果不明显;水平低、重复建设多;硬件投入多、软件投入少;模拟手工作业增加管理负担等。这是因为开发商水平参差不齐,开发队伍组队模式不合理、缺乏开发办公自动化产品的经验、用户缺乏对办公自动化产品的认识等;部分软件产品质量不高,不顾中国企业的运作特点照搬国外

11、技术,使得实施困难;对OA的理解起点不高,导致OA系统与其他系统集成度差;用户使用水平低,又不愿花太多的精力投入培训;售后服务不到位;定做开发又会因用户需求变化要对软件进行不断的修改维护。到最后,整个软件的性能和可使用性都大大降低,没有耐性的企业索性废弃掉从而导致项目失败。从技术来看,普遍存在如下缺点:为用户考虑的少,软件的柔性构造功能差。当前很多OA软件过分强调了软件之间功能的横向对比,为用户考虑的实际功能比较少,结果导致软件大而全,而真正为用户接受的功能模块很少。另一方面,软件的模块复用性很差,直接影响了软件的柔性构造功能,而当用户的需求改变时,哪怕是轻微的改变,都需要开发商来解决,从而影

12、响了用户的使用效率,对开发商也是一个极大的负担。1.3 系统开发的任务对项目开发人员来说,在项目开发过程中针对不同项目选择恰当的软件体系结构非常重要。适当的软件体系结构和软件的安全性、可维护性等密切相关。目前主要流行的两种软件体系结构是C/S体系结构和B/S体系结构,这两个是当今世界开发模式技术构架的两大主流技术2。本系统主要采用B/S体系结构,该系统的功能有员工注册,发布公告,签到管理,请假管理,个人信息管理等。管理员可以发布公告,查看员工个人信息,管理员工签到信息,对员工的请假申请进行处理;员工可以进行注册、修改个人信息,签到和退签、申请请假等操作;从而合理有效地完成工作,提高工作的效率和

13、质量。22 系统分析系统分析是在系统设计之前,针对整个系统从需求、可行性、系统层次等角度,掌握整个系统的大致构造,为系统的设计提供有力的理论依据。2.1 可行性分析2.1.1 市场可行性随着互联网及电脑的普及,信息化办公已深入企业文化,采用OA系统可以实现无纸化办公,不仅能节约资源,更能方便管理,提高工作效率。在目前的国内市场还有广大前景。2.1.2 经济可行性企业和政府部门使用办公系统自动化对大量的数据进行管理和统计时,可以大大减少在人为处理各类数据时产生的错误,提高了企业的效益。使企业的决策者拥有更加准确的信息去做正确的决策,使企业更加规范化,信息化和系统化。2.1.3 技术可行性本系统页

14、面方面Jsp编写,服务器采用servlet编写,采用Eclipse作为开发工具。通过JDBC连接MySQL数据库,在Tomcat服务器上运行,这些都是免费开源的工具,对数据的安全健壮有一定的保护作用,且具备一定的开发能力,实现简单的OA还可节约开发成本。关键技术有以下四条:Servlet:是运行在服务器端,由Web服务器加载,是独立于平台和协议的Java应用程序。在内部的机制上,每一个Jsp都是被处理成一个Servlet的。Servlet不限制使用的协议,它通常使用的协议是HTTP协议。Servlet具有跨平台和可移植性强等特点,主要是用于编写程序的处理逻辑。Jsp:Jsp(Java Serv

15、er Pages)是由Sun公司发布的用于开发动态Web应用的一项技术。它是基于Java Servlet的Web开发技术,由于具有简单易学和跨平台等特点,使之成为Web开发中的首选3。Tomcat:Tomcat是一个基于Java的开放源码Web应用容器,是Apache Jakarta项目中的一个子项目,有Apache、Sun公司和其他人员共同开发。它由于技术先进,占用资源少,稳定性好,且易于扩展等的特点,同时又是开源的,所以使得它备受程序员的喜爱。Tomcat是完全使用Java语言开发实现的,因此它与在哪个平台无关,即可以通过在不同的操作系统上安装JVM实现跨平台4。MySQL:MySQL是一

16、个小型关系数据库管理系统,也是最著名的开放源码数据库管理系统,它使用结构化查询语言进行数据库的管理和操作。MySQL是由MySQLAB研发、发布和支持,后被SUN公司收购,它使用C和C+两种语言编写,都可以工作于不同的平台之上。MySQL和其他的大型的关系数据库(如Oracle,SQL Server等)相比,其速度快,规模小和可靠,同时又因为是开源的,所以现在广泛被中小企业使用,同时也受学习者的青睐5。 2.2 需求分析在软件工程中,需求分析就是详细分析要解决的问题,弄明白问题要求。它是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能

17、够分析和寻求新系统的解决方法。通过调查一般的OA系统应具有如下功能:1、员工信息管理信息管理是本系统的核心模块,用户的注册信息都会存储在该模块,并分配相应的权限。当公司有新人加入时,会根据其职位注册相应的工作编号,系统将会根据不同的工作编号去区分不用的权限。2、公告管理这部分是方便员工知道公司最新动态,只有管理员才能发布通知。3、请假管理这部分是方便员工请假需要,主要是传输一个文本,对应单位领导看到后,可进行相应处理,同时员工也可第一时间看到领导的反馈信息。4、考勤管理这部分主要是方便公司的管理,提高员工的出勤率。员工上班进行网上签到,下班进行签退。管理员可以随时查看员工的出勤记录。2.3 系

18、统层次分析本系统主要采用MVC的开发模式。MVC是一个将应用的输入、处理和输出流程按照Model(模型)、View(视图)和Control(控制器)三部分进行分离的一种开发模式。这样的一个系统就可以分为模型层、视图层和控制层三个层面,三层之间以最小的耦合来协同工作,从而提高系统的可扩展性和可维护性6。模型层(M):模型层对应的是企业数据和对应的业务逻辑,他控制着数据的处理和更新,通常这部分都是用普通的Java程序编写,负责展现业务的数据逻辑、数据的连接、向数据库发送各种SQL语句等。视图层(V):视图层实际上就是模型层中的各个模型的具体展现形式。他通过模型得到企业数据,然后再根据需要来显示他们

19、。虽然是视图层不作数据处理,而是将数据传递给控制层,但是他必须保持和模型层数据的一致性,及当模型层数据发生改变时,对应的视图层也许作相应的调整。对于早期的Web应用程序来说,HTML元素构成了试图界面的主要部分,但随着技术的发展,目前主要采用Jsp技术实现。本系统采用Jsp编写的。控制层(C):控制层顾名思义就是起到居中调度的作用,在MVC模式中,控制层连接着模型层和视图层,起到纽带的作用。他将视图层的交互信息进行过滤处理后,在传送到模型层相应的业务逻辑处理程序进行处理。在Web应用中,视图层首先向控制层发送信息,通常是get和post请求,控制层接收到请求后,并不进行业务处理,而是将请求信息

20、传递给模型层,并告知模型层做相应处理。接着模型层接收请求数据,并产生处理结果。模型层对应的功能包括业务处理和模型状态的改变。最后根据模型层产生的结果,控制层给用户(浏览器)回应相应的视图7。3 系统设计3.1 系统目标本系统主要是根据中小型企业的办公需求进行设计的,主要为了实现以下几种目标:1、界面友好,可以实现人机交互,操作简单,便捷2、数据库具有较强的安全性3、可以实现基本的添加,删除,修改和查询的功能4、系统具有一定的权限分配,避免数据混乱3.2 系统功能构架设计依据对系统需求调研的内容分析,将系统功能划分为管理员模块和员工模块。管理员模块主要负责公告的发布、修改和删除,具有信息的处理功

21、能,同时也能够对员工提交的信息进行处理。员工用于个人信息的添加和修改,以及添加并提交申请信息,同时具有公告的浏览功能。具体功能如下图所示:系统登录权限判断员工管理员签到签退请假申请查看公告查看修改信息审核员工申请添加查看员工发布公告查看考勤记录图 3-1 系统功能模块图系统的主要功能有用户的注册和登录,公告的发布和查看,假期的申请和审核,签到和签退等。3.2.1 用户信息注册与查询模块该模块用于存储用户注册信息,同时用户也可以查询自己的信息并进行修改。在用户登录前,如果用户的信息不在数据库,则需要先进行注册,注册信息就存储在该模块内的表,在注册信息录入后,会根据登录人员的编码分配权限,即管理员

22、或者员工。管理员可查看所有用户的注册信息,并可以修改注册信息,包括删除用户信息等超级管理权限。员工只能查看自己的个人信息,无法查看他人信息,主要是为了保障信息的安全。3.2.2 公告管理模块该模块用于信息的发布。在该模块内,管理员可以发布公告等信息。当公司有重要信息发布,就可以在该模块发布,管理员可对内容进行编辑,进行发布,在发布的信息中除了主要内容外还附加上发送人姓名和日期等信息。员工只具有查看的权限。3.2.3 考勤管理模块该模块用于员工签到管理及领导的监督。员工每天上班进行签到,下班进行签退,公司以此来监督员工,提高员工的出勤率。3.2.4 请假管理模块该模块用于请假申请及批准。申请人进

23、行申请,同时要附上申请理由和申请假期的时间段,并要写上申请的日期,进行提交。管理员可以看到员工的请假申请,并根据情况对员工的假期申请进行审核,确定批准还是不批准。3.3 数据库设计数据库的设计是每个应用程序非常重要的部分,对数据库的选择和对表的设计都对系统的设计起着举足轻重的作用8。图3-2是管理员系统中管理员及其他实体之间的联系图 考 勤管 理 管理员发 布 公 告n11n1审 核n 请 假图 3-2 管理员系统实体及其联系图图3-3是员工与管理员实体之间的联系图 管理员管 理 1 n 员 工图 3-3 员工与管理员实体之间的联系图图3-4是员工系统中员工及其他实体之间的联系图 考 勤签 到

24、 员 工查 看 公 告nm1n1申 请n 请 假图 3-4 员工系统实体及其联系图3.4.1 数据库概念设计通过E-R图实现数据库概念的设计:员工实体包括员工编号、姓名、密码、性别、手机号、邮箱和工作等属性,通过编号可以识别不同的员工,即为员工的ID号。员工工作编号邮箱密码姓名性别手机号图 3-5 员工实体图公告实体包括公告编号、姓名、标题、内容和日期等属性,通过公告编号可以识别不同的公告,姓名为发布公告的管理员姓名。公告公告编号日期管理员姓名内容标题图 3-6 公告实体图管理员实体包括管理员编号、姓名和密码等属性,通过管理员编号可以识别不同的管理员。管理员姓名密码编号图 3-7 管理员实体图

25、请假实体包括请假编号、员工姓名、原因、日期、状态和操作等属性,请假编号可以识别不同的请假信息,姓名为申请请假员工的姓名,理由即为员工请假的理由,日期为员工写请假信息的日期,状态为员工提交请假信息后显示的状态,操作为管理员可以对员工请假信息进行批准或不批准的操作。请假操作请假编号状态员工姓名日期原因图 3-8 请假实体图考勤实体包括签到编号、员工编号、签到时间和签退时间等属性。签到编号为签到时的序号,员工编号为签到员工的ID号。考勤签退时间签到编号员工编号签到时间图 3-9 签到实体图3.4.2 数据库逻辑设计本系统所涉及的数据库主要由五张表组成,分别是用于存储管理员信息的admin表、存储员工

26、信息的member表、存储请假信息的leaves表、存储公告信息的news表和员工考勤的sign表。图 3-10 数据表结构图主要数据表的结构如下:表3-1 admin为管理员用表,包括管理员编号,姓名,密码等属性。表 3-1 admin字段名类型长度是不是主键备注aidint10是编号anamevarchar10不是姓名apasswordvarchar10不是密码表3-2 member为员工用表,包括员工编号,姓名,密码,性别,邮箱,手机号,工作等属性。表 3-2 member字段名类型长度是不是主键备注midint10是编号mnamevachar10不是姓名genderint20不是性别m

27、passwordvarchar10不是密码emailvarchar30不是邮箱phonevarchar20不是手机号jobvarchar10不是工作表3-3 leaves为请假表,包括请假的编号,员工的姓名,理由,日期,状态,操作等属性。表 3-3 leaves字段名类型长度是不是主键备注lidint10是编号mnamevarchar10不是姓名reasonText0不是理由datevachar10不是日期stateint10不是状态operationint10不是操作表3-4 news为公告表,包括公告的编号,文章的标题,发布者,发布内容,发布日期等属性。表 3-4 news字段名类型长度是

28、不是主键备注nidint10是编号titlevarchar50不是文章标题anamevarchar10不是姓名contenttext0不是内容datedatetime0不是日期表3-5 sign为考勤表,包括考勤的编号,员工的编号,签到时间,签退时间等属性。表 3-5 sign字段名类型长度是不是主键备注sidint10是编号midint10不是签到编号startvarchar255不是签到时间endvarchar255不是签退时间4 系统实现4.1 登陆实现在登陆界面用户需要输入用户名和密码。用户名由一组数字组成,登录密码是在用户注册时确定的,当然用户也可以在个人信息中进行修改。当用户输入的

29、用户名和密码点登录时,系统会根据用户名和密码去数据库查找该用户,如果存在于管理员表,则进入管理员系统界面,如果在员工则跳转到员工系统界面,否则直接返回登录界面。登录界面截图如下:图4-1 用户登录界面核心代码如下:request.setCharacterEncoding(GB18030);response.setCharacterEncoding(GB18030);String strid = request.getParameter(id);int userid=Integer.parseInt(strid);String pwd = request.getParameter(passwor

30、d);if(.equals(userid) | .equals(pwd) | 0=userid | null=pwd)response.sendRedirect(login.Jsp);return;/查数据库,看是否有这个用户AdminDAO dao = new AdminDAO();Admin u = dao.checkLoginAdmin(userid, pwd);MemberDAO daom = new MemberDAO();Member m =daom.checkLoginMember(userid, pwd);if(u !=null )/登录成功 HttpSession sessi

31、on = request.getSession();/在当前会话的session对象里存一个登录成功的标志session.setAttribute(user, userid);response.sendRedirect(admin.Jsp);else if(m !=null )HttpSession session = request.getSession();/在当前会话的session对象里存一个登录成功的标志session.setAttribute(user, userid);response.sendRedirect(member.Jsp);/登录成功else/登录失败response

32、.sendRedirect(login.Jsp);4.2 注册信息实现当有新用户加入或者数据初始录入时,就需要用到注册界面了。新用户注册后需要输入用户名,密码和手机号等。所标记的“*”为必填内容,当用户注册完成后,信息会存储到数据库,同时系统会自动为用户生成ID号,这是用户可根据系统提供的ID号和自己设定的密码进行登录。本模块主要采用表单实现,用户第一次登陆系统后可以对个人信息进行修改。并进行基本的办公操作,具体可参考用户界面菜单。注册界面截图如下:图4-2 注册界面注册核心代码如下: String name = request.getParameter(name); String strGe

33、nder = request.getParameter(gender);/ null,a12int gender = Integer.parseInt(strGender);String password=request.getParameter(password);String phone = request.getParameter(phone);String email = request.getParameter(email);String job = request.getParameter(job);Member stu = new Member(0,name,gender,pas

34、sword,phone,email,job);MemberDAO dao = new MemberDAO();/ 将信息保存到数据库boolean rs = dao.addMember(stu);response.sendRedirect(./login.Jsp);4.3 主功能模块实现当用户完成注册后就可以通过系统自动生成的ID号和密码访问系统功能界面,根据查验数据库,系统可以对用户的身份进行识别,以区分管理员还是员工。若为管理员,则进入管理员界面,否则进入员工界面。管理员可以对系统进行信息的管理操作,如新用户的审核、公告发布、请假审批,查看员工信息等。而员工只能进入用户界面,进行个人信息查

35、询和修改,公告的查看,申请假期等的操作。4.3.1 管理员模块实现图 4-3 管理员界面主界面主要包括用户的添加,查看员工的信息,管理员工的考勤,发布公司的公告,审批员工的假期申请和退出系统几个操作。当点击其中一个操作,就会在右边的一个框架内显示点击后所跳转到得页面。核心代码如下: 添加用户 用户列表 员工考勤 发布公告 假期申请 退出系统 4.3.2 员工模块实现员工界面基本和管理员基本相似,只是有些功能不一样。管理员可以发布公告,审批员工的请假申请等,拥有较高的权利,而员工拥有查看和修改自己的信息,签到签退,查看通知,申请假期等权限。图 4-4 员工界面核心代码如下: 个人信息 信息修改

36、每日签到 查看通知 假期申请 我的申请 安全退出 4.3.3 用户信息管理模块实现在用户列表界面,管理员可以查看所有员工的基本信息,也可对员工的信息进行增、删、改等操作。图4-5 员工信息界面核心代码如下:% List stus = ( List)request.getAttribute(stus); int i=0;for (Member stu : stus) /Student stu = stusi; i+;String cl = i%2=0?#eeeeee:;%tr bgcolor= input type=checkbox name=ids value= a href=./showme

37、mbers.do?id=详细  a href=./updateMemberForm.do?id=编辑  a href=./deleteMember.do?id=删除  4.3.4 考勤管理模块实现在考勤界面上,管理员可以查看到所有用户的信息,也可根据用户ID单独查看某个员工考勤信息,并对其进行一些统计分析。考勤记录记录的员工上班的时间和下班的时间。管理员可根据员工的签到信息进行判断该员工是否遵守公司工作规定,以方便公司的管理。图 4-6 考勤信息核心代码如下:考勤信息 签到序号员工编号签到时间退签时间tr bgcolor=4.3.5 公告管理模块实现该图为公告添加界面,采用javascript实现。该模块中用到两个开源的javascript的组件,包过日历组件和百度编辑器组件,能够很方便的进行公告的发布和编辑,同时也可以完成公告的插图等操作,使公告的内容更丰富。图 4-7 发布公告核心代码如下

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服