




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录 目 录 i abstractiii 摘要 .iv 关键词:考勤 考勤统计 考勤查询 模块 .iv 第 1 章 前言 .1 1.1 应用背景 1 1.2 产品和存在问题 1 1.3 选题可行性及意义 1 第 2 章 需求信息分析 1 2.1delphi 考勤功能需求分析 1 2.2 系统软硬件分析 1 2.3 运行环境的要求 1 第 3 章 概要设计与详细设计 .1 3.1 系统设计的原则 1 3.2 系统功能的设计 1 3.2.1 系统的功能模块图 1 3.2.2 系统的数据流程图 1 3.2.3 主要的数据字典 1 3.2.4 系统的主程序流程图 1 3.3 各个子模块的功能设计 1 3.3.1 用户登录模块 1 3.3.2 考勤信息管理模块 1 3.3.3 数据库管理模块 1 3.4 硬件单元 1 第 4 章 开发方法及开发工具简介 .1 4.1 开发方法 1 4.2 开发工具 1 第 5 章 数据库设计 .1 5.1 数据库设计遵循的一般原则 1 5.2 数据库需求分析 1 5.3 数据库概念结构设计 1 5.4 各数据表的设计 1 5.5 数据库安全 1 第 6 章 实现 .1 6.1 用户登陆子模块 1 6.2 主功能模块 1 6.3 时间设置模块 1 6.4 考勤管理模块 1 第 7 章 测试与调试 .1 7.1 测试 1 7.2 调试 1 第 8 章 结束语 .1 8.1 研究成果 1 8.2 总结与展望 1 致 谢 .1 文献 1 abstract this manage system check on work attendance helps the company to manage staff in several aspects. the system can provided a comprehensive function,can greatly improve the capacity of the management and the work efficiency. this program was made to adapt the era tideway,this system work with the timecard can improve efficiency of the company,it can actualize the daily check on work attendance,the attendancestat,the attendancequery, the employee management and so on. this program can replace the old check on work attendance which is timewaste and hard sledding,with it the company can make right decisions. in the whole system, i contrive the login module,main module,and the attendance module. our system made out of delphi7.0 and sql server database keyword: check on work attendance attendance-stat attendance-query module 摘 要 考勤管理系统能够帮助公司单位在人事管理上对员工信息进行管理,系统全面 实现了公司的基本管理要求,能大大提高公司的工作效率和管理能力。 本课题就是为了适应信息化时代潮流而提出的。它的使用结合 机读磁卡进行公 司的日常考勤,可以实现日常考勤、考勤统计、考勤的查询、员工管理等一系列工 作的智能化、数字化,从而代替昔日费时、费力易错、枯燥乏味的人工考勤方式。 使公司能够对员工的各种信息进行全面统计,方便公司做出恰当的奖惩制度。 本系统我主要设计了登录模块,主模块,考勤管理模块。 系统使用 delphi7.0 软件开发工具,sql server 数据库。 关键词:考勤 考勤统计 考勤查询 模块 第 1 章 前言 1.1 应用背景 随着信息化的发展,各公司规模的不断扩大,员工管理越来越复 杂,考勤的时间又很短,且工作量大, 而考勤管理在公司、企业中起 着举足轻重的作用。因为人员考勤管理涉及到工资、福利等与员工 个人利益相关的事物,一个经济实体考勤管理工作的好坏,直接影 响到员工主观能动性的发挥,从而影响到企业的经济利益。 伴随着经济实体的发展壮大公司员工的数量也越来越多。显然, 传统的考勤制度。如手工考勤已越来越不适应时代的发展,使用计 算机进行人员考勤管理已经成为一种迫切的需要。 经过我们的详细的调查,目前,许多单位员工考勤还停留在人工 管理的基础上,这样的管理方法浪费许多人力和物力,随着科学技术 的不断提高这种传统的手工管理方法必然被以计算机为基础的信息 管理方法所取代. 使用计算机进行管理不仅可以降低管理工作的难度,也可以减少 错误和提高效率.因此,开发一套能够为公司提供充足的信息和快捷 的查询手段的考勤管理,是非常必要的. 本设计是从西安华龙公司的实际考勤业务需求出发,针对该公司 人工考勤管理的现状,经过详细的系统调查,为该公司设计同时又 有较强的通用性的前提下开发出的一个使用的智能卡考勤系统管理 系统。 1.2 产品和存在问题 目前市场上,考勤系统已经有很多产品的存在,据我们调研分析, 当前的考勤状况非常混乱,高低不齐。有的大公司,有着良好的智 能化考勤系统;而有的中小公司的考勤系统不是智能化不强,就是 有设备不用,随意性较强。小公司则更加混乱。 目前市场上所使用的考勤管理系统有以下三类: 1、 人工管理系统 完全的人工管理,员工每次上班都以签名的方式进行登记, 这种管理系统是最原始的管理方法,基本上已被社会所淘汰,但 一些小单位仍在使用。 2、指纹考勤管理系统 指纹考勤管理系统,在一些安全性要求较高的地方有较多应用。 在员工考勤系统中,这是较为新型的产品。 指纹考勤管理系统是利用人的指纹作为身份唯一识别。硬件是 一智能考勤机作为前台,电脑作为后台信息处理,先对员工指纹进 行采样库存。考勤时对员工指纹与指纹库进行比较。当确认以后, 记录员工的出勤时间、日期、后台管理系统进行核对操作。 指纹考勤系统的缺点:利用指纹考勤,理论上是可行的,杜绝 了代打卡现象。但实际应用中,有一些人员指纹无法识别,并且会 出现“误判”现象,此外对光线、温度、湿度的要求也比较严格, 适应性差。 3、纸卡考勤系统 纸卡考勤系统是半机械化半人工的考勤系统。其特点是价格底, 但要求人进行统计和核算。纸卡机的工作原理是利用一个纸卡机, 员工用属于自己的纸卡在“统计卡”上打上时间,记录上下班时 间。统计卡是消耗品,目前此系统存在的问题是:代打卡现象极 为严重,且需专人看管。但投入成本底。 纸卡机属于较早的一代考勤系统,十分浪费人力,并没有在真 正意义上实现信息化,是面临淘汰的产品,但目前仍被使用。 4、智能磁卡考勤系统 智能磁卡考勤系统是一个磁卡机和电脑相连,这是真正信息化 的考勤系统。有着良好的管理功能,直接对信息进行管理,如统计、 打印、修改等。它的工作原理是:利用员工每个人都有一个电脑能 够唯一识别的字串,代表个人的唯一编码。电脑以此作为对员工工 作的唯一识别和记录处理。虽然,磁卡机考勤系统有着极方便的管 理能力。但代打卡现象仍然很严重。 智能磁卡是真正意义上的数字化考勤,但仍需改进其不足之处。 ,智能磁卡考勤系统,较适应大中型企业,有较大的处理和管理功 能。 1.3 选题可行性及意义 通过调研,目前市场上的其它各种考勤系统与智能卡考勤系统 相比,无一例外地存在不足。市场上的纸卡机考勤系统仍在使用但 面临淘汰;指纹考勤系统技术和硬件设备还有待提高。智能磁卡考 勤系统是最主流的考勤设备。所以说,智能磁卡考勤系统是具有成 熟的市场和技术的!就开发时间短、开发风险小、开发成本底、适 用性强等特点,这都是纸卡、指纹考勤系统所不能比拟的,研究和 设计它还是有很强的实用性的。 智能磁卡考勤系统采用 delphi 数据库开发技术和射频磁卡技术 开发。与其他考勤系统相比具有以下几个优点: 1、适应性范围广。智能磁卡考勤系统不受温度、光线等环境条 件的限制;另外,采用 delphi 数据库开发技术,支持网络传输, 不受距离限制。 2、管理功能强大。用 delphi 开发的考勤管理系统具有强大的 数据库管理功能和可维护性。大大的降低了工作员的工作量和操作 难度。 3、成本低。由于软件易于操作,大大降低了软件开发成本和维 护费用。硬件采用较为成熟的射频卡技术:磁卡机为 500-800 元, 每张磁卡为 6-8 元。 本课题组以 “智能卡智能考勤系统设计”为题,在指导老师的 指导下,初步开发相关的应用程序,解决传统考勤的不足。这对于 我们深入理解所学知识,提高综合应用能力,无疑具有很大的现实 意义。 第 2 章 需求信息分析 需求分析是进行系统开发的基础。通过需求分析,可以明确用 户需求,确定系统功能。具体而言,我们从如下几个方面进行了分 析: 2.1delphi 考勤功能需求分析 功能需求主要是为了明确所开发的软件必须具备的功能。考勤 是相对繁琐的工作,公司每天都要对员工进行考勤,员工上班时在 考勤系统上登陆,下班时进行注销,系统会自动记录,这样可以节 省许多时间。当员工不能正常上班时,如出差、请假等,可以给系 统操作员说明原因,然后在考勤系统上进行记录,在每个月进行结 算工资是根据考勤系统的记录来增减个人薪金。 考勤信息的来源,可以直接由考勤人员手工输入,也可以由每 个员工登陆考勤系统,进行注册。当然还有其他方式进行考勤信息 输入。在本文所阐述的系统中,所有员工都通过智能卡识别来进行 登陆和注销,同时系统需要密码才能进入。每个员工的智能卡信息 已通过采集,转化为数据信息,每次智能卡识别将激活系统的考勤 资料输入模块。这个模块也可以用手工输入,以备例外情况。 根据分析,在本系统中,我们需要实现以下一些基本功能: (1)员工管理:可以添加、删除、查询、修改员工的基本资料。 (2)帐户管理:系统管理员可以添加、删除、查询系统操作员, 并指定各操作人员的权限(权限管理) 。 (3)考勤管理:系统操作员可以设置上下班时间,并能对出差、 加班、请假信息进行添加,修改和删除。 (4) 。考勤统计管理:操作员可以对员工的考勤资料进行统计, 并可产生报表;员工也可以登陆系统查询个人考勤资料。 (5)数据库备份:对现有的数据库进行管理,包括数据库压缩、 备份和恢复,以方便用户对数据库的管理和维护工作 (6)数据查询:可以对员工信息进行查询,也可以对统计信息 进行按条件查询。包括迟到、早退、缺勤、信息,出差信息,加班 信息和请假信息的查询。 (7)打印输出:可以对统计信息,查询信息产生报表并进行打 印输出 2.2 系统软硬件分析 智能磁卡考勤系统采用 delphi 数据库开发技术和射频磁卡技术 开发。与其他考勤系统相比具有以下几个优点: 1、适应性范围广。智能磁卡考勤系统不受温度、光线等环境条 件的限制;另外,采用 delphi 数据库开发技术,支持网络传输, 不受距离限制。 2、管理功能强大。基于 delphi的考勤管理系统具有强大的数 据库管理功能和可维护性。大大的降低了工作员的工作量和操作难 度。 3、成本低。由于软件易于操作,大大降低了软件开发成本 和维护费用。硬件采用较为成熟的射频卡技术:磁卡机为 500-800 元,每张磁卡为 6-8 元。硬件成本较低,且采用非接触式射频技术, 硬件属于非易耗品。 2.3 运行环境的要求 系统的运行对运行环境还有一些要求: 1、 硬件环境: 处理器:intel pentium 166mx 或更高; 内存:至少 64mb 建议 128mb 或更多; 硬盘:1gb; 显卡:svga 显示适配器; 2、 软件环境: 操作系统:windows98/2000/me/xp 数 据 库:microsoft sql server 软件开发工具:delphi7.0 第 3 章 概要设计与详细设计 3.1 系统设计的原则 在当前诸多条件制约下,首先要研究智能考勤系统的实用性, 使用户真正得到效益,充分发挥它的作用。同时又要注重它的科学 性,以促进管理的现代化。智能考勤系统开发的原则如下: 1、可行性原则。系统要保证技术上的可靠性和经济上的可行性。 计算机系统、通讯网络系统设计和数据设计,在技术上必须是成熟 的,经实践检验是成功的,在经济上是可能实现的。 2、适应性原则。系统要保证可扩展性、可维护性。系统软、硬 件都要有扩充升级的充分余地,系统要便于维护,系统对用户的需 求要有一定的适应能力。 3、安全性及保密性原则。智能考勤系统是实现薪金结算的基础, 如果哪一个环节出现问题,例如系统操作员数据泄密,可能会导致 财务结算系统混乱,后果不堪设想。因此,必须设置用户权限,以 保证系统有较好的安全性,同时,系统也应有较强的数据备份和数 据恢复功能。 4、人机结合原则。人工信息收集系统与计算机管理信息系统要 紧密结合。完整、准确、及时的信息是信息系统运行的基础。计算 机系统是提供信息处理及辅助决策的技术手段,人工系统与计算机 系统要有机的结合,友好的人-机界面是系统设计的主要原则之一。 5、系统工程原则。系统调查、系统分析、系统设计、软件开发 以及实施都要遵照系统工程的方法和步骤一步一步地进行,以便确 保系统的整体性。 6、统一规划、分期实施、逐步完善原则。管理信息系统要按规 划、分阶段实施,由点到面逐步扩充,逐步完善,循序渐进。 3.2 系统功能的设计 系统设计是根据需求分析的结果,设计系统的模块和结果之间 的内在联系。 3.2.1 系统的功能模块图 智能考勤管理系统 管理员身份验证 考勤管理 帐户管理 考 勤 管 理 数 据 备 份 数 据 查 询 考 勤 统 计 打 印 输 出 员 工 管 理 修 改 密 码 添 加 用 户 删 除 用 户 图 3-1 系统的功能模块图 3.2.2 系统的数据流程图 出勤的原始时间记录主要来源于智能卡考勤机,并且以固定格 式保存在数据库中。系统的各部分数据流程图如下所示. 1)出勤管理数据流程图如下所示: 出勤信息 管理员信息 系统管 理员 11 系统 登陆 d1 出勤 信息 12 系统 管 理 d3 员工信息d2 图 3-2 出勤管理数据流程图 (2)添加加班记录数据流图如下所示: 员工信息 系统管 理员 21 系统 登陆 d2 d4 加班信息 加班 信息 22 加班 管理 图 3-3 添加加班记录数据流图 (3)添加请假记录录数据流图如下所示: 员工请假信息 系统管 理员 出勤信息 请假 信息 经理 请假 信息 31 请假 批示 d5 32 系统 管 理 d6 31 记录 登记 图 3-4 添加请假记录数据流图 3.2.3 主要的数据字典 名字:员工编号 描述:唯一的标识员工的关键 域 定义:员工编号6字符6 位置:考勤信息 出差信息 请假信息 加班信息 统计报表 图 3-5 员工编号的数据字典 图 3-6 加班表的数据字典 名字:考勤表 描述:每天记录员工出勤状态的 表 定义:考勤表员工编号日期 刷卡时间出入状态 位置:统计时,将其内容计入统 计表并判断员工状态 名字:请假表 描述:记录员工请假信息的表 定义:请假表员工编号开 始时间结束时间描 述 位置:由统计表对其进行统计 图 3-7 考勤表的数据字典 图 3-8 请假表的数据字典 名字:加班表 描述:每天记录员工出勤状态 的表 定义:加班表员工编号日 期加班时间 位置:统计时,将其内容计入 统计表并判断员工状态 3.2.4 系统的主程序流程图 图 3-9 系统主程序流程图 3.3 各个子模块的功能设计 3.3.1 用户登录模块 功能:由用户输入用户名和密码。如果用户名和相应密码正确, 则根据该用户的权限类别进行权限设置;若用户名和密码错误,则 进行错误提示,且只允许用户输入 3 次,超过 3 次系统自动退出。 系统管理员进入考勤操作主界面。一般管理员进入一般管理员界面, 相应的操作会受到限制。例如:不能添加,删除管理员,不能修改 用户权限。 3.3.2 考勤信息管理模块 功能:本模块主要实现对上、下班时间设置,同时对出勤信息, 加班信息,请假信息,出差信息进行添加、删除、修改等操作。 功能结构图如图 3-10 所示: 考勤管理 上下 班时 间设 置 出勤 管理 请假 管理 加班 管理 出差 管理 添 加 更 改 修 改 删 除 图 3-10 考勤信息管理模块功能结构图 相关数据表: 考勤表,请假表,出差表,加班表。 3.3.3 数据库管理模块 功能:本模块实现对系统数据库的备份和还原,以防止出现数 据丢失等致命错误。 功能结构图 如图 3-11 所示: 图 3-11 数据库管理模块功能结构图 3.4 硬件单元 系统的硬件有射频卡、读卡机、计算机组成。射频卡读/写单 元是一个比较常用的自动控制设备部件这是一种非接触式读/写程 序。射频卡读写单元的结构框图如下: 图 3-12 射频卡读写单元的结构框图 射频卡读/写单元产品采用串口通信技术。射频卡读写单元提 供与微控制器通信的 ttl 通信接口。数据传输采用标准串行方式。 主板模块采用四芯排线与外界相连。排线定义方式如下:(芯片端 口向上,面对接口插座)从左到右依次为 vcc,gnd,txd,rxd。 1、射频卡读/写单元特性 (1)具有精简的指令集,可将射频卡基本操作集成几条命令, 操作简便。 (2)具有读、写、增、减、初始化射频卡装载密码等功能。 (3)对射频工作的频率为 13.56mhz。 (4)对射频卡的操作距离为 25mm。 (5)数据传输速率 115200bit/s,通信错误侦测。 (6)ttl 通信接口。 (7)单电源供电:+5v。 2、射频卡读/写命令集 (1)loadkey:改变存放于 rf 读写单元内部的授权密码。 (2)read:读出卡片中模块的数据。 (3)write:将数据写入卡片中的模块。 (4)initval:将卡片中某扇区的内容赋予初值,并初始化 为可供增减的模块。 (5)decrement:将卡片中某扇区的内容减去某一数值。 (6)increment:将卡片中某扇区的内容加上某一数值。 3、射频卡读/写单元编程协议 协议规定:该通信数据传输速率 115200bit/s。通信格式为一 位起始位,八位数据位。一位结束位,无奇偶校验位,数据最大长 度为 32 字节。 开始通信时,接收机和发送机都处于就绪状态。首先,发送机 发送一个起始信号(stx) ,正常返回一个 dle 信号,之后开始通信, 反之,若无应答,重复三次。三次之后仍无应答则停止,不再通信。 当数据块中的数据为 10h 时将被发送两次。通信数据之间的 最大时间间隔为 0.5s,如果时间间隔大于 0.5s 就认为通信失败。 第 4 章 开发方法及开发工具简介 4.1 开发方法 目前流行的系统开发方法主要有生命周期法、快速原型法、面 向对象开发方法等,每种方法各有特色。 生命周期法是一种有效、成熟的方法,它对软件生产实现工程 化起了重要作用,但是应用该方法的前提条件是必须确定系统的需 求,才能得到预期的正确结果。对于信息系统来讲,由于其问题空 间十分庞大,不论开发者在系统分析时采用何种严格的方法力争准 确地描述用户需求,在系统没有开发到一定程度,用户对系统的理 解达不到一定的程度是无法准确表达出需求的。这并不是说用户需 求捉摸不定。为了解决需求的模糊性和变化性,出现了另一类系统 开发方法,即快速原型法。 快速原型法是在系统分析基础上,由开发者尽快构造出一个应 用系统原型,经用户初步应用,对系统有了一定的认识后,再由系 统开发者与用户反复进行交流,逐步完善达到最终目标。快速原型 法不仅是一种方法,更是一种技巧,它可以运用与系统开发的各个 阶段,例如在系统分析阶段用于提炼用户需求,在系统实现阶段开 发软件原型等。 面向对象的开发方法着眼于所研究的问题,对问题空间进行自 然分割,识别其中的对象及其相互联系,建立问题空间的信息模 型。其基本思想是把信息系统本身看成是一系列离散的对象的集 合。这些对象即包括数据结构,也包括在这些数据结构上的操作 与行为。各对象之间由事件触发,引发互通消息而实现互操作。 这样设计出的软件必然是模块化的、可重用的、可扩充的和可移 植的,克服了过去由于分析设计与实施割裂所造成的程序编制必 须到设计后期才能进行的程序沉淀现象。面向对象方法的主要优 点并不是减少开发时间,它可能比传统的结构化方法的开发时间 还要长一些。它的主要目标是促进未来系统的可重用性,减少后 续阶段的开发量,从而大大提高软件生产率与可维护性。 综观上述各种方法,考虑到信息系统开发过程的顺序性和开发 过程的固有特点,结合实际开发的经验教训,我们认为各种不同的 系统开发方法适用于各自不同的领域。本设计主要采用面向对象的 开发方法。 4.2 开发工具 “智能考勤系统”设计为 client/server 结构的应用程序。客 户端采用 delphi7.0 作为前端开发工具,采用 ado 设置数据源, 后台采用 microsoft sql server 2000 数据库。系统运行的操作 系统为 windows98/nt/me/2000/xp。下面简要介绍各个开发工具。 delphi 被称为第四代程序开发语言,是一种常用的可视化编 程工具,集成了大量的可视化控件,程序员只需要做少量的工作 就能完成大量复杂的工作。同时,delphi 还具有功能强大,运行 高效,界面简洁等特点。它与 visual c+相比,在功能上豪不逊 色,而且更容易掌握;与 visual basic 相比,delphi 具有更强 大的功能。可以说 delphi 集合了 visual c+强大的功能和 visual basic 的操作简便。因此,利用 delphi 编写 windows 开 发应用程序十分方便。 delphi7.0 是公司在 2002 年 8 月推出的新版本。与以往的各 个版本相比,不仅继承了功能强大、成熟而丰富的组件,同时又 增加了一些新的特性,如企业应用的 mda 开发,可视化的快速 web 开发,免费的 datasnap 多层应用开发以及基于 windows xp 的应用。 microsoft sql server 2000 是 microsoft 在 sql server 7.0 基础上推出的新一代大型电子商务、数据转换服务、数据仓库服 务等方面引入了大量新的特性,为 web 标准提供了大量支持,并 为系统管理提供了许多有力的工具。 第 5 章 数据库设计 5.1 数据库设计遵循的一般原则 数据库设计是构建一个系统的关键。这是因为数据库设计的优 劣将直接影响系统数据的安全性、可靠性。在数据库的设计过程 中,需要遵循的一般原则是: (1) 、数据库各表的设计要反映现实中的事物。数据表中的字 段类型和大小要符合使用习惯。 (2) 、减少数据库的冗余和数据的不一致性。数据库应用的一 个特点是对数据库的频繁操作,每次操作可能只会涉及一个表, 也可以同时涉及多个表,也有可能对一个数据表进行多个操作, 在这种情况下,由于数据冗余和数据不一致时,可能会引起错误。 (3) 、要有助于提高数据处理速度。程序访问数据库的速度依 赖于硬件的速度,数据量的大小和数据表设计的优劣,而前两个 因素是很难更改的。 (4) 、要保证数据库的安全。安全性是数据库应用软件的重要 要求。 5.2 数据库需求分析 根据数据流程图(图 3-2,3-3,3-4) ,可以列出以下管理系 统所需的数据项和数据结构。 1、 出勤记录:记录号、员工、出入情况、出入时间。 2、 请假记录:记录号、员工、假期起始时间、假期结束时间、 请假原由。 3、 加班记录:记录号、员工、加班时间长度、日期。 4、 出差记录:记录号、员工、出差起始时间、出差结束时间、 具体描述。 5、 月度考勤统计:记录号、员工、年月、累计正常工作时间、 累计请假时间、累计加班时间、累计出差时间、迟到次数、 早退次数、矿工次数。 6、 所需的外部数据支持: (1) 、员工信息:员工号、密码、权限、姓名、部 门、当 前状态等。 (2)部门信息:部门编号、名称等。 5.3 数据库概念结构设计 出勤管理系统的 e-r 图: 密码员工编号 所属部门 图 5-1 出勤管理系统的 e-r 图 请假管理,出差管理,加班管理的概念结构设计基本相同,现 举例请假管理的 e-r 图如下页: m n n 1 员工 员工姓名员工地址 密码 记录 系统管理员 用户权限 用户名 操作 出勤信息 员工编号 出入状态 具体时间 员工姓名 m n n 图 5-2 请假管理系统的 e-r 图 5.4 各数据表的设计 数据库设计是构建一个系统的关键,根据系统各模块的功能和 它们要处理的数据,可以基本确定数据库中各表的字段结构。 本系统采用 sql server 2000 建立数据库。数据库中表结构设 计如下: 表 5-1:attendance 出勤记录表 字段名 数据类型 是否可空 说明 id integre notnull 记录编号(主关键字) person char(6) notnull 员工号(外部关键字) in_out char(1) notnull 出入情况 io_time date notnull 出入时间 表 5-2: leave 请假记录表 字段名 数据类型 是否可空 说明 id integer notnull 记录编号 person char(6) notnull 员工号 start-time date notnull 假期开始时间 end-time date notnull 假期结束时间 reason varchar(10) notnull 请假原由 系统管理员 用户权限 用户名 密码 操作 1 员工 员工编号员工地址 所属部门 密码 记录 请假信息 员工编号 请假开始时间状态 请假结束时间请假缘由 表 5-3:login 管理员用户表 字段名 数据类型 是否可空 说明 username char(10) not null 用户名 passwd char(10) not null 密码 authority char(10) yes 用户权限 表 5-4 : overtime 加班时间 字段名 数据类 型 是否可空 说明 id integer not null 记录编号 person char(6) not null 员工号 wore-hours smallint not null 加班时间 wore-date date not null 加班日期 表 5-5: errand 出差记录表 字段名 数据类型 是否可空 说明 id intger notnull 记录编号 person char(6) not null 员工号 start-time date not null 出差开始时间 end-time date not null 出差结束时间 description varchar(6) not null 具体描述 表 5-6:person 员工个人信息表 字段名 数据类型 是否可空 说明 id char(6) notnull 员工号(主关键字) passwd char(20) notnull 密码 authority char(1) yes 用户权限 name varchar(10 ) yes 姓名 sex char(1) notnull 性别 birthday date yes 生日 departement char(3) yes 所在部门 job char(3) yes 职务 edulevel char(1) yes 受教育程度 specialty varchar(20 ) yes 专业技能 address varchar(50 ) yes 家庭住址 tel varchar(20 ) yes 联系电话 email varchar(50 ) yes 电子邮箱 state char(1) yes 当前状态(t,f) remark varcha(400 ) yes 备注 表 5-7: derartment 部门信息表 字段名 数据类型 是否可空 说明 id char(3) notnull 部门编号 name varchar(20) not null 部门名称 manager char(6) yes 部门经理 intro varchar(4000 ) yes 备注 表 5-8:counter 计数器表 字段名 数据类型 是否可空 说明 id char(1) not null 计数器编号 counter-value integer not null 记数值 description varchar(10 ) yes 描述 5.5 数据库安全 用 delphi 的 dbnavigator、table、dataset 组件来实现多客户 的程序时,向主表插入一条新记录,编辑好后直接提交,往往会出 现线路被占用不能提交数据错误。 在数据库中有一个特定的名词“脏数据” ,用来描述那些被某事 物变更但是还没有提交的数据。那么如何解决用户同时访问数据的 问题呢?总不能因为并发而限制用户的操作吧!并发控制的解决方 案是“锁(locking) ”和事物。 从数据库的角度来看,锁有两种类型:排它锁(exclusive locks,简称 x 锁)和共享锁(share locks,简称 s 锁) 。x 锁只允 许加锁的事物进行操作,其他事物禁止加锁和任何操作。其他事物 必须等待解锁才能继续运行!s 锁可以允许多个事物同时对数据加 锁,如果事物 t 对数据 r 加了 s 锁,那么其他的事物就不能再对 r 加 x 锁这样可以保证其他事物不能修改 r。另外,还有一个加锁的 范围需要考虑,我们可以进行行加锁,也可以进行表加锁,甚至还 可以进行数据库加锁。加锁的范围越大,那么实现就越简单,开销 就越小,数据的并发程序就越底!反之,如果加锁范围越小,那么 实现就越复杂,开销就越大,数据的并发程序就越高! 一般的,考虑到加锁成本和性能,处理少量数据的事物应该尽 可能减少加锁的作用范围,提高数据的并发程度,应该采用行锁, 防止则应该采用表锁等。另外,当一个事物操作完毕的时候,应尽 可能快的解锁。 第 6 章 实现 6.1 用户登陆子模块 设置登陆界面是保障系统安全的一种手段,一般的数据库应用 系统都需要进行登陆才能进入系统。在这个模块里,主要处理用户 输入的用户名和用户密码,程序根据用户名和用户密码进行权限判 断,并进入不同的操作界面。用户登录模块的程序流程图如图 6-1 所示: 用 户登 录界 面如 图 6-2 所示: 图 6-1 用户登陆模块程序流程图 图 6-2 用户登录界面 6.2 主功能模块 系统的主功能模块界面如下图: 图 6-3 系统主功能界面 主功能界面的 formcreat 事件代码为: frmsplash:=tfrmsplash.create(application); frmsplash.showmodal; loginfrm:=tloginfrm.create(application); while n=3 then begin messagedlg(您已经登录失败 3 次,程序将终止 ,mtwarning,mbok,0); close; application.terminate; exit; end else messagedlg(密码错误,请重试,mtwarning,mbok ,0); end; 6.3 时间设置模块 考勤系统的时间设置界面如下: 图 6-4 时间设置界面 修改按钮的 click 事件代码为: var myinifile:tinifile; begin myinifile:=tinifile.create(extractfilepath(paramstr(0)+workplan.ini); myinifile.writestring(workplan,time1,i_time1.text); myinifile.writestring(workplan,time2,i_time2.text); myinifile.writestring(workplan,time3,i_time3.text); myinifile.writestring(workplan,time4,i_time4.text); end; 6.4 考勤管理模块 (1)考勤管理模块的界面如下页图: 图 6-5 出勤记录界面 单个员工的 click 事件代码为: begin t_counter.filter:=id=a; t_counter.filtered:=true; t_counter.open; counter:=t_countercounter_value; inc(counter); t_counter.edit; t_countercounter_value:=counter; t_counter.post; t_counter.close; if i_in_out.itemindex=0 then in_out:=o else in_out:=i; io_time:=strtodatetime(i_io_time.text); t_attendance.filtered:=false; t_attendance.open; t_attendance.appendrecord(counter,person_id,in_out,io_time); end; (2)加班记录与请假记录和出差记录模块: 加班记录与请假记录和出差记录模块界面相同如下: 图 6-6 请假记录界面 考勤修改的按条件检索的 click 事件代码为: begin close; filterstr:=; if seek_by_person.checked then filterstr:=person=+seek_person_id.text+; if seek_by_time.checked then begin if length(filterstr)0 then filterstr:=filterstr+ and ; filterstr:=filterstr+io_time+seek_start_time.text; filterstr:=filterstr+ and io_time0 then begin filter:=filterstr; filtered:=true; end else filtered:=false; open; end; end; 第 7 章 测试与调试 7.1 测试 白盒测试是一种以程序的内部逻辑结构为依据而设计测试用 例的方法,因而又称为结构测试法或玻璃盒测试法。合理的白盒测 试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以 便尽可能多的发现程序中的错误。主要有两种方法:一种是逻辑覆 盖法,另一种称为路径覆盖法。在这里我们采用逻辑覆盖法。 在开发智能考勤系统的时候,我们对系统使用白盒测试技术进 行了全面测试,采取的具体测试思路是: 1. 菜单项测试:为了保证每一项下拉菜单能正确实现系统设计 的功能,我把考勤系统所需的所有信息按出勤、迟到、早退、出差、 请假等分类全部输入到系统中,并对每一个菜单反复进行增加、删 除、修改、打印报表操作,从而保证了菜单项的正确实现。 2. 数据跟踪:完成菜单项测试后,我对系统内的每一个数据进 行了跟踪测试。例如:对考勤管理的“请假”这一项,我首先给其 加一条请假记录:工号:l0002,姓名:刘海柱,和请假起至时间, 请假原因等信息后;然后在查询模块中,分别进行“按工号查询” 、 “按时间查询”和“按时间查询”该项记录;并且在统计模块中统 计“刘海柱”的请假时间、请假次数等依次验证数据流处理的正确 性。 3. 移植测试:我把系统拷贝到其他计算机上运行,看其移植性 能和对环境的要求。 综合测试:在以上测试的基础上对系统功能进行整体的测试, 依此来检验系统功能是否符合设计的要求。 7.2 调试 (1)通过以下具体示例对登录模块进行调试,如图 7-1 所示: 图 7-1 登录模块流程图 满足条件覆盖的测试用例如下: 覆盖 方法 测试路径 次数 = 3 次? 预期结果 s-a-b-d-e-f false 进入系统 s-a-b-c-a-.a-b-c-a-f true 退出系统 条件 覆盖 s-a-.b-d-e-a-b-d-e-f true 退出系统 (2)对考勤管理模块进行调试: 首先是添加考勤记录: 添加数据为:员工编号:l0002,则对应的员工姓名显示为: 刘海柱,选者出入状态:入。点击单个员工按纽,则 出勤记录自动添加一条记录为: 员工编号 出入状态 时间 l0002 i 2005-12-2 8:05 删除记录:选中要删除的记录,点击删除当前记录,则系统自动删 除此条记录,表中不再有相应的记录。 检索记录:可以按照时间或员工编号进行检索。例如:选中时间, 输入时间范围,点击按条件检索,则表中会显示在时间范围内的记 录。选中员工,输入员工编号,点击按条件检索,则表中会显示该 员工的记录。 其它添加出差记录,添加请假记录,添加加班记录的测试方法与添 加考勤记录的测试方法相同。 按照这样的方法对逐一功能进行测试,修改错误的程序代码, 最后完成整个系统的调试。 第 8 章 结束语 8.1 研究成果 通过实施考勤管理系统,初步实现了考勤管理的信息化。以前 的公司单位需要大量的人力记录统计数据和保存 excel 文件。由于 excel 不是关系数据库结构,缺少对数据的约束,因此很容易造成 数据不一致,给查询带来不便。实施考勤管理系统以来,数据实现 集中存储,只需简单的操作即可完成数据的统计和查询工作。 通过数据导出和打印功能,可以直接打印员工的出勤信息和其 它状态信息,为公司单位对员工管理提供数据参考。 系统实现了对员工出勤的记录统计管理,将统计信息备案有利 于考勤管理的安全性。 通过对考勤系统的管理,管理者能够实时查看员工的出勤情况, 请假情况,出差情况,加班情况。及时做出决策和调整,大大提高 了公司单位的工作效率,降低了管理成本。 考勤管理系统作为公司管理者的平台,在实际应用中有其巨大 的发展潜力。除已实现的功能外,还应该继续完善开发工作,如: 如何杜绝员工代打卡现象,如何实现在线考勤等。 8.2 总结与展望 通过这次毕业设计,我大致了解了在进行软件开发工作时的基 本过程,并且从中获得了许多从课堂上学不到的知识和有意义的收 获,其中我对以下几点有很深刻的体会: 1、编程中定义窗体及变量的名称时,一定要规范,必要时加 上注解,不要想当然的定义某个变量,常量等。标准的定义方式, 有助于其他编程人员更容易的看懂程序代码,以便以后进行维护。 2、在工作中要多与小组成员沟通与讨论,这样可以保证系统 整体的一致性,而且也可以互相交流经验,从而充实和提高自己。 3、编程的方法固然重要,程序的使用界面也需要注意美观, 布局要合理,主题要突出,界面要友好,要让使用过计算机的用户 在首次接触到该软件时,感到一目了然,只要简单翻阅一下软件使 用说明书就能了解该软件的大致功能。软件界面的美观对软件的市 场销售及以后的市场生存起着重大作用。 4、在程序编好后,对程序的调试是极其重要的一步,调试程 序的意义在于,可以逐步完善,改正程序中的错误,使程序尽量达 到尽善尽美。在程序调试的过程中,尽量不要以编程者编程时的思 想去调试,要以一个普通使用者的思维去调试。 以上是我在编写程序过程中的体会,在这次毕业设计的过程中 我不仅了解了软件的编写过程,更体会到软件工程的重要性。一个 软件成败的关键在于需求分析和总体设计。从软件工程的角度有以 下几点体会: (1) 需求分析工作是软件开发过程中重要的一步,也是决定 性的一步,是要把用户“做什么”的要求转换成一个软件的逻辑模 型。在实际工作中,由于用户对软件开发的不了解,往往对于软件 所要达到的功能不能完全提出来,软件开发人员要完全了解用户的 需求,要想到用户的前面,把用户没想到的需求也要考虑到。 (2) 在实际工作中往往不能坚持按照软件工程的原则和方法 去做,致使到开发后期,步入十分被动的境地。 本次毕业设计给了我一个实践的机会,锻炼了自己的意志及 适应社会的能力,并且在实践中加深了对理论知识的理解,积累了 编程经验,为毕业后走向社会打下了良好基础。 但是由于时间的仓促和工作经验的不足及其他各个方面的原 因,在软件设计中还有许多有待完善的地方: (1):系统虽然基本实现了考勤管理,但仍不能解决员工的唯 一识别问题,员工仍然能存在代打卡现象。 (2):sql server 数据库使用于规模相对数据比较多的公司, 在数据库安全性上也不是很安全,应该使用安全性较高,管理更方 便的数据库。 致 谢 经过 2 个多月的努力,论文终于脱稿付印了。在此之际,我思 绪万千,心情久久不能平静。回顾两年学习期间的柒佰余个日日夜 夜,自己为有机会在西安交大学习学习。品味百年名校的纯酿,感 受交大学人的精神,不断的在各个方面提升自己并取得了一定的成 果而感到欣慰。欣慰之余,我要向关心和支持我学习的所有领导、 老师和朋友们表示真挚的谢意!感谢他们对我的关心、关注和支持! 在即将毕业离校之际,我要感谢 407,718 宿舍全体同仁生活 上给予我的关心和帮助以及学业上的切磋和指点,感谢计科技 051, 052 全体同学的帮助和勉励。同窗之谊和手足之情,我将终 生难忘! 最后,衷心的感谢我的指导老师周健老师给予我无私的帮助。 你的教诲让我明白了自己的不足,让我明白做什么事都必须有严谨 的态度。你们的言传身教将使我终生受益。还有特别感谢我的小组 成员李晓红、感谢你对我的信任,使得我们顺利的完成了毕业设计 的工作。 路漫漫其修远兮,吾将上下而求索。我愿在未来的学习和研究 过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持过我的所 有领导、老师、同学和朋友! 文献 【1】 delphi.串口通信技术与工程实践赵兰涛 北京:人民邮电 出版社 2004 年 6 月 【2】 sql server 数据库开发培训教程导向科技等著 北京:人 民邮电出版社 2005 年 1 月 【3】 软件工程(第四版) 张海藩 北京:清华大学出版社, 2003 年 12 月第 4 版 【4】 毕业设计指导及案例剖析 赵杰 李涛.北京:清华大学 出版社,2005 年
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年项目管理师高级实践技能进阶指南与题库
- 2025年政府公职人员职业素质提升课程及模拟题答案集
- 2025年机械设计工程师中级面试题集
- 2025年高级养老护理员技能证书考试练习题及答案
- 2025年注册验船师资格考试(B级船舶检验专业法律法规)综合试题及答案一
- 2025年配送计算试题及答案
- 国安公务员面试题及答案
- 英语游戏化教学培训课件
- 贵商银行面试题及答案
- 2025年行业协会法务面试模拟题集
- 《中国成人肥厚型心肌病诊断与治疗指南-2023》更新要点解读
- NB-T 11054-2023 防孤岛保护装置技术规范
- JTGT 5540-2018 公路隧道加固技术规范正式版
- 高一学生职业生涯规划课件
- 口服CCB类药品临床综合评价指标体系专家咨询调查表
- 第四节道亨slw2d架空送电线路评断面处理及定位设计系统部分操作说明
- 测振仪使用方法
- 表- 邻二氯苯的理化性质和危险特性表
- 工程项目全过程造价管理课件PPT超详细
- 成人手术后疼痛处理专家共识
- 读书分享-《教育的情调》
评论
0/150
提交评论