目錄
一、引言 2
編寫目的 2
項(xiàng)目背景 2
二、總體設(shè)計(jì) 3
2.1運(yùn)行要求 3
2.2接口設(shè)計(jì) 3
2.3構(gòu)架設(shè)計(jì) 3
2.4基本設(shè)計(jì)概念和處理流程 3
2.5結(jié)構(gòu) 5
2.6功能需求與各模塊之間關(guān)系 6
2.6.1基本信息管理模塊 6
2.6.2個(gè)人出勤管理模塊 10
2.6.3出勤管理模塊 14
三、數(shù)據(jù)的邏輯描述 17
3.1 靜態(tài)數(shù)據(jù) 17
部門信息庫 17
員工信息庫 17
假期類型庫 17
3.2 動(dòng)態(tài)數(shù)據(jù) 18
可休假信息 18
請假記錄申請信息 18
打卡記錄信息 18
3.3 內(nèi)部生成數(shù)據(jù) 19
3.4 數(shù)據(jù)相關(guān)性和約定 19
數(shù)據(jù)類型約束 19
數(shù)據(jù)相關(guān)性約束 19
四、詳細(xì)數(shù)據(jù)庫設(shè)計(jì) 19
4.1數(shù)據(jù)字典 19
4.2概念設(shè)計(jì) 22
a) 實(shí)體集 22
b) 聯(lián)系集 22
c) E-R圖 22
d) 分模塊E-R圖 23
i. 基本信息模塊 23
ii. 個(gè)人出勤管理模塊 23
iii. 出勤管理模塊 24
1.引言
1.1編寫目的
考勤管理系統(tǒng)的開發(fā),是為滿足公司對員工日常上下班打卡情況的了解、對于員工請假進(jìn)行管理、員工申請假期和查詢剩余假期等多個(gè)重要需求。為確保本系統(tǒng)按時(shí)、保質(zhì)、有效的完成,編寫此項(xiàng)目開發(fā)計(jì)劃文檔。
本開發(fā)計(jì)劃文檔的目的,在于明確說明系統(tǒng)開發(fā)過程各個(gè)階段的分工內(nèi)容、進(jìn)度安排;介紹工作內(nèi)容;規(guī)范系統(tǒng)各功能需求實(shí)現(xiàn)所需時(shí)間;明確參與人員與分工;明確系統(tǒng)運(yùn)行環(huán)境、驗(yàn)收標(biāo)準(zhǔn)、交付文檔及產(chǎn)品;說明項(xiàng)目開發(fā)的費(fèi)用計(jì)算方式和總費(fèi)用等。
本說明文檔的預(yù)期讀者為項(xiàng)目負(fù)責(zé)人,系統(tǒng)分析員,系統(tǒng)設(shè)計(jì)人員,開發(fā)人員,測試設(shè)計(jì)人員等。
1.2項(xiàng)目背景
假設(shè)一個(gè)客戶公司目前考勤并無系統(tǒng)管理,考勤相關(guān)管理工作為:
1)每位員工需要上午上班按時(shí)打一次卡,下班時(shí)打一次卡,中午休息不需要打卡。
2)工作期間若需外出,則從公司出發(fā)時(shí)打卡一次,回到公司打卡一次。
3)員工請假需要填寫假條并需直接領(lǐng)導(dǎo)或高層領(lǐng)導(dǎo)審批,請假分為事假、病假、年假等多種情況。
4)行政部每天統(tǒng)計(jì)考勤信息,包括打卡信息、外出信息、請假信息,每月將考勤匯總信息提交給財(cái)務(wù)部。
5)財(cái)務(wù)部根據(jù)考勤匯總信息,調(diào)整員工的薪資。
(3)所遇問題分析
公司目前的考勤管理工作情況,在細(xì)節(jié)方面會(huì)產(chǎn)生一些意外問題:
1)某員工想請年休假,但行政部告知該員工的當(dāng)年度年休假已經(jīng)休完。年休假管理出現(xiàn)問題,可能影響員工工作積極性。
2)某員工投訴當(dāng)月薪資由于考勤信息有誤多扣了錢,于是財(cái)務(wù)部與行政部兩個(gè)部門互相推卸責(zé)任。
3)某天出現(xiàn)緊急情況,高層領(lǐng)導(dǎo)想要找A員工處理,但被告知A已請假,領(lǐng)導(dǎo)并不知情。
如果沒有一個(gè)考勤管理系統(tǒng)的話,對于上面所列的問題就無法有條理的進(jìn)行處理,還會(huì)造成公司制度不完善,員工之間不愉快、請假情況混亂等不良后果。在這樣的背景下,如果做一個(gè)考勤管理系統(tǒng)來維護(hù)公司的日??记谥贫?,并對這些特殊問題設(shè)置程序化的處理步驟,同時(shí)為員工提供人性化的服務(wù),那么無論是對于企業(yè)還是員工都是一個(gè)非常有利的行為,對于公司的快速發(fā)展也具有非常大的幫助作用
1.3定義
(1)過程:“一組將輸入轉(zhuǎn)化為輸出的相互關(guān)聯(lián)或相互作用的活動(dòng)”。
(2)產(chǎn)品:“一組將輸入轉(zhuǎn)化為輸出的相互關(guān)聯(lián)或相互作用的活動(dòng)的結(jié)果”。
(3)質(zhì)量管理(Quality Management):指導(dǎo)和控制某組織與質(zhì)量有關(guān)的彼此協(xié)調(diào)的活動(dòng)。
(4)組織結(jié)構(gòu)(Organizational Structure):人員的職責(zé)、權(quán)限和相互關(guān)系的有序安排。
(5)客戶(Customer):接收軟件產(chǎn)品的組織或個(gè)人。
(6)數(shù)據(jù)字典(Data dictionary):是一種用戶可以訪問的記錄數(shù)據(jù)庫和應(yīng)用程序源數(shù)據(jù)的目錄。
1.4參考資料
a.公司提供的需求文檔中引用的文件、資料
b.《軟件工程-實(shí)踐者的研究方法》(美)Roger S.Pressman 著 黃柏素 梅宏 譯 機(jī)械工業(yè)出版社
c.《軟件工程導(dǎo)論》張海藩 編著 清華大學(xué)出版社
[1] 齊治昌,譚慶平,寧洪,《軟件工程》,高等教育出版社
[2] 周志逵、江濤著 數(shù)據(jù)庫理論與新技術(shù) 北京理工大學(xué)出版社 2001
2.項(xiàng)目概述
2.1工作內(nèi)容
?主要工作內(nèi)容:
(1)采訪已經(jīng)工作的同學(xué),對他所在公司的考勤制度進(jìn)行調(diào)研,同時(shí)查閱相關(guān)企業(yè)對于考勤管理的資料,輔助調(diào)研。
(2)整理用戶需求,生成用戶需求分析報(bào)告
(3)對系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),提供詳細(xì)設(shè)計(jì)方案報(bào)告
(4)對考勤管理系統(tǒng)進(jìn)行編碼
(5)進(jìn)行內(nèi)部測試
(6)進(jìn)行系統(tǒng)應(yīng)用調(diào)試
(7)進(jìn)行系統(tǒng)后期維護(hù)
此次設(shè)計(jì)我們通過對考勤管理系統(tǒng)進(jìn)行可行性分析、需求分析和設(shè)計(jì)逐步將一個(gè)考勤管理系統(tǒng)的開發(fā)過程呈現(xiàn)出來。本文轉(zhuǎn)載自http://www.biyezuopin.vip/onews.asp?id=14865該軟件應(yīng)貫穿了員工的全面管理,各模塊既可結(jié)合使用又可獨(dú)立運(yùn)行,充分滿足企業(yè)客戶的不同需求。
?主要功能包括:員工請假申請、查詢請假審批情況、
員工查看自己的請假記錄和別人的請假記錄
員工查詢自己的剩余假期
行政人員對員工考勤情況的查詢、統(tǒng)計(jì)和管理
領(lǐng)導(dǎo)對于員工假期申請的審批、員工考勤情況的查詢及管理
?功能模塊包含如下:
系統(tǒng)管理(增加、刪除用戶,用戶登錄登出等)
員工信息管理(員工信息增加、員工信息修改、員工信息刪除等)
部門信息管理(部門信息增加、部門信息修改、部門信息刪除等)
假期類型管理(部門類型增加、部門類型修改、部門類型刪除等)
打卡信息管理(打卡信息查詢、打卡信息刪除)
請假管理(請假信息增加、請假信息審批、請假信息查詢)
剩余假期管理(剩余假期查詢)
2.2產(chǎn)品
2.2.1程序
(1)交付系統(tǒng)的名稱:考勤管理系統(tǒng)(考勤管理子系統(tǒng)、員工信息管理子系統(tǒng)、部門信息管理子系統(tǒng)、假期類型管理子系統(tǒng)、打卡信息管理子系統(tǒng)、請假管理子系統(tǒng)、剩余假期管理子系統(tǒng));
(2)使用的語言:HTML+CSS+bootstrapt+javascript
(3)數(shù)據(jù)庫:mysql
2.2.2文檔
(1)項(xiàng)目開發(fā)計(jì)劃文檔
(2)需求分析說明文檔
(3)概要設(shè)計(jì)說明文檔
(4)詳細(xì)設(shè)計(jì)說明文檔
(5)數(shù)據(jù)要求說明文檔
(6)數(shù)據(jù)庫設(shè)計(jì)說明文檔
(7)測試說明文檔
2.3可行性分析
技術(shù)方面的可行性
系統(tǒng)現(xiàn)階段的發(fā)展過程中,利用現(xiàn)有人力和物力是完全具備的能力開發(fā)出來的,作為階段性產(chǎn)品,日后的發(fā)展空間大,實(shí)現(xiàn)方法逐步簡單容易,所以考勤管理系統(tǒng)的技術(shù)上是完全可行的。
2.4運(yùn)行環(huán)境
軟件支持:
開發(fā)所用的操作系統(tǒng):Windows 7
開發(fā)工具:Zendstudio
數(shù)據(jù)庫系統(tǒng):Microsoft mySQL 2000文章來源:http://www.zghlxwxcb.cn/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;
/** 開始時(shí)間 */
private Date startTime;
/** 結(jié)束時(shí)間 */
private Date endTime;
/** 請假類型 */
private Integer type;
/** 審批狀態(tài),0未審批,1部門經(jīng)理,2副經(jīng)理,3總經(jīng)理,4,駁回,5通過 */
private Integer state;
/** 總天數(shù) */
private Integer total;
/** 事由 */
private String reason;
/** 部門經(jīng)理批示 */
private String instructions1;
/** 副經(jīng)理批示 */
private String instructions2;
/** 總經(jīng)理批示 */
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 + '\'' +
'}';
}
}
文章來源地址http://www.zghlxwxcb.cn/news/detail-486003.html
到了這里,關(guān)于Java實(shí)現(xiàn)的企業(yè)員工考勤管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!