• 364.00 KB
  • 2022-05-17 12:59:27 发布

数据库系统课程设计-企业考勤管理系统设计

  • 36页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
华科学院数据库系统课程设计第一章系统概述1.1系统开发的背景与意义1.1.1系统开发背景现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。本文系统的阐述了企业考勤管理设计开发的全过程。包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。1.1.2系统开发意义开发本系统的目的,就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。开发出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问题,实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情况,及时与员工沟通,提高生产质量。36 华科学院数据库系统课程设计第二章系统需求分析2.1系统功能要求(1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。(2)每天结束时自动统计当天的工作时间(3)每天结束时自动统计当天迟到或早退的次数。(4)对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的时间(5)每个月末统计该月的工作时间判断是否足够(6)每个月末统计该月的工作天数并判断是否足够(7)管理人员查询并修改工作时间(特殊情况下修改)(8)管理人员账户管理(如设置密码等)(9)管理人员设定早退及迟到的条件,每个月的工作时间(10)管理人员设定每个月的工作日期及放假日期2.2需求分析概述实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。目前,由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。工作问题不能及时处理。针对以上的情况,我们提出企业考勤管理系统,实现网上考勤任务,以减轻考勤人员的工作量。我公司准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。36 华科学院数据库系统课程设计2.3系统层次划分设定工作放假日期统计工作时间记录时刻统计迟到早退次数统计工时设置密码设定迟到早退条件判断工作天数足够判断工作时间足够查询修改工作时间考勤系统管理管理系统整合系统考勤系统图2.1系统层次图36 华科学院数据库系统课程设计员工刷卡2.4系统数据流图产生数据进出时间信息录入进出情况进出记录分析数据传送统数据统计录入迟到情况迟到记录统计录入早退情况计进早退记录统迟出录入准备数据录入工作时间情况计到记考勤管理系统时间记录早记录退录统计信息工作日期放假日期统计工作时间记录评估参照已统计信息职称表完整的考勤数据月度考勤统计图2.2系统数据流程图登陆员工考勤管理系统帐号和核对密码查询考勤统计月度考勤统计密码查询日期情况工作日期放假日期图2.3系统查询数据流程图36 华科学院数据库系统课程设计2.5数据字典(1),数据项描述数据项别名类型长度取值范围取值含义含义说明员工编号ynobigint0000000至9999999前三位为部门编号,后四位为顺序编号唯一标识每个员工员工姓名ynamechar3规范化唯一标识每个员工员工性别ysexchar“男”或“女”规范化性别是区分员工的一个大致范围职位yzhibigint标识员工工作性质入职时间ytimebigint2000至2050日期进入职位时间员工年龄yageint20至70员工年龄的允许范围唯一标识员工年龄密码ysecretint000000至9999996位登陆密码唯一标识每个人的信息表2-1数据项描述表(2)数据结构描述数据结构说明组成员工信息是考勤管理子系统的主体数据结构,定义了一个员工的有关信息员工编号,员工姓名,员工性别,出生日期,职位,密码部门信息是考勤管理子系统的主体数据结构,定义了一个部门的有关信息部门编号,部门名称表2-2数据结构描述(3)数据流描述数据流说明数据流来源数据流去向组成平均流量高峰期流量核对密码根据不同人员相应的权限登录时的信息考勤管理系统管理员的帐号密码与普通员工的帐号密码每天传输1000次1500次完整的考勤数据员工的考勤数据月度考勤统计工资评估月度考勤编号每月传输1500次1500次36 华科学院数据库系统课程设计、员工编号、日期、累计正常工作时间迟到次数、早退次数、旷工次数表3-3数据流描述(4)数据存储数据存储说明流入数据流流出数据流组成数据量存取方式月度考勤统计记录员工每月的考勤情况一个月的信息统计统计好的考勤数据月度考勤编号、员工编号、日期、正常工作时间、迟到次数、早退次数、旷工次数每月1500次更新,顺序检索表3-4数据存储(5)处理过程处理过程说明输入数据流输出数据流处理登录用正确的账号登录账号和密码核对密码要求密码正确,并且根据账户名来区分管理员和普通员工录入数据将准备的数据依次录入准备的出差,请假,加班,出勤的数据录入正常工作,迟到早退,出勤的情况要求数据根据其内容分别编入不同的记录中修改数据根据相应的评估方法来修改数据完整的考勤数据修改数据单把错误数据修改成正确数据表3-5处理过程36 华科学院数据库系统课程设计第三章系统总体设计3.1系统总体设计目标经过调查、信息流程分析、数据收集,并结合需求分析,明确了该子系统的功能:(1)给员工编号,登记其基本信息。(2)给员工配置信息,天下班时间,每天工作时间(3)对员工的考勤数据进行登记,并进行每日和月度考勤统计。(4)对员工的月度考勤统计的结果来核算员工工资和工作放假日期。3.2系统概念设计3.2.1概念模型(E-R图)员工员工号员工姓名职位密码员工年龄员工性别图3.1员工属性图刷卡机规格刷卡机名称刷卡机号图3.2刷卡机属性图36 华科学院数据库系统课程设计管理员号性别管理员姓名年龄图3.3管理员属性图员工姓名员工号密码员工职位员工性别员工年龄上班的时间m每天工作时间记录早退的次数迟到的次数下班的时间管理员号剩余的时间姓名刷卡机号统计n管理员刷卡机mn工作天数性别年龄规格刷卡机名称图4.4系统E-R图36 华科学院数据库系统课程设计3.2.2关系模式员工(员工号,姓名,性别,年龄,职位,密码,入职时间)记录数据(员工号,刷卡机号,上班的时间,下班的时间,每天工作时间)刷卡机(刷卡机号,刷卡机名称,规格)统计数据(员工号,刷卡机号,剩余的时间,迟到的次数,早退的次数,工作天数)管理员(管理员号,姓名,性别,年龄)员工表(employee)列名别名类型长度备注员工号ynobigint6设为主码员工姓名ynamechar20员工性别ysexchar2年龄ygageint3职位ygzhwchar6密码secretint6入职时间ygrzhtime8表3-1员工表记录数据表(data_record):列名别名类型长度备注员工号ynobigint6设为主码刷卡机号sknobigint15设为主码上班的时间ondutytimedatatime4下班的时间offdutytimedatatime4每天工作时间worktimechar4表3-2记录数据表刷卡机表(skj):列名别名类型长度备注刷卡机号sknobigint15设为主码刷卡机名称sknamechar8规格skggchar10表3-3刷卡机表36 华科学院数据库系统课程设计统计数据表(statistics_data):列名别名类型长度备注员工号ynobigint6设为主码刷卡机号sknobigint15设为主码剩余的时间ljworktimechar10迟到的次数latetimesint2早退的次数leavetimesint2工作天数workdaybigint2表3-4统计数据表管理员表(Administrator)列名别名类型长度备注管理员号anobigint6设为主码姓名anamechar20性别asexchar2年龄aageint3表3-5管理员表36 华科学院数据库系统课程设计第四章数据库系统实现4.1系统实现工具简介4.1.1PowerDesigner建模工具简介提高软件质量,开发周期,并且使软件更能够适应业务需求的变化,以提高投资回报率,是每个企业所面临的、需要解决的关键问题。软件建模为是提高与有效控制软件质量的解决之道。近些年来为大家关注的主要是数据设计模型、对象模型、和业务流程模型。由于历史原因,面向数据架构,开发以及业务分析的建模工作总是被单独购买,彼此之间没有集成或共享信息。但是,企业不断需要更集成的建模套件,即集成化企业级建模工具,来支持在共享环境下,企业整个架构的不同方面的全面建模。  目前各主要的建模工具厂商如SybasePowerDesigner,IBMRationalRose,ComputerAssociates的ERWin等都在加强各自建模工具的融合与集成。PowerDesigner经过近20年的发展,已经在原有的数据建模上,形成一套完整的集成化企业级建模解决方案。  PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员BA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。36 华科学院数据库系统课程设计  PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。  PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。  PowerDesigner包含六个紧密集成的模块,允许个人和开发组的成员以合算的方式最好地满足他们的需要。这六个模块是:  PowerDesignerProcessAnalyst,用于数据发现。  PowerDesignerDataArchitect,用于双层,交互式的数据库设计和构造。  PowerDesignerAppModeler,用于物理建模和应用对象及数据敏感组件的生成。  PowerDesignerMetaWorks,用于高级的团队开发,信息的共享和模型的管理。PowerDesignerWarehouseArchitect,用于数据仓库的设计和实现。  PowerDesignerViewer,用于以只读的、图形化方式访问整个企业的模型信息。PowerDesigner主要包括以下几个功能部分  (1)DataArchitect  这是一个强大的数据库设计工具,使用DataArchitect可利用实体-关系图为一个信息系统  创建"概念数据模型"-CDM(ConceptualDataModel)。并且可根据CDM产生基于某一特定  数据库管理系统(例如:SybaseSystem11)的"物理数据模型"-PDM(PhysicalDataModel)。  还可优化PDM,产生为特定DBMS创建数据库的SQL语句并可以文件形式存储以便在其他时  刻运行这些SQL语句创建数据库。另外,DataArchitect还可根据已存在的数据库反向生成PDM,CDM及创建数据库的SQL脚本。36 华科学院数据库系统课程设计  (2)ProcessAnalyst  这部分用于创建功能模型和数据流图,创建"处理层次关系"。  (3)AppModeler  为客户/服务器应用程序创建应用模型。  (4)ODBCAdministrator  此部分用来管理系统的各种数据源。  (5)XML文件可以使用工具生成相应的XML文件,或者用XML文件生成相关模型4.1.2SQLServer2000简介SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase则较专注于SQLServer在UNIX操作系统上的应用。在本书中介绍的是MicrosoftSQLServer以后简称为SQLServerSQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。SQLServer2000的特性Microsoft®SQLServer?2000的特性包括:(1).Internet集成。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。(2).可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。(3).企业级数据库功能。SQLServer200036 华科学院数据库系统课程设计关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。(4).易于安装、部署和使用。SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。4.1.2企业考勤管理系统的实现#include#include#include#include"process.h"#include#defineMAX_COUNT30structemployee{intid;charname[20];chardepartment[20];};structdate/{intyear;intmonth;intday;};structattendance{intid;intlate;intearly;charname[20];structdatedat;};structstatistic{intid;36 华科学院数据库系统课程设计intlate_count;intearly_count;charname[20];};intCOUNT=0;intFLAG_pause=1;system(“pause”)structemployeeperson[MAX_COUNT];structdataBASE_DATA={2010,3,1};voidinput_employee(){system("cls");FILE*fp1,*fp2;structemployeetemp;fp1=fopen("information1.txt","w");fp2=fopen("information2.txt","w");printf("tttt员工信息n");printf("nttttIDt姓名t部门ntttt");fprintf(fp1,"tttt输入员工信息n");fprintf(fp1,"nttttIDt姓名t部门n");scanf("%d%s%s",&temp.id,temp.name,temp.department);while(temp.id!=0){person[COUNT]=temp;printf("%d",temp.id);COUNT++;fprintf(fp1,"tttt%dt%st%sn",temp.id,temp.name,temp.department);fprintf(fp2,"%dt%st%sn",temp.id,temp.name,temp.department);printf("tttt");scanf("%d%s%s",&temp.id,temp.name,temp.department);}fclose(fp1);fclose(fp2);}voidread_file(){FILE*fp;COUNT=0;if((fp=fopen("information2.txt","r"))==NULL){printf("cantnotopenfilen");exit(1);}while(!feof(fp))36 华科学院数据库系统课程设计{fscanf(fp,"%d%s%s",&person[COUNT].id,person[COUNT].name,person[COUNT].department);COUNT++;}COUNT--;fclose(fp);}voidwrite_file(){inti;FILE*fp1,*fp2;fp1=fopen("information1.txt","w+");fp2=fopen("information2.txt","w+");if(fp1==NULL||fp2==NULL){printf("cantnotopenfilen");exit(1);}fprintf(fp1,"tttt输入员工信息n");printf(fp1,"nttttIDt姓名t部门n");for(i=0;i5){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{printf("tttIDt姓名t部门n");for(i=0;inew_person.id){person[i]=person[i-1];i--;}person[i]=new_person;COUNT++;write_file();if(FLAG_pause==0)system("pause");}voiddelete_employee(intid){inti;intj;read_file();system("cls");for(i=0;i6){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{input_employee();break;}36 华科学院数据库系统课程设计case(2):{output_employee();break;}case(3):{printf("ttt插入新员工信息n");printf("ttt请输入员工的:ntttIDt姓名t部门n");printf("ttt");scanf("%d%s%s",&someone.id,someone.name,someone.department);insert_employee(someone);break;}case(4):{printf("ttt修改员工信息n");printf("t请输入要修改的员工ID:t");scanf("%d",&id);edit_employee(id);break;}case(5):{printf("ttt删除员工信息n");printf("t请输入要删除的员工ID:t");scanf("%d",&id);delete_employee(id);break;}case(6):break;}}intcomputer(structdatasomeday){inti;intdays=0;if(someday.month==BASE_DATA.month)days=someday.day-BASE_DATA.day+1;else{for(i=BASE_DATA.month+1;i4){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{printf("tttIDt姓名t迟到t早退n");while(!feof(fp)){fscanf(fp,"%d%s%d%d",&atten.id,atten.name,&atten.late,&atten.early);printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);}break;}case(2):{printf("t请输入ID:t");scanf("%d",&id);printf("tttIDt姓名t迟到t早退n");while(!feof(fp)){36 华科学院数据库系统课程设计fscanf(fp,"%d%s%d%d",&atten.id,atten.name,&atten.late,&atten.early);if(atten.id==id){flag=1;printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);break;}}if(flag==0)printf("t对不起,没有此ID的员工,谢谢!n");break;}case(3):{printf("t请输入姓名:t");scanf("%s",name);printf("tttIDt姓名t迟到t早退n");while(!feof(fp)){fscanf(fp,"%d%s%d%d",&atten.id,atten.name,&atten.late,&atten.early);if(strcmp(atten.name,name)==0){flag=1;printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);break;}}if(flag==0){printf("t对不起,没有此姓名的员工,谢谢!n");}break;}case(4):break;}fclose(fp);system("pause");}voidmulti_quire(){intbegin_page,end_page,id;36 华科学院数据库系统课程设计inti;intk;intflag=0;intchoice;intyear,month,day;charID[20];charname[20];charlate[20];charearly[20];charfilename[20];structdatebegin,end;structattendanceatten;FILE*fp;system("cls");printf("ttttt查询某一段时间的考勤n");printf("nt请输入起止日期n");printf("ntt起始日期:");scanf("%d%d%d",&begin.year,&begin.month,&begin.day);printf("ntt终止日期:");scanf("%d%d%d",&end.year,&end.month,&end.day);begin_page=computer(begin);end_page=computer(end);printf("nt1.查询全体员工考勤t");printf("2.按ID查询t");printf("3.按姓名查询t");printf("4.返回主菜单n");printf("nt请选择(1~4):t");start:scanf("%d",&choice);if(choice<1||choice>4){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{for(i=begin_page;i<=end_page;i++){itoa(i,filename,10);strcat(filename,".txt");fp=fopen(filename,"r");fscanf(fp,"%d%d%d%s%s%s%s",&year,&month,&day,ID,36 华科学院数据库系统课程设计name,late,early);printf("ttt%dt%dt%dnttt%st%st%st%sn",year,month,day,ID,name,late,early);while(!feof(fp)){fscanf(fp,"%d%s%d%d",&atten.id,atten.name,&atten.late,&atten.early);printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);}fclose(fp);}break;}case(2):{printf("nt请输入ID:t");scanf("%d",&id);printf("tttIDt姓名t迟到t早退n");for(k=begin_page;k<=end_page;k++){itoa(k,filename,10);strcat(filename,".txt");fp=fopen(filename,"r");fscanf(fp,"n%d%d%d%s%s%s%s",&year,&month,&day,ID,name,late,early);while(!feof(fp)){fscanf(fp,"%d%s%d%d",&atten.id,atten.name,&atten.late,&atten.early);if(atten.id==id){flag=1;printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);}}fclose(fp);}if(flag==0)printf("t对不起,没有此ID的员工,谢谢!n");break;}case(3):{36 华科学院数据库系统课程设计printf("nt请输入姓名:t");scanf("%s",name);printf("tttIDt姓名t迟到t早退n");for(k=begin_page;k<=end_page;k++){itoa(k,filename,10);strcat(filename,".txt");fp=fopen(filename,"r");fscanf(fp,"%d%d%d%s%s%s%s",&year,&month,&day,ID,name,late,early);while(!feof(fp)){fscanf(fp,"%d%s%d%d",atten.id,atten.name,&atten.late,&atten.early);if(strcmp(atten.name,name)==0){flag=1;printf("ttt%dt%st%dt%dn",atten.id,atten.name,atten.late,atten.early);}}fclose(fp);}if(flag==0)printf("t对不起,没有此姓名的员工,谢谢!n");break;}case(4):break;}system("pause");}voidquire_attendance(){intchoice;system("cls");printf("ttttt查询员工考勤n");printf("nt1.查询某一天的考勤t");printf("t2.查询一段时间的考勤t");printf("t3.返回主菜单n");printf("nt请选择(1~3):t");start:scanf("%d",&choice);if(choice<1||choice>3){36 华科学院数据库系统课程设计printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{single_quire();break;}case(2):{multi_quire();break;}case(3):{break;}}}voidmanagement_attendance(){intchoice;printf("nttttt考勤信息管理n");printf("nt1.考勤记录t");printf("2.考勤统计t");printf("3.考勤查询t");printf("4.返回主菜单n");printf("nt请选择(1~4):t");start:scanf("%d",&choice);if(choice<1||choice>4){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{recorder();break;}36 华科学院数据库系统课程设计case(2):{statistic();break;}case(3):{quire_attendance();break;}case(4):break;}}intmain(){intchoice;charout;start:system("cls");printf("nttt欢迎使用员工考勤管理系统n");printf("t菜单:n");printf("tt1.员工信息管理tt");printf("2.考勤管理t");printf("3.退出系统n");printf("nt请输入菜单选项(1~3):t");scanf("%d",&choice);if(choice<1||choice>3){printf("t输入错误,请重输:t");gotostart;}switch(choice){case(1):{system("cls");management_employee();gotostart;break;}case(2):{system("cls");36 华科学院数据库系统课程设计management_attendance();gotostart;break;}case(3):{system("cls");printf("ntttt你真的要退出吗(y/n)?t");out=getch();if(out=="y"){printf("ntttt感谢使用本系统!nntttt再见!n");exit(1);}elsegotostart;}}return0;}图4.1职工信息查询系统图36 华科学院数据库系统课程设计图4.2考勤管理系统图图4.3考勤情况录入图36 华科学院数据库系统课程设计图4.4考勤类型管理36 华科学院数据库系统课程设计总结通过以上数据库的设计,我深刻了解了每个阶段的设计内容:系统需求分析、概念结构设、逻辑结构设计、物理结构设计、数据库的实施和维护。分析该企业考勤子系统的功能是首先能提供查询员工的信息,其次让员工能清楚自己的考勤情况,并相应的查询到休息日的变化。考勤情况由进出记录,迟到记录,早退记录,工作时间记录来统计出的,详细的结果统计在月度考勤表中。员工都可以很详细的查询自己的情况。在做此子系统时,刚开始还不知道大概的格式,只是在盲目的做,这样到最后自己都不知道下一步该做什么了,所以凡事都要严格按照规则做,然后再发挥下,这样子就不会半途而废了。之后我严格按照书上的过程做,发现其实做该系统并没有我想象中难,柳暗花明又一村,攻克一个难题之后,心中大悦,只要细心,慢慢来,一步一步做,一样可以做的出色,不过前提是要对制作子系统的过程熟悉,并且灵活运用。还是多亏了老师的帮助才能完成课程设计,在此多谢老师!36 华科学院数据库系统课程设计参考文献[1]肖金秀.JSP程序设计教程.北京:冶金工业出版社[2]孙晓龙.JSP动态网站技术入门与提高.北京:人民邮电出版社[3]杨学瑜.JSP入门与提高.北京:清华大学出版社[4]鲁晓东.JSP软件工程案例精解.北京:电子工业出版社,[5]萨师煊王珊.数据库系统概论.高等教育出版社[6]张海藩.软件工程导论.清华大学出版社[7]赛奎春.JSP工程应用与项目实践.北京:机械工业出版社[8]汪孝宜.JSP数据库开发实例精粹.北京:电子工业出版社36