1、某商厦人事劳资管理系统设计与实现目 录摘要 3 序言 4第一章 开发商厦人事劳资管理系统问题 51.1 商厦人事劳资管理系统简介 41.2 商厦人事劳资管理系统顾客需求 4第二章 商厦人事劳资管理系统分析和设计 7 2.1 商厦人事劳资管理系统分析与概要设计 5 2.2 商厦人事劳资管理系统数据库设计 6第三章 商厦人事劳资管理系统详细实现 113.1 模块开发环境简介_POWERBUILDER 113.1.1 事件驱动应用程序 153.1.2POWERSCRIPT语言与函数 153.1.3面向对象编程 153.1.4跨平台开发 163.1.5与数据库连接性 173.2系统模块详细实现 143
2、.2.1 员工基本信息模块实现 183.2.2员工工资管理模块 233.2.3员工考勤管理模块 233.2.4系统维护模块 243.3系统开发其他方面 19 第四章 结束语 26道谢 27参照文献 28 摘 要 商厦人事劳资管理系统是经典信息管理系统(MIS),其开发重要包括后台数据库建立和维护以及前端应用程序开发两个方面。对于前者规定建立起数据一致性和完整性强.数据安全性好库。而对于后者则规定应用程序功能完备,易使用等特点。 通过度析如此状况,我们使用POWERSOFT企业POWERBUILDER开发工具,运用其提供多种面向对象开发工具,尤其是数据窗口这一能以便而简洁操纵数据库智能化对象,首
3、先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不停修正和改善,直到形成顾客满意可行系统。关键字: 原型法,面向对象,数据一致性,数据窗口,信息管理系统。 前 言 人事劳资管理系统是一种企业单位不可缺乏部分,它内容对于企业决策者和管理者来说都至关重要,因此人事劳资管理系统应当可认为顾客提供充足信息和快捷查询手段。但一直以来人们使用老式人工方式管理文献档案,这种管理方式存在着许多缺陷,如:效率低、保密性差,此外时间一长,将产生大量文献和数据,这对于查找、更新和维护都带来了不少困难。 伴随科学技术不停提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人类社会各个领域并发
4、挥着越来越重要作用。 作为计算机应用一部分,使用计算机对人事劳资信息进行管理,具有着手工管理所无法比拟长处.例如:检索迅速、查找以便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些长处可以极大地提高人事劳资管理效率,也是企业科学化、正规化管理,与世界接轨重要条件。 因此,开发这样一套管理软件成为很有必要事情,在下面各章中我们将以开发一套商厦人事劳资管理系统为例,谈谈其开发过程和所波及到问题及处理措施。第一章 开发商厦人事劳资管理系统问题1.1商厦人事劳资管理系统简介 商厦人事劳资管理系统是针对商厦人事处大量业务处理工作而开发管理软件。根据顾客规定,实现人员基本状况管理、工资管理、和考勤管
5、理。等几种方面功能。 顾客通过输入工资、考勤、职工履历等基本信息,由系统自行生成对应记录数据及各类记录报表以供顾客查询、打印,此外顾客还可以对这些基本信息进行定期更新和删除, 商厦人事劳资管理系统力争给顾客以便快捷途径去管理这些繁琐数据。1.2商厦人事管理系统顾客需求总体功能需求 商厦人事劳资管理系统是针对商厦人事处大量业务处理工作用计算机进行全面现代化管理.重要包括人员基本状况管理、工资管理、和考勤管理。等几种方面功能,以实现顾客以便输入、查询、记录、打印有关报表业务需求。 详细系统功能需求描述(1) 人员基本状况管理提供对”商厦人员履历表”数据输入、组合条件查询、记录、打印功能,实现”职工
6、花名册”数据生成、查询、记录、打印功能。(2) 职工工资管理 提供对”商场职工工资表”数据输入、查询、按商场记录、打印功能,完毕每月对“商场职工工资表”数据月记录,以此生成“商场职工工资总额构成状况表”实现该表查询、打印功能。实现每季由“商场职工工资总额构成状况表”生成“商厦职工工资总额季度汇总表”及该表查询、打印功能。(3) 职工考勤管理 提供对各单位(商场)“月考勤登记表”数据录入、查询、记录功能;根据“月考勤登记表”数据分单位按多种日考勤标志进行分类记录,且生成“商场职工月考勤登记表”,数据及“商厦职工月考勤记录汇总表”数据,实现该表查询、打印功能。 第二章 商厦人事劳资管理系统分析和设
7、计 2.1 商厦人事劳资管理系统分析和概要设计根据实际状况,我们使用原型法(Rapid Prototyping)即以少许代价迅速地构造一种可执行软件系统模型。使顾客和开发人员可以较快地确定需求,然后采用循环进化开发方式,对系统模型作持续精化,将系统需具有性质逐渐增长上去,直到所有性质所有满足。此时模块也发展成为最终产品了。通过对顾客需求分析,我们可以分析出该商厦人事劳资管理系统大体可以分为四个模块:人员基本状况管理模块、职工工资管理模块、职工考勤管理模块、系统维护模块。下图阐明四者关系人事劳资管理系统人事基本状况管理模块职工工资管理模块职工考勤管理模块系统维护模块 目前对这四个模块做详细阐明:
8、 人事基本状况管理模块: 输入:职工信息 输出:“商厦人员履历表”“职工花名册” 功能:对商厦人事基本信息查询、记录和打印 职工工资管理模块 输入:人员月工资输出:“商场职工工资表月记录”,“商场职工工资总额构成表”及以“商 厦职工工资总额季度汇总表” 功能:完毕商厦员工工资查询、记录和打印 职工考勤管理模块 输入;员工每日考勤状况输出:“月考勤登计表”、“商场职工月考勤登记表”、“商厦职工月考勤记录 表”功能:完毕对员工考勤状况查询、根据日考勤标志进行分类记录及表 打印。 系统维护模块 输入: 输出:功能:完毕对系统数据和数据库维护,如顾客名、密码更新,数据库 数据备份、恢复以及定期删除,尚
9、有单位编码化。2.2 商厦人事劳资管理系统数据库设计由于考虑到本系统是应用在单机系统上,此外根据商厦人员规模,我们只建立起一种数据库,在此数据库基础上建立起如下表:职工基本信息表employee_information_table职工工资表 employee_salary_table职工考勤表 employee_attendance_table单位编码表 company_code_table系统信息表 system_table 此外,根据实际记录需要,我们此外建立两个登记表,用以寄存部分登记表信息以便查询。职工工资登记表 employee_salary_sum职工考勤登记表 employee_
10、attendance_sum下面我们详细阐明:职工基本信息表employee_information_table 主键 :职工编号Workercode列名(中文)列名(英文)数据类型宽度小数点位数与否为空 职工编号WorkercodeIntegerNo 身份证号Id IntegerNo 档案号FilecodeIntegerNo职工姓名NameVarchar10No曾用名C_nameVarchar10Yes性别SexChar2No民族NationalVarchar10No职务JobVarchar20No出生年月BornDateNo本人成分Cheng_fengVarchar10No政治面貌Mian
11、_maoVarchar10No加入时间Time_joinDateYes文化程度Wen_huaVarchar10No毕业学校SchoolVarchar20Yes毕业时间Time_bi_yeDateYes所学专业Zhuan_yeVarchar20Yes籍贯Ji_guanVarchar20No家庭住址AddressVarchar40No工作时间Time_workDateNo加入工会时间Time_gonghuiDateYes调入单位时间Diao_ruVarchar20No职称Zhi_chengVarchar20Yes同意职称时间Time_pz_zcDateYes工人技术等级Deng_jiVarchar
12、20Yes同意技术等级时间Time_pz_zwDateYes技师职务Ji_shiVarchar20Yes同意技师职务时间Time_pz_jsDateYes评为先进荣誉称号时间Time_xianjinDateYes称号Cheng_haoVarchar40Yes立功状况Li_gongVarchar40Yes受处分时间Time_chufenDateYes 处分Chu_fenVarchar40Yes签订协议步间Time_he_tongDateNo协议期限Qi_xianVarchar20No续定状况Xu_dingVarchar20No岗位岗次Gang_weiVarchar10No岗位工资Salary_g
13、wNumeric82No技能工资Salary_jnNumeric82No连动工资Salary_ldNumeric82No技能级别Ji_nengVarchar10No备注Bei_zhuVarchar100Yes婚姻状况Jie_hunChar10Yes爱人姓名Ai_nameVarchar10Yes爱人出生年月Ai_birthdayDateYes爱人政治面貌Ai_faceVarchar10Yes爱人单位Ai_dan_weiVarchar10Yes职工工资表 employee_salary_table 主键:职工编号Workercode,日期Date列名(中文)列名(英文)数据类型宽度小数点位数与否为
14、空职工姓名NameVarchar10No日期DateDateNo职工编号WorkercodeInteger10No岗位工资Salary_gwNumeric82No技能工资Salary_jnNumeric82No工龄工资Salary_glNumeric82No连动工资Salary_ldNumeric82No房水电费Wd_feiNumeric82No卫生费Ws_feiNumeric82No洗理车补费Xlcb_feiNumeric82No地区差DqcNumeric82No备注Bei_yongNumeric82No房租RentNumeric82No病假IllNumeric82No公积金Gj_feiNu
15、meric82No统筹金Tc_feiNumeric82No备用Bei_zhuNumeric82No职工考勤表 employee_attendance_table 主键:职工编号Workercode,日期Date列名(中文)列名(英文)数据类型宽度小数点位数与否为空职工姓名NameVarchar10No职工编号WorkercodeInteger6No日期DateDateNo第一天1_Varchar10No第二天2_Varchar10No第三十一天31_Varchar10No应出勤人数Yin_chu_qingIntegerNo 单位编码表 company_code_table 主键:单位Compa
16、ny列名(中文)列名(英文)数据类型宽度小数点位数与否为空单位CompanyVarchar20No单位编码CodeIntegerNo系统信息表 system_table 主键:顾客名Useid列名(中文)列名(英文)数据类型宽度小数点位数与否为空密码PasswordVarchar20No顾客名UseidVarchar20No职工工资登记表 employee_salary_sum 主键:单位Company,日期Date列名(中文)列名(英文)数据类型宽度小数点位数与否为空季末人数NumberInteger10No日期DateDateNo单位Companyvarchar20No夜班费Yb_feiN
17、umeric82No津贴备用Jt_beiyongNumeric82Yes补助备用Bt_beiyongNumeric82Yes加班费Jb_feiNumeric82No奖金Jiang_jinNumeric82No其他工资Other_salaryNumeric82No实发工资Shi_fa_salaryNumeric82No职工考勤登记表 employee_attendance_sum 主键:单位Company,日期Date列名(中文)列名(英文)数据类型宽度小数点位数与否为空在编人数Zb_numberIntegerNo日期DateDateNo单位CompanyVarcharNo外借人数Wj_numb
18、erIntegerNo应出勤人数Ycq_numberIntegerNo考勤人数Kq_numbertIntegerNo探亲假TanqinIntegerNo婚假HunjiaIntegerNo丧假SangjiaIntegerNo事假ShijiaIntegerNo病假BinjiaIntegerNo旷工KuanggongIntegerNo产前假ChanqianjiaIntegerNo产假ChanjiaIntegerNo以上几张表均属于基本表,根据顾客需求我们又设计几张视图职工花名册表 数据源:职工基本信息表(employee_information_table)商场职工工资总额构成表,商厦职工工资总额季
19、度汇总表 数据源: 职工工资表(employee_salary_table), 职工工资登记表 (employee_salary_sum)商场月考勤登记表,商厦职工月考勤记录汇总表 数据源:职工考勤表(employee_attendance_table) 职工考勤登记表(employee_attendance_sum)此外在这加个申明是,在本数据库几张表中没有定义外键,其原因重要是几张表主键特点。所认为了保持数据一致性就通过程序完毕。 第三章 商厦人事劳资管理系统详细实现3.1模块化开发环境简介3.1.1 POWERBUILDER简介 POWERBUILDER是美国著名数据库应用开发工具生产厂
20、商POWERSOFT推出成功产品。它是完全按照CLIENT/SERVER体系构造研制设计。采用面向对象技术、图形化应用开发环境。是数据库前端开发工具;由于它所开发多种应用程序都充足运用了图形化顾客接口(GUI)长处。因此 POWERBUILDER被认为是一种图形工具。在CLIENT/SERVER构造应用中, POWERBUILDER具有描述多种数据库连接与检索功能,尤其是 POWERBUILDER能从大多数流行RDBMS提取数据。并且不管数据寄存在什么地方。此外,多种应用程序也可以独立于RDBMS,因 POWERBUILDER可以使用数据库原则操作语句SQL进行通讯 。 POWERBUILDE
21、R正在成为CLIENT/SERVER应用开发原则。它为应用开发提供了全面、综合性支持,可以分别概括为如下几点:1. 事件驱动应用程序2. POWERSCRIPT语言与函数3. 面向对象编程4. 跨平台开发5. 与数据库连接性3.1.2 事件驱动应用程序 POWERBUILDER应用程序是事件驱动。即顾客通过多种动作控制应用程序流程。例如,当单击某个按钮或在某个编辑框中输入数据都会触发对应事件。顾客可以通过编写脚本(Script)来阐明当事件被触发时所要完毕处理过程。 POWERBUILDER给开发人员提供了一种集成环境。应用多种成分、包括窗口、菜单、事务逻辑、数据库存储、数据库生成、图形、报表
22、等所有都在 POWERBUILDER内开发,而不必再到其他环境中去做。3.1.3 POWERSCRIPT语言与函数POWERSCRIPT是POWERBUILDER功能很强第四代编程语言。用POWERSCRIPT语言编写程序一般称为(Script)。脚本是由POWERSCRIPT命令、函数和对应末某一事件所要完毕处理过程语句所构成。它能使开发人员很轻易地将简朴工作复杂事务逻辑与应用相匹配。它由几百个函数用于操作对象、数字、文字和日期等信息并全面支持DDE和全文本I/O。例如为某个按钮上Clicked事件则编写脚本、也许要进行处理是从数据库中检索和显示数据。 事件自身也可以触发其他事件,例如当一种
23、按钮上Clicked事件要打开一种窗口时就触发了一种窗口上Open事件。POWERSCRIPT还提供了丰富内置函数,可以运用这些函数对应用程序多种对象控件进行处理,如打开窗口函数更新数据库函数。此外,顾客还可以定义自己函数在应用程序中来执行某种特定处理过程。外部函数可在 POWERBUILDER内阐明和访问,就如同内置 POWERBUILDER函数同样。3.1.4面向对象编程在 POWERBUILDER中创立每一种菜单和窗口都是一种模块称为对象(Object)。 POWERBUILDER应用程序基本构建块是顾客所创立对象,每一种对象都具有某些特性和行为(属性、事件和功能)运用诸如封装型、继承性
24、和多态性这样面向对象编程技术。开发人员可以最有效运用所创立每一种对象。使用应用程序具有可通用性可说扩展性和强有力功能。 POWERBUILDER应用由一系列对象构成,包括有函数、菜单、函数、构造和数据窗口、顾客对象、顾客事件等等,对象中又包括若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中反复使用。3.1.5 跨平台开发 POWERBUILDER支持跨平台开发和分布。例如WINDOWS运用 POWERBUILDER开发应用程序。可以将应用程序分布到UNIX平台运行,反之亦可。3.1.6与数据库连接性 POWERBUILDER提供了与底层数据库系统紧密连接。 POWERBUILDE
25、R支持不一样关系数据库管理系统并充足发挥每一种数据库专长。开发人员和运用内置高性能数据库引擎SYBASE SQL Anywhere生成独立应用或脱离服务器运行服务以上应用,在开发该商厦管理系统时,笔者就是使用该种数据库引擎。POWERBUILDER存取数据库方式有两种: 通过使用POWERSOFTDBMS接口。(ODBC(开放数据库连接)是微软企业数据库连接原则)通过使用由POWERSOFT提供专用直接与数据库相连接口如下进行图例阐明:POWERBUILDERODBC接口SYBASE接口ORACLE接口INFORMIX接口SQL ANYWHERE数据库ORACLE数据库INFORMIX数据库S
26、YBASE数据库值得一提是POWERBUILDER拥有数据窗口对象(DATAWINDOW)。它是一种智能对象是POWERSOFT企业一项专利技术。它能操纵关系数据库数据而无需编写SQL语言。运用该对象可以修改、更新、插入、删除、滚页、打印或以11种文献格式中任何一种方式保留数据。数据窗口直接管理数据库交互与控制。在本系统开发过程中大多数报表均使用此对象生成,使用其操纵关系数据库数据十分以便、快捷。它是一种支持数据操纵封装性很好对象。3.2系统模块详细实现 在本系统中有四个子模块构成。它们分别是员工基本信息模块、员工工资信息模块、员工考勤信息模块和系统维护模块,下面就开发这几种模块过程及所碰到问
27、题分别加以简介。 3.2.1员工基本信息模块 该模块重要完组员工基本信息录入、查询、记录及打印功能。在此模块中定义了三个重要窗口:员工花名册窗口、员工履历表信息窗口和组合条件查询窗口。后两者均需通过前者访问。(其总体框架如图3.2.1.1所示) 花名册窗口履历表窗口多条件查询窗口查询修改查询 图3.2.1.1 员工花名册窗口中显示是员工必要信息。可供顾客浏览查询及以其记录为单位操作。假如顾客修改某一纪录中某一项,可双击该条纪录进入员工履历表窗口,此窗口使用数据窗口FREEDOM风格(经典录入界面)。该种风格特点是列标题紧挨着数据列。在此窗口显示是员工详细资料,在此窗口还可以增长新员工纪录。 该
28、模块第三个窗口是多条件查询窗口,在此窗口中应用了数据窗口这一智能化对象。因此多条件查询也就变得简朴起来,只要通过修改数据窗口QUERYMODE属性。(DW_1.OBJECT.DATAWINDOW.QUERYMODE=“YES”)顾客只要输入组合条件,系统就会自动检索出数据,开发人员可以不用再编写冗长SQL语句。从此一点就可以看出数据窗口优越之处。(其流程框图3.2.1.2所示) 如上一章所提,由于数据库基本表与其他表之间主键特点,不以便使用外键来保持数据一致性问题,因此要用手工操作措施进行数据一致性维护,重要应用在如下几种方面,职工工资表中加入和删除职工信息,职工考勤表中加入和删除职工信息,履
29、历表中删除职工信息。 在职工工资表中和在职工考勤表中加入职工信息时,顾客不能任意输入职工姓名,而是由系统提供专有添加职工窗口,用于显示该单位花名册已经有职工名,而在职工工资表或职工考勤表中没有职工名供顾客选择,从而规定顾客不能任意输入花名册以外职工信息了,要加入新职工信息必须先加入到花名册中去。这样就既保证数据库数据一致性,又防止了数据冗余。 在职工工资表中和在职工考勤表中删除职工信息时,为保持数据一致性,就需要立即重新计算记录量。 此外,考虑到职工编码可以唯一标示职工单位,因此就对单位进行编码化,即职工编码前三位唯一标示一种单位,这样就减少数据冗余。 最终阐明是在花名册中删除一条记录处理过程
30、。(其流程框图3.2.1.3所示)打开多条件查询窗口初始化 输入查询条件 querymode=“yes”检索出成果querymode=“no”修改纪录保留修改再查询 是 否 (图3.2.1.2)选择删除功能 与否选中删除对象 否 是确认 否 是删除员工基本表中对应该记录,删除该员工工资记录,删除该员工考勤记录,对员工工资记录进行更新,对员工考勤登记表进行更新 。工资登记表中该单位与否人数为0删除登记表中该条纪录 否 是考勤登记表中该单位与否人数为0删除登记表中该条纪录 否 是返回成功消息 (图3.2.1.3)打开该窗口提醒错误重输入输入检索条件 输入错误检索出数据 否 否添加,插入删除 是 是
31、 否打开添加窗口,显示该单位未加入职工名确认选中 否添加纪录到工资录入窗口。 是 保留 是 否保留目前修改善入数据库,同步修改更新数据库中记录报表记录量。 是 (图3.2.2)3.2.2职工工资管理模块 该模块是完毕对员工工资信息输入、查询、并以此进行记录生成“商场职工工资总额构成状况表”和“商厦职工工资总额季度汇总表”。 此模块重要包括三个窗口,工资录入窗口、商场职工工资总额记录构成和商厦职工工资总额记录窗口,后来两者均可通过第一种窗口菜单项选择而进入。(工资录入窗口框图如图3.2.2)两个窗口“商场职工工资总额登记表”与“商厦职工工资总额登记表”数据源均是从数据库EMPOYEE_SALAR
32、Y表和EMPOYEE_SALARY_SUM表中选出。其功能包括打印、预览。由于所打印表大多很长,很难一种屏幕内放下,这就使得顾客预览不到整体效果。因此带两个窗口中均动态修改了数据窗口放大倍数(DW_1.Modify(DataWindow.Zoom=50)),均以缩小百分之五十面目出现。这就是顾客可以一览打印表全貌,到达打印效果。此外,由于所规定输出打印表是经典中国式表格而POWERBUILDER没有提供对应风格,因此只有通过选择TABLUR风格表格(该种风格容许数据列跨页或跨带显示,顾客可以根据自己需要重新组织安排这些数据),自行划线分组增长表头文字。以此到达顾客打印表规定。3.2.3员工考勤
33、管理模块该模块完毕对职工考勤信息输入和查询。并以此数据为基础生成“商场职工月考勤登记表”和“商厦职工月考勤记录汇总表”。此模块重要包括三个窗口,考勤登记窗口、商场职工月考勤,商厦职工考勤记录窗口,后两者均可通过第一种窗口菜单项选择而访问到。由于在模块中使用措施和程序框图与职工工资管理模块大体相似,因此这里也就不一一列举了。3.2.4系统维护模块 此模块除完毕数据一般性维护如数据恢复与备份、数据定期删除,还提供了本系统部分维护功能,如系统初始化,(该项功能将删除数据库中所有数据,因此仅在系统初始生成时使用)此外尚有密码修改和单位编码。下面就数据维护和单位编码分别进行一下讨论。尽管系统中采用多种保
34、护措施来防止数据安全性和完整性破坏,但由于计算机系统中硬件故障、软件错误、操作员失误以及故意破坏,问题仍然是不可防止,并且这些故障轻则导致运行事务非正常中断,影响数据库中数据对性,重则破坏数据库,使数据库中所有或部分数据丢失。因此作为一种完整管理信息系统,数据备份和恢复当然是少不了,在这里我们使用数据窗口提供SAVEAS()函数和IMPORT()函数分别作为数据备份和恢复,要申明是在这个过程中我们把指定文献名设为NULL。以便使系统弹出公共对话框由顾客选择文献名和保留途径以及保留格式,这给顾客提供了更大自由度,当然,也带来了某些问题。例如,假如顾客选择保留格式为TEXT WITH HEADER
35、S时(即含表头文献格式),在恢复过程中就会报错,因此这点在协助文档中尤其加以注明。至于单位编码问题,重要是为了减少数据库冗余,由于根据顾客需求职工编码前三位就唯一标识单位,因此就在系统维护中尤其添加此项。在开发此过程中碰到不少困难,例如在顾客修改编码时,假如不保留原有编码就无法更新职工编码,就导致数据丢失,为处理这一问题就做了如下工作:首先在修改后保留前先把数据库编码(待改编码)保留起来,然后把修改后编码(尚未保留编码)从数据缓冲区中取出,然后以待改编码为检索条件。检索出职工编码,修改成新编码,最终保留起来。3.3 系统开发其他方面在这一节中,我们重要讨论了两个问题,一种是系统联机文档,另一种是系统测试,下面我们分别加以阐明。作为一种完整系统,联机文档是其中不可缺乏部分也是相称重要部分。好文档可以使顾客迅速理解并精确使用系统各项功能。减少误操作,减少错误产生也许,这对顾客和开发人员均有诸多好处。因此在开发本系统中,也加入了不少文档,除了对于四大模块详细阐明外,
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100