资源描述
- -1毕业设计毕业设计( (论文论文) )题 目 员工工资管理系统员工工资管理系统 2目录第第 1 章章 绪论绪论.51.1 研究课题的背景.51.2 开发工具简介.61.3 数据库管理系统.6第第 2 章章 员工工资管理系统分析与设计员工工资管理系统分析与设计.72.1 应用需求分析.72.2 系统功能模块划分.8第第 3 章章 数据库管理系统设计数据库管理系统设计.93.1 数据库中表的建立和设计.93.2 数据库中各个表的触发器的建立.12第第 4 章章 应用程序设计应用程序设计.154.1 欢迎界面.154.2 登录模块设计.164.2.1 身份验证.164.3 主窗体设计.184.4 信息录入管理窗体设计.194.4.1 录入模块设计.194.5 信息查询管理窗体设计.214.5.1 查询模块设计.214.6 信息修改模块.234.6.1 修改模块设计.244.7 数据导出模块设计.25第第 5 章章 系统测试系统测试.325.1 测试目的.325.2 测试方法.325.3 测试结论.33第第 6 章章 结束语结束语.34致致 谢谢.36参考文献参考文献.37 - -3摘 要企业的员工管理是公司管理的一个重要内容。随着企业人员数量增加,企业的员工管理工作也变得越来越复杂。员工管理既涉及到企业劳动人事的管理,企业财务管理等。员工管理需要和人事管理相联系,同时连接工时考勤和医疗保险等等,来生成企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。早期的员工统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现员工统计错误的现象。早期员工管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业员工管理系统使用电脑安全保存、快速计算、全面统计,实现员工管理的系统化、规范化、自动化。企业员工管理系统是典型的信息管理系统(MIS),前台程序开发工具采用DELPHI,后台数据库采用 SQL SERVER 2000 数据库。DELPHI 开发工具,具有组件丰富、语言简单、功能强大的优点。 SQL 数据库具有与 DELPHI 无缝连接、操作简单、易于使用的优点。运行结果证明,本企业员工管理系统极大提高了工作效率,节省了人力和物力,最终满足企业员工管理等需要,同时也成为现代化企业管理的标志。【关键字】员工信息系统,数据库,工资管理,实体关系图(E-R 图),数据字典,数据流图。Abstract Enterprise staff management is an important aspect of management. With the increase in the number of enterprises, corporate management staff has become more 4and more complex. Both staff management and personnel involved in labor management, enterprise financial management. Staff management needs and associated personnel management, working hours, attendance at the same time to connect and medical insurance, etc., to generate business for each of the basic wages of workers, allowance, medical insurance, insurance, wages actually paid. Early release of statistics and the staff are using artificial methods to deal with paper-based materials, not only the financial officers spent a lot of time and difficult to preserve, often transcription factors as a result of personal carelessness or negligence of the calculation, there is the wrong statistics staff. Early management staff to take paper-based materials and many have strong time constraints. For these reasons, the enterprise management system for staff to preserve the use of computer security, and rapid calculation, comprehensive statistics, staff management to achieve the systematic, standardized and automated. Employee Management System is a typical management information system (MIS), development tools for the future use of DELPHI, back-end database using SQL SERVER 2000 database. DELPHI development tools, has a component rich in simple language and powerful advantages. SQL database with the DELPHI seamless, simple operation, easy-to-use advantages. The results prove that the enterprise management system staff have greatly improved work efficiency, saving human and material resources, and ultimately meet the needs of enterprises, such as staff management, but also become a symbol of the modernization of enterprise management 【Keywords】 staff information system, database, payroll management, entity relationship diagram (ER diagram), data dictionary, data flow diagram. - -5第第 1 章章 绪论绪论1.1 研究课题的背景研究课题的背景借助现代信息技术和管理理论,建立员工管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线” ,因此员工管理是企业的计算机管理信息系统重要组成部分。而员工管理又是人力资源管理的重中之重。实行电子化的员工管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。员工管理信息系统的实现可以减轻比较繁琐的手工员工管理。现在应用在大中型企业的管理信息系统中,几乎都包括了员工管理模块。有些环境中是由作为大型 ERP 软件中的一个模块引进的,有些是作为企业的财务系统的一部分。这些根据规范的西方的管理制度设计的员工管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在员工管理方面的问题。通过在本单位经过一周的调研,并参考其他同行设计员工管理软件,我基本上搞清楚了小型企业对系统的需求,如果能够设计一套针对类似本单位的小型国有企业的员工管理系统特别有意义,并且是现行的其他管理软件代替不了的。在和指导老师多次交流后,确定实现方案的要点和工作计划。本系统的实现的主要功能有:员工信息管理、工资管理、部门信息管理、员工考勤管理等功能。61.2 开发工具简介开发工具简介开发工具采用 Delphi7.0。Delphi7.0 是目前较为广泛的、易学易用的开发工具。Delphi7.0 也提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因此,本系统使用 Delphi7.0 开发。1.3 数据库管理系统数据库管理系统数据库开发工具采用 Sql Server 2000。借助 Sql Server 2000 的数据库管理系统对数据库进行一切操作,包括定义各种更新和控制。在数据库领域中通常把数据模型分为三种:层次模型(Hierarchical Model) 、网状模型(Network Model)和关系模型(Relational Model) 。Sql Server 2000 就是一种关系型数据库管理系统。关系模型是数据库系统中最重要的模型,关系模型中数据的逻辑结构是一张二维表。使用表格来描述实体之间的关系,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。SQL 语言是关系型数据库的标准化语言,已得到了广泛的应用。 - -7第第 2 章章 员工工资管理系统分析与设计员工工资管理系统分析与设计2.1 应用需求分析应用需求分析需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。通常需求分为两种类型:一种是功能性需求,一种是非功能性需求,这一点也需要有一种清楚的认识。功能性需求是指需要计算机系统解决的问题,也就是对数据的处理要求,这是一类最主要的需求。非功能性需求是指实际使用环境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。软件需求一般包含三个层次业务需求、用户需求和功能需求,还包括非功能需求。业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求:描述了用户使用产品必须要完成的任务和具备的功能,这在使用实例文档或方案脚本说明中予以说明。功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足其业务需求。82.2 系统功能模块划分系统功能模块划分开发这个系统的目的就是帮助企业的主管部门提高工作效率,实现企业员工信息管理的系统化、规范化和自动化。能够和工资管理系统、考勤管理系统相结合,真正实现企业高效、科学、现代化的员工管理。系统最终实现的主要功能如图 2-1所示:工资管理系统信息录入信息修改打 印信息查询员工信息录入员工工资录入部门信息录入员工工资查询部门信息查询部门信息修改员工信息修改员工工资修改添加管理员员工信息查询所有员工工资修改打印员工信息打印员工工资图 2-1 系统结构图1)部门管理:能够维护体现部门间的组织关系,反映部门的基本信息,能够进行部门的增加撤消,以及部门信息(如部门名称、负责人名称等)的修改。2)用户管理:能够对系统中已有的用户进行编辑、修改权限或删除,并能添加其他的用户。用户管理是该系统中最为安全的地方,他设置权限问题,不同的权限设置相应的操作权限。这对一个企业来说是至关重要的。是该系统中设置安全问题最为复杂的。3)员工信息的管理:维护员工的基本信息,用户可以进行员工档案信息的录入及更改,其中包括员工的基本信息,要求这些员上档案信息可以进行新增、删除、修改操作,同时可以进行浏览和查询的操作。该模块是本系统的重点,用户可以 - -9通过该模块为单位建立一个比较完整的人事档案系统,同时可以比较方便地对档案进行查看。4)员工工资信息管理:维护员工的工资信息,可以对员工的工资信息进行查找,和相应的新增、删除、修改等操作,同时也可进行浏览查询的操作。该模块也是该系统中设置安全问题比较多的,员工工资直接关系到一个企业财务问题,所以他不允许不具有权限的员工进行修改。同时他的总和是计算机自动计算的,避免了出现不必要的错误。5)员工考勤信息管理:维护员工考勤信息,可以对员工的考勤信息进行修改、添加、删除等操作,同时具备对指定员工考勤信息的查询浏览功能的操作。第第 3 章章 数据库管理系统设计数据库管理系统设计3.1 数据库中表的建立和设计数据库中表的建立和设计所用 SQL SERVER 是一个后台数据库管理系统,它功能强大操作简便,目前很多开发工具都提供了与 SQL SERVER 的接口。SQL SERVER 不但可以应用于大中型数据库管理中,建立分布式关系数据库,也可以开发桌面数据库。SQL SERVER 数据库处理的基本结构,采取关系型数据库模式,但在它的数据库处理方式上,则是使用面向对象的操作方式,也就是说,SQL SERVER 的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当 OO(面向对象)的一个系统结构。SQL SERVER 企业管理器是 SQL SERVER 的主要管理工具,这也是作者在开发这个人事管理系统所用到的一个重要工具。 数据库设计主要是进行数据库逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照 DBMS 提供的功能和描述工10具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型表 3-1 用户表列名数据类型长度是否为空用户名Char10否密码Char10否权限Nchar15否说明:这张表存放的目前用户的权限信息,其中用户名设为主键。每个登录用户必定属于以上一个权限。该权限直接关系到在系统中所具有的权限,并且用户名必须唯一并不能为空。表 3-2 员工基本信息表列名数据类型长度是否为空员工编号Char10否员工姓名Nvarchar10否性别Nvarchar10否出生年月Smalldatetime4否参加工作时间smalldatetime4否部门名称Nvarchar20否政治面貌Nvarchar20否婚姻状况Nvarchar20否说明:员工信息表中包含了员工的基本信息,其中员工编号是该表的主键。字段出生年月和参加工作时间必须按照相应的时间格式(yyyy-mm-dd)进行填写否则将出现字符转换的错误。表 3-3 员工工资信息表(wages) - -11列名数据类型长度是否为空员工编号Char10否时间datetime8否基本工资Int4否岗位工资Int4否住房补贴Int4否津贴Int4否工会会费Int4否水电费Int4否住房公积金Int4否养老保险Int4否奖金Int4否罚金Int4否应发金额Int4是应扣金额Int4是实发金额Int4是说明:员工工资信息表包含该企业所有员工的工资信息,包括每位员工所得得每项奖励和罚款,其中员工编号是根据员工信息表中的员工编号一致的。字段应发金额、应扣金额、实发金额都是根据前面的值进行自己计算的。这就省去了人工计算的麻烦和相应的错误。表 3-4 部门信息表列名数据类型长度是否为空部门编号Char20否部门名称Nvarchar20否12部门负责人Nrarchar20否部门人数int4否说明:部门信息表中包含了改企业中所有的部门和该部门的管理人和名称。其中部门人数是根据员工信息管理中各部门人数自动累加的。3.2 数据库中各个表的触发器的建立数据库中各个表的触发器的建立 触发器是保证数据完整性的有效方法。在很多情况下,用户希望把一行数据插入表中后,某个业务规则能够建立立即执行;或者,用户删除一行数据后,应该立即把其他表中与该行数据相关的数据也删除掉;或者更新某个表中的一条数据后,能立即实现所有相关数据的必要更新。要实现这些目的,一个很有效的手段就是触发器。员工管理系统要求员工信息必须是同步的,当员工信息表中添加员工信息时相应的员工工资信息表、考勤信息表中也应该添加相应的数据。1.当员工信息表中发生变化时,比如删除员工基本信息,对应的员工基本工资信息表里的员工信息也应该删除。这是就需要 delete 触发器:CREATE trigger employee_delete on dbo.员工基本信息表for deleteasdeclare num intselect num=部门信息表.部门人数 from 部门信息表,deleted where 部门信息表.部门编号=deleted.部门编号begin update 部门信息表 set 部门人数=部门人数-1 from 部门信息表,deleted where 部门信息表.部门编号=deleted.部门编 - -13号 delete 员工工资信息表 from deleted where deleted.员工编号=员工工资信息表.员工编号 delete 用户表 from deleted where deleted.员工编号=用户表.用户名end2.当员工信息表中添加员工信息时,部门人数应该增加所以应该有 insert触发器:create trigger employee_insert on dbo.员工基本信息表for insertasdeclare num intselect num=部门信息表.部门人数 from 部门信息表,inserted where 部门信息表.部门编号=inserted.部门编号begin update 部门信息表 set 部门人数=部门人数+1 from 部门信息表,inserted where 部门信息表.部门编号=inserted.部门编号end3.如果部门信息表里记录的部门人数不正确,数据库应该有自动计算出人数并修改的功能,这就需要 Update 触发器:CREATE TRIGGER employee_update ON dbo.员工基本信息表 FOR UPDATEASupdate 部门信息表 set 部门人数=( 14 select count(员工基本信息表.员工编号) from 员工基本信息表,inserted where 员工基本信息表.部门编号=inserted.部门编号) from 部门信息表,insertedwhere 部门信息表.部门编号=inserted.部门编号update 部门信息表 set 部门人数=( select count(员工基本信息表.员工编号) from 员工基本信息表,deleted where 员工基本信息表.部门编号=deleted.部门编号) from 部门信息表,deletedwhere 部门信息表.部门编号=deleted.部门编号 - -15第第 4 章章 应用程序设计应用程序设计4.1 欢迎界面欢迎界面系统启动后,先显示封面,突出系统主题,如图 4-1。图 4-1欢迎界面是系统设计中经常用到的,他利用系统在正常启动所用的时间,而对用户表达本系统的一些相应的讯息,同时解除用户在等待是的无聊时光在 Form1 上放置一 Image 控件,并将其 Picture 属性设置为需要的图片,将此窗体的 Borderstyle、Position 和 FormStyle 三个属性的值设置为bsNone、poDesktopCenter 和 fsStayOnTop,以便使封面窗体没有标题且显示在屏幕中央所有窗口的上方。该登录界面使用 Playsoundplaysound(c:windowsmediaWindows XP 启动.wav,0,SND_SYNC);组件,调用系统音乐主要源码:16Application.Initialize; Application.CreateForm(TForm1, Form1); Form1.Show;Form1.Update; playsound(c:windowsmediaWindows XP 启动.wav,0,SND_SYNC); Form1.Free; Application.CreateForm(TForm2, Form2);4.2 登录模块设计登录模块设计系统封面显示完毕后,系统创建主窗体,即登陆界面。登陆界面包含用户名、密码、用户登录按钮、职工登录按钮,注册按钮,如下图所示:图 4-24.2.1 身份验证身份验证输入:输入用户名称,填写正确的密码。处理:(1) 用户登录窗体启动。 - -17(2) 用户填写用户名并输入密码。(3) 从用户清单表中检查是否有相应的用户名和密码。(4) 如果输入的用户名或相应密码错误,进行提示。(5) 如果输入的用户名和相应密码正确,判断用户的权限并且进入主控制平台输出:主控制平台 除了必要的控件外还需要一数据库控件 TADTable,设置ConnectionString 连接到工资管理数据库。登陆验证部分代码为: form2.ADOTable1.Locate(用户名;密码;权限,VarArrayOf(edit1.Text,edit2.Text,管理员)/Button1 按钮事件(管理员),验证用户登录信息由于管理员和职工进入的主界面相同,所以只需要设置一些按钮的 Enable为 false 即可,这样做减少了窗体,相应的程序所占用的空间也减少。因为“良好的交互性有利于提高人机匹配效率“,所以,除以上代码之外,还需设置提醒信息:如“登陆失败” , “请重新登陆”等字样,这样,出现错误的时候可以友好的提示用户。4.3 主窗体设计主窗体设计用户登录后进入系统的主界面,如图 4-3 所示:18图 4-3在这个项目中,选择使用多文档界面。使用这个窗体的好处是可以使程序更加有条理。对于一个多任务的应用程序,使用多文档窗体还可以减少占用的系统资源。主窗体设计的界面是用菜单编辑器做的,主要信息录入、信息查询、信息修改、信息打印四部分组成。主窗体是进行相关操作的主界面。该界面是系统的主界面,通过主界面进入其他的功能界面。其中用户能够显示登录的用户名而权限显示的该用户所具有的权限。如果是管理员权限能够对整个系统进行所有的操作,而普通用户权限只能进入信息查寻、录入和修改自己的信息。 在住窗体中进入信息录入(员工信息录入,员工工资录入,部门信息录入)时,进入的是同一个窗体(Form4),所以在单击菜单编辑器时就需要用代码对Format4 窗体进行必要的修改,如 Form4 的 Caption,ADOTabel 连接的数据表,还有 Edit 和 Label 的可见度和 Label 的 Caption,Form4 的大小等。 - -194.4 信息录入管理窗体设计信息录入管理窗体设计信息录入窗体员工信息录入,如图 4-4:图 4-44.4.1 录入模块录入模块设计设计该窗体时由三个窗体集合而成 Form5,包括员工信息录入,员工工资录入,部门信息录入三个部分。当员工进入时只能用员工信息录入。其他二个功能的 Enable 为 false 不可用。主要源码:A判断录入信息是否完整:20if (form5.Edit1.Text=) or (form5.Edit2.Text=) or (form5.Edit3.Text=) then showmessage(信息不完整)B连接数据库:if form5.Caption=员工信息录入 then/根据标题确定连接的数据表 begin form5.ADOTable1.Connection:=Form2.ADOConnection1; Form5.ADOTable1.Close; form5.ADOTable1.TableName:=员工基本信息表;/连接的数据表 form5.ADOTable1.Open; form5.ADOTable1.Active:=true;C系统进入录入状态:form5.ADOTable1.Insert;D录入三种数据类型数据的转换:1.字符串型:form5.ADOTable1.FieldByName(员工编号).AsString:=edit1.Text; 2.时间型:form5.ADOTable1.FieldByName(出生年月).AsDateTime:=strtodatetime(edit4.Text); 3.数据类型:form5.ADOTable1.FieldByName(岗位工资).AsInteger:=strtoint(edit4.Text); E录入成功保存:form5.ADOTable1.Post; showmessage(录入成功);4.5 信息查询管理窗体设计信息查询管理窗体设计信息查询窗体员工信息查询,图 4-5 - -21图 4-54.5.1 查询模块设计查询模块设计该窗体是三个窗体集成的窗体 Form6,它包括:员工信息查询,员工工资查询,部门信息查询三个部分。管理员和员工进入这个界面时的操作时相同的在查询到信息时还可以把所查询的信息进行打印。通过该窗体,企业可以掌握员工的姓名,出生日期,参加工作时间等,这有助于对员工的了解,同时员工可以通过该窗体自己的个人信息和工资信息进行确认,了解部门信息等在该窗体中查询的设计总共用到两次:指定相应信息的查询设计和查询所有的信息。使用 Radiobutton 设置了不同的选择条件,当选择员工编号时,其他的信息输入栏变为不可用,同样选择其他的另外两个不可用,查询时根据选定的Radiobutton 而判断查询的条件。22主要源码:if form6.Caption=员工信息查询 then/确定标题用于连接数据表 begin form6.ADOTable1.Close; form6.ADOTable1.Open; form6.ADOTable1.Active:=true; if form6.RadioButton1.Checked then/判断查询的方式 begin /按员工编号查询 if form6.ADOTable1.Locate(员工编号,edit1.Text,) then showmessage(找到信息) else showmessage(没有此项记录); end; if form6.RadioButton2.Checked then/按姓名查询 begin if form6.ADOTable1.Locate(姓名,edit2.Text,) then showmessage(找到信息) else showmessage(没有此项记录); end; end;4.6 信息修改模块信息修改模块 信息修改模块员工基本信息修改,图 4-6 和图 4-7 - -23图 4-6图 4-74.6.1 修改模块设计修改模块设计该窗体也是三个窗体集成与一个窗体 Form7,包括:员工基本信息修改,员工工资信息修改,部门信息修改三个部分。当职工进入时如果要修改就必须通24过员工姓名查找出该员工(图 4-6) ,如果输入的员工名字是正确的 Edit 表中就有内容,否则,出现提示信息没有该员工的记录。当管理员进入时(图 4-7) ,会有 DBGrid 表,单击这张表中的内容会自动赋值到 Edit 中部分代码:A查找出要修改的员工:if form7.Caption=员工信息修改 then begin if Form7.ADOTable1.Locate(员工姓名,edit13.Text,) then begin edit1.Text:=DBGrid1.Fields0.AsString;/省略 end else showmessage(没有该员工的记录);BDBGrid 的单击事件(单击 DBGrid 把内容赋值到 Edit):if form7.ADOTable1.TableName=员工工资信息表 then begin edit1.Text:=DBGrid1.Fields0.AsString;/省略 end;C修改,保存:form7.ADOTable1.Edit;/系统进入修改状体 form7.ADOTable1.FieldByName(员工编号).AsString:=edit1.Text;/字符串类型修改 form7.ADOTable1.FieldByName(出生年月).AsDateTime:=strtodatetime(edit4.Text);/时间类型修改 - -25 ADOTable1.Post;/修改后保存 showmessage(修改成功);4.7 数据导出模块设计数据导出模块设计数据导出时必不可少的功能,同样数据的导入也必须有的。该系统设计并没有设计打印功能,而是设计了数据的导出。导出的数据是直接导入到 Excel,这样又可以对数据进行进一步的整理,同时也可利用 Excel 的打印和打印预览功能 。这样减少了系统所耗得系统资源。有利于系统的快速运行,优化了系统。导出分导出所有和导出单条,其中导出所有就是导出员工信息表中所有的数据而导出单条是建立在查询的基础上的,也就是说首先需要查询,当你查询到某条数据后,在可以导出所查到得数据。导出的源代码如下:procedure TForm3.N15Click(Sender: TObject);var h,k:integer; Excelid: OleVariant; s: string;begin try Excelid := CreateOLEObject(Excel.Application); except Application.MessageBox(Excel 没有安装!, 提示信息, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Exit; end;26 try ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from 员工基本信息表); ADOQuery1.Open; k:=ADOQuery1.RecordCount; Excelid.Visible := True; Excelid.WorkBooks.Add; Excelid.worksheets1.rangeA1:i1.Merge(True); Excelid.WorkSheets1.Cells1,1.Value :=员工基本信息表 ; Excelid.worksheets1.Rangea1:a1.HorizontalAlignment := $FFFFEFF4; Excelid.worksheets1.Rangea1:a1.VerticalAlignment := $FFFFEFF4; Excelid.WorkSheets1.Cells2,1.numberFormat:=1-1; Excelid.WorkSheets1.Cells2,1.Value := 员工编号; Excelid.WorkSheets1.Cells2,2.Value := 姓 名; Excelid.WorkSheets1.Cells2,3.Value := 性 别; Excelid.WorkSheets1.Cells2,4.ColumnWidth:=10; Excelid.WorkSheets1.Cells2,4.Value := 出生年月; - -27 Excelid.WorkSheets1.Cells2,5.ColumnWidth:=10;Excelid.WorkSheets1.Cells2,5.Value := 参加工作时间;Excelid.WorkSheets1.Cells2,6.Value := 部门编号;Excelid.WorkSheets1.Cells2,7.Value := 职 务;Excelid.WorkSheets1.Cells2,8.Value := 政治面貌;Excelid.WorkSheets1.Cells2,9.Value := 婚姻状况; Excelid.worksheets1.RangeA1:i1.Font.Name := 宋体;Excelid.worksheets1.RangeA1:i1.Font.Size:=14; Excelid.worksheets1.rangeA1:i2.font.bold:=true; Excelid.worksheets1.RangeA2:i2.Font.Size:=10; Excelid.worksheets1.RangeA2:i2.HorizontalAlignment:= $FFFFEFF4; Excelid.worksheets1.RangeA2:i2.VerticalAlignment := $FFFFEFF4; h:=3; ADOQuery1.First; while not ADOQuery1.Eof do beginExcelid.WorkSheets1.Cellsh,1.Value:=Adoquery1.FieldByName(员工编号).AsString;Excelid.WorkSheets1.Cellsh,2.Value:=Adoquery1.FieldByName(姓名).AsString;Excelid.WorkSheets1.Cellsh,3.Value:=Adoquery1.FieldByName(性别).AsString;28Excelid.WorkSheets1.Cellsh,4.Value:=Adoquery1.FieldByName(出生年月).AsString;Excelid.WorkSheets1.Cellsh,5.Value:=Adoquery1.FieldByName(参加工作时间).AsString;Excelid.WorkSheets1.Cellsh,6.Value:=Adoquery1.FieldByName(部门编号).AsString;Excelid.WorkSheets1.Cellsh,7.Value:=Adoquery1.FieldByName(职务).AsString;Excelid.WorkSheets1.Cellsh,8.Value:=Adoquery1.FieldByName(政治面貌).AsString;Excelid.WorkSheets1.Cellsh,9.Value:=Adoquery1.FieldByName(婚姻状况).AsString; Inc(h); Adoquery1.Next; end; s := A2:i+ IntToStr(k+2);Excelid.worksheets1.Ranges.Font.Name := 宋体; Excelid.worksheets1.Ranges.Borders.LineStyle := 1;exceptApplication.MessageBox(导入数据出错!请检查文件的格式是否正确!, 提示信息, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); end;end; - -29第第 5 章章 应用程序和数据库的连接应用程序和数据库的连接数据库和应用程序都已经建立,现在就是怎样使应用程序和数据库进行连接,能够使应用程序操作数据库,进行相应的操作。该系统使用 ADOconnection 和 ADOTabel 使应用程序和数据库进行连接。首先建立数据模块(DataModule)将所需的 ADOconnection 和 ADOTabel 都放到DataModule 中,然后连接数据库。在登陆界面添加按钮“数据库连接”当点击按钮产生 ADOconnection 的Connectionstring 属性,这样就可以通过他连接数据库。这样的优点是不局限于某一台机器,只要是在同一个局域网中能够搜索到然后进行连接。这就是系统更加灵活。将 ADOTabel 的 Connection 属性选择为 ADOconnection 这样就建立了应用程序和数据库的连接。选择 ADOquery 是因为他能够更好的使用 SQL 语句,能更好的处理应用程序对数据库的操作。30第第 5 章章 系统测试系统测试5.1 测试目的测试目的在软件生命周期的每个阶段都不可避免的会引入新的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅纠正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。5.2 测试方法测试方法本课题所采用的测试方法是黑盒测试,及实在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。 “黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测 - -31试。5.3 测试结论测试结论对此系统的功能、性能,以及可用性均进行了测试,通过对测试结果的分析总结得出:此系统的功能基本满足用户需求,性能基本达到需求,具有可用性和友好性。 但是测试用例有一定的局限性,测试环境和实际运行环境也存在着一定的差异,所以不能完全地、准确地测试出系统存在的问题,还需要在后期的维护过程中,对系统暴露出来的问题进行纠正和更新。第第 6 章章 结束语结束语在本项目的软件开发的过程中,我全面实践一个面向数据库的应用系统的开32发过程,学习了很多有关的知识。这样的项目对我学过的数据结构,程序设计,数据库等课程是一个综合性很高的实践。一些以前没有学得很杂实的课程的内容,由于需要在实践中运用,刚开始我也感到很头痛。但回过头再去看有关的教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻了,学习起来也越来越有兴趣,越来越轻松。另外我还充分体会了从事软件开发工作需要特别严谨认真的态度和作风,一点都马虎不得。每一个细微的细节都必须十分的注意,如果不认真思考决策,就会出现或大或小的错误,如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时要推倒很多前面做的工作重来。有时候,我自己觉得我写的程序非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙了才向老实请教。尽管向老实请教解决问题比较快,自己钻研花的时间较多,但我强迫自己独立的思考对我的学习提高帮助非常大。这次毕业设计,让我充分的把这几年所学到的专业知识融会贯通,从做需求分析、设计数据库、到系统整体设计和具体的代码实现。整个设计,让我学到了许多以前在课堂上面学不到的知识,很大程度的加强了自己的实践能力。除了对delphi 有了一定的认识,对数据库的理解也更加全面和深刻了。在系统的不断完善过程中,我还学到了程序调试的一些宝贵方法和技巧。相信这次的经验对于我以后的工作会大有益处。由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如基本工资和岗位工资等不能够根据员工的信息进行自动生成,对员工工资月份的处理也不是很完善,不能对某月和某年工资统计和报表有些功能 - -33还没有实现,界面的友好程度还不够,功能过少,界面不够醒目等问题,最关键的是没有实现基于 WEB。我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。致致 谢谢在本次毕业设计中,我从各位指导老师的身上学到了很多东西。指导老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。指导34教师无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他们细致而又耐心的辅导。衷心感谢老师们,感谢在系统开发过程中给我们上课的老师,给予了我很大的帮助,帮助解决了不少的难点,使得系统能及时地开发完成。在此表示衷心的感谢! - -35参考文献参考文献1纪红 人事管理信息系统的设计与实施J,计算机与现代化 2000 年第 3 期,总第 6 期2 莫停飞、白振兴、邓善.Delphi7 环境下利用 ADO 与 SQLServer2000 数据库的链接J现代电子技术,2004 年第 9 期总第 176 期3 李目海 Delphi 应用程序设计 成都:电子科技大学出版社 2005 年 4 朱如龙 SQL Server 数据库应用系统开发技术 北京:机械工业出版社 2007 年 5 张增强 突破 Delphi7.0 编程实例五十讲 北京:中国水利水电出版社 2003 年6 网管科技 Delphi 6.0 时尚编程百例 机械工业出版社 2001 年7 网管科技 Delphi 6.0 控件时尚编程百例子机械工业出版社 2001 年8 段兴 Delphi 7 控件实用程序设计 100 例 人民邮电出版社 2003 年9 王昕 马世奎 Delphi7.0 编程实战导航 北京希望电子工业出版社 2003年10魏江江 李青 孙立京 Delphi 编程百例通 科学出版社 2002 年11刘宏昆 Delphi 应用技巧与常见问题你问我答 机械工业出版社 2003年12龙启明 刘斌 程捷 Delphi7 高级编程范例 清华大学出版社 2004简简 历历姓 名: 简历模板 http:/性 别: 男出生日期: 1989 年 2 月36年 龄: 37 岁户口所在地:上海政治面貌: 党员毕业生院校:专 业:地 址:电 话:E-mail:_教育背景教育背景_1983/08-1988/06 华东理工大学 生产过程自动化 学士 _个人能力个人能力_这里展示自己有什么的特长及能力_专业课程专业课程_课程名称(只写一些核心的):简短介绍课程名称:简短介绍 _培训经历培训经历_2002/06-2002/10 某培训机构 计算机系统和维护 上海市劳动局颁发的初级证书 1998/06-1998/08 某建筑工程学校 建筑电气及定额预算 上海建筑工程学校颁发 _实习经历实习经历_2011 年年 5 月月 现在现在 某(上海)有限公司某(上海)有限公司 XX 职位职位【公司简单描述】属外资制造加工企业,职工 1000 人,年产值 6000 万美金以上。主要产品有:五金制品、设备制造、零部件加工、绕管器【工作职责】 【工作业绩】 - -37_语言能力语言能力_英 语:熟练 英语等级:大学英语考试四级_IT 技能技能_Windows NT/2000/XP36 个月经验水平:精通 LAN36 个月经验水平:熟练 Office84 个月经验水平:精通 _自我评价自我评价_这里写自我评价的内容 可以访问 http:/_获得的证书与奖项获得的证书与奖项_系里的一等奖学金 获得时间: 年 全系 XXX 人只有 XX 人取得。
展开阅读全文