通用计件工资软件的设计与实现_第1页
通用计件工资软件的设计与实现_第2页
通用计件工资软件的设计与实现_第3页
通用计件工资软件的设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通用计件工资软件的设计与实现     “工资 计算 ”是 企业 管理中最早 应用 计算机的 内容 之一,一般认为它的功能范围比较小、实现比较容易,所以常用来作为管理信息系统的教学案例。但在不同行业、不同规模、不同生产特点的企业,工资制度千差万别,尤其是以多品种、多型号、多规格产品的小批量、大规模、劳动密集型为特点企业,正确及时计算计件工资,也不是一件很简单的事。很多企业根据自己的生产特点设计了专用软件,即将不同的工段、工序、价格分别设计不同的程序模块,分别进行计算。这类软件不仅编写起比较麻烦,而且在生产流程发生变化时还必需进行修改,往往事倍功半,这就需要

2、设计一种通用的“工资计算”软件,以实现不同企业使用同样程序来计算计件工资,不仅可以提高计算机应用效果,同时也减少了因重复开发而造成的 社会 劳动的巨大浪费。本文根据工资软件设计的一般 方法 ,结合具体企业的应用实践,对通用计件工资软件的设计提出一种有效的设计实现方法,以供企业应用和 研究 开发人员 参考 。     “工资管理系统”是企业管理软件中管理型 会计 软件的一个组成模块,多年来已成为一种较为定型的作法。因此,“通用计件工资软件”当然不应该独立存在的,它是“工资管理模块”的一个组成部分,否则与“通用”就自相矛盾了,由于非计件工资的 分析 设计不是

3、本文讨论的主要对象,所以文题只标为“通用计件工资软件的设计与实现”。由于计件工资与非计件工资是同时存的,在本文的后面部分将稍有提及它们之间的关系。 一、 需求分析 通用计件工资软件的需求概括起来很简单,就是能够计算所有人员及其从事工序的计件工资。其中,主要有两种情况,一是同一产品,按不同工序定价;二是同一工序,按不同产品定价。具体地说,包括以下几个方法的处理任务。 1、 定义部门档案、职工名册,作为工资的计算对象和用于按部门进行数据汇总、核对。 2、 定义任意种类、数量、项目的“计件工资计算单”,每一计算单具有相同、相近或不同的定价项目。 3、 定义的计件工资计算单在使用中可以进行调整或修改,

4、可以改变定价项目的价格。 4、 录入计件工资工作量。要求用最简捷的方式进行数据输入。包括按日、按月进行的工作量统计。 5、 按每位职工输出“计件工资计算明细表”,包含所有的详细记录,将计件项目、日期、工作量、单价、金额列示出来。区分应付工资项目和扣款项目。 6、 按每位职工的计件项目进行汇总。 7、 按部门进行数据汇总,以便在财务上对工资费用进行分配。 8、 按计件项目进行数据汇总,可以用来对部门工作量、生产及完成情况进行核对。 9、 计件工资与计时工作可能同时存在,应将其计算在一起并同时发放。 二、 设计存储基础资料和工资数据的表结构 在确定了需求之后,系统设计的一个关键任务就是如何存储数据

5、,这在软件分析设计上叫“存储策略”,存储策略决定了数据处理对象的结果,同时也对数据处理方式有着重要的 影响 。在关系型数据库系统中,主要是以表的形式来存储数据的,因而设计哪些表以及表结构,也就成了存储策略的主要部分。 1、 部门目录表 字段名称 数据类型 说 明 部门代号 字符串( 10 ) 本表可分级设置部门目录。在工资系统的其他表中只需存储“部门代号”。数据类型的括号中数字是指字符串长度。底层明细是指分级结构中最后一级。 部门名称 字符串( 50 ) 底层明细 逻辑型 级次 整型 2、 计件项目表 字段名称 数据类型 说 明 计件项目代号 字符串( 10 ) 本表可分级设置多个层次的“计件

6、项目”,每个底层明细的“计件项目”,实际上就是一张独立的“工资计算表”,项目表中的项目可以是产品、零部件或工序。 计件项目名称 字符串( 50 ) 底层明细 逻辑型 级次 整型 3、 工资价格表 字段名称 数据类型 说 明 计件项目代号 字符串( 10 ) 本表为计件项目表中设计的“计件项目”设计所属的用于计算工资的“工资项目”,“工资项目”是指直接可以制定价格并用来计算职工工资的同一产品的不同工序或同一工序的不同产品。 工资项目 字符串( 20 ) 工资项目单位 字符串( 10 ) 单价 数值型( 4 位小数) 4 、职工名册表 字段名称 数据类型 说 明 部门代号 字符串( 10 ) 用于

7、计算工资。 职工编号 字符串( 10 ) 职工姓名 字符串( 10 ) 5 、计件工资表 字段名称 数据类型 说 明 职工编号 字符串( 10 ) 本表用于存储工资计算数据。 职工姓名 字符串( 20 ) 计件项目代号 字符串( 10 ) 计算单号 字符串( 10 ) 日期 日期型 工资项目 字符串( 10 ) 工作量 数值型 单价 数值型( 4 位小数) 金额 数值型 三、 功能设计 通用计件工资管理系统的功能主要分为三个方面: (一) 基础资料录入与系统维护。 1. 部门目录设置。可以设置分级结构的部门目录,在职工名册中指出职工所属的部门,这样就可以将工资数据按部门进行汇总了,以便进行数据

8、汇总或进行数据核对。 2. 录入职工名册。对所有职工进行唯一编号,以适应程序处理方式。 3. 计件项目设置。每一计件项目,对应一张工资计算单。也就是说有多少个计件项目,就有多少张包含不同工资项目的工资计算单。设置时,可以对计件项目进行分级和分类。 4. 工资项目设置。为每个计件项目设置其所包含的工资项目,每个工资项目对应一个价格。工资项目是在对产品、工段、工序等划分的最底层事项。 5. 操作人员及权限。设置系统操作人员及其口令,并分配可操作的权限。 6. 数据备份。 (二) 计件工作量录入。 1. 分不同的计件项目录入职工计件工作量,系统自动计算工资金额。 2. 已录入工作量的查找和修改、复制

9、、删除等。 (三) 计件工资数据输出。 1. 职工计件工资明细表。用于发放工资或与职工进行对账。 2. 职工计件工资单。用于发放工资。每人只有一个小纸条。 3. 计件项目汇总表。按计件项目及工资项目进行数据汇总,用于与生产记录进行核对,以确定整个工资数据的正确性;用于对产品的人工成本进行分析。 4. 部门计件工资汇总表。用于分析考核部门业绩。 5. 计件工资与计时工资的合并输出(在计时工资部分完成)。 功能设计要求做到结构合理、内容完整、布局有序。 按照上述功能要求并结合表结构设计,确定程序实现方法。其中,像部门目录、职工名册录入这样的功能在软件中较为普遍,按一般要求实现就可以了。在本文中就不

10、加说明了。下面仅就本系统中的较为关键的功能,介绍一种具体的实现方法。 第五章   系统 应用 程序设计§5.1  系统窗体模块组成§5.2  数据模块窗体的设置在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身呢?数据模块(DataModule)是解决这个 问题 最好的答案。简单说来,数据模块是用来集中

11、管理数据源的一个窗体,该窗体可被需要的地方随时引入。图5.2给出了本程序的数据模块(datamoduleform)窗体图,除报表窗体外所有的数据存取组件和数据源组件都在此数据模块中进行了定义。值得一提的是,设置了数据库Database组件,该组件引入了系统所需的唯一的数据库tsxs,Database组件的DatabaseName属性设置为tsckgl。tsxs数据库已在ODBC配置程序中进行了设置。其他的数据存取组件都是基于此数据库组件创建的,这样做的好处是,当数据库的别名或者其他信息改变之后,只需修改Tdatabase组件的AliasName属性即可。另外,在本系统的数据模块窗体图中,我大多

12、采用的AODQuery组件而没有采用BDE组,这主要是基于对ADO组件的了解。在Delphi的 学习 中我对ADO组件了解的更加清楚,使用也较BDE更为熟练,而且,ADO组件的功能也较BDE更为强大,所以在这里大多采用ADO组件来进行数据库联接。同时我也使用了BDE组件中的Table,因为在某些时候BDE有着其自身特有的优越性。  主窗体功能模块的实现                   

13、;        file:/主窗体程序代码public      file:/在程序的起始部分,定义快捷按钮点击事件Procedure Popup1Handler(Sender:Tobject);Procedure Popup2Handler(Sender:TObject);*procedure Tmainform.Popup1Handler(Sender: TObject);begin       file:/快捷按钮1(点“按出版社分类”按钮产生)的

14、点击事件with datamoduleform.MainQuery do     begin     file:/打开数据模块窗体的MainQuery,对BookRecord表进行操作close;     file:/关闭MainQuerySQL.Clear;      file:/清除SQL属性中的SQL命令语句SQL.Add(select * from BookRecord where Publisher=:Pub); file:/添加新的SQL语句Parameters.ParamByName(Pub

15、).Value:=(Sender as TMenuItem).Caption;open;      file:/重新打开MainQueryend;end;*procedure Tmainform.SpeedButton1Click(Sender: TObject);Var s1,s2,s3,s4,s5 :String;     file:/设立5个变量以方便实现模糊查询begin      file:/主窗口库存查询按钮事件with datamoduleform.MainQuery dobeginclose;SQL

16、.Clear;SQL.Add(select * from BookRecord);SQL.Add(where BookID Like :BookID and BookName Like :Name and Author Like :Author and Publisher Like :pub and BookType Like :BookType);           file:/使用Like语句来实现模糊查询if Edit1.Text<>  then  s1:=%+Edit1.Text+%

17、   else  s1:=%;Parameters.ParamByName(BookID).Value:=s1;         file:/给变量s1赋值if Edit2.Text<>  then  s2:=%+Edit2.Text+%   else  s2:=%;Parameters.ParamByName(Name).Value:=s2;           file:/给变量s2赋值if Edit3.Tex

18、t<>  then  s3:=%+Edit3.Text+%   else  s3:=%;Parameters.ParamByName(Author).Value:=s3;          file:/给变量s2赋值if Edit4.Text<>  then  s4:=%+Edit4.Text+%   else  s4:=%;Parameters.ParamByName(Pub).Value:=s4;             file:/给变量s2赋值if Edit5.Text <>  then  s5:=%+Edit5.Text+%   else  s5:=%;Parameters.ParamByName(BookType).Value:=s5;        file:/给变量s2赋值open;if FieldValuesBookID=NULL      

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论