基于MVC设计模式的加班管理系统毕业设计.docx
《基于MVC设计模式的加班管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于MVC设计模式的加班管理系统毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
基于MVC设计模式的加班管理系统毕业设计
毕业设计
标题问题:
基于MVC设计模式的加班办理系统
系别信息工程系
专业班级
学生姓名xxx
指导教师
指导教师职称
2021年5月20日
基于MVC设计模式的加班办理系统
摘要:
加班办理系统采用B/S模式,SSH框架,Ehcache缓存技术。
加班办理系统拥有三种分歧身份,组长、组员、项目经理、系统办理员。
实现加班申请、加班申请查询、加班审批、登录用户身份办理、菜单办理等功能。
采用java分布式缓存技术可以提高轨范的运行效率。
加班办理系统是一种把持和办理加班业务的web系统,用于加班申请、加班审批。
它对加班工作进行统一的办理和控制,加班申请、审批的高效工作。
员工通过加班办理系统提出加班申请,组长和项目经理进行审批工作。
加班申请首页,用户可以直接进行加班单的增删改查等操作。
员工的加班办理已经越来越引起人们的重视。
员工加班办理就是要做到员工的加班申请进行增加,查询,删除,修改,审批等相关操作。
系统为了信息安全拜候,可以注册多个办理员对数据库进行办理操作,也就是进行拜候控制。
进行拜候控制办理的最终目的是加强对分歧身份用户进行办理,防止员工越级对数据库的操作,同时对分歧的员工信息可进行增加,查询,删除,修改等相关操作,对分歧的部门信息可进行修改等相关操作,对分歧的职位信息可进行修改等相关操作,实现对每名员工的基本信息修改改动。
关键词:
加班办理技术开发SSH
Overtimemanagementsystembasedon
MVCdesignPattern
Abstract:
OvertimemanagementsystemusesB/Smode,SSHframework,Ehcachecachingtechnology.Overtimemanagementsystemhasthreedifferentidentities,teamleader,teammember,projectmanager,systemadministrator.Toachieveovertimeapplication,overtimeapplicationquery,overtimeapproval,loginuseridentitymanagement,menumanagementandotherfunctions.Javadistributedcachingtechnologycanimprovetherunningefficiencyoftheprogram..Overtimemanagementsystemisakindofoperationandmanagementofwebsystem,forovertime,overtimeapproval.Itisunifiedmanagementandcontrolofovertimework,overtimeapplication,approvalandefficientwork.Thestaffthroughovertimemanagementsystemtoworkovertimeapplication,leaderandprojectmanagerforapprovalwork.Overtimeapplicationpage,theusercandirectlyworksinglecrudoperations.Overtimemanagementofemployeeshasbeenpaidmoreandmoreattention..Staffovertimemanagementistodoovertimeapplicationforstafftoincrease,query,delete,modify,approvalandotherrelatedoperations.Inordertoaccessinformationsecuritysystem,itcanregistermanyadministratorstomanagethedatabase,whichistoaccesscontrol..Ultimateaimofaccesscontrolmanagementisstrengthentodifferentuseridentitymanagement,preventemployeesleapfrogtothedatabaseoperation,atthesametime,thedifferentemployeeinformationcanadd,query,delete,modificationandotherrelatedoperationsandinformationofdifferentdepartmentscanmodify,andotherrelatedprocedures,ofdifferentpositioninformationcanmodify,andotherrelatedprocedures,toachievebasicinformationofeachemployeemodifychanges.
Keywords:
overtimemanagementtechnologydevelopmentSSH
引言
随着计算机及计算机网络的普及和全国各地的网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。
加班申请办理作为员工远程进行加班申请提供便当,也有利于辅导阶层对员工加班办理,从而减轻办理人员的工作肩负,简化加班申请流程,让复杂的加班申请用计算机数据库统筹办理。
因此,设计一种加班办理办理系统为员工、组长、项目经理提供一个交互的接口,大大便当了组长、项目经理及办理员的办理人员。
加班是员工在公司的一个必有的情况,是提高公司收益的一个重要过程。
本设计从加班单的申请、加班单的审核、员工加班单修改、删除、保留记录、查询等进行办理,实现了加班的整个流程的办理工作。
系统实现了员工加班申请和项目经理、组长进行加班审批,并增加了部门办理、职务办理、系统菜单办理等功能,能够包管办理员对系统维护、职务、部门的修改,对包管加班申请流程和提高工作效率有非常重要的现实意义。
随着网络化的普及,全国各大公司,实现无纸化办公成为未来的趋势。
本系统的为结合其他办理系统提供了接口。
在最新的调查中,调查的范围样本量达到全球40个国家,将近450家企业。
其中样本量的12%是中国的企业,全球调研敷陈去年首站发布是在上海,在去年的10月19号。
这个发布受到了一些关注和好评,我们进一步在过去几个月的时间里面把中国参加的企业又做了单独分国别的调查。
调查的主要结论,我们发现中国企业迫切需要通过人力本钱办理转型鞭策企业的发展战略。
三个关键词:
一个是转型、一个是引擎,第三个是方针。
转型的方针通过调研,我们发现人力资源的转型主要方针是提升整个组织的适应性和灵活性。
辅导力扶植和企业文化是转型的主要的两个引擎。
人力本钱办理的效率是促使转型的主要保障,也是转型的方针之一,所以一个有效的员工信息办理系统可以辅助企业进行有效的鞭策企业的发展战略,所以研究员工信息办理是对于国内企业的发展是很有必要的。
一、需求分析
(一)系统方针
员工信息的电子化办理是企业办理信息系统的一部分,而正因为这种动态办事,才大大提高企业内部沟通,交流。
这种模式已经逐渐替代到过去的手工工作模式以及工作方式。
本系统实现了员工加班办理、查询、增加及删除,组长、项目经理审批办理等功能。
本系统是企业对本身公司内部员工办理的系统,主要实现如下方针:
Ø组长、项目经理对加班单的审批办理功能。
Ø用户加班单的增删改查等功能。
Ø系统办理员的维护办理功能。
(二)功能分析
开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件保留周期中关键的一步。
按照软件工程学中开发软件的要求,对系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方式,自顶向下、逐层分化问题。
按照用户要求以及实际的具体分析,要求本系统具有以下功能:
Ø办理页面要求美观风雅、个性化。
Ø加班单的增加、删除、改动和查询功能。
Ø组长、项目经理审批加班单功能。
Ø组员部门职位办理。
Ø系统、操作流程简单、便当,能够提高工作效率。
(三)业务描述
1、系统模块图
总的系统模块主要包孕:
员工部门办理、职务办理;员工加班单查看、修改、删除、增加;员工加班单的审批;
总的系统功能模块结构图,如图1.1系统模块功能图所示:
图1.1系统模块功能图
2、业务流程图
加班业务流程图,包孕加班单的新增、删除、修改、查询;加班单的审批流程,如图1.2所示:
图1.2业务流程图
3、加班申请模块
所有效户进入加班申请页面,选项卡方式显示加班申请及查询和加班审批及查询,用户在每个分页面输入要查询的条件,点击搜索,页面列表显示所有符合查询条件的加班信息。
1)在加班申请及查询页面列表显示加班项目、加班日期、开始时间、结束时间、拒绝理由、状态。
2)在新增申请页面列表显示申请人、加班项目、加班部门、申请时间、开始时间、结束时间、加班类型、加班理由。
3)加班类型分为工作日、周六、周日,状态包孕、待审批、被项目经理拒绝、项目经理已审批。
4)在每个页面可以按照状态、所属项目、开始日期、结束日期模糊组合查询;
5)开始日期和结束日期的日期选择控件的第一列为星期四(默认),最后一天为星期三
6)加班时长:
数字右对齐。
7)加班申请的新增及修改。
8)新增界面傍边有申请人,员工编号,申请状态,申请时间,加班开始及结束时间,加班类型,部门,加班项目,加班理由等字段。
9)修改申请界面和新增界面基本一致。
4、加班审批模块
首次进入加班审批首页,展示所有效户(本身除外)的待审批的加班单,项目经理查看的组员用户的组长审批通过的加班单。
1)用户以本身身份登入,如果是组长,则可以审批组员的加班申请,如需查询某个组员的加班申请,则可以进行模糊查询。
2)显示申请人的姓名,职务,开始时间,结束时间,和审批状态,加班项目。
3)待审批状态:
审批通过会显示“打勾”,审批未通过显示“否”,未审批显示待审批。
4)加班时长列数字右对齐。
5)操作列里选择有审批详情超链接,点击有审批界面弹出。
6)审批界面中有申请详细信息,审批者可以进行通过,拒绝或封锁窗口。
7)开始日期不能大于结束日期,开始日期和结束日期任意一个都可感觉空。
8)审批详情界面,拒绝理由文本框为必填项。
9)审批通过,拒绝文本框为“无”;审批拒绝,拒绝文本框为真实拒绝理由。
二、系统设计
完成了系统的需求分析之后,就进入了系统的设计阶段,在整个系统的开发时期中,设计阶段是最主要的阶段。
按软件保留周期的划分,设计任务凡是分两个阶段来完成。
第一个阶段是总体设计,它的任务是建立软件的总体结构,即软件的系统框架设计和数据库架构。
第二个阶段是详细设计,其任务是,以及各组成成分(子系统或模块)之间的彼此联系,各个模块的介绍。
本系统采取了原型法,先按照需求分析设计出原型,然后在原型的基础上进行不断的测试和改善。
在本系统的设计过程中采取了模块化的设计方式,化繁为简。
(一)总体设计
1、系统框架设计
系统的设计与开发过程中严格遵守软件工程的规范,运用MVC软件设计模式Struts2+Spring+Hibernate框架设计开发,减少软件间的耦合度,力求做到系统的稳定性、可重用性和可扩充性。
系统开发工具MyEclipse8.5,开发语言为JAVA,JDK6.5,后台数据库使用Oracle10g,Tomcat7.5作为系统办事器,前端技术采用JqueryEasyUi实现数据展示。
(1)Struts2框架
Struts作为MVC2的Web框架,自推出以来不断受到开发者的追捧,获得广泛的应用。
作为最成功的Web框架,Struts自然拥有众多的优点:
MVC2模型的使用、功能齐全的符号库(TagLibrary)、开放源代码。
而Spring的泛起,在某些方面极大的方面了Struts的开发。
同时,Hibernate作为对象持久化的框架,能显示的提高软件开发的效率与生产力。
这三种风行框架的整合应用,可以发挥它们各自的优势,使软件开发更加的快速与便捷。
struts2发布已经很久了,但关于如何使用它的教程及实例并不多。
分外是与Spring及Hibernate等风行框架的集成,并不多见。
(2)Spring框架
SpringFramework[1]是一个开源的Java/JavaEE全功能栈(full-stack)的应用轨范框架,以Apache许可证形式发布,也有.NET平台上的移植版本。
该框架基于ExpertOne-on-OneJavaEEDesignandDevelopment(ISBN0-7645-4385-7)一书中的代码,最初由RodJohnson和JuergenHoeller等开发。
Spring中包含的关键特性,如图2.1所示:
图2.1Spring模块
Ø核心容器:
提供Spring框架的基本功能。
核心容器的主要组件是BeanFactory,它是工厂模式的实现。
BeanFactory使用控制反转(IOC)模式将应用轨范的配置和依赖性规范与实际的应用轨范代码分隔隔离分散。
ØSpringContext:
是一个配置文件,向Spring框架提供上下文信息。
Spring上下文包孕企业办事,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
ØSpringAOP:
通过配置办理特性,SpringAOP模块直接将面向方面的编程功能集成到了Spring框架中。
所以,可以很容易地使Spring框架办理的任何对象支持AOP。
SpringAOP模块为基于Spring的应用轨范中的对象提供了事务办理办事。
通过使用SpringAOP,不用依赖EJB组件,就可以将声明性事务办理集成到应用轨范中。
ØSpringDAO:
JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来办理异常处理和分歧数据库供应商抛出的错误消息。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量。
ØSpringORM:
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包孕JDO、Hibernate和iBatisSQLMap。
所有这些都遵从Spring的通用事务和DAO异常层次结构。
ØSpringWeb模块:
Web上下文模块建立在应用轨范上下文模块之上,为基于Web的应用轨范提供了上下文。
所以,Spring框架支持与JakartaStruts的集成。
Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
ØSpringMVC框架:
MVC框架是一个全功能的构建Web应用轨范的MVC实现。
通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包孕JSP、Velocity、Tiles、iText和POI。
(3)Hibernate框架
iBatis是一个O/RMapping解决方案,和风行的Hibernate比拟,iBatis最大的特点就是小巧,上手很快。
如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。
使用iBatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而iBatis则要求开发者编写具体的SQL语句,如图2.2所示:
图2.2iBatisSQLmapping
Hibernate等“全自动”ORM机制而言,iBatis以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。
作为“全自动”ORM实现的一种有益补充,iBatis的泛起显得别具意义。
2、数据库结构设计
数据库的设计实际上是对项目设计的一个整体规划,因为数据库的设计要从全局的角度考虑,而且数据库的设计要从全局的角度考虑,而且数据库中表的结构都是与轨范紧密相关的,如果数据库设计如果没有到位,设计也会受到必然的影响。
数据库的设计的E-R图是一个数据库的重要部分,现将数据库中部分重要表格的关系反映如下几个E-R图所示。
员工本人的加班单进行增加、删除、查询和修改。
E-R图如图2.3所示:
组长审批组员的加班单,E-R图如图2.4所示:
项目经理可以办理用户及组长的部门,E-R图如图2.5所示:
项目经理可以办理用户及组长的职务E-R图如图2.6所示:
图2.6管理职务
本系统采用Oracle数据库,系统数据库名为orcl,数据库orcl中包孕4个数据表。
各个表的逻辑结构和相关信息如下:
1.(User)用户信息表
用来存储登录用户的相关信息表,其中有效户登录名,登录暗码,以及用户相关个人信息,职务编号,部门编号,结构如表2-1所示:
表2-1User表
字段名
数据类型
长度
主键/外键
描述
Id
number
19
主键
员工编号
Loginname
varchar
20
登录名
ldy_str_username
varchar
50
员工用户名
ldy_str_pwd
varchar
50
员工密码
ldy_str_name
varchar
50
员工姓名
表2-1User表(续)
字段名
数据类型
长度
主键/外键
描述
ldystr_address
varchar
50
员工地址
ldy_str_sex
varchar
50
员工性别
ldy_str_mark
varchar
50
员工备注
ldy_str_age
varchar
50
员工年龄
ldy_str_number
varchar
50
员工签到号
ldy_str_depid
varchar
50
外键
员工部门号
jsbid
varchar
50
外键
员工职位号
2.加班单表
加班单的相关信息表,其中有所属用户,加班开始时间,加班结束时间,审批状态,加班单号,结构如表2-2所示:
表2-2加班单表
字段名
字段类型
长度
主键/外键
备注
ID
Number
19
主键
加班单号
SdateTime
SimpTime
默认
加班开始时间
EndTime
SimpTime
默认
加班结束时间
UserId
Number
19
外键
关联用户表
Mark
Varchar
100
加班单备注
APP_projece
varchar
10
外键
加班项目
State
Number
1
审批状态
3.部门信息表
表中有部门编号,部门名称,部门简介等信息,结构如表2-3所示:
表2-3Department表
字段名
字段类型
长度
主键/外键
ID
Number
19
主键
DepartmentName
varchar
默认
DepartmentMsg
SimpTime
默认
4.部门信息表
表中有职务编号,职务名称,职务职责简介等信息,结构如表2-4所示:
表2-4Position表
字段名
字段类型
长度
主键/外键
ID
Number
19
主键
PosName
varchar
默认
PosMsg
varchar
默认
(二)详细设计
1、登陆模块功能介绍
主要包孕以下功能:
●为用户进入后台提供一个入口。
●当用户输入正确用户名和暗码时,进入加班办理系统首页。
●当用户输入错误的用户名和暗码时,仍定位到登陆页面。
具体效果如图2-5所示:
图2.5登录界面
本模块页面显示具体设计与实现见表2-5:
表2-5用户登陆模块功能实现页面表
区域
名称
说明
对应文件
form1
form
表单
method=”post”、action=”checkLogin.jsp”
username
text
用户名
pwd
text
密码
2、员工加班单办理模块
此页面负责显示员工加班单全部信息,同时提供增加、删除、改动、查询的按钮。
在该页面上方,提供新增,删除,编纂,查询的按钮。
员工加班办理主界面如图2-6所示:
图2.6员工加班办理主页面
用户在该页面可以通过员工姓名来检索加班信息。
也可以点击更新或删除按钮对员工信息进行改动或删除操作。
本页面显示具体设计与实现见表2-6所示:
表2-6员工信息办理主页面功能实现页面表
区域
名称
说明
对应文件
1
员工加班管理
主要用于回到系统的主界面
list.jsp
2
加班单审批管理
主要用于回到部门管理主界面
deplist.jsp
3
职位信息管理
主要用于回到职位管理主界面
joblist.jsp
5
退出
主要用于退出系统,定位到登陆页面
login.jsp
6
form1
主要用于按姓名查找员工信息
7
name
text
员工姓名中的关键字
8、
Pos
Combobox
员工部门
3、员工部门信息办理模块
此模块仅限于项目经理以及系统办理员可以选择此菜单,部门信息办理界面可以输入要增添的员工的各类信息如:
员工编号、姓名、选择所属部门、所属职位及员工的增加操作。
具体的员工部门录入界面如图2-7所示:
图2.7员工部门信息页面
组员部门信息修改功能具体设计与实现见表2-3
表4-7员工信息录入模块实现方式与变量表
区域
名称
说明
对应文件
form1
form
表单
saveAdd.jsp
ldy_str_name
text
员工姓名
ldy_str_pos
text
员工职务
ldy_str_group
text
员工部门
同时该模块的两个主要功能即用户可以点击查询呢或删除按钮对员工信息进行改动或删除操作。
具体的员工部门信息修改弹出窗口界面如图2-8所示:
图2.8员工信息更新页面
员工信息更新功能具体设计与实现如表2-8所示:
表2-8员工信息更新模块实现方式与变量表
区域
名称
说明
对应文件
form1
form
表单
saveUpdate.jsp
ldy_str_name
text
员工姓名