更多毕业设计:www.56doc.com QQ: 306826066
【摘 要】对一个单位而言,人力资源是宝贵的资源,也是 “生命线”。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。本文介绍毕业设计课
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的选题背景和意义,相关的研究和开发的比较和综述,研究开发的过程,以及设计思路和实现细节的考虑。
【关键字】管理信息系统,数据库,工资管理,实体关系图(E-R图),数据字典,数据流图。
第一部分 对管理信息系统及其开发的认识
一、管理信息系统概述
1、发展历史
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及单位管理领域的“人-机系统”,该系统是70年代初“后工业经济”时代的产物,在管理信息系统在其发展的初期,是单一的人—机系统,系统功能简单,效率低,对管理的作用有限。
进入2 0世纪80年代末,随着计算机网络和通信技术的大力发展,管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、“金桥”工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统 (ES)或决策支持系统 (DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。
2、管理信息系统的组成
管理信息系统在单位中的应用存在三个要素,这就是人、计算机和数据。
3、管理信息系统的界面特点
在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:
(1)以通信功能作为界面设计的核心
人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式:另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起(人机界面程序只是通信),以免互相干扰,影响速度。
设计MIS时,针对每一个功能,都要按照模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。
报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。
(2)界面必须始终一致
统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。
例如在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。
(3)界面必须使用户随时掌握任务的进展情况
人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。
(4)界面友好。使用方便
多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。
总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高。
二、开发管理信息系统意义
借助现代信息技术和管理理论,建立部门管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对单位而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在单位日常管理中,人力资源是最宝贵的资源,也是“生命线”,因此人事管理是一个单位的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。
三、信息管理系统的开发过程
1、 开发过程概述
管理信息系统的开发过程一般包括系统开发准备、系统调查、系统
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、系统设计、系统实现、系统转换、系统运行与维护、系统评价等步骤。根据开发系统的大小、复杂、投入、方式、方法等因素的不同,各步骤的要求和内容也不同,用户需要根据实际情况进行取舍和计划。
1.1系统开发准备
系统开发准备工作主要包括提出系统开发要求、成立系统开发小组、制订系统开发计划等工作。
1.2系统调研及分析
新系统的系统分析与系统设计工作都要建立在对现行系统调研的基础上,即必须调查现行系统的运行情况、问题等,明确用户的需求,特别是合作开发和委托开发方式。
调研的主要内容有:
(1)现行系统概况:该组织的发展历史、目前组织的规模、工作状况、管理水平、与外界的主要联系等。调查该项内容的目的主要是为了划分系统界限、系统与外界的输入输出接口等。
(2)组织机构:画出组织的组织结构图,弄清组织的行政关系、人员编制、工作范围、地理位置等,发现不合理问题及新系统启动后可能对现有组织的影响。
(3)业务流程:按照业务种类的不同和处理时间的先后不同,深入了解现行系统的业务流程,画出现行系统业务流柞图,并与业务人员反复讨论,得到认可。调查中要注意定性与定量相结合,注意人、财、物、信息的流向、规格、频率、要求以及需要解决的问题等。
(4)报表、数据处理:了解各种统计报表、数据的
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
、内容、处理时间及上报时间、频率、规律,存在的问题,对新系统的要求、希望等并收集各种报表。
(5)问题:现行系统中存在的主要问题和薄弱环节,可以按照严重程度分成不同的等级。新系统的建立应能解决大部分问题,并改善薄弱环节。
1.3系统设计
系统设计又称系统物理设计。系统设计要根据系统分析
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
中的系统逻辑模型综合考虑各种约束,利用一切可利用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。
结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。
1.4系统实施与转换
系统实施阶段的主要工作包括:系统硬件的购置与安装、程序的编写(购买)与调试、系统操作人员的培训、系统有关数据的准备和录入、系统调试和转换。
在进行以上各个环节的同时展开人员培训工作,包括管理信息系统只是的普及教育、新制度的学习、计算机操作训练等。使所有人员了解新系统的基本功能、新系统对使用人员的要求、建立管理信息系统的目的、管理信息系统的建设可以为组织和个人带来的帮助和便利、个人在新系统中应该承担的工作等,是用户关心、支持新系统的实现。
1.5系统维护和评价
管理信息系统是一个复杂的人机系统。系统外部环境与内部因素的变化,不断影响系统的运行,这时就需要不断地完善系统,以提高系统运行的效率与服务水平,这就需要从始至终地进行系统的维护工作。
系统评价主要是指系统建成后,经过一段时间的运行后,要对系统目标与功能的实现情况进行检查,并与系统开发中设立的系统预期目标进行对比,及时写出系统评价报告。
系统维护与评价阶段是系统生命周期中的最后一个阶段,也是时间最长的一个重要阶段。
2、 结构图
第二部分 工资管理系统分析
一、系统功能需求分析
工资管理信息系统对单位加强工资管理有着极其重要的作用,就一般的单位来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。
由于本软件主要是为一家单位制定开发的。该单位是人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以该公司目前对工资管理的要求并不高。因此,针对该单位而言,我们经过了反复地论证,最终确定了工资管理系统的设计方案。该工资管理系统的主要功能有:员工信息管理、工资结构设置、工资汇总打印等等功能。如图所示:
系统功能模块图
二、功能需求描述
1、员工基本信息模块
员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。员工增删实现了对数据库中员工信息的增加和删除。员工信息查询可以通过员工号或员工姓名对员工信息进行查询。
2、工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
3、工资汇总模块
用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打印预览。
4、目标系统要求
目标系统应该达到以下要求:
1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。能连续准确的处理业务,有较强的容错能力。
3、可理解性。用户容易理解和使用该系统。
4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
三、可行性分析
1、系统平台选择
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的部门在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都非常容易,而且性能优越。
操作系统:Windows 98/xp/2000
2、数据库介绍
所谓数据库(Database)就是指按一定组织方式存储在一起的,相互有关的若干个数据的结合,数据库管理系统(Database Management System)就是一种操纵和管理数据库的大型软件,简称DBMS,他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库管理,数据库建立和维护,于操作系统通信等。DBMS通常由数据字典,数据描述语言及其编译程序,数据操纵(查询)语言及其编译程序,数据库管理例行程序等部分组成。
关系数据库是以关系模型为基础的数据库,是根据表、记录和字段之间的关系进行组织和访问的一种数据库,它通过若干个表(Table)来存取数据,并且通过关系(Relation)将这些表联系在一起,关系数据库提供了成为机构化查询语言(SQL)标准接口,该接口允许使用多种数据库工具和产品,关系数据库是目前最广泛应用的数据库。
3、开发工具说明
本系统是用Visual FoxPro来开发的,Visual FoxPro 是为数据库结构和应用程序开发而设计的功能强大的面向对象的环境,可以产生模块化程度高、重用性好和可维护强的程序。无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户编写功能全面的数据管理应用程序,Visual FoxPro 都可以提供管理数据所需的工具,可以在应用程序或数据库开发的任何一个领域中提供帮助。Visual FoxPro 所具有的速度、能力和灵活性,是普通数据库管理系统无法比拟的,它把我们带入一个 Xbase 新时代,能适应于设计各类应用程序,特别适合中等和小型程序的开发项目。
第三部分 工资管理系统的系统及数据库设计
一、 系统设计概述
本系统主要有工资管理、工资发放管理、档案管理和查询管理四个部分,工资管理主要用来完成机关、企事业单位及军队的日常档案工资管理,即利用预定义的标准表及公式自动进行定级处理、考核晋档处理、考核晋级处理、晋升职务处理以及工资试算,并可将试算结果回填到应用库中。工资发放管理依照工资套改和演变政策,通过计算机的逻辑运算,最后得出个人的具体工资标准。档案管理可以根据自身的需要增加适合本单位特点的人事档案项目、剔除掉不需要的项目。查询管理就是用简单的方法来完成对人员基本情况和工资情况的查询。
本系统能够对数据进行即时备份与恢复,也能够实现向上级部门的数据的上报,接受上级行返回数据或下级部门的上报,还顺利的实现了与其它系统的兼容,即本系统的数据库文件制成其他格式文件,供其它系统使用,也可以将其他系统制作的数据纳入本系统的数据库文件中。
二、数据流图
根据对工资管理工作的调查和用户需求分析,该系统的数据流图
如图所示。
三、数据词典分析
该软件的数据库由下述四张数据表组成:
员工信息表:PERSONNEL.DBF
基础工资设置表:COURSE.DBF
岗位工资设置表:RANK.DBF
工龄工资设置表:GONGLING.DBF
2.1员工信息表:PERSONNEL.DBF
字段
字段名
类型
宽度
说明
1
员 工 号
字符型
3
数字
2
员工姓名
字符型
10
小于等于5个汉字
3
员工性别
字符型
2
“男”或“女”
4
岗位名称
字符型
14
小于等于7个汉字
5
工 龄
数值型
2
1-99之间
6
工资等级
数值型
2
1-99之间
2.2基础工资设置表:COURSE.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
2.3岗位工资设置表:RANK.DBF
字段
字段名
类型
宽度
说明
1
岗位名称
字符型
14
小于等于7个汉字
2
工资标准
数值型
4
1-9999之间
2.4工龄工资设置表:GONGLING.DBF
字段
字段名
类型
宽度
说明
1
工资等级
数值型
2
1-99之间
2
工资标准
数值型
4
1-9999之间
2.5管理员注册表:ADMINER.DBF
字段
字段名
类型
宽度
说明
1
注册名
字符型
10
任意字符
2
口 令
字符型
10
英文字母或数字
第四部分 工资管理系统的实施与维护
一、员工基本信息模块编码设计
1、员工基本信息增删改功能
员工基本信息模块主要分为员工信息浏览界面和员工信息查询界面,员工信息浏览界面如图所示:
具体编码如下:
(1)“增加新记录”按钮控件源代码:
thisform.pageframe1.page1.fy1.enabled=.F.
thisform.pageframe1.page1.command2.enabled=.F.
thisform.pageframe1.page1.command3.enabled=.F.
thisform.pageframe1.page1.command4.enabled=.T.
if thisform.pageframe1.page1.command1.caption='增加新记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.
thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
append blank
thisform.pageframe1.page1.command1.caption='增加确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
getid=alltrim(thisform.pageframe1.page1.txtpid.value)
getname=alltrim(thisform.pageframe1.page1.txtpname.value)
getsex=alltrim(thisform.pageframe1.page1.txtpsex.value)
getjob=alltrim(thisform.pageframe1.page1.txtpjob.value)
getindate=alltrim(thisform.pageframe1.page1.txtpindate.value)
getrank=alltrim(thisform.pageframe1.page1.txtprank.value)
if empty(getid) or empty(getname) or empty(getsex) or empty(getjob) or empty(getindate) or empty(getrank)
messagebox("资料不足",48,"错误")
else
thisform.pageframe1.page1.command1.caption='增加新记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
thisform.pageframe1.page1.command2.enabled=.T.
thisform.pageframe1.page1.command3.enabled=.T.
thisform.pageframe1.page1.command4.enabled=.F.
endif
endif
(2)“修改这条记录”按钮控件源代码:
thisform.pageframe1.page1.command1.enabled=.F.
thisform.pageframe1.page1.command3.enabled=.F.
thisform.pageframe1.page1.command4.enabled=.T.
thisform.pageframe1.page1.fy1.enabled=.F.
if thisform.pageframe1.page1.command2.caption='修改这条记录'
thisform.pageframe1.page1.txtpid.enabled=.T.
thisform.pageframe1.page1.txtpname.enabled=.T.
thisform.pageframe1.page1.txtpsex.enabled=.T.
thisform.pageframe1.page1.txtpjob.enabled=.T.
thisform.pageframe1.page1.txtpindate.enabled=.T.
thisform.pageframe1.page1.txtprank.enabled=.T.
thisform.pageframe1.page1.command2.caption='修改确认'
thisform.pageframe1.page1.refresh
thisform.pageframe1.page1.txtpid.setfocus
else
thisform.pageframe1.page1.command2.caption='修改这条记录'
tableupdate(.t.)
thisform.pageframe1.page1.txtpid.enabled=.F.
thisform.pageframe1.page1.txtpname.enabled=.F.
thisform.pageframe1.page1.txtpsex.enabled=.F.
thisform.pageframe1.page1.txtpjob.enabled=.F.
thisform.pageframe1.page1.txtpindate.enabled=.F.
thisform.pageframe1.page1.txtprank.enabled=.F.
thisform.pageframe1.page1.command1.enabled=.T.
thisform.pageframe1.page1.command3.enabled=.T.
thisform.pageframe1.page1.command4.enabled=.F.
thisform.pageframe1.page1.fy1.enabled=.T.
endif
2、员工信息查询功能
员工信息查询界面如图所示。
具体编码如下:
“查询”按钮控件源代码:
getpid=alltrim(thisform.pageframe1.page2.text1.value)
getpname=alltrim(thisform.pageframe1.page2.text2.value)
flag1=thisform.pageframe1.page2.check1.value
flag2=thisform.pageframe1.page2.check2.value
if flag1=0 and flag2=0
messagebox("请输入查询条件",48,"错误")
endif
if flag1=1 and flag2=0
set order to pid
seek getpid
if found()
messagebox("查到记录",48,"注意")
select * from personnel where pid=getpid into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
if flag1=0 and flag2=1
set order to pname
seek getpname
if found()
messagebox("查到记录",48,"注意")
select * from personnel where pname=getpname into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
if flag1=1 and flag2=1
set order to pid
seek getpid
if personnel.pname=getpname
messagebox("查到记录",48,"注意")
select * from personnel where pid=getpid and pname=getpname into cursor ling
thisform.pageframe1.page3.enabled=.T.
thisform.pageframe1.page3.refresh
else
messagebox("没有这条记录",48,"注意")
endif
endif
二、工资结构设置模块编码设计
工资结构设置模块界面如下图所示
其中“基础工资”功能界面如下图所示:
具体编码如下:
“修改”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“修改确认”按钮控件源代码:
thisform.grdrank.column1.text1.enabled=.F.
thisform.grdrank.column2.text1.enabled=.F.
“添加”按钮控件源代码:
append blank
go bottom
thisform.grdrank.column1.text1.enabled=.T.
thisform.grdrank.column2.text1.enabled=.T.
thisform.grdrank.column1.text1.setfocus
“删除”按钮控件源代码:
thisform.grdrank.recordsource=''
use rank exclusive
delete from rank where rname=getid
pack
thisform.grdrank.recordsource='rank'
thisform.grdrank.refresh
“退出”按钮控件源代码:
thisform.release
do form form\dataformat
三、入口程序
各模块程序编写完成后,要为程序编写一个入口程序。该程序的作用是完成应用系统一系列的初始化设置。
工资信息系统的入口程序如下:
clear screen
clear events
open database database\salary
do form form\ksjm
read events
四、连编程序
连编应用程序项目本设计的收尾工作。通过连编将项目资源,如视图、查询、表单、报表、菜单、类、过程这些包含于项目管理器中的文件信息结合在一起,生成一个扩展名为salary.exe可执行文件,或扩展名为.app的应用程序。
连编程序之前,要进行设置主文件、确定包含或排除文件、设置项目信息等操作。完成这些操作后,运行主程序,当主程序没有错误后,即可连编项目。
第五部分
小 结
在本项目的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。这种设计是一个综合性很高的实践。一些以前没有学得很杂实的课程的内容,由于需要在实践中运用,刚开始我也感到很头痛。但回过头再去看有关的教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻了,学习起来也越来越有兴趣,越来越轻松。
由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不够醒目等问题,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。
在本系统的设计过程和
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
编写过程中,很多老师、同事和朋友都给予了我许多无私的帮助,我的指导老师给我的论文提出了很多宝贵的修改意见,并参考了一些已有的工资管理软件,在这里,我向帮助我的老师和朋友表示衷心的感谢。
定题
研究关键技术
开发环境熟悉
资料查询
调查研究
概要设计
数据库的结构设计
功能模块开发
功能模块测试
系统维护和评价
系统调试
工资管理系统
员工基本信息
工资结构设置
工资汇总
资料输入
员工增删
员工查询
基础工资
岗位工资
工龄工资
岗位工资
工龄工资
基础工资设定
岗位工资设定
工龄工资设定
工资标准设定
员工信息设定
员工工资汇总
毕业设计网:www.56doc.com QQ: 306826066
_1153232990.doc
_1153233597.doc
_1153232967.doc