员工管理_公司员工工资管理系统课程设计_第1页
员工管理_公司员工工资管理系统课程设计_第2页
员工管理_公司员工工资管理系统课程设计_第3页
员工管理_公司员工工资管理系统课程设计_第4页
员工管理_公司员工工资管理系统课程设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公司员工工资管理系统课程设计(1) 可行性分析1.1项目背景及意义:随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。意义:(1) 本系统提供了基本的人员信息管理,同时对员工的基本工资、浮动工资和工资发放进行系统管理,同时配以查询、修改、删除、添加功能,以便能真正适用于各类中小企业及事业单位。经过自己认真的思考和同学的讨论使我对该类管理系统有了进一步的认识,同时也可以应用平时学习中所学到的东西。1.2可行性研究报告及信息系统目标:员工工资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能: 对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。 对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。 查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。(2) 系统分析部分2.1系统功能模块图公司工资管理系统 按 月 份 查 询 按 姓 名 查 询 按 职 员 ID 查 询 清 空 工 资 资 打 印 工 资 单 员 工 惩 罚 管 理 员 工 奖 励 管 理工资发放管理员工资料管理工资发放查询工资资料处理员工奖惩管理2.2系统流程图 员 工 惩 罚 管 理 员 工 奖 励 管 理 员 工 基 本 工 资 按 月 份 查 询 按 姓 名 查 询 按 职 员 ID 查 询是否发放工资是否清空工资资料打印工资单发放员工工资2.3系统详细设计说明 员工基本资料管理表yuangong的创建; 员工奖励管理表的创建; 员工惩罚管理表的创建; 工资发放查询表的创建各表资料如截图所示:2.4数据库概念结构设计数据库概念设计是整个数据库设计的关键。根据用户需求设计数据库的概念,数据模型。我们首先要将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构,这种信息结构不是DBMS支持的数据模型,而是概念级模型。然后再把概念模型转换为具体机器上DBMS支持的数据模型。概念模型是对现实世界的抽象和概括。它真实,充分地反映了现实世界中的事物和事物之间的联系,能满足用户对数据的处理要求。由于其简洁、明晰、独立于机器,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作。概念模型易于变动,还很容易向各种数据模型转换。概念模型的基本概念涉及的主要有7个,分别为实体、属性、码、域、实体型、实体集、联系。ER图是概念模型最常用的表示方法,在ER图中:1)用长方形表示实体型,在框内写上实体名。2)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。若实体间的联系也具有属性,则把属性和菱形也用无向边连上。 员工实体关系图(图1)员工员工号姓 名性 别职 业所属部门年龄 部门实体关系图(图2)部 门部门编号名 称工资实体关系图(图3)奖励工资住房公积金福利补贴失业保险基本工资工资日期部门员工实体关系图(图4)部 门部门员工员 工2.5数据库逻辑结构设计 根据上述概念模型设计得出的ER图,我们可以得出系统中涉及的主要实体有3个,其结构如下: 1、员工(职工号,姓名、性别、年龄、单位和职业) 2、部门(部门编号,部门名称) 3、工资(职工号,日期,基本工资,奖励工资,福利补贴,住房公积金,失业保险) 2.5.1 实体间的联系工资管理系统中实体之间有6个联系,其关系如下: 1、具有1关系:员工和奖金的关系是1:N,N个职位相同的员工具有相同的奖金基数。 2、工薪关系:员工和工资单的关系是1:N,每个员工每个月都有一张工资单。 3、属于关系:员工和部门的关系是N:1,一个部门可以有多个员工。 4、聘用关系:员工和职务的关系是N:1,一个职务可以聘用多个员工。 5、设置关系:部门和职务的关系是M:N,一个部门可以设置多个职务,相同的职务也可以设置在多个部门。 根据以上逻辑结构分析我们可以知道:一个部门有多个员工,每个员工都有工资,工资又由基本工资等组成,其关系模式为:员工编号(主码)姓名性别年龄部门号(主码)职业部门号(主码)部门名称日期(主码)员工号基本工资福利补贴奖励工资失业保险住房公积金表、视图汇总视图/表名类型说明员工基本表集中保存员工的基本信息科室基本表集中存放单位各部门的信息工资基本表存放员工工资的基本信息2.5.2 完整性约束:基本表员工字段类型长度格式约束员工编号文本250主码姓名文本250性别文本250年龄文本250所属部门号文本250外码职业文本250基本表科室字段类型长度格式约束部门编号文本250主码部门名称文本250基本表工资字段类型长度格式约束日期文本250主码员工编号文本250外码基本工资数字(整型)福利补贴数字(整型)奖金工资数字(整型)失业保险数字(整型)住房公积金数字(整型)2.6数据字典绘制数据流图以后,只是对数据处理和彼此之间的联系进行了说明,为了进一步明确数据的详细内容和数据加工过程,应将数据流图中的各元素作出详细的定义和说明,以便于此后系统设计的进行。数据字典描述的主要内容有:数据项、数据流、数据存储、数据处理、外部实体。数据流程图配以数据词典,就可以从图形和文字两个方面对系统的逻辑模型进行描述,从而形成一个完整的说明。在系统分析中会产生大量的数据词典,以下将以图表形式分别列出系统中代表性的数据流、数据元素、数据存储和外部实体以及所有的加工处理。条目名称编号说明来源去向组成存取方式数据项职工号F1每位员工一个编号D1D5部门编号、顺序号键入数据流员工和变动信息F1员工都有详细的资料“人事部”外部实体P1职工号,姓名,性别,职位,学历,联系电话,身份证号码,入职时间,离职时间键入数据存储劳务奖金表D4存储每个员工的奖金P3P4职工号 月份 奖金(近似长度分别为:6 、 4、12(字节)) 主关键字:职工号辅关键字:月份自动存储组织:二维表数据处理员工资料管理P1对员工资料进行管理F1员工和变动信息D1D6职工号,姓名,性别,键入数据处理基本工资管理P2生成员工基本工资表F2D2职工号,在职时间,基本工资自动数据处理员工考勤管理P3生成考勤汇总表F3D3职工号,迟到,旷工,请假键入数据处理奖金管理P4生成员工劳务奖金表F4、D3D4职工号,奖励项目,金额,月份键入数据处理工资汇总P5计算员工工资。是最重要的部分D1 、D2、D3、D4F5F6实发工资,汇总表,工资单自动外部实体员工工资汇总后,生成工资单给员工F5职工号,月份,工资单号键入外部实体人事部录入改变员工的基本信息及员工的考核情况D1、D3P5P4P1部门编号,员工号,考核键入外部实体财务部计算发放员工的工资P5F5F7员工号,各工资自动2.7问题及解决方法问题及其解决方案:1、 在概念结构设计中遇到了结构冲突,导致系统错误。在经过根据应用的语义对实体联系的类型进行综合、调整后得以解决。2、 在逻辑结构设计中,由于没有理清概念结构设计中的各实体间的相互联系导致逻辑结构一度无法建立。在经过赵老师的指点后,终于找到了问题的所在。顺利的完成了逻辑结构设计。3、查询嵌套的实现和计算工资这个环节也遇到了很大的困难,这一切都源自对操作环境的不熟悉,所以我们尽量使我们的应用程序简单化,重点放在基本功能的实现上,没有追求一些高难度的应用编写。 6.2系统中中可以改进的地方说明:功能不是很全面,可是适当添加一些功能使程序更加完善. 例如可添加员工参加工作的时间,工龄等使员工信息更加系统全面。(3) 系统详细设计说明3.1 创建数据库本次设计中的表一律是通过手工自己创建。 员工基本资料管理表yuangong的创建; 员工奖励管理表的创建; 员工惩罚管理表的创建; 工资发放查询表的创建此时生成的界面如下图:3.2设计数据表关系3.3建立数据库窗体:使用窗体向导的方法依次添加“职员信息管理”窗体和“职员信息管理”子窗体此处添加子窗体代码为:Private Sub Form_Current()On Error GoTo Err_Form_CurrentForms!员工基本资料管理!职员ID = Me!职员IDForms!员工基本资料管理!部门ID = Me!部门IDForms!员工基本资料管理!职务 = Me!职务Forms!员工基本资料管理!工资 = Me!工资Forms!员工基本资料管理!姓名 = Me!姓名Forms!员工基本资料管理!性别 = Me!性别Forms!员工基本资料管理!身份证ID = Me!身份证IDForms!员工基本资料管理!备注 = Me!备注Exit_Form_Current:Exit SubErr_Form_Current:MsgBox Err.DescriptionResume Exit_Form_CurrentEnd Sub运行后界面为:窗体及子窗体调整后如下图所示:3.4实现新建职员功能,代码添加为:Private Sub 新建职员_Click()On Error GoTo Err_新建职员_Click把窗体中所有控件都置空Me!职员ID = NullMe!部门ID = NullMe!职务 = NullMe!工资 = NullMe!姓名 = NullMe!性别 = NullMe!身份证ID = NullMe!备注 = NullExit_新建职员_Click:Exit SubErr_新建职员_Click: MsgBox Err.Description Resume Exit_新建职员_ClickEnd Sub运行后界面如下图所示:3.5实现添加职员功能,添加代码为:Private Sub 添加职员_Click()On Error GoTo Err_添加职员_clickDim STemp As StringIf IsNull(Me!职员ID) = True ThenMsgBox 请输入 职员ID 它不能为空!, vbOKOnly, 输入职员IDMe!职员ID.SetFocusElseIf IsNull(Me!部门ID) = True ThenMsgBox 请输入 部门ID 它不能为空!, vbOKOnly, 输入部门IDMe!部门ID.SetFocusElseIf IsNull(Me!职务) = True ThenMsgBox 请输入 职务 它不能为空!, vbOKOnly, 输入职务Me!职务.SetFocusElseIf IsNull(Me!工资) = True ThenMsgBox 请输入 工资 它不能为空!, vbOKOnly, 输入工资Me!工资.SetFocusElseIf IsNull(Me!姓名) = True ThenMsgBox 请输入 姓名 它不能为空!, vbOKOnly, 输入姓名Me!姓名.SetFocusElseIf IsNull(Me!性别) = True ThenMsgBox 请输入 性别 它不能为空!, vbOKOnly, 输入性别Me!性别.SetFocusElseIf IsNull(Me!身份证ID) = True ThenMsgBox 请输入 身份证ID 它不能为空!, vbOKOnly, 输入身份证IDMe!身份证ID.SetFocusElseIf IsNull(Me!备注) = True ThenMsgBox 请输入 备注 它不能为空!, vbOKOnly, 输入备注Me!备注.SetFocusElseSTemp = INSERT INTO 员工基本资料管理STemp = STemp & ( 职员ID,部门ID,职务,工资,姓名,性别,身份证ID,备注)STemp = STemp & VALUES( & Me!职员ID & , & Me!部门ID & , & Me!职务 & , & Me!工资 & , & Me!姓名 & , & Me!性别 & , & Me!身份证ID & , & Me!备注 & )DoCmd.RunSQL STempMe!员工基本资料管理 子窗体.RequeryEnd IfExit_添加职员_Click:Exit SubErr_添加职员_click:MsgBox Err.DescriptionResume Exit_添加职员_ClickEnd Sub运行后界面为下图所示:3.6实现修改职员功能,代码如下:Private Sub 修改职员_Click() On Error GoTo Err_修改职员_Click Dim i As Integer Dim STemp As String Dim Rs As New ADODB.Recordset STemp = Select*From 员工基本资料管理 Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic If IsNull(Me!职员ID) = True Then MsgBox 请输入 职员ID 它不能为空!, vbOKOnly, 输入职员ID Me!职员ID.SetFocus ElseIf IsNull(Me!部门ID) = True Then MsgBox 请输入 部门ID 它不能为空!, vbOKOnly, 输入部门ID Me!部门ID.SetFocus ElseIf IsNull(Me!职务) = True Then MsgBox 请输入 职务 它不能为空!, vbOKOnly, 输入职务 Me!职务.SetFocus ElseIf IsNull(Me!工资) = True Then MsgBox 请输入 工资 它不能为空!, vbOKOnly, 输入工资 Me!工资.SetFocus ElseIf IsNull(Me!姓名) = True Then MsgBox 请输入 姓名 它不能为空!, vbOKOnly, 输入姓名 Me!姓名.SetFocus ElseIf IsNull(Me!性别) = True Then MsgBox 请输入 性别 它不能为空!, vbOKOnly, 输入性别 Me!性别.SetFocus ElseIf IsNull(Me!身份证ID) = True Then MsgBox 请输入 身份证ID 它不能为空!, vbOKOnly, 输入身份证ID Me!身份证ID.SetFocus ElseIf IsNull(Me!备注) = True Then MsgBox 请输入 备注 它不能为空!, vbOKOnly, 备注 Me!备注.SetFocus Else Rs.MoveFirst For i = 1 To Rs.RecordCount If Rs(职员ID) = Me!职员ID Then Rs(部门ID) = Me!部门ID Rs(职务) = Me!职务 Rs(工资) = Me!工资 Rs(姓名) = Me!姓名 Rs(性别) = Me!性别 Rs(身份证ID) = Me!身份证ID Rs(备注) = Me!备注 Rs.UpdateMsgBox 职员信息修改完成!, vbOKOnly, 修改完成Exit SubElseRs.MoveNextEnd IfNext iEnd IfMe!员工基本资料管理 子窗体.RequerySet Rs = NothingExit_修改职员_Click:Exit SubErr_修改职员_Click:MsgBox Err.DescriptionResume Exit_修改职员_ClickEnd Sub运行后界面如下:3.7实现删除职员功能,代码如下:Private Sub 删除职员_Click()On Error GoTo Err_删除职员_ClickDim STemp As StringDim i As IntegerDim Rs As ADODB.RecordsetSet Rs = New ADODB.RecordsetSTemp = select*from 员工基本资料管理Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimisticRs.MoveFirstFor i = 1 To Rs.RecordCountIf Rs(职员ID) = Me!员工基本资料管理 子窗体!职员ID ThenRs.Deletei = Rs.RecordCount + 1ElseRs.MoveNextEnd IfNext iMsgBox 该职员档案记录已经删除!, vbOKOnly, 删除完成Me!员工基本资料管理 子窗体.RequerySet Rs = NothingExit_删除职员_Click: Exit SubErr_删除职员_Click: MsgBox Err.Description Resume Exit_删除职员_ClickEnd Sub运行后界面为:至此,职员信息管理窗体建立完毕,窗体完整界面如下图所示:(4) 系统实施部分4.1试运行结果:4.2 技术说明书、使用说明书和维护说明书略(5) 总结1、 体会此次课程设计给我的体会有以下几点:一、看似简单,其实不然以前没有过课程设计的经验,作为第一次课程设计课,我抱着试试看的态度去写,一开始看了只有这么几个模块是心里挺高兴的,但是当我真真正正地去把一个操作写成功时,很多意想不到的情况发生了。有时候会为了一个操作不能调试成功而整个晚上都不能去安心做其他的作业。2、 冷静沉着、兢兢业业编程是一个很繁琐的过程,要考虑到很多错误转移情况,在这期间会有很多以前不曾想过的问题出现,次数多了,不免会有觉得做不下去的感觉。但是我从中发现,只要一步一步调试、静下心来看待问题,再复杂再微小的问题都会迎刃而解,当一个程序被调试出来时,那时的快乐相比与任何困难都值得的。3、 立足程序、回归书本 在着手写程序时觉得思路一片混乱,无意间出现的问题会不知道怎么解决。这时,需要回归书本,书本是前人总结的经验,几乎所有情况都会有解决方法。只有把书本“吃透”,在遇到问题是才会反应快。4、 致谢 在此我向方芳老师致以诚挚的谢意。由于此次课程设计的主要知识是数据库系统,在很多方面我们都还存在一知半解的情况,而赵专政老师多次帮我们解释重点、分析概念结构、逻辑结构,特别在课程设计报告的时候给予了很多的指导。在她的悉心指导下,我们不仅学到了扎实的文化知识,也在为人处世方面受益匪浅,尤其是一次次方芳老师在鼓励我们的话语,我想在我以后每一次遇到困难时都会历历在目。最后我要感谢我的同窗同学,在此次课程设计过程中与他们探讨深究,使我受益颇多,在此,我表示衷心的感谢. 2、参考文献(1)SQL Server 2000 系统管理及应用开发M 赵松涛 编著 人民邮电出版社(2)数据库系统概论 第四版M 王珊 萨师轩 清华大学出版社(3)Timothy Buchanan: Visual Basic加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论