单位考勤管理系统的分析课程设计.docx
- 文档编号:17063082
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:19
- 大小:256.69KB
单位考勤管理系统的分析课程设计.docx
《单位考勤管理系统的分析课程设计.docx》由会员分享,可在线阅读,更多相关《单位考勤管理系统的分析课程设计.docx(19页珍藏版)》请在冰点文库上搜索。
单位考勤管理系统的分析课程设计
单位考勤管理系统
1.问题描述
2.需求分析
2.1需求分析
2.2系统功能结构
3.逻辑结构设计
3.1局部E—R图
3.2全局E—R图
3.3数据字典
4.物理结构设计
5.结论
题目:
某单位考勤管理系统实现部门、员工信息管理;实现系统信息管理,用于设置上午、下午的上下班时间;实现考勤登记;创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;创建存储过程统计各员工指定月份的缺席、旷工职工;创建视图分组查询各部门的职工信息及职工人数,使用Compute子句;创建check约束,限制员工的性别必须为‘男’或‘女’;
1.问题描述
随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
职工考勤管理系统,可用于各部门等机构的职工考勤管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
2.需求分析
2.1需求分析
该系统实现的大致目的如下:
(1)员工基本信息管理。
(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用刷卡机,由人事部门专门人员管理出勤、加班、出差、缺勤等情况。
(3)每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数和不同性质的加班记录等。
该系统实现的功能如下:
(1)数据管理
功能是设置和管理基础数据,包括加班、请假、出差类别,在全表系统中可以进行基础数据的添加、统计、删除和修改。
(2)部门管理
对员工的分配以及其信息查询的综合管理。
(3)加班管理
对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除、统计等操作。
(4)请假管理
可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数统计进行管理。
(5)出差管理
管理者安排员工出差,对出差时间,次数的统计管理。
(6)考勤管理
包括缺勤、出勤信息的查询;上级对下级员工的出勤信息的确认;生成考勤统计信息并可以根据指定的条件进行查询。
实现从每日出勤到统计全部考勤信息操作。
为方便数据传递和查阅,要根据需求提供全方面的考勤统计信息表。
2.2系统功能结构
2.2职工管理系统功能模块图
3.逻辑结构设计
3.1局部E—R图
3.1.1职工E-R图
3.1.2部门E-R图
3.1.3出差记录E-R图
3.1.4出差E-R图
3.1.5请假记录E-R图
3.1.6请假E-R图
3.1.7加班记录E-R图
3.1.8加班记录E-R图
3.1.9出勤记录E-R图
3.1.10出勤E-R图
3.2全局E—R图
关系图
3.3数据字典
数据的基本存取单位是存储记录。
有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。
存储记录就包括记录的组成、数据项的类型、长度及其其他约束条件等。
分析可知其对应
[1]、实体
1.职工(职工号,姓名,性别,年龄,职称,部门号,工资,奖金)
2.部门(部门号,部门名称,地址,部门人数)
3.出差记录(出差编号,开始时间,结束时间,出差原因)
4.请假记录(请假编号,开始时间,结束时间,请假原因)
5.加班记录(加班编号,起始时间,结束时间,加班原因)
6.出勤记录(职工号,上午上班时间,上午下班时间,上午状态,下午上班时间,下午下班时间,下午状态,出勤日)
[2]、关系
1.出差(出差编号,职工号,月份)
2.请假(请假编号,职工号,月份)
3.加班(加班编号,职工号月,月份)
4.出勤(出勤编号,职工号,上午正常上班时间,上午正常下班时间,下午正常上班时间,下午正常下班时间,月份)
[3]、关系模式
1.职工(职工号,姓名,性别,年龄,职称,部门号,工资,奖金)
2.部门(部门号,部门名称,地址,部门人数)
3.出差信息(出差编号,开始时间,结束时间,出差原因,职工号)
4.请假信息(请假编号,开始时间,结束时间,请假原因,职工号)
5.加班信息(加班编号,起始时间,结束时间,加班原因,职工号)
6.出勤信息(职工号,上午上班时间,上午下班时间,上午状态,下午上班时间,下午下班时间,下午状态,出勤日)
在该题中对应涉及的表有如下几个:
1、职工表:
职工表用以记录职工的基本信息及其所在部门单位,包括记录职工号,姓名,性别,年龄,职称,部门号,工资,奖金,如下表所示:
字段
数据类型
约束条件
可否为空
备注
pno
Char(10)
无
否
职工号
cno
Char(10)
无
否
部门号
pn
Char(10)
无
可
姓名
sex
Char
(2)
默认为“男”
可
性别
Age
int
无
可
年龄
Prof
Char(10)
无
可
职称
sal
Smallint
无
可
工资
comm
smallint
无
可
奖金
2、部门表:
部门表用来记录部门基本信息情况,包括记录部门号,部门名称,地址,部门人数,如下表所示:
字段
数据类型
约束条件
可否为空
备注
Cno
Char(10)
无
否
部门号
Cn
Char(20)
无
可
部门名称
adress
Char(20)
无
可
部门地址
sum
Int
无
可
部门人数
3、出差记录表:
出差记录表记录了员工出差的情况,包括记录出差编号,开始时间,结束时间,出差统计,职工号,如图所示:
字段
数据类型
约束条件
可否为空
备注
cc
int
无
否
出差编号
Begin
int
无
可
开始时间
End
int
无
可
结束时间
reson
Char(20)
无
可
出差原因
4、出差(联系)表;
出差表用来联系职工表和职工出差记录表的,包括职工号、出差编号,如下图所示:
字段
数据类型
约束条件
可否为空
备注
Pno
Char(10)
无
否
职工号
cc
Int
无
否
出差编号
5、请假记录表:
请假记录表用来记录职工的请假情况,包括记录请假编号,开始时间,结束时间,请假统计,职工号,如图所示:
字段
数据类型
约束条件
可否为空
备注
qj
Int
无
否
请假编号
Begin2
Datetime
无
可
开始时间
End2
Datetime
无
可
结束时间
season
Char(20)
无
可
请假原因
6、请假(联系)表:
请假表用来记录联系了职工表和请假信息表的情况,包括职工号、请假编号。
如下表所示:
字段
数据类型
约束条件
可否为空
备注
Pno
Char(10)
无
否
职工号
qj
Int
无
否
请假编号
7.加班记录表:
加班记录表用来记录职工的加班情况,包括加班编号,起始时间,结束时间,加班统计,职工号,如图所示:
字段
数据类型
约束条件
可否为空
备注
jb
Int
无
可
加班编号
Begin3
Datetime
无
可
开始时间
End3
Datetime
无
可
结束时间
reason
Char(20)
无
否
加班原因
8、加班(联系)表:
加班表用来联系加班记录表和职工表的信息情况的,其中包括职工号、加班编号,如下表所示:
字段
数据类型
约束条件
可否为空
备注
Pno
Char(10)
无
否
职工号
jb
Int
无
否
加班编号
9.出勤记录表:
出勤记录表用来记录职工的出勤情况,包括记录职工号,上午上班时间,上午下班时间,下午上班时间,下午下班时间,出勤统计,如表所示:
字段
数据类型
约束条件
可否为空
备注
cq
Int
无
否
出勤编号
Ambegin
int
无
可
上午上班时间
Zhuangtai1
Char(5)
无
可
上午上班情况
Amend
int
无
可
上午下班时间
Pmbegin
int
无
可
下午上班时间
Zhuangtai2
Char(5)
无
可
下午上班情况
Pmend
int
无
可
下午下班时间
days
Char
(2)
无
可
出勤日
10.出勤(联系)表:
出勤表用来联系出勤记录和职工表的情况的,此外,它还有自己的属性,包括职工号、出勤编号、上午上班时间、上午下班时间、下午上班时间、下午下班时间,如下表所示:
字段
数据类型
约束条件
可否为空
备注
Pno
Char(10)
无
否
职工号
cq
Int
无
否
出勤编号
Ambegin
int
无
否
上午正常上班时间
Amend
int
无
否
上午正常下班时间
Pmbegin
int
无
否
下午正常上班时间
Pmend
int
无
否
下午正常下班时间
Month
Int
无
否
出勤月份
4.物理结构设计
物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用sql语句创建出来。
【1】、创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;
ifobject_id('tri_1','tr')isnotnull
droptriggertri_1
go
createtriggertri_1
onchuqinjiluforinsert
as
begin
declare@ambeginint,@time1int,
@pmbeginint,@time2int,@cqchar(10)
select@cq=cqfrominserted
select@ambegin=ambeginfrominserted
select@time1=ambeginfromchuqin
select@pmbegin=pmbeginfrominserted
select@time2=pmbeginfromchuqin
if(@ambegin-@time1)<5and(@ambegin-@time1)>0
updatechuqinjilusetzhuangtai1='迟到'wherecq=@cqandambegin=@ambegin
if(@ambegin-@time1)>=5
updatechuqinjilusetzhuangtai1='旷到'wherecq=@cqandambegin=@ambegin
if(@ambegin-@time1)<=0
updatechuqinjilusetzhuangtai1='正常'wherecq=@cqandambegin=@ambegin
if(@pmbegin-@time2)<5and(@pmbegin-@time2)>0
updatechuqinjilusetzhuangtai2='迟到'wherecq=@cqandpmbegin=@pmbegin
if(@pmbegin-@time2)>=5
updatechuqinjilusetzhuangtai2='旷到'wherecq=@cqandpmbegin=@pmbegin
if(@pmbegin-@time2)<=0
updatechuqinjilusetzhuangtai2='正常'wherecq=@cqandpmbegin=@pmbegin
end
【2】、创建视图分组查询各部门的职工信息及职工人数,使用Compute子句;
createviewview_1
as
selectdistinctpn,bumen.pno,o,age,prof,sal,comm,cn
fromzhigong,bumen
whereo=o
selectdistinctpn,bumen.pno,o,age,prof,sal,comm,cn
fromzhigong,bumen
whereo=o
orderby
computecount(bumen.pno)by
computecount(bumen.pno)
go
【3】、创建check约束,限制员工的性别必须为‘男’或‘女’;
altertablezhigongwithcheck
addconstraintdf_zhigong_sexdefault'男'forsex
--创建存储过程统计各员工指定月份的缺席,旷工;
useshujuku
go
ifobject_id('pro_3','p')isnotnull
dropprocedurepro_3
createprocedurepro_3(@monthint)
asbegin
selectzhigong.pno,pn,count(zhigong.pno)-count(chuqin.pno)缺席,
count(zhigong.pno)-count(chuqin.pno)-count(qingjia.pno)-count(jiaban.pno)旷工
fromzhigong,chuqin,chuchai,qingjia,jiaban
wherezhigong.pno=chuqin.pnoandzhigong.pno=chuchai.pnoandzhigong.pno=jiaban.pnoandzhigong.pno=qingjia.pno
groupbyzhigong.pno,pn
end
go
execpro_3'6'
--备份
useshujuku
backupdatabaseshujuku
todisk='F:
\shujukubeif
withinit
go
--还原
useshujuku
restoredatabaseshujuku
fromdisk='F:
\shujukuhuany
withrecovery
5.结论
5、1数据库分析
首先,部门执行刷卡机制可以较好的管理职工的考勤,通过查看多种记录表,管理员便可以比较直观的查看职工的考勤情况,
其次,本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。
系统虽然针对中小企业的考勤管理业务。
对使用统计表进行出、缺勤的企业,还需要添加一自动累加统计各职工加班、请假、出勤、出差的次数的数据模块。
最后,还应熟悉系统设计的风格,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。
本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。
在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如若想更加完善数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。
5、2学习经验:
经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。
当然,在学习中,得到了老师的更多指导,与帮助。
在对课程的学习中,学习的SQL语句和数据库知识对之前刚开始的学习数据库时有了更深一步认识。
在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在学期的课程设计中,对自己的认识和加深是十分有帮助的。
我在设计发现,我对其中有许多以前不是十分明的地方,在通过这次课程设计后,对其中的一些疑惑顿时全消,了然于胸了。
像其中对有关数据路径是透明还是隐藏的问题,后来明白了其中含有的深层的含义。
总结这学期我对数据库的学习,驱使我不断的学习和努力。
其次,通过这次对数据库的课程设计我对使我对数据库开发和软件开发产生了极大的兴趣,我想我会在这条路上继续前进下去。
我相信,只要以严格心态要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高。
语句和数据库知识对之前刚开始的学习数据库时有了更深一步认识。
在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在学期的课程设计中,对自己的认识和加深是十分有帮助的。
我在设计发现,我对其中有许多以前不是十分明的地方,在通过这次课程设计后,对其中的一些疑惑顿时全消,了然于胸了。
像其中对有关数据路径是透明还是隐藏的问题,后来明白了其中含有的深层的含义。
总结这学期我对数据库的学习,驱使我不断的学习和努力。
其次,通过这次对数据库的课程设计我对使我对数据库开发和软件开发产生了极大的兴趣,我想我会在这条路上继续前进下去。
我相信,只要以严格心态要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高
5、3不足之处:
这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单位 考勤 管理 系统 分析 课程设计