您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 职工工资管理系统论文x
1经济管理学院数据库综合训练课程设计课程设计题目工资管理系统专业班级信管L032学生姓名路丹学号031607224指导教师陈军霞张娜萍2006年04月08日分类编号21.问题描述1.1背景随着经济的发展,企业正向着大型化、规范化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加,在这种情况下,单靠人工来处理员工的工资显得力不从心,而且极易出错。该系统的具体任务就是设计一个企业工资的数据库管理系统,由计算机来代替人工执行一系列诸如增加新员工、删除旧员工、工资修改、查询、统计、打印等操作。1.2数据需求尽量利用企业现有的软硬件环境,采用先进的管理系统开发方案,达到充分利用企业现有资源,提高系统开发水平和应用效果的目的;系统符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程中的直观、方便、使用、安全等要求;系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护。系统具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。1.3事务需求通过使用该系统,使企业的工资管理工作系统化、规范化、自动化,从而提高企业管理效率。开发的总体任务是使办公人员可以轻松快捷的完成工资管理任务。2.解决方案(或数据库系统设计)2.1E-R模型设计本实例根据上面的设计规划出的实体有:员工实体、员工工资实体、工资等级实体、部门岗位体、工资实体、公司福利实体。实体和实体之间的关系E---R图如图1-1所示。3图1-1实体之间关系E-R图2.2数据字典数据库需求分析是数据库设计的第一个阶段,是非常重要的一个阶段。这个阶段主要是确定基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。在仔细调查企业工资管理过程的基础上,我们得到本系统所处理的数据流程,如图1-2所示。员工员工工资基础工资岗位工资工龄工资福利费用对应包含对应对应对应对应工资等级部门岗位工龄公司福利4图1-2数据流程图通过对企业工资管理的内容和数据流程分析,针对本实例,我们设计的数据项和数据结构如下:员工基本情况。包括的数据库项有员工号、员工姓名、性别,所在部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、参加工作时间、员工状态、状态时间、家庭住址、联系电话等。工资级别和工资金额。包括的数据库项有工资等级、工资额。企业部门及工资岗位信息。包括的数据库项由部门名称、工作岗位名称、工作岗位工资等。工龄的工资金额。包括的数据库项有工龄及对应工资额。公司福利表。包含的数据库项有福利名称、福利值。工资信息。包含的数据库项有员工号、员工姓名、员工基础工资、员工岗位工资、员工工龄工资、公司福利、员工实得工资。2.3数据库逻辑结构设计在实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资管理系统数据库中各个表格的设计结果见表1-6所示。每个表格表示在数据库中的一个表(只列出与本例相关的字段)表1—1为员工基本状况表PERSONNEL员工基本状况表列名数据类型可否为空说明PIDCHARACTER(3)NOTNULL员工号(索引)PNAMECHARACTER(10)NULL员工姓名级别工资设定岗位工资设定工龄工资设定工资基本设定员工信息员工工资5PSEXCHARACTER(2)NULL员工性别PDEPTCHARACTER(10)NULL所在部门PJOBCHARACTER(10)NULL所在岗位PINDATECHARACTER(2)NULL工龄PRANKCHARACTER(2)NULL工资等级表1—2为工资等级表PANK工资等级表列名数据类型可否为空说明RNAMECHARACTER(2)NOTNULL工资等级(索引)RSALARYNUMERIC(10,2)NULL相应工资额表1—3为工作岗位情况表DEPT工作岗位情况表列名数据类型可否为空说明JOBNAMECHARACTER(10)NULL工作岗位名称(索引)JOBSALARYNUMERIC(10,2)NULL岗位工资表1—4为工龄工资表GONGLING工龄工资表列名数据类型可否为空说明GNAMECHARACTER(2)NOTNULL工龄(索引)GSALARYNUMERIC(10,2)NULL工龄工资额表1—5为公司福利表WELFARE为公司福利表列名数据类型可否为空说明WNAMECHARACTER(10)NOTNULL福利名称(索引)WMONEYNUMERIC(10,2)NULL福利费用表1—6为系统的用户口令表系统的用户口令表USER_PSWD列名数据类型可否为空说明TMS_USERCHARACTER(10)NOTNULL用户名(索引)TMS_PSWDCHARACTER(10)NOTNULL口令3系统实现3.1开发环境开发工具:VisualFoxPro6.0;运行环境:Windows9X或Windows2000。3.2系统流程图系统功能分析6系统数据初始化;员工基本信息数据的输入;员工基本信息数据的修改、删除;企业工资的基本设定;员工工资的浏览;员工个人工资表的查询;工资报表的打印在系统功能分析的基础上,得到如图1-3所示的系统功能模块图。图1-3系统功能模块图3.3程序调试情况在设计的过程中,预览中发现报表的行之间有空白,无法连接成表,如图1-41所示。工资管理系统员工信息工资基本设定工资汇总员工查询工龄工资资料输入员工增删公司福利岗位工资基础工资工资汇总个人工资查询浏览打印7图1-42错误的报表这是由于报表栏中的细节栏设计又有误,下面是对应的设计,如图1-42所示。可以看出两个空白是相同的,因此要想打印出没有空白的表,应将小细节的底框紧贴在表的下缘,如图1-43所示。图1-43错误的细节设置3.4数据库结构的实现在需求分析、概念结构设计的继承上得到数据库的结构之后,我们就可以在VisualFoxPro数据库系统中实现该逻辑结构。首先建一个名为salary(工资)的项目,保存磁盘中。例如D:\salary.可以直接在VisualFoxPro的文件中选择“新建”→“项目”。打开salary项目后,在项目管理器中展开数据文件夹,鼠标选中数据库,单击右键的“新建”按钮,如图1-4所示,存储为D:\salary\datebase\salary.dbc。8图1-4新建数据库在弹出的数据库设计器中单击鼠标右键,选择“新建表,如图1-5所示。为数据库添加数据表,表的具体内容见表1-1—表1-6。下面以表6为例。图1-5新建数据表在选择“新建表”命令后,在弹出的对话框中将表存储为:D:salary\datebase\tms.dbf。在弹出的表设计器中填写表的内容,如图1-6所示。9图1-6设计表的内容与表1-6比较,可以发现表的字段名就是列名。要注意的是在以后的编写程序中对数据库的数据的操作通常是引用表的字段,因此在设计字段是要挑选容易理解的名称。字段设置完成后,单击“确定”按钮后为表输入数据。3.5各个功能模块的创建经过前面对系统功能的分析,我们将企业工资管理系统分为4个模块:系统主界面、员工信息管理、工资基本设定和工资汇总。3.5.1系统主界面的设计为了让使用者有一个轻松操作的界面,系统的主界面设计要求界面友好、功能分块明确、美观大方。下面将以主界面的设计为例,仔细讲解表单的创建。首先,展开项目管理器中的文档,选中表单,单击右侧“新建”按钮。如图1-7所示。10图1-7新建表单在弹出的对话框中单击“新建”按钮后,会弹出“表单设计器”的界面,如图1-8所示。图1-8为设计的表单可以根据界面的需要向其中添加控件如图1-9所示。11图1-9向表单中添加控件更改各个控件的属性值为所属值,各更改值见表1-7。表1-7控件属性更改值控件CaptionAlignmentPictureStretchForm1企业工资管理系统Label1欢迎使用2-中央Command员工基本信息Command员工基本设定Command工资汇总Command个人工资设定Command退出Image1D:\salary\main.jpg2-变比填充Caption属性表示控件的显示名,是为了使用者方便特意设计的名称,为一些常用的提示信息。Alignment为控件中Caption的位置状态,对于Label(标签),有“0-左(缺省)”、“1-右”、“2-中央”等3种设置。另外,设置Label的Font(字体)和Fontsize(字体大小)属性可以改变Caption显示的字体及大小。在Picture中可以把控件的界面设为图象,以便使用者能更形象地使用所开发的软件。对应Image(图象)控件,则表示显示在其中的图象。其属性值应为要显示的图象的路径和文件名。并应设置其Streth属性为“2-变比填充”以使图象能正确显示。更改之后的表单如图1-10所示。12图1-10更改后的表单要注意的是向容器中添加按钮时候,必须先添加容器,然后在容器单击鼠标右键,选择编辑,此时容器边缘变为绿色,表明此时容器正处于编辑状态。此时添加按钮到容器中才能是按钮真正处于容器中,如果直接添加,则按钮实际上处于与容器同一层次上。可以通过查阅表单的结构层次来理解,如图1-11所示图1-11表单中的控件的结构控件添加结束后,表单并未完成设计,此时的表单运行后会发现只有一个空壳,单击其中的按钮没有任何反应。因此,此时需要为表单设计事件响应。选中Command1(按钮1),双击后弹出控件“方法程序”对话框,如图1-12所示.13图1-12为控件Command1设置Click事件程序填写代码如下:Dofromsalary\form\personnel*打开下级表单pensonnel..scx,salary\form\personnel为它的路径对Command2(按钮2)、Command3(按钮3)、Command4(按钮4)、Command5(按钮5)、进行同样的操作。Command2的Click代码为:doformsalary\form\dataformat*打开下级表单dateformatCommand3的Click代码为:doformsalary\form\result*打开下级表单resultCommand4的Click代码为:doformsalary\form\grcx*打开下级表单grectCommand5的Click代码为:thisform.releaseclearevents*释放表单,结束程序为了使表单更富动感,这里设计了一个闪烁效果,闪烁的对象为“Label”。选择Timer(记时器)控件,双击后填写其Timer的事件代码:ifi=0thisform.label1.visible=.F.*使Label1不可见i=1elsethisform.label1.visible=.T.*使Label1可见i=0endif设置Timer的Interval属性为“750”。其作用是控制Timer的执行间隔时间,单位为ms。既是每隔0.75s执行一次Timer控件的Timer事件。应用类型的方法还可以随时间推移转变Image1控件里的图像。14注意Timer事件代码中使用了变量i来控制,因此应先声明该变量。为表单的Init事件添加代码:Publicii=0*声明全局变量i到此为止,本程序的主界面已设计完成,记住要储存为“D:\salary\form\ksjm.scx”,以后设计的表单都会放在“D:salary\form”目录下,以便其他程序员管理。接下来进入其他表单的设计。3.4.2员工信息模块的设计本模块包含的功能有:员工信息浏览、增加删除修改员工记录、根据查询条件查询员工记录、显示查询结果。要实现的功能较多,一个表单不可能容纳下所有空件,所以需要使用表单集或页框。这里使用页框来实现。新建表单Personal,存储”D:\salary\form\personnel.scx”。直接拉伸表单至合适大小。向表单中加入控件,如图1-13所示图1
本文标题:职工工资管理系统论文x
链接地址:https://www.777doc.com/doc-1022574 .html