“工资计算”是企业管理中最早应用计算机的内容之一,一般认为它的功能范围比较小、实现比较容易,所以常用来作为管理信息系统的教学案例。但在不同行业、不同规模、不同生产特点的企业,工资制度千差万别,尤其是以多品种、多型号、多规格产品的小批量、大规模、劳动密集型为特点企业,正确及时计算计件工资,也不是一件很简单的事。很多企业根据自己的生产特点设计了专用软件,即将不同的工段、工序、价格分别设计不同的程序模块,分别进行计算。这类软件不仅编写起比较麻烦,而且在生产流程发生变化时还必需进行修改,往往事倍功半,这就需要设计一种通用的“工资计算”软件,以实现不同企业使用同样程序来计算计件工资,不仅可以提高计算机应用效果,同时也减少了因重复开发而造成的社会劳动的巨大浪费。本文根据工资软件设计的一般方法,结合具体企业的应用实践,对通用计件工资软件的设计提出一种有效的设计实现方法,以供企业应用和研究开发人员参考。
“工资管理系统”是企业管理软件中管理型会计软件的一个组成模块,多年来已成为一种较为定型的作法。因此,“通用计件工资软件”当然不应该独立存在的,它是“工资管理模块”的一个组成部分,否则与“通用”就自相矛盾了,由于非计件工资的分析设计不是本文讨论的主要对象,所以文题只标为“通用计件工资软件的设计与实现”。由于计件工资与非计件工资是同时存的,在本文的后面部分将稍有提及它们之间的关系。
一、 需求分析
通用计件工资软件的需求概括起来很简单,就是能够计算所有人员及其从事工序的计件工资。其中,主要有两种情况,一是同一产品,按不同工序定价;二是同一工序,按不同产品定价。具体地说,包括以下几个方法的处理任务。
1、 定义部门档案、职工名册,作为工资的计算对象和用于按部门进行数据汇总、核对。
2、 定义任意种类、数量、项目的“计件工资计算单”,每一计算单具有相同、相近或不同的定价项目。
3、 定义的计件工资计算单在使用中可以进行调整或修改,可以改变定价项目的价格。
4、 录入计件工资工作量。要求用最简捷的方式进行数据输入。包括按日、按月进行的工作量统计。
5、 按每位职工输出“计件工资计算明细表”,包含所有的详细记录,将计件项目、日期、工作量、单价、金额列示出来。区分应付工资项目和扣款项目。
6、 按每位职工的计件项目进行汇总。
7、 按部门进行数据汇总,以便在财务上对工资费用进行分配。
8、 按计件项目进行数据汇总,可以用来对部门工作量、生产及完成情况进行核对。
9、 计件工资与计时工作可能同时存在,应将其计算在一起并同时发放。
二、 设计存储基础资料和工资数据的表结构
在确定了需求之后,系统设计的一个关键任务就是如何存储数据,这在软件分析设计上叫“存储策略”,存储策略决定了数据处理对象的结果,同时也对数据处理方式有着重要的影响。在关系型数据库系统中,主要是以表的形式来存储数据的,因而设计哪些表以及表结构,也就成了存储策略的主要部分。
1、 部门目录表
字段名称
数据类型
说 明
部门代号
字符串( 10 )
本表可分级设置部门目录。在工资系统的其他表中只需存储“部门代号”。数据类型的括号中数字是指字符串长度。底层明细是指分级结构中最后一级。
部门名称
字符串( 50 )
底层明细
逻辑型
级次
整型
2、 计件项目表
字段名称
数据类型
说 明
计件项目代号
字符串( 10 )
本表可分级设置多个层次的“计件项目”,每个底层明细的“计件项目”,实际上就是一张独立的“工资计算表”,项目表中的项目可以是产品、零部件或工序。
计件项目名称
字符串( 50 )
底层明细
逻辑型
级次
整型
3、 工资价格表
字段名称
数据类型
说 明
计件项目代号
字符串( 10 )
本表为计件项目表中设计的“计件项目”设计所属的用于计算工资的“工资项目”,“工资项目”是指直接可以制定价格并用来计算职工工资的同一产品的不同工序或同一工序的不同产品。
工资项目
字符串( 20 )
工资项目单位
字符串( 10 )
单价
数值型( 4 位小数)
4 、职工名册表
字段名称
数据类型
说 明
部门代号
字符串( 10 )
用于计算工资。
职工编号
字符串( 10 )
职工姓名
字符串( 10 )
5 、计件工资表
字段名称
数据类型
说 明
职工编号
字符串( 10 )
本表用于存储工资计算数据。
职工姓名
字符串( 20 )
计件项目代号
字符串( 10 )
计算单号
字符串( 10 )
日期
日期型
工资项目
字符串( 10 )
工作量
数值型
单价
数值型( 4 位小数)
金额
数值型
三、 功能设计
通用计件工资管理系统的功能主要分为三个方面:
(一) 基础资料录入与系统维护。
1. 部门目录设置。可以设置分级结构的部门目录,在职工名册中指出职工所属的部门,这样就可以将工资数据按部门进行汇总了,以便进行数据汇总或进行数据核对。
2. 录入职工名册。对所有职工进行唯一编号,以适应程序处理方式。
3. 计件项目设置。每一计件项目,对应一张工资计算单。也就是说有多少个计件项目,就有多少张包含不同工资项目的工资计算单。设置时,可以对计件项目进行分级和分类。
4. 工资项目设置。为每个计件项目设置其所包含的工资项目,每个工资项目对应一个价格。工资项目是在对产品、工段、工序等划分的最底层事项。
5. 操作人员及权限。设置系统操作人员及其口令,并分配可操作的权限。
6. 数据备份。
(二) 计件工作量录入。
1. 分不同的计件项目录入职工计件工作量,系统自动计算工资金额。
2. 已录入工作量的查找和修改、复制、删除等。
(三) 计件工资数据输出。
1. 职工计件工资明细表。用于发放工资或与职工进行对账。
2. 职工计件工资单。用于发放工资。每人只有一个小纸条。
3. 计件项目汇总表。按计件项目及工资项目进行数据汇总,用于与生产记录进行核对,以确定整个工资数据的正确性;用于对产品的人工成本进行分析。
4. 部门计件工资汇总表。用于分析考核部门业绩。
5. 计件工资与计时工资的合并输出(在计时工资部分完成)。
功能设计要求做到结构合理、内容完整、布局有序。
按照上述功能要求并结合表结构设计,确定程序实现方法。其中,像部门目录、职工名册录入这样的功能在软件中较为普遍,按一般要求实现就可以了。在本文中就不加说明了。下面仅就本系统中的较为关键的功能,介绍一种具体的实现方法。
四、主要功能的实现方法
(一)设置工资项目(工资价格表)
为每个计件项目设置工资项目。由于每个计件项目可能包含较多的工资项目,设计时要求能够方便输入,并且看起来直观。
按上面的设计示意图中所示,在窗口中首先要显示计件项目列表,可以从中选择一个计件项目,为其定义工资项目表(或称为工资价格表)。当鼠标单击计件项目列表时,在下面的表格中切换到与其对应的内容上来;因为在同一计件项目或不同计件项目中,经常存在相同或相近的工资项目及价格,所以复制和粘贴功能是必不可少的。即可以选定部分或全部表格单元,在同一计件项目或不同计件项目中进行复制。设计好的工资项目及价格在以后可以进行修改或删除。图中没有设计“添加”、“修改”和“删除”等功能按钮,这是因为在设计时可以做到直接在表格中完成上述功能的操作,以增加操作的方便性,就像编辑电子表格文件一样,待所有内容编辑好后,只要按一下“保存”按钮就行了。保存的结果存入“工资价格表”中。
(二)录入计件工作量
录入计件工作量是本系统中最重要的功能。这一功能性能的好坏决定了软件的可用性。同时,也是实现本系统通用化的一个关键。录入计件工作量功能设计要达到以下要求:
1、 可方便地切换到不同的计件项目进行数据录入。
2、 系统自动按照所设定的工资项目表列出所在工资项目(如下表)。
3、 能够按部门或职工编号范围在表中添加职工。
4、 输入表格中的职工编号、职工姓名列要锁定,不能左右滚动,因为工资项目可能较多。
5、 每一计件项目在同一时间可以有多张“工资计算表”(工作量记录)。录入时不必显示价格。
这样,操作者可以在一个平面上,按照人员或工资项目的顺序进行数据录入,大大提高了录入速度。一般方式下,输入这种数据时都是采取一行一添加的办法,每输入一个职工,则要选择一个工资项目,再输入工作量。两种方法的输入效率相差甚远。
职工编号
职工姓名
工资项目 1
工资项目 2
工资项目 3
……
……
0001
职工 1
0002
职工 2
0003
职工 3
……
……
……
……
实现这一功能的“算法”具有下列几项要点:
1、 “打开”计算表时,根据选定的计件项目,在“工资项目表”中找到对应的工资项目及价格,将工资项目名称填入表格中第一行相应的列中,同时将价格存入内存变量数组中,弄清工资项目列与数组之间的对应关系。然后,在“计件工资表”中检索是否存在当前计算单记录,如有记录,还要进行“装入”数据。
2、 “装入”数据时,将记录集按职工编号排序,先从表格的第二行开始,将当前记录中的职工编号、职工姓名填入表格,然后从左到右扫描工资项目列,如果当前列与记录中的工资项目相同,则将当前记录的工作量填入当前单元,不然继续检查后面的列,直到找到当前记录中的工资项目。将记录集指向下一条记录,如果职工编号与上一记录相同,则表格中不换行,仍然扫描所有工资项目列,直到找到对应位置,填入工作量。如果当前记录的职工编号与上一记录不同,则使表格换行后再填入职工编号、职工姓名。所有记录处理完毕,就完成了“装入”。
3、 “保存”计算表时,按工资项目列从左至右进行扫描,如果单元格内的数据不为零,则须在“计件工资表”内添加一条记录或找到原有记录进行更新,存入当前选定的“计件项目代号”、当前输入的“日期”,表中当前行的“职工编号”、“职工姓名”,当前列第一行单元内容存为“工资项目”,当前单元格数据存为“工作量”、当前列对应的数组元素值存为“单价”,“单价”乘以“工作量”存为“金额”,还有应在窗口中设置文本框以输入的“计算单号”。
(三)输出计件工资明细表
计件工资明细表主要用于与每位职工核对单个人的工资计算结果。是本系统的主要输出内容之一。这一功能应尽量清晰明了。
职工编号
职工姓名
计件项目
计算单号
日期
工资项目
工作量
单价
金额 (元)
0001
职工 1
项目 1
021001
02-10-10
工资 1
50
0.5
25
02-10-10
工资 2
80
1
80
021002
02-10-20
工资 1
60
0.5
30
02-10-20
工资 2
100
1
100
项目 2
021001
02-10-10
工资 A
200
0.6
120
02-10-10
工资 B
300
0.3
90
…
…
…
…
…
…
…
合 计
445
0002
职工 2
项目 1
021001
02-10-10
工资 1
20
0.5
10
02-10-10
工资 2
90
1
90
021002
02-10-20
工资 1
120
0.5
60
…
…
…
…
…
…
…
四、 工资计算软件通用化设计意义重大
(一)从企业应用角度来讲,通用化设计具有解决问题的彻底性
无论企业的实际工资计算方法有什么变化,只要对计算项目及工资项目进行调整就可以了。不管软件提供商是否有良好的服务,提高效率总是对大家都有利的,从而大大减少了软件的使用成本。否则,一旦企业业务变化,就无法正确计算工资了,除非修改程序,如果此软件提供商已无法修改程序,就会导致企业放弃使用软件。
(二)从社会效益的度来讲,通用化设计减少了巨大的浪费
非通用化设计,必然导致不同的软件公司以至同一家软件公司进行大量的重复开发,而且这种开发是永远无法达到完善的。即使现在是满足需要的,慢慢的就不能满足需要了。因而项目失败率会很高。一旦项目失败,其造成的损失是很大的。
(三)行业通用化与完全通用化相结合
一般来说,本文提供的方案,可以满足绝大部分企业的工资计算的需要,但是,由于个别行业具有较强的特殊性,并且在实际应用中,企业还希望软件能够满足一些行业的特定需要。这样行业通用化既可以解决行业特殊要求,又在行业范围内具有通用性,企业相关人员又容易接受,是一种较合理的策略。
总之,通用化设计是用计算机软件解决实际问题的一种概括和抽象的方法,有效的通用化设计方法,标志着对客观事物本来规律的深入认识,是人类认识世界的进步,是软件系统设计水平的提高。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回电子论文列表