考勤管理系统的设计
2014-04-24王超
摘要:本文将以一个典型企业的考勤管理系统为例,来讲述如何设计一个考勤管理系统,使企业的考勤管理工作系统化、规范化、自动化,从而达到提高企业管理效率的目的。
关键词:考勤管理 系统设计 PowerBuilder
0 引言
考勤管理既是企业劳动人事管理的重要方面,同时也是企业财务管理的重要方面,因为它是和人、事都相关的方面。考勤管理系统需要和员工人事管理连接,同时需要连接工资管理系统等等,用于完成员工的升迁、工资、津贴、医疗保险、保险费、实际发放工资等。本文将以一个典型企业的考勤管理系统为例,来讲述如何设计一个考勤管理系统。
1 系统目标设计
①系统开发的总体任务是实现企业员工工资管理的系统化、规范化和自动化。
②能够和人事管理系统、工资管理系统相结合,真正实现企业高效、科学、现代化的员工管理。
2 开发设计思想
尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。员工考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学的考勤信息输入。系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未开发的技术维护人员补充、维护。
3 系统功能分析
在系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如1所示的系统功能模块图。
■
4 关键功能模块设计
4.1 祖先窗口的设计
PowerBuilder中的窗口具有继承的功能,因此在本程序中将创建2个祖先窗口。
第一个祖先窗口具有一个数据窗口控件,能够对数据窗口控件实现增加、删除、修改和保存的功能,可以用于各个管理模块窗口的继承;
第二个祖先窗口是一个报表生成的通用窗口,具有预览、放大缩小、打印、保存等功能,可以用于各个报表模块窗口的继承。
4.1.1 w_update祖先窗口的创建
W_update祖先窗口用于各个管理模块窗口的继承。本程序中的考勤信息处理模块、缺勤信息处理模块、缺勤类型设定窗口模块等均是从该窗口继承而来的。
W_update祖先窗口如图2所示。
■
该窗口的最上方放置了一个静态文本框控件,用于显示窗口的功能。各个继承的子窗口可以修改该控件的Text属性,从而显示不同的内容。
中间有一个数据窗口控件dw_1,在不同的子窗口用于连接不同的数据窗口对象。
窗口的最下面放置了4个Picture控件,在其Click事件中分别用来实现数据窗口控件中数据的增加、删除、保存以及窗口关闭的功能。
4.1.2 w_preview祖先窗口的创建
w_preview祖先窗口用于各个报表窗口的继承。本程序中的各个报表窗口均是从该窗口继承而来的。
W_preview祖先窗口界面如图3所示。
该窗口的上方放置了7个GroupBox控件。缩小放大GroupBox控件上放置了2个按钮控件和一个EditMask控件,用于对报表缩小放大,可以在EditMask控件直接输入要显示的百分比大小。页数GroupBox控件上也放置了2个按钮控件和一个EditMask控件,当数据窗口报表有多页内容时用于前后翻页。
后面的5个GroupBox控件上的按钮分别用于实现打印、打印机设置、打印预览、报表另存和退出的功能。
窗口的下面放置一个数据窗口控件dw_1。在不同的子窗口用于连接不同的报表数据窗口对象。
■
4.2 考勤信息处理窗口的设计
考勤信息处理窗口(w_kq_update)用于员工个人考勤记录的输入和修改,由主程序窗口上的“考勤信息处理”RadioButton控件的双击事件激发。
考勤信息处理窗口是w_update祖先窗口的继承窗口,具有w_update窗口的功能,界面如图4所示。
■
在考勤记录窗口的open事件中加入如下的程序代码:
dw_1.retrieve()
在P_1控件也就是增加一条记录的图片控件的Click事件中加入如下的程序代码:
date t_d
t_d = today()
dw_1.SetItem(G_RowNumber,"qq_date",t_d)
这样,使用上面少量的程序代码就编制出了考勤登录窗口,可见窗口的可继承性是非常有利于程序模块化设计的。
5 结语
员工考勤统计窗口(w_kq_preview)用于生成企业某个员工的考勤情况报表。由主程序窗口上的“员工考勤统计”RadioButton控件的双击事件激发。部门考勤统计窗口是w_preview祖先窗口的继承窗口,具有w_preview窗口的功能,设计方法同上,在此不再赘述。
参考文献:
[1]何绪洪,余建英.powerbuilder8.0数据库系统开发实例导航[M].人民邮电出版社,2003.
[2]陈燎宏.考勤管理系统程序设计[J].嘉兴学院学报,2001(03).
[3]覃利秋.考勤管理系统[J].软件导刊,2006(13).
作者简介:王超(1972-),女,辽宁朝阳人,信息工程系副主任,副教授,研究方向:软件开发。