工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc

上传人:文初 文档编号:3450854 上传时间:2019-05-30 格式:DOC 页数:39 大小:1.51MB
下载 相关 举报
工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc_第1页
第1页 / 共39页
工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc_第2页
第2页 / 共39页
工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc_第3页
第3页 / 共39页
工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc_第4页
第4页 / 共39页
工资管理系统的设计与实现──框架搭建、用户登录、系统管理【毕业论文设计】.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第 1 页(共 39 页)本科毕业论文(20 届)工资管理系统的设计与实现框架搭建、用户登录、系统管理 所在学院专业班级 信息与计算科学学生姓名指导教师完成日期第 2 页(共 39 页)工资管理系统的设计与实现框架搭建、用户登录、系统管理 摘 要:在本工资管理系统中,涉及到最多的就是对数据的增删改查,当然在真是的系统中,对于这些操作要控制在严格的权限中,使用 struts2hibernatespring 实现了简单的 CRUD 操作。 这里采用三层架构,也就是数据访问层、业务逻辑层、表示层。这样有利于分工和标准化。增加代码的复用性。 我在这里主要介绍:登录模块、系统管理模块、报表管理模块、退出

2、登录、中文乱码的解决、如何在 Strusts2 中实现 CRUD 的权限分配。关键词:数据库;工资;工资管理;登录模块;系统管理模块。Abstract:In the salary management system, involving the most is the data additions and deletions, of course in the system really is, for these operations to be controlled in strict access, the use of Struts2 + hibernate + spring to a

3、chieve a simple CRUD operation. Between the MVC and the three layer architecture we choose three layers architecture, and of course they were essentially the same.Here uses three layer structures, namely the data access layer, business logic layer, presentation layer. This is conducive to specializa

4、tion and standardization. To increase the reusability of the code. But because of the business can not directly access the database must be completed through the middle layer. Reflect the time interval is replaced by the success of an operation interface. I mainly introduced here: the login module,

5、system management module, statements management module, log out, solve Chinese garbled, how to realize the authority distribution of CRUD in Strusts2. Key words:Database; salary; salary management; login module; system management module; report management module;第 3 页(共 39 页)1 绪论1.1 背景 本次开发是由安博教育和学校

6、发起,学生自主选题的一次毕业设计。考虑到市面上的人事管理系统与工资管理系统都是针对个别公司开发的。我们有意开发一种通用的,管理权限、部门、以及工资发放形式可以根据不同的公司自行分配和修改的工资管理系统。随着现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。“用信息化带动工业化”的指导思想的提出更是中国走向互联网时代的口号。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管

7、理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。2 系统需求2.1 范围本次开发的系统为工资管理系统。用于对小型企业的职工基本信息和工资信息的管理。包括系统管理(部门管理、角色管理、用户管理) 、报表管理(员工报表管理、工资报表管理)。2.2 定义GZGLXTGong Zi Guan Li Xi Tong 工资管理系统)的缩写。FSFinance Staff(财务人员)的缩写。NFSNor Finance Staff(非财务人员)的缩写。JSPJava Server Page(Java 服务器页面)的缩写,一个脚本化的语言。2.3

8、功能需求1)财务管理端:系统管理、人事管理、工资账户管理、工资管理、请假管理、个人信第 4 页(共 39 页)息管理、报表管理2)系统管理:1、部门管理,超级管理员具有系统操作的全部权限,可对部门进行添加(需输入部门名称、部门描述),可对已存在部门进行修改和删除。2、角色管理,可以添加角色(需输入角色名称),可对已存在的角色进行授权,修改其角色名称和删除。3、用户管理,可根据员工编号对员工(姓名、员工编号、职务、所属部门、账号)进行查询,也可以对存在的员工进行分配账号,删除账号和分配角色。分配账号时,需输入账号和密码。分配角色时,有以下角色可供选择(1、超级管理员、2、普通用户、3、普通员工、

9、4、部门经理、5、人力资源经理、6、财务人员、7、财务经理、8、审计员、9、总经理、10、项目经理),需根据分配的角色选择相应的优先级。3 数据库设计3.1 数据流程图1)系统管理图 3-1 系统管理流程图2)报表管理部门管理用户管理角色管理系统管理第 5 页(共 39 页)图 3-2 报表流程图3.2 数据字典分析1)模块管理表(module)-主要用来管理模块的排列和模块的访问路径。字段名称 数据类型 字段大小 是否主键 说明id int 11 Y 模块编号name varchar 500 N 模块名称sn varchar 500 N 系统标识url varchar 500 N 访问路径o

10、rderNo varchar 500 N 优先级标识parentId int 11 N 父亲模块编号2)用户表(user)-登录系统的用户定义字段名称 数据类型 字段大小 是否主键 说明id int 11 Y 用户 idusername varchar 500 N 用户名称password varchar 500 N 密码personId int 11 N 员工 idcreateTime datetime N/Y N 创建时间3)角色类型表(role)-用户访问系统的权限通过用户角色所授予的权限获得。报表管理员工报表管理工资报表管理第 6 页(共 39 页)字段名称 数据类型 字段大小 是否主

11、键 说明id int 11 Y 角色 idname varchar 500 N 角色类型 id4)用户角色(user_role)-该表通过用户控制角色和权限优先级 字段名称 数据类型 字段大小 是否主键 说明id int 11 Y 用户角色 iduserId varchar 500 N 用户 idroleId varchar 500 N 角色类型 idorderNo varchar 500 N 优先级标识5)访问控制表(acl)-访问控制表是应用层在服务器接口的指令列表,这些指令列表通过数字标识确定优先级和告诉服务器允许访问的模块。字段名称 数据类型 字段大小 是否主键 说明id int 11

12、 Y 权限 idprincipalType varchar 500 N 授权角色类型principalSn int 11 N 权限优先级标识resourceSn int 11 N 授权模块序号aclState int 11 N 授权状态aclTriState int 11 N 启用状态第 7 页(共 39 页)6)员工个人信息报表设计所涉及的表(person)字段名称 数据类型 字段大小 是否主键 说明id int 11 Y 员工 idname varchar 500 N 员工姓名sex varchar 500 N 性别age int 11 N 年龄address varchar 500 N

13、地址phone int 11 N 电话number int 11 N 员工编号duty int 11 N 职务departmentid int 11 N 部门编号groupId int 11 N 工资组编号description text Y/N N 个人简历createTime datetime Y/N N 入职时间7)员工工资报表设计所涉及的表(payroll)序号 姓名 员工编号 职务 部门 基本工资 增加 扣除 总金额 发薪时间1 超级管理员 10001 总公司 7400 500 0 7900 2015-01-15字段名称 数据类型 字段大小 是否主键 说明id int 11 Y 序号

14、personId int 11 N 员工 idgroupId int 11 N 所属工资组号increase int 11 N 额外奖金reduce int 11 N 扣除费用status varchar 500 N 审批状态remark varchar 500 N 备注base int 11 N 应发总薪资opinion varchar 500 N 审批意见total int 11 N 实发总薪资第 8 页(共 39 页)payTime datetime Y/N N 发薪资时间createTime datetime Y/N N 添加工资单时间4 设计说明4.1 系统概述在本系统中,涉及到很多

15、的就是对数据的增删改查,当然在系统中最重要的部分,是对于这些操作要控制在严格的权限中。(应用层)我们利用 struts2自身的 IoC(反向控制)容器以 struts2 配置的形式来管理核心组件规范了开发,方便组员分配任务降低了耦合(持久层)为了防止 sql 注入式攻击和提高效率(例如多表查询时,通过 B 表查询 A 表的值,只需在表 B 的映射类中变量的类型是表 A 的映射类),同时延迟装载机制使得数据只有在 JSP 页面调用的时候才会查询处理,并且 Hibernate 与数据库类型无关,在分页技术上,没有繁杂的 sql 语句只需 query.setFirstResult(First);qu

16、ery.setMaxResults(PageSize);所以,我们选择了 hibernate 操作数据库(业务层)spring 充当了管理容器的角色。实现了简单的 CRUD 操作。在 mvc与三层架构之间我们选择了三层架构,当然他们本质相同。这里采用三层架构,也就是数据访问层、业务逻辑层、表示层。这样有利于分工和标准化。增加代码的复用性。但由于业务无法直接访问数据库必须通过中间层完成。反映时间间隔用操作是否成功界面代替。5 模块一登录模块5.1 登录模块以及响应基础类 BaseAction 类的配置1)运用 strusts2 开发需要一个动作对应到一个 Action,但这些 Action 的有

17、些属性和方法是相同的,本系统中我们用到了调用数据库对应模块的路径实现分层调用,该类继承 ActionSupport 并重载(Override)的 execute()方法。把客户端请求 request 和服务端响应 response,session 会话的处理在Baseaction 中封装。并利用 Java 反射技术对 ModelDriven 实现抽象BaseAction。2)配置 LoginAction 继承 BaseAction 通过调用 UserService 接口中的 login(String username, String password)方法用 session.put(“logi

18、n“, user); result = SUCCESS;实现数据库 user 表的映射。登录模块对应的流程图 5-1:第 9 页(共 39 页)图 5-1 系统登录流程图5.2 对应类之间的调用1)用户登录时类间的调用图 5-2 用户登录时类间的调用流程图开始输入用户名及密码登录验证 打印“用户名或密码错误”N进入系统结束LoginAction.class输入用户名及密码验证登陆成功进入pay_main.jsp 页面登录页面index.jsplogin() 方法 findModules()第 10 页(共 39 页)2)登录页面 index.jsp 获取表单中的用户名和密码函数function

19、 submitForm()document.getElementById(“loginForm“).submit();1)主页面 pay_main.jsp 包含: top.jsp 顶部框架、 left.jsp 左侧模块显示框架、内容 body、底部 footer.jsp 框架5.3 部分算法设计1)登录方法InputConfig(resultName = “loginInput“)public String login() throws Exception User user = userService.login(username, password);String result = “;i

20、f(user != null)session.put(“login“, user);result = SUCCESS;elsesession.put(“notice“, “账号或密码不正确“);result = LOGIN;return result;public String logout() throws Exception session.clear();return “logout“;/验证public void validateLogin() if(isNull(username)addFieldError(“username“, “账号不能为空“);if(isNull(password)addFieldError(“password“, “密码不能为空“);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。