版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、天津理工大学数学与计算机科学学院毕业论文天津理工大学毕 业 论 文题 目:我国信息资源的开发与管理研究专 业:计算机科学 姓 名: 第1章 绪论1.1 背景及目的随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战。并且企业自身人力资源的日益庞大、复杂程度逐渐增强,以前简单的几段文字、几张报表的人机作坊再也无法适应如今企业的人事管理了。而人事管理是企业管理的重要组成部分,是企业在激烈竞争中赖以生存和发展的基石。然而传统的人力资源管理面临跟不上时代步伐,作用和重
2、要性日趋减弱的命运。建设一个科学高效的信息管理系统是解决这一问题的必由之路。人事管理系统便是在这种状况下应运而生的,它是运用各种领域的知识,结合计算机科学而开发的人事信息管理系统,科学合理的来管理企业人事信息档案及扩充的人力资源管理系统是企业运用现代化技术创造更多更高的经济效益的主要因素之一。经过周密的需求分析和详尽的周密的需求分析和详尽的研究,我们决定,后台设计使用对数据库设计和访问能很好的实现数据的正确性、完整性、一致性,同时对数据的冗余性可以进行很好控制的SQL Server 2000,前台开发使用面向对象的能方便简洁操纵数据库的Delphi 7.0,在短时间内建立系统应用原型,对初始原
3、型系统进行需求迭代,不断修正和改进,最后设计成一套功能强大、操作简单而又实用的,具有较大的灵活性和可扩展性,能够满足客户在人事管理方面更多个性化的需求的用户满意的人事管理系统。目的主要是为了实现企业的人事管理系统化、规范化和自动化,为产品的成本减少人工费用,提高人力资源,管理的信息共享程度,加快信息的提取和统计。1.2 国内外研究现状及相关领域中的已有研究成果据统计,在计算机应用发展较快的国家中,计算机应用于经济管理和人事管理占80%;用于科技计算的占8%,用于生产过程控制的占12%;由此可以看出,经济和人事管理是计算机应用的主要领域。并且,人事管理是企业管理的重要组成部分,是企业在激烈竞争中
4、赖以生存和发展的基石,也直接和间接的影响着经济的发展。由于种种原因,我国的信息资源建设包括人事资源管理的建设水平远远落后于信息基础设施的建设的水平。长期以来,我国信息资源的开发管理未能与信息资源的增长同步进行。我国在全国范围内推广计算机在管理中的应用,是在80年代初开始的。虽起步虽晚,但发展快。另外,我国改革开放的策略的实施改变了我国原由的社会经济形态,也给企事业单位的人事管理带来了挑战。跨地区、跨国企业的不断增多,企业的员工呈现出分散化、个性化的趋势企业的员工呈现出分散化、个性化的趋势,为了满足知识员工个性化的需求,传统人力资源管理的许多职能如招聘、培训、激励、考评以及工资福利的制定与执行已
5、经变化很大,对知识员工或小团队进行有针对性地“量身定做”个性化的人力资源管理“套餐”成为人力资源管理创新的趋势之一。1.3 课题的研究方法在设计系统时,我们本着软件开发的最主要的三个原则。a)整体性原则。系统是相互联系,相互作用的诸要素组成的综合体。我们必须从整体和各组成部分的相互关系来考察事物,从整体目标和功能出发,正确处理系统各组成部分之间的相互关系和相互作用。b)分解协调原则。就是把复杂问题化成若干相对简单的子问题以方便求解。若子系统的问题比较复杂,还可以再分。但在处理各类子问题时,必须根据系统的整体功能和目标,协调各子系统的行为、功能与目标,以保证整体功能目标的实现。c)分解协调原则。
6、所谓目标优化原则对简单系统来说,求的是最优解,对复杂系统来说,求的是满意解。一定要注意,目标优化原则并不简单是求最优解的问题。当然,以上并非是全部的原则。在处理实际问题时,还需在这些原则的指导下,根据问题的特点,确定求解的具体方法和策略。具体实现时,我们在一台计算机上利用新一代高性能数据库管理系统Microsoft SQL Server 2000建立人事管理系统的(Personnel Management System)数据库,让局域网中的其他计算机通过ADO的方式访问数据库。所应用的程序实现语言为面向对象的Delphi 7.0。在现实时将系统定位于C/S结构的数据库应用系统,在设计过程中采用
7、了瀑布模型作为本系统的设计模型。数据库的采用并发为用户提供数据共享的环境,具有较小的冗余度和较高的独立性,并可确保数据的安全、一致和完整。1.4 论文的构成及研究内容本人结合人事开发的要求,对MS SQL Server 2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对人事管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。 首先对数据库应用系统开发和人事管理系统进行了简明的介绍,并分析了人事管理系统所应进行的工作。然后对数据库的设计和SQL语言的使用进行了系统分析,接数据库应用打下了基础
8、。接着对具体的开发工具Delphi 7.0,对其数据库组件,SQL语言在Delphi中的应用等数据库编程关键技术进行了系统的介绍。然后分析了人事管理系统的应用需求,按照各个模块的功能进行了分析,给出了数据流程图。 另外介绍了我设计的各个模块窗体,最后是系统测试,以及经过测试所得的结论,还有做这次设计的心得和体会。第2章 总体方案设计与选择的论证2.1 体系结构的设计与规划毕业设计课题内容是,在Windows XP环境下用Delphi 7.0结合最新一代高性能数据库管理系统Microsoft SQL Server 2000开发的人事信息管理系统。采用基于SQL Server 的分布式数据库管理系
9、统。设计的过程包括:1. 规划阶段此阶段首先进行企事业单位进行调查,以了解企事业的人事组织结构,由此画出管理系统层次图,然后进行数据库的可执行分析,写出可行性分析的分析报告,同时组织小组成员讨论其可行性,最后确定数据库系统的总目标和制定项目的开发计划。其管理层次流程图如图2.1所示。图2.1 顶层数据流程图2. 需求分析阶段企事业单位为了对员工信息进行信息化管理,要求所有业务均采用电脑办公,对各个部门人力资源信息统一管理和查询,以员工工作的统一进行和管理,实现人事管理系统化、规范化和自动化,为产品的成本减少人工费用,提高人力资源,管理的信息共享程度,加快信息的提取和统计。具体要求如下:(1)必
10、须保证系统的正确性和实用性:系统的各个功能必须达到人事管理的要求,起到应有的作用。(2)必须保证系统的易用性:界面要求简单明了,按钮统一排放,常用按钮要位于习惯操作的位置,且各个按钮的位置跳动不宜过大。(3)必须系统保证的安全性:系统的使用权限管理,防止非操作人员操作本系统,数据必须加锁,以防止不必要的修改。(4)必须系统保证的可扩展性:系统必须保留足够的功能接口,以便以后业务发展的扩展。(5)工资管理要和考勤管理挂钩,实现管理的人性化,智能化。3. 概念设计和逻辑设计及物理设计阶段设计数据库系统,且在数据库设计过此阶段产生反映信息需求的数据库概念结构,然后转化为DBMS能处理的模式,并对模型
11、进行评价和性能测试,消除由于物理结构改变而引起的对应用程序的修改,以免造成在程序设计阶段修改应用程序的麻烦。4. 数据库的实现以及运行和维护程中不断的评价,调整和修改以期设计出各个方面都达标的使用系统。A) 系统要求本价段主要进行人事管理系统的客户需求分析和实施的可行性分析,做出系统实施的行与不行的决策。经分析客户需求运用现有计算机技术完全可行。B) 软件概要设计人事管理系统的业务数据流向对系统整体进行规划,画出了业务数据流程图。软件详细设计在概要设计的基础上对业务流程的各个环节做出了具体的设计方案,将整个业务划分为:员工信息管理、招聘管理、工资管理、考勤管理功能模块四个模块,另外增加了用户管
12、理模块、数据库维护模块,共六个模块。C) 模块编码在详细设计的基础上分别进行每一个模块的界面设计和代码编写,并进行调试直到调试正确无误。D) 模块耦合将编写好的各个模块组合起来,编写系统的驱动模块和桩模块,对模块组进行统一测试。E) 完整系统联调(功能测试)针对企事业单位对员工管理的需要对系统进行功能级的测试,找出与业务不相符合的功能部件,逐个修改后再次测试。F) 完整系统联调(性能测试)在功能达到要求的基础上对整个系统的性能进行测试,力求系统高效无误地运行。2.2 系统方案论证1. 软件定义 数据库设计所要的解决的问题是:对于一个给定的应用领域,设计优化的数据库逻辑和物理结构,使之满足用户的
13、信息管理要求和数据操作要求,有效地支持各种应用系统的开发和运行。数据库设计的目标是为用户和各种应用系统提供一个高效的运行环境。而数据库的设计可以视为如下的优化问题。a) 计算机的软硬件环境;b) 数据库管理系统的能力;c) 用户的操作要求与信息要求;d) 完整性和安全性约束。2. 分布式结构的原理基于SQL Server 的分布式数据库管理系统。这一般有两层C/S和三层C/S结构两种模式。两层C/S结构是在网络基础上,以数据库管理为后援,以计算机为网上工作站的一种系统结构。该结构的关键在把网络环境上的数据库存取和应用程序一分为二,分别由网上的数据库服务器和网上客户来执行。虽然本系统C/S是建立
14、在LAN的基础上,但它比以往的文件服务系统有了很大的改进。首先,它消除了不必要的网络传输负担;其次,它可以使作为数据库服务器的计算机被高度优化,以适应数据处理的需要。C/S已经能够应用于复杂的网络上,并使之能够更有效地进行选择、检索、索引排序等数据处理。作为一种高级的分布式计算机环境、C/S有足够的能力把处理后的结果(不是整个文件)通过网络传输出去,并根据用户需求灵活地配置各种大、中、小型计算机系统。三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于
15、业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、定性和效率都比较好。(其结构如图2.2所示)图2.2 三层C/S结构由于本系统用于各大中型企业和各级行政部门,故在实现时将我们系统定位于C/S结构的两层数据库应用系统。其原理就是将服务器端和数据库端合为一体。原理如图3.2所示。图2.3 两层C/S结构第3章 系统设计3.1体系结构设计 1.系统概述人事管理系统是一个能对各企事业单位员工的信息进行统一管理、查询和汇总统计的C/S结构两层网络数据库应用系统。它通过分散运行于各个部门的前端处理软件“信息管理系统”和服务器
16、端运行的数据库管理系统(DataBases Manage System)-SQL Server 2000的两级工作模式来实现信息管理需求。业务数据处理主要集中于前端处理软件,而服务器端只负责数据的存取、管理及备份。前端处理处主要通过四大模块即:员工信息管理、招聘管理、工资管理、考勤管理功来实现。人事管理功能模块主要实现人员基本信息的数据输入和规范化管理,使企业高效率地完成劳动人事管理的日常业务; 考勤管理功能模块主要实现企业的考勤管理系统化、规范化和自动化,收集时间数据,自动地对数据进行分析和处理,如缺勤、迟到、早退,法定假期等意外情况进行管理。 2.设计约束系统的正确性:系统的各个功能必须确
17、为企事业单位的业务要求,数据处理方式必须与现有的工作方式相符,且必须正确无误。系统的效率(性能):由于系统是基于网络的应用,多用户同时操作的可能性相当大,必须以事务的形式处理每一笔数据,且要急时终止已完成的事务,以提高数据处理速度。系统的易用性:界面要求简单明了,按钮统一排放,常用按钮要位于习惯操作的位置,且各个按钮的位置跳动不宜过大。系统的安全性:系统的使用必须用权限管理,防止非操作人员操作本系统,数据必须加锁,以防止不必要的修改。系统的可扩展性:系统必须保留足够的功能接口,以便以后业务发展的扩展。系统的兼容性:系统必须附带所有必需的链接库,以确保在不同的机型上正确无误的运行,而无须再次注册
18、其它DLL文件。3.设计策略由于采用各部门联网操作,决定了本系统必须着眼于客户端/服务器的工作模式,服务器端运行数据库管理系统(DBMS),客户端运行于各分工会和民政部门,将数据统一保存到服务器端。这样既可解决员工信息数据的一致性,又能将员工考勤和员工工资管理挂钩,能更人性化的管理员工的信息。为了尽可能提高数据完整性,系统引入了事务控制,以事务的形式将数据写入数据库,若任何一个写入环节出错整个事务将被回滚,使数据库恢复写入之前的状态。对于客户端和服务器端如何建立连接实现数据存取,本系统采用了ADO(ActiveX Data Objects)对象,其原因是:(1)它不需要专门的数据引擎。(2)访
19、问速度快。(3)数据库连接方便,不必在本机建立数据源。(4)能实现C/S结构的需要。4.软件环境a) 操作系统Windows提供了一个统一的图形用户接口界面,也提供了大量API(应用程序编程接口)函数用于Delphi程序设计和图像处理,是大多数开发平台的核心所在。本系统开发采用的是Windows XP Professional + SP2 操作系统。b)数据库管理系统本系统选用了Microsoft SQL Server 2000,原因是 SQL Server 2000 是Microsoft公司推出的最新一代关系型数据库管理系统,它从最初的版本到今天,已经积累了足够的数据库技术和经验,由于它易学
20、易用,功能强大,因此深受广大用户,尤其是一些网站级、企业级用户的青睐。运用SQL SERVER能帮助用户快速方便地开发出基于SQL SERVER 的性能优越、稳定、高效的数据库应用程序。c)开发工具考查了各种数据库开发工具,最后决定选用Delphi 7.0。Delphi 7.0是Borland公司最新推出的一种基于C/S体系的Windows快速应用开发工具(RAD,Rapid Application Development)。自从推出之日起一直受到广大编程人员的青睐。它是一种面向对象的可视化编程工具,既具有可视化的优越性,又结合Object Pascal语言的编程技巧,可以开发出功能强大的Wi
21、ndows应用程序和数据库应用系统。5.硬件配置CPU:Pentium 111 900或以上(服务器)内存:256M或以上(服务器)硬盘:2GB以上(服务器)CPU:Pentium 300(客户机)内存:64MB或以上(客户机)硬盘:200MB以上(客户机)显示器:VGA或更高两块网卡,一块安装在本机上,另一块安装在服务器3.2 关系数据库和SQL语言关系数据库已经成为名副其实的数据库技术的代名词,我们能够接触的决大部分数据库都是关系数据库。为了操纵关系数据库以及其中的数据,经过长时间的演化,结构化查询语言(SQL )已经成为一个事实上的标准。3.3 基于ADO的数据库连接ADO是Micros
22、oft提供的通过封装OLE DB技术得的一种狼藉数据库的更完善的方式。Delphi提供了读ADOD的封装。1.连接数据库Delphi提供了ADO技术的数据库连接和操作的系列组件。其中实现数据库连接功能的组件TADOConnection用语简单结构的数据库应用程序中即与数据库服务器仅仅保持简单C/S模式结构的应用程序使用TADOConnection直接建立与数据库服务器的连接,从而形成简单的C/S模型。在基于ADO技术的简单数据库应用程序中,由组件TADOConnection常见的对象将处于最底层,其他所有数据库功能组件将调用它的服务。实际上,Delphi只为数据库维护一个连接,即建立多个TAD
23、OConnection组件对象将是徒劳,但并不会增加程序的负担,这样做的唯一好处,就是使用编写程序代码更加方便而已。2.访问数据应用程序可以通过调用 Delphi提供的一些数据集组件,而获得数据库的数据,从而可以浏览或者修改数据库中的数据。在基于ADO技术的组件中,delphi共提供了四种类型的数据集组件,它们包括了TADODataSet,TADOTable,ADOQuery和TADOStoredproc等。其中前三者可以用来提供对数据库中的一个或者多个数据表做快照后的结果,从而允许应用程序迅速查看数据库中的一个或者多哥数据表中的数据。如果再结合Delphi提供的TDBEdit、TDBGrid
24、等数据感知组件,应用程序还可以非常容易地实现修改数据库中数据的功能。除了能够用来查看或者修改数据,ADOQuery和ADOStoredProc组件还可以用来做其他各种操作。3.操作数据库Delphi提供的Query用来针对数据库执行SQL语句,或者执行在数据库中已经建立的存储过程。4.数据库程序结构基于ADO数据库连接技术的数据库应用程序必须具有数据库连接组件、数据集组件、数据感知组件和其他一些用来执行数据定义功能的组件,从而构成完整的数据库应用程序。如图3.1就是典型的数据库应用程序结构。图3.1基于ADO数据库连接技术的数据库应用程序结构5.连接用户数据库在组件面板上有ADO组件页,其中前
25、6个是ADO组件。如下图:图3.2 ADO组件页如何使用ADO和所做所建立的数据库进行连接呢。以我们所做的设计为例子。login窗体上放置一个Adoconnection1组件,双击它,将会出现下图。点击“Build”按钮,将打开数据连接属性窗口如下图。其中有四个页面,在第一个“提供者”页面中,列出了可以使用的各种驱动数据库驱动。对于我们的SQL创建的数据库库来说,用Microsoft OLE DB Provider for SQL Server驱动即可。 选择完毕数据库驱动后,点击“Next”按钮,到连接页面。在这里输入或选择数据库,这里我们查找选择数据库为我们事先在SQL中建立好的rensh
26、iguanli系统。如果数据库有密码,可以为可将“空白密码”复选框去掉选择,就可以输入密码,选中“允许保存密码”这样以后就可以无需再输入密码了。接下来可以点击“测试连接”按钮,如果提示“测试连接成功”那么说明数据库可正常连接上。在“高级”页面中选择访问权限为“ReadWrite”。在“所有”页面中显示的是用户目前设定的连接属性,用户可以再修改。点击“确定”按钮后返回到上图,这时可以看到属性设定字符串已经自动生成,点击“OK”按钮返回即可。再把ADOConnection1组件的LoginPrompt属性设定为false,这样以后程序在运行时就不会弹出密码输入框了。但如果你的数据库有密码且在上面的
27、“连接”页面中没有输入密码没有选中“允许保存密码”,连接页面如下图。6.使用数据集组件虽然,前面已经建立了与服务器的连接,但是这并没有直接提供访问数据库中的数据的能力,还需要使用数据集组件才能够直接读取或者修改数据库中的数据。a.建立数据表中的映射。Delphi提供了一个访问数据库数据最直接的方法,那就是为数据库中数据表直接建立映射,从而可以直接访问数据库中的数据。TADOTable,TADOQuerry就是用来建立直接数据映射的组件。 b.访问多个数据表TADOTable组件只能用建立与数据库中某个数据表的影射,因此只能访问某个数据表中的数据。如果需要同时访问数据库中多个存在关系的数据表中的
28、数据。那么必须使用TADOQuery组件,它可以以SQL语句的形式指定可以访问的数据,而SQL语句就可以用来连接或者包含多个数据表。当然使用TADOQuery组件时就需要为其指定可以返回一定数量结果的SQL语句。由于这个原因,我们一般不能时刻将TADOQuery的active设置为true,一打开这个数据集对象,而必须在应用程序执行时,使用代码根据实际的需要打开这个数据集对象。第4章 数据库设计根据对系统需求的分析和基于C/S开发模式的需求,数据库采用Microsoft SQL Sever2000,它完全可以适合本系统的工作需求,它所支持的字段数据类型包括数值、字符、日期时间以及二进制和图片等
29、类型,十分丰富,是当前基于C/S的主流数据库产品之一。它还具有性能稳定,便于操作维护和具有很好的安全可靠性等特点,是作为服务器端数据库平台的理想选择当然,这些表之间都存在着联系,如员工意外情况表和员工信息表,工资设定表,月底统计表等,都可以通过员工号进行联系。根据系统功能模块的设计以及规范化的要求,该系统的数据库中主要的表结构设计如表4.1-4.5所示。表4.1 考勤时间设置字段名称数据类型字段属性字段大小作用必填字段Swsbtimesmalldatetime4上午上班时间是Swxbtimesmalldatetime4上午下班时间是Xwsbtimesmalldatetime4下午上班时间是Xw
30、xbtimesmalldatetime4下午下班时间是Wssbtimesmalldatetime4晚上上班时间是Wsxbtimesmalldatetime4晚上下班时间是表4.2 员工意外情况表字段名称数据类型字段属性字段大小作用必填字段YnoNvarchar25员工号是YnameNvarchar25姓名是YsexNvarchar4性别否YbumenNvarchar50部门是ChidaocsInt4迟到标志否ZaotuicsInt4早退标志否FadingjiaqisInt4假期中否YcqkInt4异常情况否YfNvarchar4度假标志否YtimeNvarchar25时间是YdateNvarc
31、har25日期是字段名称数据类型字段属性字段大小作用必填字段YgnoNvarchar25员工号是YgbumeNvarchar25部门是YgzhiweiNvarchar 25职务是YggonglingNvarchar25工龄是YggongziNvarchar25工资是YgjiangjinNvarchar25奖金是表4.4 工资设定表字段名称数据类型字段属性字段大小作用必填字段YnoNvarchar25员工号是YnameNvarchar25姓名否YsexNvarchar25性别是YbumeNvarchar50部门是yzhiwuNvarchar25职务是YgzzongerFloat4工资总额是Yko
32、uchugzFloat4扣除工资是YshijigzFloat4实际工资是表4.3 月底结资表MonthNvarchar25月份是第5章 模块设计人事管理系统的功能模块主要有五大部分、员工信息管理、招聘管理、工资管理和考勤管理。结构图如5.1所示:图5.1 人事管理系统结构图5.1考勤模块考勤模块的主要功能是根据设定的考勤参数(上下班时间),确定员工的出勤情况。在设计确定员工出勤情况的实现上,开始时是准备在这个模块上设计一个模拟员工刷卡考勤系统:由系统智能的确定和存储员工的出勤情况。但因为实现起来比较复杂,调试过程中出现错误加上时间仓促,最终是用考勤登记模块代替。由管理员根据考勤参数,在系统中存
33、储考勤异常情况(迟到,旷工等)。对考勤情况的操作还包括修改,删除,按员工号,姓名,部门,月份等进行查询和统计。数据流程图如图5.2所示。图5.2 考勤模块数据流程图5.2工资管理模块工资模块的功能是根据员工的工龄,部门,职位等因素设置员工的工资和奖金,并参照员工的出勤情况,对所需发放工资进行智能的计算,并可以按员工名,员工号,月份等因素对工资情况进行调薪管理,查询和统计。数据流程图如图5.3所示。图5.3工资管理模块数据流程图第6章 窗体设计6.1 考勤参数设置窗体此窗体主要是设置考勤时依据的参数,即上下班时间,以此来判断员工的出勤异常情况(包括迟到、早退、缺勤、请假、和法定假期中)。所用主要
34、组件的主要属性如表6.1所示。表6.1 设置窗体和加入窗体的主要组件的属性以及说明组件名称属性说明labelTransparent若设置为True,则标签是透明的TimeClickKind若设置为dtkTime,则按时间格式显示Date用来设置日期的初始值Time用来设置时间的初始值TbitBtnDefault可设置按钮的阴影效果,美化按钮Glygh可为按钮增加图片Layout设置为blGlyphLeft图片在字体左边ImageStretch设置为True,可以加入的背景图片等比例放缩考勤参数设置的工作流程图如图6.1 所示。图6.1 考勤参数设置的工作流程图考勤参数的设置的界面如图6.2所示
35、。图6.2 考勤参数设置的界面6.2 考勤登记窗体考勤登记窗体主要是登记员工的出勤情况,并将所有的情况记录到员工意外情况表中,以待计算和汇总员工的工资情况。设置窗体时用到了一个与时间、日期有关的对象(Delphi中主要的与日期、时间有关的对象共三个,在我们的设计中全部用到了):DateTimePicker控件。Time控件可以实现日期和时间的快速输入和查看。DateTimerPicker空间有两种选择日期的形式,分别对应于其DateMode属性的个选项:dmComboBox(组合框格式)和dmUpDown(下拉格式)。本设计中用的是dmComboBox(组合框格式)。DateTimerPick
36、er控件的常用属性有Date,DateFormate,DateMode,Kind,MaxDate,Mindate,time等。在使用DateTimePicker组件时应注意,如果Kind属性为dtkDate,则输入的是日期,如Kind属性为dtkTime,则输入的为时间。要读取DateTimePicker控件的日期或时间,直接用Date,Time属性就可以了。如果将其在编辑框中显示,必须首先使用转换函数DateToStr,TimeToStr将其转化为字符串型。我一开始设计时就是把DateTimePicker控件拖得很短,然后在其中增加了一个文本框,从外表看和现在的设计一样,但DateMode设
37、置为dmUpDown(下拉格式)。然后又使用了DateFormare函数返回时间。procedure Tfrmkqsettime.timeclick2CloseUp(Sender: TObject);beginedswxbtime.Text:=formatdatetime(hh:mm:ss,timeclick2.DateTime);end;/ edswxbtime是返回上午下班时间的文本框设置窗体时所用主要组件的主要属性如表6.2。表6.2 考勤登记窗体所用主要组件的主要属性组件名称属性说明TComboboxItems设置列表框中的字符串,每一项是一个字符串Text设置或返回编辑框的主要内容。
38、Style设置组合框的风格。本例中用CsDropdownKqdj(TADOQuery)Connection设为login.ADOConnection1与数据库连接SQL(TStrings)设置为select * from 员工意外情况表DataSource1DateSet在下拉菜单中选择kqdj,指定源泉数据源DBGrid1DataSource设置为DataSource1数据表“员工意外情况表”与控件的连接情况如图5.3所示。当TADOQuery控件kqdj的Active属性决定了数据表与空间是否建立逻辑上的连接,只有建立了逻辑上的连接后,才能通过控件操纵数据表中的数据。如图6.3所示。图6.
39、3 考勤登记窗体中数据集、数据源和数据控件的关系示意图考勤登记窗体的工作流程如图6.4。图6.4 考勤登记的工作流程图Active属性值的确定有2种方法,在设计期间,可在Object Inspector中单击kqdj的Active;在运行期间可以执行语句:kqdj.Active:=true;或kqdj.Active:=false;考勤登记窗体的界面如图6.5所示。图6.5 考勤登记窗体的界面显示时间的代码为:procedure Tkqzlweihu.Timer1Timer(Sender: TObject);beginlabel9.caption:=datetostr(monthcalendar
40、1.date)+ +timetostr(time);end;6.3 异常情况查询窗体异常情况查询窗体的主要功能是查询员工的出勤异常情况,并将其显示在查询结果区域中的表格中。所用主要组件的主要属性如表5.3所示。表6.3 异常情况查询窗体所用组件的主要属性组件名称属性说明TEditComboBoxBevelEdge设置编辑框边框的风格TBitBtnKindbkCustom铵钮对应的位图为用户自定义类型BkClose铵钮对应的位图为Close铵钮类型异常情况查询窗体的界面如图6.6所示。图6.6 异常情况查询窗体的界面ComboBox1下拉菜单显示主要代码为:procedure Tkqyichan
41、gchaxun.FormShow(Sender: TObject);beginwith rsgl.ygxinxi dobegin if not active then /判断是否为活动连接 active:=true; first; while not eof do begin ComboBox1.Items.Add(fieldbyname(yno).AsString); next; /下移动符值 end;end;6.4 考勤资料统计窗体考勤资料统计窗体的主要功能是按月份,按姓名和月份,按部门和月份统计员工的出勤情况,将其显示到下面的表格中。本例子中主要用到CheckBox复选按钮和RadioB
42、utton单选按钮两个组件。一般将使用时将它们置入一个分组框组件中。它们都可以直观的表示表示某个选项能否被选中。不同的地方是,单选框表示的选项是互斥的。如果一组选项中有一个选项被选定,则该组的其他选项将处于为选中状态。CheckBox组件有一段文字和一个小方框组成,用鼠标单击CheckBox组件的小方框,无论是从选中到未选中还是从未选中到选中都会触发一个OnClick事件。RadioButton组件由一段文字和一个小圆圈组成,鼠标单击小圆圈,只有当单选框被选中时才会触发一个OnClick事件。这两个组件的主要属性如表6.4和6.5所示。表6.4 CheckBox组件的主要属性属性说明Align
43、ment设置单选框的文字与小方框的位置关系。Checked设置或返回复选框是否被选中。True表示被选中,State=cbChecked,用a标记。False表示未被选中,有两种情况:State=cbUnChecked,不用a标记;State=cbGrayed,用“变灰”标记AlowGrayed这个属性设置为True时,复选框处于选中但变灰状态。表6.5 RadioRutton组件的主要属性属性说明Alignment设置单选框的文字与小方框或的位置关系。Checked如果设置为True,则表示选项选中;否则,表示未被选中考勤资料管理窗体的界面如图6.7所示。图6.7 考勤资料管理窗体的界面6.
44、5 部门资料管理窗体考勤部门资料管理窗体的主要功能主要是根据部门这个参数查询你所要查询部门的全部员工的信息。部门资料管理窗体的界面如图6.8所示。图6.8 部门资料管理窗体6.6 部门设置窗体本窗体是界面如图6.9所示。图6.9 部门设置窗体界面6.7 日历查看窗体日历察看窗体的功能比较简单。就是给用户提供日历,可以显示当前的日期和时间给员工考勤提供方便。本窗体用到了Delphi中其中的又一个最重要的日期、时间有关的对象(前面已经简单列举Timer的主要属性) MothCalendar控件。MonthCalendar控件在运行时与前面所用到的组合框搁置的DaeTimerPicker控件几乎相同
45、,用法也差不多,只是MonthCalendar控件对象不能选取时间,仅能选取日期。MonthCalendar控件的常用属性有CalColors,MaxDate,MinDate,FistDayofWeek,ShowToday,ShowTodayCircle,WeekNumbers等。其中WeekNumbers用来显示从当年元旦开始到某个星期是第几周。ShowToday和ShowTodayCircle分别用来显示和用红笔圈出今天的日期。这里还用到了一个中要的组件SpeedBotton,它的Flat属性设置为True,就可以透明了。属性Glyph可以给按钮增加位图。图6.10 日历查看窗体界面6.8
46、 员工工资设定窗体员工工资设定窗体主要是设置员工的工资,奖金情况,并把它们存储到“员工工资设定”表中,当然也可以对表中的数据进行删除和修改。这里有个异常处理,如果存在相同的员工号,则不能对员工的工资情况进行录入,但可以修改。在工资设定窗体中所用的组件在介绍其它窗体时都已经介绍,这里只说一个组件的应用技巧,这个组件在每个窗体中都有用到,这就是Image组件。在应用时可以先通过设置Picture属性选择图片,选择的图片的大小可能与窗体所需要的大小并不是一样,这个时候,如果不处理,对窗体美化效果可能起反作用。这个时候可以设置Stretch的属性为True,这个时候就可以对图片进行拖大或缩小了,然后,
47、设置Align是属性值为alClient就可以使图片覆盖整个窗体或你所选择的整个分组框组件了(如Pannel组件)。工资设定窗体的工作流程图如图6.11所示。图6.11 工资设定窗体的工作流程图工资设定窗体的界面如图6.12所示。图6.12 工资设定窗体的界面6.9月底结资管理窗体月底结资窗体的主要功能是和工资计算窗体一起作用把员工工资发放情况录入到“月底结资”表中,并可以显示到窗体下面的表中。计算按钮就是用来调用工资计算窗体的。注意:本窗体的录入按钮的作用只是将员工的编号,部门,姓名,性别,职务录入到“月底结资”表中,而工资计算窗体则用修改表中数据的方式追加月份,工资总额,扣除工资和实际工资
48、等字段的数据。本窗体的功能流程图如图6.13 所示。图6.13 月底结资管理窗体工作流程图月底结资管理窗体的界面如图6.14所示。图6.14 月底结资管理窗体界面6.10 员工工资计算窗体员工工资计算窗体的主要功能是依据员工的工资设定情况、考勤情况和工资计算的条件,对员工的工资进行核算,并可以通过确定按钮将核算的情况保存到“月底结资”表中。要特别交待一下,在这个窗体中,有用到了前面所提及员工“员工意外情况表”。因为在设置考勤登记时,为了显示每一个员工每一次出勤的登记的情况,所以不便在“员工意外情况表”在chidaocs,kuanggongcs,qingjiacs,zaotuics等字段设置迟到
49、次数,缺勤次数,请假次数,早退次数,而是每次在员工出现哪种出勤异常情况时,在相应的字段用1标志。所以,在这个窗体中,就必须的对相应异常情况进行统计。实现语句如下。procedure Tgzjisuan.ComboBox1Change(Sender: TObject);beginwith kqzlweihu.kqdj dobeginclose;sql.Clear;sql.Add(select sum(chidaocs) as cd,sum(zaotuics) as zt,sum(qingjiacs) as qj, sum (kuanggongcs) as kg from where yno=+q
50、uotedstr(combobox1.Text);open;edit1.Text:=inttostr(fieldbyname(cd).AsInteger);edit2.Text:=inttostr(fieldbyname(zt).AsInteger);edit3.Text:=inttostr(fieldbyname(kg).AsInteger);edit4.Text:=inttostr(fieldbyname(qj).AsInteger);end;end;核算按钮的代码如下:procedure Tgzjisuan.BitBtn3Click(Sender: TObject);var gz,jj,
51、cdcs,ztcs,kgcs,qjcs,cdfj,ztfj,kgfj,qjfj:integer;beginwith rsgl.adogzsheding dobeginclose;sql.Clear;sql.Add(select * from 员工工资设定 where ygno=+quotedstr(combobox1.Text);open;if recordcount=0 thenbeginmessagedlg(该员工的工资标准还没定.,mterror,mbyes,0);exit;bitbtn1.Enabled:=false;endelsegz:=fieldbyname(yggz).AsInt
52、eger;jj:=fieldbyname(ygjiangjin).AsInteger;cdcs:=strtoint(edit1.Text);ztcs:=strtoint(edit2.Text); /早退次数kgcs:=strtoint(edit3.Text);qjcs:=strtoint(edit4.Text);edit5.Text:=inttostr(gz+jj);cdfj:=cdcs*10;ztfj:=ztcs*15;kgfj:=kgcs*50;qjfj:=qjcs*gz div 30;edit6.Text:=inttostr(cdfj+ztfj+kgfj+qjfj);edit7.Text
53、:=inttostr(strtoint(edit5.Text)-strtoint(edit6.Text);bitbtn1.Enabled:=true;bitbtn3.Enabled:=false;end;end;本窗体的工作流程图如图6.15所示。工资计算窗体的工作流程图如图6.15所示。图6.15 工资计算窗体的工作流程图6.11 月底统计窗体月底统计窗体的主要功能是按月份统计工资总额,扣除工资和实际工资。并把可以它保存到年底结资表中,以便以后的统计。在这个窗体中,关于计算总额的语句比较重要,它是在ComboBox1的Onchange事件中实现的。代码如下。procedure Tyuedit
54、j.ComboBox1Change(Sender: TObject);beginwith rsgl.ygmonthgzqry dobeginclose;sql.Clear;sql.Add(select sum(ygzzonger) as sumgzze,sum(ykouchugz) as sumkcgz,sum(yshijigz) as sumsjgz from 月底结资 where ymonth=+quotedstr(combobox1.Text);open; /打开数据库open;edit1.Text:=inttostr(fieldbyname(sumgzze).AsInteger);ed
55、it2.Text:=inttostr(fieldbyname(sumkcgz).asinteger);edit3.Text:=inttostr(fieldbyname(sumsjgz).asinteger);end;okbtn.Enabled:=true;end;月底统计界面如图6.16所示例。图6.16 月底统计界面6.12 调薪管理调薪管理窗体的主要功能是根据定义的周期时间,对员工的工龄,工资,奖金等进行修改。它和工资设定一样,都是操作的工资设定表。调薪管理窗体的流程图如图6.17所示。图6.17 调薪管理窗体的工作流程图调薪管理窗体的界面如图6.18所示。图6.18调薪管理窗体的界面第7章 系统测试由于本系统在编码阶段都采用了白盒子测试法对系统各模块进行了仔细的测试,所以在系统集成之后的测试主要又以黑盒测试为主了,测试目标是:(1)功能是否满足需求(2)数据处理是否正确(3)系统是否能在不同的环境下正常工作(4)看系统在输入了不合理数据时候会出现什么样的结果,并由此设计异常处理测试实例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年制衣面料供应居间合同
- 2025版小企业合同管理规范与合同管理信息化解决方案3篇
- 2025年超额展览会保险条款
- 二零二五版新型环保建材采购合同样本2篇
- 2025版企事业单位食堂员工招聘与服务协议3篇
- 2024-2025年中国宽带行业市场评估分析及投资发展盈利预测报告
- 2025版小额贷款合同签订中的合同签订中的合同签订前的准备与协商3篇
- 二零二五年度门面房装修工程设计与施工质量监理合同
- 2025版建筑行业设备托管正规范本3篇
- 二零二五年度游艇俱乐部船舶租赁售后服务合同
- 2024年高考语文备考之常考作家作品(下):中国现当代、外国
- 《装配式蒸压加气混凝土外墙板保温系统构造》中
- T-CSTM 01124-2024 油气管道工程用工厂预制袖管三通
- 2019版新人教版高中英语必修+选择性必修共7册词汇表汇总(带音标)
- 新译林版高中英语必修二全册短语汇总
- 基于自适应神经网络模糊推理系统的游客规模预测研究
- 河道保洁服务投标方案(完整技术标)
- 品管圈(QCC)案例-缩短接台手术送手术时间
- 精神科病程记录
- 阅读理解特训卷-英语四年级上册译林版三起含答案
- 清华大学考博英语历年真题详解
评论
0/150
提交评论