目录
一、引言 2
编写目的 2
项目背景 2
二、总体设计 3
2.1运行要求 3
2.2接口设计 3
2.3构架设计 3
2.4基本设计概念和处理流程 3
2.5结构 5
2.6功能需求与各模块之间关系 6
2.6.1基本信息管理模块 6
2.6.2个人出勤管理模块 10
2.6.3出勤管理模块 14
三、数据的逻辑描述 17
3.1 静态数据 17
部门信息库 17
员工信息库 17
假期类型库 17
3.2 动态数据 18
可休假信息 18
请假记录申请信息 18
打卡记录信息 18
3.3 内部生成数据 19
3.4 数据相关性和约定 19
数据类型约束 19
数据相关性约束 19
四、详细数据库设计 19
4.1数据字典 19
4.2概念设计 22
a) 实体集 22
b) 联系集 22
c) E-R图 22
d) 分模块E-R图 23
i. 基本信息模块 23
ii. 个人出勤管理模块 23
iii. 出勤管理模块 24
1.引言
1.1编写目的
考勤管理系统的开发,是为满足公司对员工日常上下班打卡情况的了解、对于员工请假进行管理、员工申请假期和查询剩余假期等多个重要需求。为确保本系统按时、保质、有效的完成,编写此项目开发计划文档。
本开发计划文档的目的,在于明确说明系统开发过程各个阶段的分工内容、进度安排;介绍工作内容;规范系统各功能需求实现所需时间;明确参与人员与分工;明确系统运行环境、验收标准、交付文档及产品;说明项目开发的费用计算方式和总费用等。
本说明文档的预期读者为项目负责人,系统分析员,系统设计人员,开发人员,测试设计人员等。
1.2项目背景
假设一个客户公司目前考勤并无系统管理,考勤相关管理工作为:
1)每位员工需要上午上班按时打一次卡,下班时打一次卡,中午休息不需要打卡。
2)工作期间若需外出,则从公司出发时打卡一次,回到公司打卡一次。
3)员工请假需要填写假条并需直接领导或高层领导审批,请假分为事假、病假、年假等多种情况。
4)行政部每天统计考勤信息,包括打卡信息、外出信息、请假信息,每月将考勤汇总信息提交给财务部。
5)财务部根据考勤汇总信息,调整员工的薪资。
(3)所遇问题分析
公司目前的考勤管理工作情况,在细节方面会产生一些意外问题:
1)某员工想请年休假,但行政部告知该员工的当年度年休假已经休完。年休假管理出现问题,可能影响员工工作积极性。
2)某员工投诉当月薪资由于考勤信息有误多扣了钱,于是财务部与行政部两个部门互相推卸责任。
3)某天出现紧急情况,高层领导想要找A员工处理,但被告知A已请假,领导并不知情。
如果没有一个考勤管理系统的话,对于上面所列的问题就无法有条理的进行处理,还会造成公司制度不完善,员工之间不愉快、请假情况混乱等不良后果。在这样的背景下,如果做一个考勤管理系统来维护公司的日常考勤制度,并对这些特殊问题设置程序化的处理步骤,同时为员工提供人性化的服务,那么无论是对于企业还是员工都是一个非常有利的行为,对于公司的快速发展也具有非常大的帮助作用
1.3定义
(1)过程:“一组将输入转化为输出的相互关联或相互作用的活动”。
(2)产品:“一组将输入转化为输出的相互关联或相互作用的活动的结果”。
(3)质量管理(Quality Management):指导和控制某组织与质量有关的彼此协调的活动。
(4)组织结构(Organizational Structure):人员的职责、权限和相互关系的有序安排。
(5)客户(Customer):接收软件产品的组织或个人。
(6)数据字典(Data dictionary):是一种用户可以访问的记录数据库和应用程序源数据的目录。
1.4参考资料
a.公司提供的需求文档中引用的文件、资料
b.《软件工程-实践者的研究方法》(美)Roger S.Pressman 著 黄柏素 梅宏 译 机械工业出版社
c.《软件工程导论》张海藩 编著 清华大学出版社
[1] 齐治昌,谭庆平,宁洪,《软件工程》,高等教育出版社
[2] 周志逵、江涛著 数据库理论与新技术 北京理工大学出版社 2001
2.项目概述
2.1工作内容
主要工作内容:
(1)采访已经工作的同学,对他所在公司的考勤制度进行调研,同时查阅相关企业对于考勤管理的资料,辅助调研。
(2)整理用户需求,生成用户需求分析报告
(3)对系统进行详细设计,提供详细设计方案报告
(4)对考勤管理系统进行编码
(5)进行内部测试
(6)进行系统应用调试
(7)进行系统后期维护
此次设计我们通过对考勤管理系统进行可行性分析、需求分析和设计逐步将一个考勤管理系统的开发过程呈现出来。本文转载自http://www.biyezuopin.vip/onews.asp?id=14865该软件应贯穿了员工的全面管理,各模块既可结合使用又可独立运行,充分满足企业客户的不同需求。
主要功能包括:员工请假申请、查询请假审批情况、
员工查看自己的请假记录和别人的请假记录
员工查询自己的剩余假期
行政人员对员工考勤情况的查询、统计和管理
领导对于员工假期申请的审批、员工考勤情况的查询及管理
功能模块包含如下:
系统管理(增加、删除用户,用户登录登出等)
员工信息管理(员工信息增加、员工信息修改、员工信息删除等)
部门信息管理(部门信息增加、部门信息修改、部门信息删除等)
假期类型管理(部门类型增加、部门类型修改、部门类型删除等)
打卡信息管理(打卡信息查询、打卡信息删除)
请假管理(请假信息增加、请假信息审批、请假信息查询)
剩余假期管理(剩余假期查询)
2.2产品
2.2.1程序
(1)交付系统的名称:考勤管理系统(考勤管理子系统、员工信息管理子系统、部门信息管理子系统、假期类型管理子系统、打卡信息管理子系统、请假管理子系统、剩余假期管理子系统);
(2)使用的语言:HTML+CSS+bootstrapt+javascript
(3)数据库:mysql
2.2.2文档
(1)项目开发计划文档
(2)需求分析说明文档
(3)概要设计说明文档
(4)详细设计说明文档
(5)数据要求说明文档
(6)数据库设计说明文档
(7)测试说明文档
2.3可行性分析
技术方面的可行性
系统现阶段的发展过程中,利用现有人力和物力是完全具备的能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法逐步简单容易,所以考勤管理系统的技术上是完全可行的。
2.4运行环境
软件支持:
开发所用的操作系统:Windows 7
开发工具:Zendstudio
数据库系统:Microsoft mySQL 2000文章来源:https://www.toymoban.com/news/detail-486003.html
package com.attendance.model;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
/**
*
* 请假申请表
*
*/
public class Apply implements Serializable {
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/** */
@TableId(type = IdType.AUTO)
private Integer Id;
/** 请假者编号 */
private Integer uid;
/** 开始时间 */
private Date startTime;
/** 结束时间 */
private Date endTime;
/** 请假类型 */
private Integer type;
/** 审批状态,0未审批,1部门经理,2副经理,3总经理,4,驳回,5通过 */
private Integer state;
/** 总天数 */
private Integer total;
/** 事由 */
private String reason;
/** 部门经理批示 */
private String instructions1;
/** 副经理批示 */
private String instructions2;
/** 总经理批示 */
private String instructions3;
/** 备注 */
private String memo;
public Apply() {
}
public Integer getId() {
return this.Id;
}
public void setId(Integer Id) {
this.Id = Id;
}
public Integer getUid() {
return this.uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Date getStartTime() {
return this.startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return this.endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public Integer getType() {
return this.type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getState() {
return this.state;
}
public void setState(Integer state) {
this.state = state;
}
public Integer getTotal() {
return this.total;
}
public void setTotal(Integer total) {
this.total = total;
}
public String getReason() {
return this.reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getInstructions1() {
return this.instructions1;
}
public void setInstructions1(String instructions1) {
this.instructions1 = instructions1;
}
public String getInstructions2() {
return this.instructions2;
}
public void setInstructions2(String instructions2) {
this.instructions2 = instructions2;
}
public String getInstructions3() {
return this.instructions3;
}
public void setInstructions3(String instructions3) {
this.instructions3 = instructions3;
}
public String getMemo() {
return this.memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
@Override
public String toString() {
return "Apply{" +
"Id=" + Id +
", uid=" + uid +
", startTime=" + startTime +
", endTime=" + endTime +
", type=" + type +
", state=" + state +
", total=" + total +
", reason='" + reason + '\'' +
", instructions1='" + instructions1 + '\'' +
", instructions2='" + instructions2 + '\'' +
", instructions3='" + instructions3 + '\'' +
", memo='" + memo + '\'' +
'}';
}
}
文章来源地址https://www.toymoban.com/news/detail-486003.html
到了这里,关于Java实现的企业员工考勤管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!