• 238.50 KB
  • 2022-05-17 13:12:05 发布

单位考勤管理系统的分析课程设计

  • 17页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
单位考勤管理系统目录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图出差记录请假记录出勤记录部门加班记录出差出勤请假所属加班职工 部门号请假月份加班编号加班月份开始时间结束时间加班原因请假编号请假原因出差统计开始时间结束时间出差编号开始时间结束时间出差日下午正常下班时间下午状态职工号工资年龄上午正常上班时间上午正常下班时间下午正常上班时间上午状态出勤编号出勤日上午正常下班时间下午正常上班时间上午正常上班时间下午正常下班时间出勤月份地址部门人数部门名称姓名职称奖惩性别出勤记录职工出差记录请假记录加班记录部门出差月份出勤出差所属加班请假NNNN1N1111 关系图3.3数据字典数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成、数据项的类型、长度及其其他约束条件等。分析可知其对应[1]、实体1.职工(职工号,姓名,性别,年龄,职称,部门号,工资,奖金)2.部门(部门号,部门名称,地址,部门人数)3.出差记录(出差编号,开始时间,结束时间,出差原因)4.请假记录(请假编号,开始时间,结束时间,请假原因)5.加班记录(加班编号,起始时间,结束时间,加班原因) 6.出勤记录(职工号,上午上班时间,上午下班时间,上午状态,下午上班时间,下午下班时间,下午状态,出勤日)[2]、关系1.出差(出差编号,职工号,月份)2.请假(请假编号,职工号,月份)3.加班(加班编号,职工号月,月份)4.出勤(出勤编号,职工号,上午正常上班时间,上午正常下班时间,下午正常上班时间,下午正常下班时间,月份)[3]、关系模式1.职工(职工号,姓名,性别,年龄,职称,部门号,工资,奖金)2.部门(部门号,部门名称,地址,部门人数)3.出差信息(出差编号,开始时间,结束时间,出差原因,职工号)4.请假信息(请假编号,开始时间,结束时间,请假原因,职工号)5.加班信息(加班编号,起始时间,结束时间,加班原因,职工号)6.出勤信息(职工号,上午上班时间,上午下班时间,上午状态,下午上班时间,下午下班时间,下午状态,出勤日)在该题中对应涉及的表有如下几个:1、职工表:职工表用以记录职工的基本信息及其所在部门单位,包括记录职工号,姓名,性别,年龄,职称,部门号,工资,奖金,如下表所示:字段数据类型约束条件可否为空备注pnoChar(10)无否职工号cnoChar(10)无否部门号pnChar(10)无可姓名sexChar(2)默认为“男”可性别Ageint无可年龄ProfChar(10)无可职称salSmallint无可工资commsmallint无可奖金 2、部门表:部门表用来记录部门基本信息情况,包括记录部门号,部门名称,地址,部门人数,如下表所示:字段数据类型约束条件可否为空备注CnoChar(10)无否部门号CnChar(20)无可部门名称adressChar(20)无可部门地址sumInt无可部门人数3、出差记录表:出差记录表记录了员工出差的情况,包括记录出差编号,开始时间,结束时间,出差统计,职工号,如图所示:字段数据类型约束条件可否为空备注ccint无否出差编号Beginint无可开始时间Endint无可结束时间resonChar(20)无可出差原因4、出差(联系)表;出差表用来联系职工表和职工出差记录表的,包括职工号、出差编号,如下图所示:字段数据类型约束条件可否为空备注PnoChar(10)无否职工号ccInt无否出差编号5、请假记录表:请假记录表用来记录职工的请假情况,包括记录请假编号,开始时间,结束时间,请假统计,职工号,如图所示:字段数据类型约束条件可否为空备注 qjInt无否请假编号Begin2Datetime无可开始时间End2Datetime无可结束时间seasonChar(20)无可请假原因 2、请假(联系)表:请假表用来记录联系了职工表和请假信息表的情况,包括职工号、请假编号。如下表所示:字段数据类型约束条件可否为空备注PnoChar(10)无否职工号qjInt无否请假编号7.加班记录表:加班记录表用来记录职工的加班情况,包括加班编号,起始时间,结束时间,加班统计,职工号,如图所示:字段数据类型约束条件可否为空备注jbInt无可加班编号Begin3Datetime无可开始时间End3Datetime无可结束时间reasonChar(20)无否加班原因8、加班(联系)表:加班表用来联系加班记录表和职工表的信息情况的,其中包括职工号、加班编号,如下表所示:字段数据类型约束条件可否为空备注PnoChar(10)无否职工号jbInt无否加班编号9.出勤记录表:出勤记录表用来记录职工的出勤情况,包括记录职工号,上午上班时间,上午下班时间,下午上班时间,下午下班时间,出勤统计,如表所示:字段数据类型约束条件可否为空备注cqInt无否出勤编号Ambeginint无可上午上班时间Zhuangtai1Char(5)无可上午上班情况Amendint无可上午下班时间Pmbeginint无可下午上班时间Zhuangtai2Char(5)无可下午上班情况 Pmendint无可下午下班时间daysChar(2)无可出勤日10.出勤(联系)表:出勤表用来联系出勤记录和职工表的情况的,此外,它还有自己的属性,包括职工号、出勤编号、上午上班时间、上午下班时间、下午上班时间、下午下班时间,如下表所示:字段数据类型约束条件可否为空备注PnoChar(10)无否职工号cqInt无否出勤编号Ambeginint无否上午正常上班时间Amendint无否上午正常下班时间Pmbeginint无否下午正常上班时间Pmendint无否下午正常下班时间MonthInt无否出勤月份4.物理结构设计物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,将逻辑结构设计中的表用sql语句创建出来。 【1】、创建触发器,如果打卡时间超出上班时间,并且小于5分钟,登记为迟到,否则登记为旷工;ifobject_id("tri_1","tr")isnotnulldroptriggertri_1gocreatetriggertri_1onchuqinjiluforinsertasbegindeclare@ambeginint,@time1int,@pmbeginint,@time2int,@cqchar(10)select@cq=cqfrominsertedselect@ambegin=ambeginfrominsertedselect@time1=ambeginfromchuqinselect@pmbegin=pmbeginfrominsertedselect@time2=pmbeginfromchuqinif(@ambegin-@time1)<5and(@ambegin-@time1)>0updatechuqinjilusetzhuangtai1="迟到"wherecq=@cqandambegin=@ambeginif(@ambegin-@time1)>=5updatechuqinjilusetzhuangtai1="旷到"wherecq=@cqandambegin=@ambeginif(@ambegin-@time1)<=0updatechuqinjilusetzhuangtai1="正常"wherecq=@cqandambegin=@ambeginif(@pmbegin-@time2)<5and(@pmbegin-@time2)>0updatechuqinjilusetzhuangtai2="迟到"wherecq=@cqandpmbegin=@pmbeginif(@pmbegin-@time2)>=5updatechuqinjilusetzhuangtai2="旷到"wherecq=@cqandpmbegin=@pmbeginif(@pmbegin-@time2)<=0updatechuqinjilusetzhuangtai2="正常"wherecq=@cqandpmbegin=@pmbeginend 【2】、创建视图分组查询各部门的职工信息及职工人数,使用Compute子句;createviewview_1asselectdistinctpn,bumen.pno,bumen.cno,age,prof,sal,comm,cnfromzhigong,bumenwherezhigong.cno=bumen.cnoselectdistinctpn,bumen.pno,bumen.cno,age,prof,sal,comm,cnfromzhigong,bumenwherezhigong.cno=bumen.cnoorderbybumen.cncomputecount(bumen.pno)bybumen.cncomputecount(bumen.pno)go【3】、创建check约束,限制员工的性别必须为‘男’或‘女’;altertablezhigongwithcheckaddconstraintdf_zhigong_sexdefault"男"forsex--创建存储过程统计各员工指定月份的缺席,旷工;useshujukugoifobject_id("pro_3","p")isnotnulldropprocedurepro_3createprocedurepro_3(@monthint)asbeginselectzhigong.pno,pn,count(zhigong.pno)-count(chuqin.pno)缺席,count(zhigong.pno)-count(chuqin.pno)-count(qingjia.pno)-count(jiaban.pno)旷工fromzhigong,chuqin,chuchai,qingjia,jiabanwherezhigong.pno=chuqin.pnoandzhigong.pno=chuchai.pnoandzhigong.pno=jiaban.pnoandzhigong.pno=qingjia.pnogroupbyzhigong.pno,pn endgoexecpro_3"6"--备份useshujukubackupdatabaseshujukutodisk="F:shujukubeifwithinitgo--还原useshujukurestoredatabaseshujukufromdisk="F:shujukuhuanywithrecovery5.结论5、1数据库分析首先,部门执行刷卡机制可以较好的管理职工的考勤,通过查看多种记录表,管理员便可以比较直观的查看职工的考勤情况,其次,本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。系统虽然针对中小企业的考勤管理业务。对使用统计表进行出、缺勤的企业,还需要添加一自动累加统计各职工加班、请假、出勤、出差的次数的数据模块。 最后,还应熟悉系统设计的风格,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如若想更加完善数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。5、2学习经验:经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。当然,在学习中,得到了老师的更多指导,与帮助。在对课程的学习中,学习的SQL语句和数据库知识对之前刚开始的学习数据库时有了更深一步认识。在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在学期的课程设计中,对自己的认识和加深是十分有帮助的。我在设计发现,我对其中有许多以前不是十分明的地方,在通过这次课程设计后,对其中的一些疑惑顿时全消,了然于胸了。像其中对有关数据路径是透明还是隐藏的问题,后来明白了其中含有的深层的含义。总结这学期我对数据库的学习,驱使我不断的学习和努力。其次,通过这次对数据库的课程设计我对使我对数据库开发和软件开发产生了极大的兴趣,我想我会在这条路上继续前进下去。我相信,只要以严格心态要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高。语句和数据库知识对之前刚开始的学习数据库时有了更深一步认识。在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在学期的课程设计中,对自己的认识和加深是十分有帮助的。我在设计发现,我对其中有许多以前不是十分明的地方,在通过这次课程设计后,对其中的一些疑惑顿时全消,了然于胸了。像其中对有关数据路径是透明还是隐藏的问题,后来明白了其中含有的深层的含义。总结这学期我对数据库的学习,驱使我不断的学习和努力。其次,通过这次对数据库的课程设计我对使我对数据库开发和软件开发产生了极大的兴趣,我想我会在这条路上继续前进下去。我相信,只要以严格心态要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高5、3不足之处:这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识我们没有接触过,去图书馆找书的时候发现,我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是借一本书看完它,我们还是会发现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题