职工工资核算管理信息系统毕业论文.doc
山东广播电视大学中央电大人才培养模式改革与开放教育试点”计算机专业(本科)毕 业 设 计设 计 题 目 职工工资核算管理信息系统 姓 名 高 峰 学 号 041170071 学生工作单位 莱钢运输部 学生所在电大莱钢广播电视大学 指 导 教 师 陈 东 山东广播电视大学教学管理处编印摘 要该课题采用自上而下的结构化开发方法与面向对象方法相结合的方法,研究和开发莱钢运输部职工工资核算管理信息系统。在理解软件工程的思想和数据库理论的基础上,通过对业务流程及原有旧系统分析和重构,重新设计系统体系结构。采用Microsoft SQL Server2000设计并建立数据库,采用面向对像编程工具Microsoft Visual Studio C# .Net实现,其人机界面友好,操作简单,数据驱动相对容易,并易于实现。关键词:管理信息系统、工资管理、结构化方法、面向对象方法、Microsoft SQL Server2000、Microsoft Visual Studio C# .NetABSTRACTThis topic uses the method which the top-down structurization method of exploitation and the object-oriented method unify, studies and develops the staff wages calculation management information system. In understanding software engineering thought and in database theory foundation, through to service flow and original old system analysis and restructuring, redesign system architecture. Uses Microsoft SQL Server2000 to design and to establish the database, uses object-oriented programming tool Microsoft Visual Studio C#. The Net realization, its man-machine contact surface is friendly, the operation is simple, the data actuation is relatively easy, and easy to realize.Keywords:Management Information System ,Salary Management, Structure-rization method,Object-oriented method,Microsoft SQL Server2000,Microsoft Visual Studio C# .Net目 录1前言-42管理信息系统概述-521MIS系统开发方法的选用-522 MIS系统开发过程-53可行性分析-731系统现状及缺陷分析-732新系统目标及功能要求-733系统业务流程-834数据流程图-835数据字典-94系统总体设计-1441系统体系结构设计-1442系统功能划分-1443数据库设计-175详细设计系统-2151编程环境和数据库选择-2152详细设计方案-256系统测试-3261 MIS测试介绍-3262系统测试过程-327 系统实施-3571数据导入-3572系统切换-358结束语-37参考文献-381前言在现代化企业中,信息管理工作将发挥越来越重要的作用。企业信息管理工作已经渗透到企业日常工作的许多方面,无论是其自身还是所发挥的作用,都为企业的创新、发展以及经济效益,做出了显著的贡献。运输部自2000年企业局域网投入运用以来,先后开发使用了大大小小10几个管理新系统。近两年与软件公司合作,开发了智能化设备管理信息系统和智能化铁路运输综合管理信息系统。智能化设备管理信息系统涵盖设备一生管理,并将运输部自己的管理理念溶于其中,在设备管理方面起到了很好的效果;智能化铁路运输综合管理信息系统主要将运输部的主业铁路运输的各个方面联系起来,利用铁路微机联锁、车号自动识别等技术,实现莱钢厂内车辆跟踪、统计、费用核算等功能,提高了运输效率和管理效能。企业工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业决策者和管理者来说都是至关重要的,所以企业工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。但是,运输部仍然沿用95年编制的工资核算系统,系统采用的技术老旧,不能适应现有条件下的管理要求,因此决定设计一个新的职工工资管理信息系统,达到检索迅速、查找方便、可靠性高、存储量大、保密性好、适应网络化的要求,提升工资管理手段。2管理信息系统概述管理信息系统(简称MIS)是介于信息论,经济管理理论,统计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。21 MIS系统开发方法的选用管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等:生命周期法(Life Cycle Method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始。原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较为理想的管理信息系统。面向对象(Object Oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。基于以上三种方法的特点和各自的优缺点,本职工工资管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面向对象的方法。22 MIS系统开发过程一个MIS系统的开发过程一般包括如下几个步骤:(1)需求分析:需求分析主要是了解用户的需求。需求了解得越详细,程序的后期开发与维护费用就会越少。一般的开发团队中,需求分析都是由资历较深的系统分析员或项目经理担当,可见它的重要性。需求分析制订好后,需要反复修改。将最后的结果交给用户审定,确认无误后,由系统分析员完成需求分析文档,再开始下一步工作。(2)概要设计:概要设计紧跟在需求分析之后。用户需求明确后,将得到的数据分析后,开始构建数据库的逻辑结构。此时,数据库中的表格还未成形,通过各种分析工具(如PowerDesigner等)画出数据流图,最后就可抽象出数据库的具体表结构。这时由系统分析人员反复审核。确认所有的需求都考虑在内,没有遗漏后,就可以开始制订概要设计文档。概要设计文档形成后,整个程序的逻辑框架也就形成了。(3)详细设计:概要设计完成后,根据设计中制订的功能模块。就可以进行详细分析设计了。详细设计就是将各个功能模块用处理代码全部用语言表达出。所以详细设计是整个系统中最繁琐的环节。详细设计完成后,整个程序就确定了,再由编程人员根据详细设计文档将代码完成。整个开发工作就宣告结束。(4)程序编码:程序编码相对于其他环节来说比较简单,程序员只需要根据详细分析文档写程序编码,保证代码没有错误即可。程序编码需要注意的是整个程序书写中命名的规范化与编程风格的规范化,这需要较长时间的培养来形成。需要在不断的实践中形成自己独特的风格。总的来说,不要过分地追求复杂的算法,因为那可能会导致后期维护人员无法读懂你的代码而造成维护的困难。(5)测试:程序编码完成后,就需要测试。测试有几种类型,主要是测试代码有无逻辑错误以及在加载数据环境下程序的稳定性问题。测试工作中发现的错误应及时改正,然后将它记录到测试文档中。(6)实施:导入用户数据,进行系统切换,系统投入正常使用。以上是一个完整的MIS系统开发过程,其实不仅MIS系统,其他类型的程序开发也基本相同。3可行性分析31系统现状及缺陷分析本系统投入运用前,运输部仍然沿用95年编制的工资核算系统,该系统为采用FoxBase2.0编写。其工作流程为:1每月各单位会计轮流输入工资数据。2由人力资源科人员进行工资核算程序,计算当月工资明细及其汇总表数据,并逐项打印。3由财务科人员进行三项费用提取(福利费、工会费、教育经费),形成三项费用表。4月末按发放银行进行数据拷贝,为各发放银行提供工资数据。现将该系统缺陷分析如下:1单机应用程序:这造成数据录入只能单人输入,使工作周期较长,影响工作效率;2可移植性差:该程序使用FoxBase2.0编写,运行于Dos系统,其打印模块采用直接调用Dos下打印指令执行,因此不适用于现有的Windows系统,无法进行移植;3不是网络应用,无法支持现有的网络互连的便利条件。因此,该系统存在工作效率低、程序老旧、可移植性差、无网络功能等缺点,不能适应现有环境下的工作需要。32新系统目标及功能要求根据以上分析,需设计新系统以适应当前需要,新系统应支持网络,易于移植和配置,其具体功能要求如下:1、能够实现工资信息分布式录入、修改、打印;2、能够实现月度工资统计汇总并形成报表打印;3、充分利用网络资源,提供多用户服务,有用户权限设置,达到职工工资保密要求;4、提供较为丰富的工资查询功能,便于查询统计;5、用户界面友好,操作方便。33系统业务流程根据对工资核算日常工作的调查,现绘制工资核算业务流程图如下:图3.1 业务流程图各单位会计月工资数据录入月度工资变动数据工资计算财务科月度工资明细月度工资汇总表人力资源科月度奖金人事变更信息月度工资人事变更三项费用计算三项费用汇总表34数据流程图根据已绘制的业务流程图,绘制新系统数据流图如下:W1各二级单位会计W2人力资源科P2月度工资输入F02月度工资明细S02月度工资变动项目数据S03月度奖金P3人事变更S05职工变更信息F01职工工资基本信息P4职工工资核算月度工资数据初始化W3财务科S06职工工资明细表P5职工工资汇总S07职工工资汇总表P6三项费用核算S09应付工资总数S08三项费用汇总表S01月度工资固定项目S04时间参数图3.2 数据流图35数据字典表3.1 数据流定义表编号数据流名组成备注S01月度工资固定项目E01,E02,E03,E04,E05,E08,E10,E12,E13,E14,E15,E16,E18,E19,E20,E21,E24,E25,E26,E27,E28,E29,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40S02月度工资变动项目E06,E07,E09,E11,E17,E22,E23,E28,E29,E27S03月度奖金E39,E28,E29S04时间参数E28,E29S05职工变更信息E01,E02,E03,E05,E27,E30,E32,E33,E34,E35,E36S06职工工资明细E01,E02,E03,E04,E05,E06,E07,E08,E09,E10,E11,E12,E13,E14,E15,E16,E17,E18,E19,E20,E21,E23,E24,E25,E26,E27,E28,E29,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40,E41,E49,E50,E51S07职工工资汇总表E03,E04,E05,E06,E07,E08,E09,E10,E11,E12,E13,E14,E15,E16,E17,E18,E19,E20,E21,E23,E24,E25,E26,E27,E28,E29,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40,E41,E49,E50,E51S08三项费用汇总表E41,E42,E43,E44,E45,E46,E47,E48S09应付工资总数E42表3.2 数据元素定义表编号数据元素名内部名类长值义E01编码编码Char/10职工编码E02姓名姓名Char/10职工姓名E03岗位岗位Money/8岗位工资E04年功年功Money/8年功工资E05技能技能Money/8技能工资E06夜贴夜贴Money/8夜班补贴E07节日节日Money/8节日加班费E08技师技师Money/8技师补贴E09岗贴岗贴Money/8岗位补贴E10交通回民交通回民Money/8交通回民E11病事旷病事旷Money/8病事旷E12医保医保Money/8医疗保险E13养老金养老金Money/8养老金E14失业金失业金Money/8失业金E15公积金公积金Money/8公积金E16房水卫房水卫Money/8房水卫E17电费电费Money/8电费E18会费会费Money/8会费E19所得税所得税Money/8所得税E20投保投保Money/8投保E21收视收视Money/8收视E22补扣资补扣资Money/8补扣资E23补扣款补扣款Money/8补扣款E24百分比增资百分比增资Money/8百分比增资E25房改补房改补Money/8房改补E26物业物业Money/8物业E27单位编号depart_idInt/4单位编号E28年份年份Int/4年份E29月份月份Int/4月份E30岗位分类岗位分类Char/10岗位分类E31账号账号Char/20账号E32工种岗位工种岗位Char/20工种岗位E33行政级别行政级别Char/10行政级别E34技术级别技术级别Char/10技术级别E35岗位档次岗位档次Char/10岗位档次E36档次备注档次备注Char/20档次备注E37工号工号Char/10工号E38二级单位编号lw_dep_idInt/4二级单位编号E39奖金奖金Money/8奖金E40身份证号身份证号Char/20身份证号E41单位名称DepartChar/10单位名称E42应付工资总数sumfareMoney/8应付工资总数E43人数人数Int/4人数E44标准工资标准工资Money/8标准工资E45各种津贴各种津贴Money/8各种津贴E46应付福利费应付福利费Money/8应付福利费E47工会经费工会经费Money/8工会经费E48教育经费教育经费Money/8教育经费E49工资小计工资小计Money/8工资小计(复合子段)E50应付工资应付工资Money/8应付工资(复合子段)E51实发工资实发工资Money/8实发工资(复合子段)表3.3 文件定义表编号文件名内部名组成组织方式F01职工工资基本信息T_templateE01,E02,E03,E04,E05,E08,E10,E12,E13,E14,E15,E16,E18,E19,E20,E21,E24,E25,E26,E27,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40F02月度工资明细T_historyE01,E02,E03,E04,E05,E06,E07,E08,E09,E10,E11,E12,E13,E14,E15,E16,E17,E18,E19,E20,E21,E23,E24,E25,E26,E27,E28,E29,E30,E31,E32,E33,E34,E35,E36,E37,E38,E39,E40,E41,E49,E50,E51表3.4 外部项定义表编号名称输入数据流输出数据流备注W1各二级单位会计S02W2人力资源科S03,S04,S05W3财务科S09S06,S07,S08表3.5 加工定义表编号名称输入数据输出数据关联文件加工逻辑备注P1月度工资数据初始化S01,S04F01,F02获取S04从F01获取S01合并S01、S04并插入F02P2月度工资输入S02,S03F02获取S02、S03更新F02对应项目数据为S02、S03P3人事变更S05F01获取S05更新F01P4职工工资核算S06F02根据工资核算算法计算F02数据生成S06P5职工工资汇总S07F02根据工资汇总算法计算F02数据生成S07P6三项费用核算S09S08F02获取S09根据S09计算F02数据生成S084系统总体设计41系统体系结构设计为有效地保证和管理数据的安全性、访问权限、完整性,采用C/S(Client/Server,客户机/服务器)架构和支持C/S架构的数据平台,是必然选择。由于工资信息的保密性,因此采用C/S模式又称C/S结构。C/S模式就是基于企业内部网络的应用系统,C/S模式的应用系统最大的好处是不依赖企业外网环境,即无论企业是否能够上网,都不影响应用。C/S体系结构的数据库应用,由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。该系统中服务器端实现数据存储和后台数据计算功能,客户端实现用户数据录入、报表打印等功能。42系统功能划分职工工资核算系统工资维护人员变动归集汇总财务报表系统维护图4.1系统顶层模块图系统划分为工资维护、人员变动、归集汇总、财务报表、系统维护等五大功能模块。各模块子功能模块划分如下:工资维护固定项目变动项目工资明细打印奖金输入图4.2 工资维护模块工资维护固定项目:维护职工个人工资的固定项目,这些项目很少变化。变动项目:维护职工个人工资的固定项目,这些项目每个月都变化。工资明细打印:按月导出指定单位工资明细。奖金输入:供人力资源科人员导入月度奖金数据,并可维护修改。人员变动内部在职调动外单位职工调入职工调出或删除在职离退休退养加入内外抚恤库图4.3人员变动模块人员变动内部在职调动:内部子单位之间的人员调动。外单位职工调入:外单位职工调入,即增加职工信息。职工调出或删除:本单位职工调出或删除。在职离退休退养:在制职工离、退休、退养维护。加入内外抚恤库:职工信息转移至抚恤库。归集汇总站段、工行车务二段总汇各单位汇总图4.4归集汇总模块归集汇总除车务二段外,其他在职职工工资为工商行发放,因此按发放银行分为站段、工行和车务二段两个汇总表。总汇:按照岗位分类汇总。各单位汇总:按月汇总指定单位工资总额。财务报表图4.5财务报表模块财务报表提取三费银行拷盘提取三费:财务科人员每月按照应付工资数计算汇总职工三项费用表(福利、教育、工会)。银行拷盘:按照发放银行导出月度工资数据。图4.6系统维护模块系统维护单位信息维护权限管理岗位设置系统维护单位信息维护:维护单位编码、单位名称等单位信息。权限管理:提供系统用户个人信息维护。岗位设置:工资信息的岗位维护。4.3数据库设计1概念设计概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。通过对职工工资管理内容和过程的分析,本系统应设计的主要实体和属性如下:职工基本信息编码姓名岗位二级单位编码身份证号图4.7 实体:职工基本信息月度工资明细表编码姓名岗位奖金身份证号图4.8 实体:月度工资图4.10实体联系图用户职工基本信息月度工资明细表人事变更月初初始化月变动项目输入1NNNN1用户用户编码用户姓名密码单位编码用户角色图4.9 实体:用户各实体间的联系如下图:2数据库结构设计月度工资明细表4.1 月度工资明细数据元素名别名类型长度数据元素名别名类型长度编码编码char10收视收视money8姓名姓名char10补扣资补扣资money8岗位岗位money8补扣款补扣款money8年功年功money8百分比增资百分比增资money8技能技能money8房改补房改补money8夜贴夜贴money8物业物业money8节日节日money8单位编号depart_idint8技师技师money8年份年份int8岗贴岗贴money8月份月份int8交通回民交通回民money8岗位分类岗位分类char10病事旷病事旷money8账号账号char20医保医保money8工种岗位工种岗位char20养老金养老金money8行政级别行政级别char10失业金失业金money8技术级别技术级别char10公积金公积金money8岗位档次岗位档次char10房水卫房水卫money8档次备注档次备注char20电费电费money8工号工号char10会费会费money8二级单位编号lw_dep_idint8所得税所得税money8奖金奖金money8投保投保money8身份证号身份证号char20职工基本信息表4.2 职工基本信息数据元素名别名类型长度数据元素名别名类型长度编码编码char10百分比增资百分比增资money8姓名姓名char10房改补房改补money8岗位岗位money8物业物业money8年功年功money8单位编号depart_idint8技能技能money8账号账号char20技师技师money8岗位分类岗位分类char10岗贴岗贴money8奖金系数奖金系数float8交通回民交通回民money8工种岗位工种岗位char20养老金养老金money8行政级别行政级别char20失业金失业金money8技术级别技术级别char10公积金公积金money8岗位档次岗位档次char10房水卫房水卫money8档次备注档次备注char20会费会费money8工号工号char10所得税所得税money8二级单位编号lw_dep_idint8投保投保money8身份证号身份证号char20单位信息表4.3 单位信息数据元素名别名类型长度单位编码depart_idint4单位名称departchar10上级单位编码f_depart_idint4角色信息表4.4 角色信息数据元素名别名类型长度角色编码Actor_idsmallint2角色名Actornamechar10用户信息表4.5 用户信息数据元素名别名类型长度用户编码user_idchar10用户名usernamechar20密码passwordchar16单位编码depart_idint4用户角色u_actorint45详细设计系统51编程环境和数据库选择1、数据库选择本系统选用Microsoft SQL Server2000作为后台数据库。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000的特性很多,以下只列举几条加以说明选用该软件的必要性: XML Extensible Markup Language 扩展标示语言支持关系数据库引擎可以返回XML 文档数据XML 数据可以用于插入删除和更新数据XML 是扩展标示语言Extensible Markup Language 的英文缩写XML 语言可用于描述一个数据集的内容以及数据如何在Web 页中显示或输出到某个设备XML 和HTML Hypertext Markup Language 超文本链接标示语言都源自SGML Standard General Markup Language 标准通用标示语言SGML 是一个非常复杂庞大的语言在网络上发布数据时很难完全使用它HTML 比SGML 简单得多而且更专业化但HTML 所作用的数据有一定的数量限制XML 介于HTML 和SGML 之间它比SGML 简单但比HTML 的功能强大得多因此XML 成为Web 网络或公司内部网络进行电子数据交换日益重要的语言。SQL Server 2000 对XML 的支持表现在以下几个方面:可以通过URL Uniform Resource Locator 统一资源定位访问SQL Server 支持XML-Data 模式可检索编写XML 数据SQL Server 2000 OLE DB 增加了对XML 文档的支持数据行中的Text 类型数据SQL Server 2000 中可以将TEXT 和IMAGE 类型的数据直接存放到表的数据行中而不是存放到不同的数据页中这就减少了用于存储TEXT 和IMAGE 类型的空间并相应减少了磁盘处理这类数据的I/O 数量。分布式查询Distributed Query 增强 SQL Server 2000 引入了一个名为OPENROWSET 的函数它可以指定在分布式查询中的一个特定的连接信息分布式查询优化器的功能有了进一步的提高授予了OLE DB 数据源更多的SQL 操作权。级联参考完整性约束Cascading Referential Integrity Constraints 级联参考完整性约束可以控制在删除或更新有外键约束的数据时所采取的操作这种控制是通过在CREATE TABLE 或ALTER TABLE 命令中的REFERENCES 子句中加入ON DELETE 或ON UPDATE 子句来实现的。Kerberos 和安全授权Security Delegation SQL Server 2000 使用Kerberos 来支持客户机和服务器之间相互的身份验证使用Kerberos 和授权来支持复合认证以及SQL Server 注册。2、编程环境选择本系统选用Microsoft C#.NET作为编程环境。C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选-无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。最重要的是,C#使得C+程序员可以高效的开发程序,而绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。C#.Net具有如下特点:效率与安全性新兴的网络经济迫使商务企