1、管理信息系统课程设计报告课程设计题目企业工资管理系统的开发专业班级学生姓名指导教师成绩19摘要企业工资管理系统是公司管理的一个重要内容,是一种典型的管理系统企业工资管理系统是公司管理的一个重要内容,是一种典型的管理系统,其开发主要包括后台的数据库的建立、维护以及前端的相应应用程序的开发两个方面的内容,系统的建立和维护主要要求其管理数据的系统性、规范性、自动性等特点,而前台的应用程序开发则要求做到各项功能要完备、操作要简便、易学易用等特点。综合上述各项要求,本问首先分析了企业工资管理系统的应用现状,阐述了本工资管理系统的开发目的,通过对数据库技术的现状与发展,数
3、法概要11.3企业工资管理系统的现状分析22企业工资管理系统平台的选用22.1数据库技术的现状与发展22.2数据库系统的选择原则32.3系统开发工具的选择33企业工资管理系统分析33.1系统目标33.2系统可行性分析研究43.3需求分析43.4数据流程图:54系统总体设计54.1系统功能模块图64.2功能的说明64.3系统的运行要求75详细设计与实现75.1数据库设计75.2系统中有关数据库表结构设计85.3系统模块设计举例96系统测试146.1系统开发环境146.2系统测试156.3系统运行与维护166.4系统的转换方案177系统评价177.1
4、系统的特点177.2系统的缺点177.3将来可能提出的要求178总结18企业工资管理系统的开发1企业工资管理系统概述1.1系统的主要功能企业工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速打印出工资报表,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:(1)对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。(2)对职工的工资进行计算、修改。可
5、以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。(3)查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某部门工资数在某一范围的职工的工资情况等。(4)报表打印功能。每月发放工资时,要求能够打印本月的工资表、随工资发给每个职工的工资条以及工资统计表。1.2方法概要本工资管理系统是采用面向对象的程序设计思想进行编制的,整个系统由若干个表单、类、报表以及一个主菜单组成,有项目管理器统一管理全部程序的编写和调试。用户可以通过主菜单或总表单调用系统的各项功能。1、面向对象设计不再是单纯的从代码的第一行
6、一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和可重用性,便于程序的维护与扩展。2、所谓的对象是一种抽象的名称,用来对应实现世界存在的“东西”。一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。对象内部的数据是不能随意更改的,必须由外部向其传递信息,再由对象按其方法加以处理。用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。3、类可视为一个产品模具、一个模块。在面向对象设计中,类是对象的原型,是对象的制作器。类的概念是面向对象程序设计最重要的特征。所谓
8、像搭积木一样来设计自己的程序。打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了。实际编程也是如此。每个表单都是由一定数量的对象按某一种方式组合在一起的,程序编制的核心是类的设计。1.3企业工资管理系统的现状分析1.3.1企业工资管理的应用现状随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水
9、平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的管理系统来进行管理,那么势必会给管理人员带来种种麻烦,因此类似工资管理系统之类的财务软件的开发势在必行。1.3.2管理系统开发的目的本系统开发的主要目的就是要使企事业单位工资管理实现计算机管理,使管理员能够有序的管理每一位职工的各项工资条款的发放以及员工个人台帐的生成,使企业运用现代化技术创造
11、界报社与ibm公司联合举办了"21世纪数据库技术发展专家研讨会"。ibmDB2的创始人DonaldHaderle先生与国内著名数据库专家,就下世纪数据库发展的趋势、数据库领域革命性的突破、ibmDB2的应用、数据仓库的实施、我国数据库技术和应用的现状及趋势、我国数据库用户的需求等问题,进行了广泛而深入的讨论。2.2数据库系统的选择原则(1)数据库系统采用易于集成的,开放的技术。(2)产品质量优异,可靠性高,适于长期运行,能支持关键应用。(3)数据安全,保安型高。(4)能提供分布式数据库功能。(5)支持多种开发环境,软件开发容易。(6)扩充性和升级能力强。2.3系统
12、开发工具的选择现在市场上有很多管理系统的开发工具,如:Visualbasic、delphi、ASP等等,数据库开发工具又有很多种,如:Access,SQLSever,Oracle等等。这些都是很出色的管理信息系统及数据库的开发工具。不过Visualfoxpro6.0有着以下几项特点:Visualfoxpro是microsoft公司推出的全新的pc平台关系数据库管理系统。它具有强大的性能、无与匹敌的速度、完整而丰富的工具、及其友好的图形用户界面、简单得数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,是系统成为目前最快、最完美的数据库系统。不但兼容早期的dbase以及fo
13、xbase各种版本,同时还提供了许多基于windows的崭新功能。Visualfoxpro作为具有windows95兼容标志的应用软件,具有快速开发应用程序、面向对象和客户机/服务器的强大功能,它是多年来出现在关系数据库方面最重要的产品。随着桌面操作系统有windows98逐渐向windowsXP升级的发展潮流,visualfoxpro必将成为今后数据库产品中的主流。Microsoftvisualfoxpro是一个32位的数据库开发系统,可运行于window98和windowsxp操作系统。Visualfoxpro既具有visual系列的功能强大、直观易用、面向对象等优点,又兼具wi
16、问题。(2)经济上的可行性。主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。基于企业的现有计算机及配套设备,建设MIS系统。不但能大大减少重复性的书面报告,降低办公费用,提高办公室效率,而且能提高检测数据效用,为企业提供很方便。由于企业工资管理系统是一个比较小型的系统,所以从人力、物力、财力方面来说都是可行的。(3)管理上的可行性主要是管理人员对开发信息系统是否支持,现有管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等,企业工资管理系统
17、比较完善的规章制度和管理方法为系统的建设提供了保障。(4)社会可行性社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析,比如是否为人们所接受,是否为社会带来利益。可行性分析的最后成果是写出可行性分析报告,可行性分析报告包括下列内容:企业工资管理系统的战略目标,新系统的总体目标及主要功能;主要问题和主要信息要求;拟订新系统的方案;从经济,技术,管理,社会等方面论证方案的可行性。3.3需求分析对用户需求的分析应该全面、深入、发展,全面是指考查由管理的信息是否有纰漏,必须保证各静态、动态信息的完全;深入是指对信息的内容、结构、含义、变换、生存周期的分析和认识;发展是指对信息未来发展变化的
20、工资等级等信息进行浏览,并可以对员工信息进行增加记录,修改记录,删除记录等操作;在员工信息查询模块中,可按员工号或员工姓名进行查询。2工资基本设定包括对基础工资、岗位工资、工龄工资的设定。基础工资的设定包括工资等级、工资额的设定,可以对工资等级及相应的工资额进行修改、添加、删除。岗位工资的设定包括岗位名称、岗位工资额的设定,可以对岗位名称及相应的岗位工资额进行修改、添加、删除。工龄工资的设定包括工龄、工资额的设定,可以对各个工龄段及相应的工龄工资额进行修改、添加、删除。3工资汇总在工资管理中,要分别输入每一个员工的各项工资条款,这样才能运用计算机技术来管理好员工的工资发放情况,其中包括:员工基
21、本情况,员工基本工资情况,员工岗位工资情况,员工工龄工资,工资综合。4个人工资查询此查询分为按职工姓名查询、按职工号查询。5退出此功能块为退出系统。4.3系统的运行要求1硬件要求设备名称说明处理器奔腾III以上,256MB内存256MB,内存越大,速度越快硬盘40GB鼠标双飞燕2D鼠标2软件要求名称说明操作系统WINDOWS95/98,WINDOWSXP应用软件VISUALFOXPRO6.0(中文版)本部分简明扼要的介绍了各个部分要实现的功能,搭好了设计的总体框架,使我们对要开发的系统能够更加系统的,全面的,确切的认识,下一步就可以进行系统的详细设计与具体功能的实现了。5详细设
22、计与实现本部分说明了系统的整个设计,再以工资数据输入,工资计算以及查询为例详细说明了系统是怎样实现的。5.1数据库设计5.1.1概念设计概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念
23、性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。通过对企业工资管理内容和过程的分析,本系统应设计的实体和属性如下:本系统一共用到了3个表。如下:岗位表(dept.dbf)(包括岗位名称,岗位工资)工龄表(gongling.dbf)(包括工龄,工龄工资)工人信息表(personnel.dbf)(包括编号,姓名,性别,工作岗位,工龄,工资等级)。图5-1为本系统中工人信息的实体集及
25、对本系统的具体的几个模块做详细说明。1、系统主程序MAIN.PRGclearscreencleareventssetdefatod:qygzopendatabasedatabasesalarydosalarymain.mprdoformsalaryformksjmreadevents2、Ksjm.frm(1)打开表单设计器,设计好表单,并且设置好必要的属性,设计结果见图6-3。Form1.load事件代码:publicii=0Timer.timer事件代码:ifThisform.Label1.Left<0-Thisform.Label1.WidthThisf
26、orm.Label1.Left=Thisform.Width+3EndifThisform.Label1.Left=Thisform.Label1.Left-10I=I+10IfI>=255*2-6I=0Endif(2)“员工基本信息“按钮的CLICK事件为:doformsalaryformpersonnelpersonnel.frm的有关设计见第3目(3)“工资基本设定“按钮的CLICK事件为:doformsalaryformdataformat(4)“工资汇总“按钮的CLICK事件为:doformsalaryformresult(5)“个人工资查询“按钮的CLIC
30、.value)getjob=alltrim(thisform.pageframe1.page1.txtpjob.value)getindate=alltrim(thisform.pageframe1.page1.txtpindate.value)getrank=alltrim(thisform.pageframe1.page1.txtprank.value)ifempty(getid)orempty(getname)orempty(get*)orempty(getjob)orempty(getindate)orempty(getrank)messagebox("
32、=.F.thisform.pageframe1.page1.txtprank.enabled=.F.thisform.pageframe1.page1.fy1.enabled=.T.mand2.enabled=.T.mand3.enabled=.T.mand4.enabled=.F.4工龄工资设定窗体代码:(1)“修改”按钮有关代码:thisform.grdgongling.column1.text1.enabled=.T.thisform.grdgongling.column2.text1.enabled=.T.thisform.grdgongling.column1.text1.setf
33、ocus(2)“修改确认”按钮有关代码:thisform.grdgongling.column1.text1.enabled=.F.thisform.grdgongling.column2.text1.enabled=.F.(3)“添加”按钮有关代码:appendblankgobottomthisform.grdgongling.column1.text1.enabled=.T.thisform.grdgongling.column2.text1.enabled=.T.thisform.grdgongling.column1.text1.setfocus(4)“删除”按钮有关代码:th
38、ifendif(2)表单载入事件代码:publicinnamepublicflagflag=06.岗位工资有关源码:(1)“修改”按钮有关代码:thisform.grddept.column1.text1.enabled=.T.thisform.grddept.column2.text1.enabled=.T.thisform.grddept.column1.text1.setfocus(2)“修改确认”按钮有关代码:thisform.grddept.column1.text1.enabled=.F.thisform.grddept.column2.text1.enabled=.F.(
41、开发时选用了稳定性较强的WindowsXP中文专业版和VisualBasic6.0作为开发语言,同时选用了Access数据库,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。VisualBasic6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使得可以轻松方便的对数据库管理。数据库采用MICROSOFTACCESS,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。本系统在单机上运行。6.2系统测试在MIS开
42、发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,示经周密测试的系统投入运行,将会造成难以想像的后果,因此系统测试是MIS开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占MIS开发总工作量的40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目
44、求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。(2)组合测试组合测试也称集成测试或子系统测试,通常采用自顶向下测试和自底向上测试两种测试方法。组合测试的对象是指已经通过单元测试的模块,不是对零散模块进行单个测试,而是用系统化的方法装配和测试软件系统,是一个严格的过程,必须认真地进行,其计划的产生和单元模块测试的完成日期要协调起来,这种测试应在系统目标机上进行,造成系统应用的环境条件,除了开发部分项目负责人参加以外,还应该有相应系统的用户参加,给评审员进行演示。(3)确认测试确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上,确认测试的目的是
45、对表明软件是可以工作的,并且符合“软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的“确认测试计划”进行的。测试工作是由一个独立的组织进行,而且测试要从用户的角度出发。(4)系统测试系统测试是对整体性能的测试,主要解决各子系统之间的数据通信和数据共享问题以及检测系统不否达到用户的实际要求,系统测试的依据是系统分析报告。系统测试应在系统的整个范围内进行,这种测试不只对软件进行,而是对构成系统的硬、软件一起进行。系统测试与建构同时进行或略慢。系统测试需要确认从头到尾的功能正常才算完成,应当尽量避免系统测试延到项目末尾进行。(5)用户验收测试在系统测试完成后,进行用户的验收测试
47、的正确实现。2、数据跟踪:完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。例如:在成绩管理模块中,我首先对考试类型进行设定,然后在成绩添加模块中进行数据操作,随时观察这两个模块之间是否有冲突产生,配合得是否正确,再然后在成绩浏览模块中进行验证,说明该功能完全正常,对其它的功能模块也进行了类似的设置。3、综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次来检验系统功能是否符合系统设计的要求。6.3系统运行与维护系统的运行:1、初始数据的输入本系统的输入采用鼠标和键盘相结合的输入方法。2、怎样使用本系统:本系统的使用相应简单,基本上只要会使用Windows软件就会使用本系统,在具体的操作时,只需点击鼠标左键即可进行相应功能的选择。3、系统的维护:本系统是个较复杂的人-机系统,由于系统外部环境与内部因素的变化