1、目录第一章 系统概述11.1 系统开发背景11.2项目设计基础原理11.3数据库系统设计及范式分析1第二章 系统需求分析32.1可行性研究32.1.1技术可行性32.1.2经济可行性32.1.3操作可行性32.1.4社会原因可行性42.1.5可行性研究结论42.2需求分析42.2.1系统目标42.2.2系统功效及用户需求分析42.3数据描述52.3.1数据流图52.3.2数据字典6第三章 总体设计93.1总体设计原理103.2运行环境和系统结构103.3系统功效模块和设计103.4系统功效模块图11第四章 具体设计124.1数据库概念设计124.1.1局部E-R模式设计124.1.2 E-R图
2、模型转成关系模型134.2数据库实现144.3代码调试22结束语25参考文件26第一章 系统概述1.1 系统开发背景90年代中期,因为Internet 快速普及,使Intranet成为Internet技术在企业管理信息系统中应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体信息技术综合体,它打破了时间和地域界限,使信息交流变得快捷、正确,为建立现代企业管理信息系统提供了充足条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全方面贯通。酒店考勤管理系统是在适应市场需求客观前提下,为了满足中小型企业或机关管理自己职员考勤问题而开发。该系统是终目标是要将各位职员考勤情况放到网
3、络上,以方便职员立即查证。1.2项目设计基础原理伴随计算机普及和计算机科学技术飞速发展,大家开始越来越多地利用计算机处理实际问题。职员考勤管理是企业信息管理关键部分面对大量人事工资信息,采取人力处理将浪费大量时间、人力和物力,且数据正确性低。一个界面友好,易于操作职员考勤管理软件进行自动化处理就会显得尤为关键。在数据库系统中,关键操作是对数据库进行,依据对不一样数据表操作来划分模块,即使这并不一定正确,但依据数据来划分模块确实能够使乘隙模块清楚明了。当然,前提是数据划分正确,不然会使数据处理愈加麻烦。1.3数据库系统设计及范式分析数据库设计关键是进行数据库逻辑设计,立即数据按一定分类、分组系统
4、和逻辑层次组织起来,是面向用户。数据库设计时需要综合企业各个部门存档数据和数据需求,分析各个数据之间关系,根据DBMS提供功效和描述工具,设计出规模合适、正确反应数据关系、数据冗余少、存取效率高、能满足多个查询要求数据模型。数据库设计步骤是;1.数据库结构定义:现在数据库管理系统(DBMS)有是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存放)操作型DBMS,有可支持数据仓库、有联机分析处理CLAP(指为支持决议制度对数据一个加工操作)功效大型DBMS,有数据库是关系型,有可支持面向对象数据库。针对选择DBMS,进行数据库结构定义。2.数据表定义:数据表定义指定义数据库中数据表结构
5、,数据表逻辑结构包含:属性名称、类型、表示形式、缺省值、效验规则、是否关键字、可否为空等。关系型数据库要尽可能按关系规范化要求进行数据库设计,但为使效率高,规范化程序应依据应用环境和条件来决定。数据表设计不仅要满足数据存放要求,还要增加部分如反应相关信息、操作责任、中间数据字段或临时数据表。3.存放设备和存放空间组织:确定数据存放地点、存放路径、存放设备等,备份方案,对多版本怎样确保一致性和数据完整性。4.数据使用权限设置:针对用户不一样使用要求,确定数据用户使用权限,确保数据安全。5.数据字典设计:用数据字典描述数据库设计,便于维护和修改。 第二章 系统需求分析2.1可行性研究2.1.1技术
6、可行性 1.系统管理人员能够依据该系统查询职员相关信息,而且能够经过职员信息管理对职员信息进行添加、删除和修改; 2.系统管理人员能够经过该应用程序对职员工作时间进行安排; 3.系统管理人员能够经过该系统检验职员工作情况,了解职员出差和加班等情况并以此对职员工资发放情况做安排; 4.职员能够经过该系统查询自己出勤统计、出差统计、加班统计及请假统计,并经过对自己工作情况查训核实自己工资发放是否正确; 5.职员能够经过该系统查询工作时间,了解自己工作日程; 6.内部功效需要经过SQL语言对数据库进行插入、删除、修改和查询等操作。2.1.2经济可行性 经济可行性关键依据是成本/效益分析,该系统目标是
7、以最低成本,在最短期限内开发出考勤管理系统。系统能降低很多无须要资源,不用象以前那样用冗余纸张式管理。中国中小企业信息化水平一直处于比较初级阶段,相关统计表明,真正含有计算机信息化比较高应用水平企业在全国1000多万中小企业中所占百分比还不足10%。然而,伴随中国市场经济不停成熟,企业竞争也在不停加剧,同时企业组织管理观念变革和业务步骤标准化也在不停完善,中小企业信息化建设热情近几年来有了显著提升。所以开发一个高质量考勤工资系统进行企业管理尤为关键。2.1.3操作可行性 用户仅需含有基础电脑操作能力即可。2.1.4社会原因可行性 从法律原因和安全用正版和无偿角度考虑,全部技术参考资料全部经授权
8、,全部软件全部选。2.1.5可行性研究结论依据以上原因,本考勤管理系统开发项目不仅方便快捷、高效,而且社会效益比很好从而使本系统开发者相信该系统开发出来以后将取得成功。总而言之,此项目在技术、经济、操作和社会效益上是完全可行。2.2需求分析2.2.1系统目标系统采取模块化程序设计方法,既便于系统功效多种组合和修改,又便于未参与开发技术维护人员补充、维护。职员考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学考勤信息输入。该系统含有数据库维护功效,立即依据用户需求进行数据添加、删除、修改、备份等操作。考虑到适应性,构建一个考勤系统,全部职员全部经过打卡来进行登录和注销,同时考勤系统需要用户
9、密码才能进入。在这里假定打卡信息已经转化成数据信息,每次打卡将激活一个模块。这些模块能够用手工输入,以备不时之需。2.2.2系统功效及用户需求分析依据分析,该考勤系统必需含有以下多个功效:(1)能够统计多种基础资料和考勤资料;(2)系统使用者天天每个人全部必需进行考勤,能够统计多种考勤信息;(3)系统使用者能够查询以往考勤信息,以预防不公正情况出现;(4)系统使用者能够对考勤结果信息进行处理;(5)系统使用者能够由灵活处理;(6)保障数据库安全,优化数据库,能够在程序中实现数据库备份和恢复。(7)界面友好性,操作图形化。(8)对职员迟到情况进行统计 也能够查询并由系统使用者对其进行修改删除现在
10、不管哪个企业,全部要进行考勤,部分企业在考勤管理方面用了大量人力和财力,不说正确度和可信度怎样,其效率很低,而且轻易犯错,不利于管理。所以人工考勤已经极难再满足企业规范化管理要求,伴随数据库技术发展和企业信息化建设进行,使用计算机管理考勤成为一个主流趋势,它不仅为企业降低了人力财力付出,而且也大大减轻了考勤工作人员工作量。2.3数据描述2.3.1数据流图数据库统计了系统中处理全部数据和一些操作。在实际应用中,一个实用数据库应用系统可能要处理数据量巨大,而且关系复杂数据。现实生活中处理数据,必需经过抽象,然后再将它们反应到数据表字段中。数据表中字段类型和大小要符合使用习惯。设计业务步骤图以下所表
11、示:职员正常上班加班情况请假出差带职人员命令部门部门申请同意图2.1 考勤系统业务步骤图设计数据步骤图以下所表示:上班表职员正常上班加班请假出差加班表请假表出差表部门其它人员统计查询图2.2 考勤系统数据步骤图2.3.2数据字典(1)数据项描述数据项别名类型长度取值范围 取值含义含义说明职员编号ynobigint0000000至9999999前三位为部门编号,后四位为次序编号唯一标识每个学生职员性别ysexchar2“男”或“女”规范化性别是区分职员一个大致范围部门编号bnoint000为次序编号唯一标识每个部门出勤编号worknobigint00000000至2*9前八位为当日日期,中间两位
12、设为00,后七位为职员编号唯一标识每次出勤加班编号overtimenobigint00000000至2*9前八位为当日日期,中间两位设为11,后七位为职员编号唯一标识每次加班出差编号travelnobigint00000000至2*前八位为当日日期,中间两位设为22,后七位为职员编号唯一标识每次出差请假编号leavenobigint00000000至2*前八位为当日日期,中间两位设为33,后七位为职员编号唯一标识每次请假月度考勤编号mattendnobigint00000000至2*前八位为当日日期,中间两位设为44,后七位为职员编号唯一标识每个人月度考勤信息工资编号worknobigint至
13、前七位为职员编号,后四位为次序编号唯一标识每个人工资情况表2-1(2)数据结构描述数据结构说明组成职员信息是考勤管理子系统主体数据结构,定义了一个职员相关信息职员编号,职员姓名,职员性别,出生日期,职务,部门编号部门信息是考勤管理子系统主体数据结构,定义了一个部门相关信息部门编号,部门名称,部门经理职员号工资表是考勤管理子系统主体数据结构,定义了工资具体信息工资编号,基础工资,奖金,实际工资表2-2(3)数据流描述数据流说明数据流起源数据流去向组成平均流量高峰期流量查对密码依据不一样人员对应权限登录时信息考勤管理系统管理员帐号密码和一般职员帐号密码天天传输1000次1500次完整考勤数据职员考
14、勤数据月度考勤统计工资评定月度考勤编号、职员编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数每个月传输1500次1500次工资数据职员对应工资工资评定情况工资表工资编号、基础工资、奖金、实际工资每个月传输1500次1500次表2-3(4)数据存放数据存放说明流入数据流流出数据流组成数据量存取方法出差统计统计职员出差基础情况录入出差情况,调出出差统计统计出差统计出差编号、出差起始时间、出差结束时间、出差描述、补助资金每个月200次更新,次序检索工资表统计职员工资情况工资评定工资编号、基础工资、奖金、实际工资每个月1500次更新月度考勤统计统计职员每个月考勤
15、情况30天信息统计统计好考勤数据月度考勤编号、职员编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数每个月1500次更新,次序检索表2-4(5)处理过程处理过程说明输入数据流输出数据流处理登录用正确账号登录账号和密码查对密码要求密码正确,而且依据账户名来区分管理员和一般职员录入数据将准备数据依次录入 准备出差,请假,加班,出勤数据录入出差,请假,加班,出勤情况要求数据依据其内容分别编入不一样统计中工资评定依据对应评定方法来算基础工资,奖金和实际工资完整考勤数据工资表基础工资加上加班奖金,补助金减去请假,旷工扣钱表2-5第三章 总体设计3.1总体设计原理总体
16、设计基础目标就是回复“系统应该怎样实现?”这个问题。所以总体设计又称为概要设计或初步设计。经过这个阶段工作将划分出组成系统物理元素程序、文件、数据库、人工过程和文档等等,不过每个物理元素仍然处于黑盒子级,这些黑盒子里具体内容将在以后仔细设计。总体设计阶段另一项关键任务是设计软件结构,也就是要确定系统中每个程序是由哪些模块组成,和这些模块相互之间关系。总体设计工程通常有两个主意阶段组成:系统设计,确定系统具体实现方案;结构设计确实软件结构,也就是要确定系统中每个程序拥有哪些模块组成,和这些模块之间关系。在具体设计之前进行总体设计能够站在全局高度上,花较少成本,从中选出最好方案和最合理软件结构,从
17、而用较低成本开发出高质量软件系统。3.2运行环境和系统结构为了确保系统运行效率和可靠性,系统服务器端应含有较高软硬件配置,用户端要求不是很高。此应用程序可广泛用于内部局域网。3.3系统功效模块和设计(1)用户管理模块增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,能够在修改密码模块中进行。必需含有一定权限才能进行此项操作。而当一些职员离职或因某中缘故,不能再使用考勤系统,能够将该用户删除。能够更改拥护权限,使其含有访问一些模块权限或剥夺其访问一些模块权限。全部系统使用用户全部可能在此修改密码,以保障系统安全。 (2)基础资料管理模块设置时间有早晨上、下班时间,下午上、下班时间,
18、这个模块和上下班时间表相对应,以方便考勤操作。增加和删除请假类型,修改请假类型内容,并将操作结果存在请假类型表内。增加和删除外出类型,修改外出类型内容,并将操作结果存在外出类型表内。增加、删除和修改职员基础资料。(3)考勤操作管理模块输入职员天天出勤情况,关键为上班和下班时间,这是考勤依据资料。对于迟到早退或旷工情况,能够在这个模块直接判定。统计职员请假内容,请假时间,将其保留在数据库中。处理职员外出情况,说明其内容、原因和外出时间。(4)考勤资料管理模块依据统计条件统计在一段时间内出勤情况,如每个月内迟到人数等,查询全部或部分人在某一时间段中考勤情况,依据考勤结果,进行对应处理。(5)数据库
19、管理模块把系统数据库导出并存放在某一磁盘目录中,相当于备份。将存放在磁盘中数据库导入系统时要覆盖原来数据库,不然会犯错。3.4系统功效模块图登录考勤系统用户资料管理每日考勤管理请假考勤管理出差考勤管理加班考勤管理修改删除管理图3.1 功效模块图第四章 具体设计4.1数据库概念设计依据对数据流图和数据字典分析,确定该应用中实体、属性和实体之间联络,并画出系统总体E-R图。概念设计可分为三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最终对全局E-R模式进行优化,得到最终模式,即概念模式。4.1.1局部E-R模式设计实体和属性定义。E-R模型“联络”用于刻画实体之间关联
20、。一个完整方法是对局部结构中任意两个实体类型,依据需求分析结果,考察局部结构中任意两个实体类型之间是否存在联络。若有联络,深入确定是1:N,M:N,还是1:1等,还要考察一个实体类型内部是否存在联络,两个实体类型之间是否存在联络,多个实体类型之间是否存在联络等等。1.局部E-R模式合并合并标准是:首优异行两两合并,先合并那些现实世界中有联络局部结构,合并从公共实体类型开始,最终再加入独立局部结构。2.消除冲突冲突分为三类:属性冲突,结构冲突,命名冲突。设计全局E-R模式目标不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突,使之成为能够被全部用户共同了解和接收同一概念模型。3
21、.全局E-R模式优化在得到全局E-R模式后,为了提升数据库系统效率,还应深入依据处理需求对E-R模式进行优化,一个好全局E-R模式,除能正确、全方面反应用户功效需求外,还应满足下列条件:实体类型个数要尽可能少,实体类型所含属性个数尽可能少,实体类型间联络无冗余。设计E-R图以下所表示职员正常上班加班请假出差考勤表加班表请假表出差表姓名密码进入企业时间上班时间下班时间加班时间类型性别请假时间请假类型出差时间出差类型上班时间管理员统计日期密码姓名上班日期图4.1 考勤系统E-R步骤图4.1.2 E-R图模型转成关系模型职员(职员编号、职员姓名、职员性别、出生日期、职务、部门编号);部门(部门编号、
22、部门名称、部门经理职员号);出勤统计 (出勤编号、日期、上班时间、下班时间);请假统计(请假编号、请假起始时间、请假结束时间、请假原因、扣除奖金);加班统计(加班编号、加班时间长度、日期、加班费);出差统计(出差编号、出差起始时间、出差结束时间、出差描述、补助资金);月度考勤统计(月度考勤编号、职员编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);工资(工资编号、基础工资、奖金、实际工资);4.2数据库实现图4.2 数据库中建立表1.数据表设计(1)用户表创建 用户表创建脚本以下:create table 用户 ( 用户名 char(30) not n
23、ull, 职员号 char(30) null, 权限名 char(30) null, 用户密码 int not null, 权限号 int not null, constraint PK_用户 primary key (用户名)go用户表字段格式说明以下所表示:图4.3 用户表属性图4.4 用户表(2)权限表创建 权限表是用来确定某一权限类型所能访问系统模块。权限表创建脚本以下所表示:create table 权限表 ( 权限名 char(30) not null, 用户管理 char(2) not null, 基础资料更改 char(2) not null, 请假管理 char(2) not
24、 null, 外出管理 char(2) not null, 加班管理 char(2) not null, 修改考勤资料 char(2) not null, 数据库操作 char(2) not null, 日志删除 char(2) not null, constraint PK_权限表 primary key (权限名)go权限表字段格式说明以下所表示:图4.5 权限表属性图4.6 权限表(3)出勤资料表创建 出勤资料表用来统计职员天天实际上下班时间。这张表保留数据是考勤依据。出勤资料表创建脚本以下所表示:create table 出勤资料表 ( 统计号 int not null, 职员基_职员
25、号 char(30) null, 职员号 char(40) not null, 早晨上班时间 datetime not null, 早晨下班时间 datetime not null, 下午上班时间 datetime not null, 下午下班时间 datetime not null, 统计日期 datetime not null, constraint PK_出勤资料表 primary key (统计号))go出勤资料表字段格式说明以下所表示:图4.7 出勤资料表属性图4.8 出勤资料表(4)职员基础资料表为了判定某职员是否已经考勤,在职员表中另一个字段,字段名为“考勤”,天天考勤前,将此字
26、段值全部设为0,每考勤一个职员,则将其字段值该为1,以后操作时依据其字段判定其是否已经考勤。其创建脚本为:create table 职员基础资料表 ( 职员号 char(30) not null, 职员名 char(30) not null, 性别 tinyint not null, 年纪 int not null, 入企业时间 datetime not null, 住址 char(50) not null, 联络电话 char(20) null, 手机 char(20) null, 电子邮箱 char(30) null, 考勤 tinyint not null, constraint PK_
27、职员基础资料表 primary key (职员号)go职员基础资料表年格式以下所表示:图4.9 职员基础资料表属性图4.10 职员基础资料表(5)加班表创建 加班表用来保留职员加班信息。create table 加班表 ( 统计号 int not null, 职员基_职员号 char(30) null, 职员号 char(20) not null, 职员名 char(30) not null, 加班类型 char(30) not null, 起始时间 datetime not null, 结束时间 datetime not null, constraint PK_加班表 primary key
28、 (统计号)go加班表字段格式说明以下所表示:图4.11 加班表属性图4.12 加班表(6)请假表创建请假表是用来保留职员请假统计。其创建脚本为:create table 请假表 ( 统计号 int not null, 类型名 char(30) null, 职员基_职员号 char(30) null, 职员号 char(20) not null, 职员名 char(20) not null, 请假类型 char(30) not null, 起始时间 datetime not null, 结束时间 datetime not null, constraint PK_请假表 primary key
29、(统计号)go请假表字段格式以下所表示:图4.13 请假表属性图4.14 请假表(7)外出表创建外出表是用来保留职员外出统计,数据格式。外出表创建脚本以下:create table 外出表 ( 统计号 int not null, 类型名 char(30) null, 职员基_职员号 char(30) null, 职员号 char(20) not null, 职员名 char(30) not null, 外出类型 char(30) not null, 起始时间 datetime not null, 结束时间 datetime not null, constraint PK_外出表 primary
30、 key (统计号)Go外出表字段格式以下所表示:图4.15 外出表属性图4.16 外出表(8)日志表创建。 每一个实用数据库应用系统,总是少不了日志管理。日志是用来统计系统使用情况,方便当系统遭到非法使用时,能够从日志表中找到使用统计,方便进行处理。日志表创建脚本为:create table 日志表 ( 统计号 binary(8) not null, 用户名 char(30) not null, 操作 char(127) not null, 日期 datetime not null, constraint PK_日志表 primary key (统计号)go日志表字段格式说明以下所表示:图4
31、.17 日志表属性图4.18 日志表(9)统计表创建。 每一个用户有时会需要去查询一下哪天是否迟到情况,统计表就很方便提供了这一功效。create table 统计表 ( 日期 datetime not null, 统计号 binary(8) not null, 用户名 char(30) not null, 迟到次数 char(127) not null, )Go图4.19 统计表4.3代码调试(1在表格内加入数据在SQL查询分析器中输入以下代码:insert into 外出表(统计号,类型名,职员基_职员号,职员号,职员名,外出类型,起始时间,结束时间)values(119,出差,a80,a
32、80,邓月,出差,-06-09,-06-12)点击运行后输入:select * from 外出表 得出以下结果:图4.20 加入数据表(2)查询数据: 在SQL查询分析器中输入以下代码: select * from 加班表点击运行后输入,得出以下结果:图4.21 查询数据表(3)修改数据: 在SQL查询分析器中输入以下代码:update 外出表set 职员名 = 周丹where 统计号=119 select * from 外出表点击运行后输入,得出以下结果:图4.22 修改数据表(4)删除数据: 在SQL查询分析器中输入以下代码: deletefrom 外出表where 职员名=周丹selec
33、t * from 外出表点击运行后输入,得出以下结果:图4.23 删除数据表在过去我们考勤工作全部是人工完成,不仅浪费了很多人力跟物力,而且无法确保其正确性和透明度;给企业管理带来了很多不便。现在利用计算机来管理我们考勤工作,大大降低了工作人员工作量,提升了工作效率,使原本复杂和枯燥无味工作变得简单而轻松了。计算机技术尤其是数据库技术发展为企业建立管理信息系统,甚至对改变管理思想起着不可估量作用。实践证实信息技术已在企业管理层面饰演越来越关键角色。该考勤管理系统中关键包含了职员基础信息(姓名、性别、所属部门等),查询职员基础信息,可依据职员实际工资情况或实际出勤情况查看职员基础信息等;另外还有
34、权限管理和日志功效。经过考勤系统能够很轻易地对企业职员信息有一个基础了解,能够很方便地知道职员出勤情况,经过对职员出勤信息了解,就能计算出职员实际工资。一切统计和计算全部计算机代为管理了,考勤信息管理系统对企业合理化管理起到了很大作用,它为企业信息化建设打响了头炮,企业信息化建设已成为现代各个企业发展需要。结束语在本学期对数据库学习和在课程设计制作中,很感谢李晓波老师耐心讲解和指导。在设计过程中利用较多是老师在上课时候讲解例子,受益匪浅。同时也学到了对问题研究和思维方法。这也对此次课程设计制作起到了主动帮助和影响。在此次课程设计中,我也掌握了使用PowerDesigner创建图表。也加深了对数
35、据库企业管理器了解,对数据库操作也有了深入了解。基于这次课程设计中本系统部分设计,下面对系统做一个总结。在整个设计过程中,关键工作有:系统权限及安全设计,包含用户权限个人设定,密码保护和修改。职员信息、出勤信息、职员请假、加班和外出等情况统计。在设计过程中,逐步了解到书本上知识很关键,作为最基础部分,带给我是新视角。使我重新认识了数据库,对数据库爱好也显著增加了很多。最大收获莫过于对和系统前期分析。能够从一个大角度来判定整个系统性能,从而分析出需要创建哪些表实现整体功效。当然在设计中还有很多不足地方。对于这么软件开发,因为没有对应切合实际需求分析,所以在开发过程中也碰到了很多棘手问题。对于数据库操作不够熟练,在整个系统考虑方面也有些许不足。不过,我会在以后学习中,加深自己在数据库方面培养,提升自己对和建立数据库时候分析和应用能力。参考文件 1余建英,何旭洪.PwerBuilder数据库系统开发实力导航(第二版).北京:人民邮电出版社,2王晟,王松,刘强.数据库开发经典案例解析.北京:清华大学出版社,3王珊,萨师煊.数据库系统概论(第四版).北京:高等教育出版社,4周新会,周金根.数据库通用模块及经典系统开发实力导航(第一版).北京:人民邮电出版社,