毕业设计论文工资管理系统的设计与实现(编辑修改稿)内容摘要:

(1)对系统进行管理。 用户的添加修改以及权限授予都 是管理员操作的 (2) 对单位人员的变动进行处理。 一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。 因此,设计系统是应考虑到这些情况。 ( 3)对工资账户的创建,修改,删除。 (4) 对职工的工资进行计算、修改。 能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。 (5) 查询统计功能。 要求即可以单项查询,比如查看某个职工的工资情况等;也可以查询全部。 ( 6)员工个人信息的查询,修改与管理。 (7) 报表打印功能。 每月发放工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资统计表。 15 和研究任何其它软件项目一样,我做的毕业设计也经历了从选题,调研,熟悉开发环境,实验关键技术,查找类似的相关系统的资料;系统概要设计,数据库结构设计,功能模块开发,功能模块测试,系统调试和系统试运行和修改。 如下 : 图 2 系统需求 范围 本次开发的系统为工资管理系统。 用于对小型企业的职工基本信息和工资信息的管理。 包括系统管理(部门管理、角色管理、用户管理) 、报表管理(员工报表管理、工资报表管理)。 定义 GZGLXT Gong Zi Guan Li Xi Tong工资管理系统)的缩写。 选题 调查研究 资 料查询 开发环境熟悉 学习 ssh 技术 概要设计 数据库的设计 功能模块开发和详细设计 功能模块测试 系统调试和修改 需求分析 16 FS Finance Staff(财务人员)的缩写。 NFS Nor Finance Staff(非财务人员)的缩写。 JSP Java Server Page( Java服务器页面)的缩写,一个脚本化的语言。 UML Java Server Page( Java服务器页面)的缩写,一个脚本化的语言。 功能需求 1)财务管理端:系统管理、人事管理、工资账户管理、工资管理、请假管理、个人信息管理、报表管理 2)系统管理 : 部门管理,超级管理员具有系统操作的全部权限,可对部门进行添加(需输入部门名称、部门描述),可对已存在部门进行修改和删除。 角色管理,可以添加角色(需输入角色名称),可对已存在的角色进行授权,修改其角色名称和删除。 用户管理,可根据员工编号对员工(姓名、员工编号、职务、所属部门、账号)进行查询,也可以对存在的员工进行分配账号,删除账号和分配角色。 分配账号时,需输入账号和密码。 分配角色时,有以下角色可供选择( 超级管理员、 普通用户、 普通员工、 部门经理、 人力资源经理、 财务人员、 财务经理、 审计员、 总经理、 项目经理),需根据分配的角色选择相应的优先级。 3)报表管理: 员工报表管理,可以选择部门,再将所选部门的员工信息报表生成Excel报表(需选择报表文件存放路径)打印出来。 工资报表管理,可根据日期查询出某个时间段的工资单报表,生成 Excel报表(需选择报表文件存放路径)打印出来。 3 数据库设计 17 数据流程图 1)系统管理 图 31系统管理流程图 2)报表管理 图 32报表流程图 数据字典分析 1) 模块管理表 (module)主要用来管理模块的排列和模块的访问路径。 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 模块编号 name varchar 500 N 模块名称 sn varchar 500 N 系统标识 url varchar 500 N 访问路径 orderNo varchar 500 N 优先级标识 parentId int 11 N 父亲模块编号 2) 用户表( user) 登录系统的用户定义 字段名称 数据类型 字段大小 是否主键 说明 报表管理 员工报表管理 工资报表管理 部门管理 用户管理 角色管理 系统管理 18 id int 11 Y 用户 id username varchar 500 N 用户名称 password varchar 500 N 密码 personId int 11 N 员工 id createTime datetime N/Y N 创建时间 3) 角色类型表( role) 用户访问系统的权限通过用户角色所授予的权限获得。 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 角色 id name varchar 500 N 角色类型 id 4) 用户角色( user_role) 该表通过用户控制角色和权限优先级 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 用户角色 id userId varchar 500 N 用户 id roleId varchar 500 N 角色类型 id orderNo varchar 500 N 优先级标识 5) 访问控制表( acl) 访问控制表是应用 层 在 服务 器 接口的指令列表,这些指令列表 通过数字标识确定优先级和 告诉 服务 器 允许访问的模块。 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 权限 id principalType varchar 500 N 授权角色类型 principalSn int 11 N 权限优先级标识 resourceSn int 11 N 授权模块序号 aclState int 11 N 授权状态 aclTriState int 11 N 启用状态 19 6) 员工个人信息报表设计所涉及的表 ( person) 序号 姓名 性别 年龄 员工编号 职务 电话 部门 住址 1 超级管理员 男 10001 总公司 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 员工 id name varchar 500 N 员工姓名 sex varchar 500 N 性别 age int 11 N 年龄 address varchar 500 N 地址 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 20xx0115 字段名称 数据类型 字段大小 是否主键 说明 id int 11 Y 序号 personId int 11 N 员工 id groupId int 11 N 所属工资组号 increase int 11 N 额外奖金 reduce int 11 N 扣除费用 status varchar 500 N 审批状态 remark varchar 500 N 备注 base int 11 N 应发总薪资 20 opinion varchar 500 N 审批意见 total int 11 N 实发总薪资 payTime datetime Y/N N 发薪资时间 createTime datetime Y/N N 添加工资单时间 4 设计说明 系统概述 在本系统中,涉及到很多的就是对数据的增删改查,当然在系统中最重要的部分,是对于这些操作要控制在严格的权限中。 ( 应用层 ) 我们利用 struts2自身的 IoC(反向控制) 容器以 struts2 配置的形式来管理核心组件规范了开发,方便组员分配任务降低了耦合+(持久层)为了防止 sql 注入式攻击和提高效率(例如多表查询时,通过 B 表查询 A 表的值,只需 在表 B的映射类中变量的类型是表 A的映射类 ),同时 延迟装载机制 使得数据 只有在 JSP页面调用的时候才会查询处理,并且 Hibernate 与数据库类型无关,在分页技术上,没有繁杂的 sql语句只需 (First)。 (PageSize)。 所以,我们选择了 hibernate 操作数据库+(业务层) spring 充当了管理容器的角色。 实现了简单的 CRUD 操作。 在 mvc与三层架构之间我们选择了三层架构,当然他们本质相同。 这里采用三层架构,也就是数据访问层、业务逻辑层、表示层。 这样有利于分工和标准化。 增加代码的复用性。 但 由于业务无法直接访问数据库必须通过中间层完成。 反映时间间隔用操作是否成功界面代替。 数据源的配置 为了防止中文乱码的产生我们将整个项目改为 UTF8,数据库设为 UTF8,由于 HTML页面参数 — 以浏览器的编码方式发送 — JSP页面 — 以 JSP定义的编码方式被编译 — 被 JSP 引擎编译为 *.class 文件 — 在 JSP 容器中运行 — 传递给Mysql 数据库 — 以数据库的编码方式读取数据并存储 — 读取 Mysql— 以数据库的编码方式读取 — JSP 页面接受后在浏览器中显示 (以浏览器编码方式解码显示 );我们需 要解决问题有: 1) 所有 *.jsp 的 头 文 件 设 置 为 %@ page language=java pageEncoding=UTF8%以至于 在浏览器中直接访问此页面时无乱码。 数据库设置的是全部使用 UTF8 编码, 乱码问题归根到底是字符集的问题,查看mysql 字符集如下: 21 mysql show variables like 39。 character%39。 ++ + | Variable_name | Value | ++ + | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | C:\Program Files\MySQL\MySQL Server \share\chars ets\ | ++ + 修改 (MySQL Server Instance Configuration 文件 ) CLIENT SECTION [client] port=3306 [MySQL] defaultcharacterset=utf8 S。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。