注册 登录
Office中国论坛/Access中国论坛 返回首页

roych的个人空间 http://www.office-cn.net/?179386 [收藏] [复制] [分享] [RSS]

日志

如何开发一个软件系统之二

热度 3已有 3026 次阅读2012-11-25 13:14 |个人分类:随便说说| 软件, 系统, 开发, 如何

       前面说过了,学会了用宏(或者宏组)来解决问题,是开发系统的第一步。——当然,也许有人会跳过这一步。不过我觉得,这一步还是十分关键的,因为它能培养起你对审视分析流程的一种思维习惯,这样才能从整体上来把握。

       絮絮叨叨地说了这么多,几乎大多是理论上的东西。现在结合论坛上帖子《【源码开放】季度奖管理系统》中的实例,来讲讲该如何设计一个软件吧。

       这里的大多数数据都属于外部数据。【编者按:有兴趣的朋友,可以为这几张表做几个录入窗体(frm_Daily_Check_Recdrd、tbl_Daily_outstanding_ops、tbl_E_JCJL、tbl_E_Suggestion、tbl_HE_record);至于人员信息表(tbl_E_Personal),由于涉及调岗、调班、离职等变动信息,几乎可以单独做一个员工信息模块。如果觉得“工程”比较大,倒不如作为外部数据更便于操作(例如导入或链接表等等)】

       在讲流程之前,在详解这一点之前,先讲讲敝司季度奖的计算方法,步骤如下:

  1. 制定预期目标,并按各项目标分配奖金,然后根据实际达成率来加权计算。即:A目标*A%+B目标*B%+……+N目标*N%。
  2. 根据各个岗位对各项目标的权重不同进行计算,从而得到岗位奖金。这时候便成了:岗位1的A权重*A目标*A%+岗位1的B权重*B目标*B%+……+岗位1的B权重*N目标*N%。这就是分到每个岗位的大蛋糕,后面就是蛋糕的切分了。
  3. 最后根据个人表现以及相关信息进行计算。例如,有没有满勤,奖惩记录如何,是否新员工等等。

       有人也许会问,要是把这个作为数据表岂非更好?如果目标项不变的话,确实可以。然而由于外部经济环境的因素,目标项常常会有所调整的。例如因为投诉较少,可能今年不再设置投诉率这一个目标;而明年经济较好,可能又增设货期目标等等。从这一点来说,作为外部数据,由用户手动填入更佳。

       外部数据的来源已经讲得比较清楚了。接下来便是本地表的设置了。根据外部数据和计算方式,很容易便可以设置本地表了。先从简单的说起吧:

       根据计算方法,显然需要一个岗位和奖金的对应表,也就是【tbl_BounsCategrory】。

  1. 考虑到可能需要保持一年以便随时核对数据,而且奖金分季度发放,因此月份字段肯定是需要的。否则每次只能得到一个月的数据,还得自己汇总,较麻烦。那么前面四个字段的设置便成了:年、月、岗位组别、岗位奖金。
  2. 为了“蛋糕”的具体化,显然还得把人数算进来,这样才能得到总奖金。
  3. 而最后还得视个人表现进行奖金分配。因此岗位总分值也得计算。那么就可以通过个人得分情况来领取自己的“蛋糕”了。

       至此,这张表的设置已经完成。岗位总金额可以通过人数乘以岗位奖金得到。岗位总分值,显然得通过分数的汇总来完成了。而分数来源于5个表,故而最好的办法便是创建一个联合查询,把这五个表合并在一起,然后再进行统计。而链接表的读取速度会跟访问数有关,因此应当创建一个本地表,这样一来,分数临时表【Tbl_Tem_Score】就诞生了。至于这些字段的取舍了,请自行体会。

      其它附加信息表(新员工计算方法【Tbl_NewComer】、优秀员工计算方法【Tbl_OSBonus】)将在下一节继续。

发表评论 评论 (3 个评论)

回复 ycxchen 2012-11-26 10:41
教材般的文章,好!
回复 tmtony 2012-11-27 10:54
谢谢分享!
回复 miracle-y 2012-12-13 21:24
高人 真是高人

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-5 02:17 , Processed in 0.072290 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部