收藏 分销(赏)

公司员工工资管理系统课程设计教案资料.doc

上传人:天**** 文档编号:3778440 上传时间:2024-07-18 格式:DOC 页数:26 大小:2.27MB 下载积分:10 金币
下载 相关 举报
公司员工工资管理系统课程设计教案资料.doc_第1页
第1页 / 共26页
公司员工工资管理系统课程设计教案资料.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
公司员工工资管理系统课程设计 (一) 可行性分析 1.1项目背景及意义:随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。 意义: (1) 本系统提供了基本的人员信息管理,同时对员工的基本工资、浮动工资和工资发放进行系统管理,同时配以查询、修改、删除、添加功能,以便能真正适用于各类中小企业及事业单位。 经过自己认真的思考和同学的讨论使我对该类管理系统有了进一步的认识,同时也可以应用平时学习中所学到的东西。 1.2可行性研究报告及信息系统目标:员工工资管理系统的主要目的是利用计算机对员工的各种工资信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能: 对单位人员的变动进行处理。一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。因此,设计系统是应考虑到这些情况。 对职工的工资进行计算、修改。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。 查询统计功能。要求即可以单项查询,比如查看某个职工的工资情况等;也可以多项查询,比如某个部门所有的员工的工资信息。 (二) 系统分析部分 2.1系统功能模块图 公司工资管理系统 按 月 份 查 询 按 姓 名 查 询 按 职 员 ID 查 询 清 空 工 资 资 打 印 工 资 单 员 工 惩 罚 管 理 员 工 奖 励 管 理 工资发放管理 员工资料管理 工资发放查询 工资资料处理 员工奖惩管理 2.2系统流程图 员 工 惩 罚 管 理 员 工 奖 励 管 理 员 工 基 本 工 资 按 月 份 查 询 按 姓 名 查 询 按 职 员 ID 查 询 是否发放工资 是否清空工资资料 打印工资单 发放员工工资 2.3系统详细设计说明 ①员工基本资料管理表[yuangong]的创建; ②员工奖励管理表的创建; ③员工惩罚管理表的创建; ④工资发放查询表的创建 各表资料如截图所示: 2.4数据库概念结构设计 数据库概念设计是整个数据库设计的关键。根据用户需求设计数据库的概念,数据模型。我们首先要将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构,这种信息结构不是DBMS支持的数据模型,而是概念级模型。然后再把概念模型转换为具体机器上DBMS支持的数据模型。 概念模型是对现实世界的抽象和概括。它真实,充分地反映了现实世界中的事物和事物之间的联系,能满足用户对数据的处理要求。由于其简洁、明晰、独立于机器,很容易理解,因此可以用概念模型和不熟悉计算机的用户交换意见,使用户能积极参与数据库的设计工作。概念模型易于变动,还很容易向各种数据模型转换。 概念模型的基本概念涉及的主要有7个,分别为实体、属性、码、域、实体型、实体集、联系。 E-R图是概念模型最常用的表示方法,在E-R图中: 1)用长方形表示实体型,在框内写上实体名。 2)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。若实体间的联系也具有属性,则把属性和菱形也用无向边连上。 员工实体——关系图(图1) 员工 员工号 姓 名 性 别 职 业 所属部门 年龄 部门实体——关系图(图2) 部 门 部门编号 名 称 工资实体——关系图(图3) 奖励工资 住房公积金 福利补贴 失业保险 基本工资 工资 日期 部门——员工实体关系图(图4)部 门 部门—员工 员 工 2.5数据库逻辑结构设计 根据上述概念模型设计得出的E—R图,我们可以得出系统中涉及的主要实体有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 存储每个员工的奖金 P3 P4 职工号 月份 奖金(近似长度分别为:6 、 4、12(字节)) 主关键字:职工号 辅关键字:月份 自动 存储组织:二维表 数据处理 员工资料管理 P1 对员工资料进行管理 F1员工和变动信息 D1 D6 职工号,姓名,性别, 键入 数据处理 基本工资管理 P2 生成员工基本工资表 F2 D2 职工号,在职时间,基本工资 自动 数据处理 员工考勤管理 P3 生成考勤汇总表 F3 D3 职工号,迟到,旷工,请假 键入 数据处理 奖金管理 P4 生成员工劳务奖金表 F4、D3 D4 职工号,奖励项目,金额,月份 键入 数据处理 工资汇总 P5 计算员工工资。是最重要的部分 D1 、D2、D3、D4 F5F6 实发工资,汇总表,工资单 自动 外部实体 员工 工资汇总后,生成工资单给员工 F5 职工号,月份,工资单号 键入 外部实体 人事部 录入改变员工的基本信息及员工的考核情况 D1、D3 P5P4P1 部门编号,员工号,考核 键入 外部实体 财务部 计算发放员工的工资 P5 F5F7 员工号,各工资 自动 2.7问题及解决方法 问题及其解决方案: 1、 在概念结构设计中遇到了结构冲突,导致系统错误。在经过根据应用的语义对实体联系的类型进行综合、调整后得以解决。 2、 在逻辑结构设计中,由于没有理清概念结构设计中的各实体间的相互联系导致逻辑结构一度无法建立。在经过赵老师的指点后,终于找到了问题的所在。顺利的完成了逻辑结构设计。 3、查询嵌套的实现和计算工资这个环节也遇到了很大的困难,这一切都源自对操作环境的不熟悉,所以我们尽量使我们的应用程序简单化,重点放在基本功能的实现上,没有追求一些高难度的应用编写。 6.2系统中中可以改进的地方说明: 功能不是很全面,可是适当添加一些功能使程序更加完善. 例如可添加员工参加工作的时间,工龄等使员工信息更加系统全面。 (三) 系统详细设计说明 3.1 创建数据库 本次设计中的表一律是通过手工自己创建。 ①员工基本资料管理表[yuangong]的创建; ②员工奖励管理表的创建; ③员工惩罚管理表的创建; ④工资发放查询表的创建 此时生成的界面如下图: 3.2设计数据表关系 3.3建立数据库窗体:使用窗体向导的方法依次添加“职员信息管理”窗体和“职员信息管理”子窗体 此处添加子窗体代码为: Private Sub Form_Current() On Error GoTo Err_Form_Current Forms![员工基本资料管理]![职员ID] = Me![职员ID] Forms![员工基本资料管理]![部门ID] = Me![部门ID] Forms![员工基本资料管理]![职务] = Me![职务] Forms![员工基本资料管理]![工资] = Me![工资] Forms![员工基本资料管理]![姓名] = Me![姓名] Forms![员工基本资料管理]![性别] = Me![性别] Forms![员工基本资料管理]![身份证ID] = Me![身份证ID] Forms![员工基本资料管理]![备注] = Me![备注] Exit_Form_Current: Exit Sub Err_Form_Current: MsgBox Err.Description Resume Exit_Form_Current End Sub 运行后界面为: 窗体及子窗体调整后如下图所示: 3.4实现新建职员功能,代码添加为: Private Sub 新建职员_Click() On Error GoTo Err_新建职员_Click '把窗体中所有控件都置空 Me![职员ID] = Null Me![部门ID] = Null Me![职务] = Null Me![工资] = Null Me![姓名] = Null Me![性别] = Null Me![身份证ID] = Null Me![备注] = Null Exit_新建职员_Click: Exit Sub Err_新建职员_Click: MsgBox Err.Description Resume Exit_新建职员_Click End Sub 运行后界面如下图所示: 3.5实现添加职员功能,添加代码为: Private Sub 添加职员_Click() On Error GoTo Err_添加职员_click Dim STemp As String 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 STemp = "INSERT INTO 员工基本资料管理" STemp = STemp & "( 职员ID,部门ID,职务,工资,姓名,性别,身份证ID,备注)" STemp = STemp & "VALUES('" & Me![职员ID] & "','" & Me![部门ID] & "','" & Me![职务] & "','" & Me![工资] & "','" & Me![姓名] & "','" & Me![性别] & "','" & Me![身份证ID] & "','" & Me![备注] & "')" DoCmd.RunSQL STemp Me![员工基本资料管理 子窗体].Requery End If Exit_添加职员_Click: Exit Sub Err_添加职员_click: MsgBox Err.Description Resume Exit_添加职员_Click End 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.Update MsgBox "职员信息修改完成!", vbOKOnly, "修改完成" Exit Sub Else Rs.MoveNext End If Next i End If Me![员工基本资料管理 子窗体].Requery Set Rs = Nothing Exit_修改职员_Click: Exit Sub Err_修改职员_Click: MsgBox Err.Description Resume Exit_修改职员_Click End Sub 运行后界面如下: 3.7实现删除职员功能,代码如下: Private Sub 删除职员_Click() On Error GoTo Err_删除职员_Click Dim STemp As String Dim i As Integer Dim Rs As ADODB.Recordset Set Rs = New ADODB.Recordset STemp = "select*from 员工基本资料管理" Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic Rs.MoveFirst For i = 1 To Rs.RecordCount If Rs("职员ID") = Me![员工基本资料管理 子窗体]![职员ID] Then Rs.Delete i = Rs.RecordCount + 1 Else Rs.MoveNext End If Next i MsgBox "该职员档案记录已经删除!", vbOKOnly, "删除完成" Me![员工基本资料管理 子窗体].Requery Set Rs = Nothing Exit_删除职员_Click: Exit Sub Err_删除职员_Click: MsgBox Err.Description Resume Exit_删除职员_Click End Sub 运行后界面为: 至此,职员信息管理窗体建立完毕,窗体完整界面如下图所示: (四) 系统实施部分 4.1试运行结果: 4.2 技术说明书、使用说明书和维护说明书略 (五) 总结 1、 体会 此次课程设计给我的体会有以下几点: 一、看似简单,其实不然 以前没有过课程设计的经验,作为第一次课程设计课,我抱着试试看的态度去写,一开始看了只有这么几个模块是心里挺高兴的,但是当我真真正正地去把一个操作写成功时,很多意想不到的情况发生了。有时候会为了一个操作不能调试成功而整个晚上都不能去安心做其他的作业。 二、 冷静沉着、兢兢业业 编程是一个很繁琐的过程,要考虑到很多错误转移情况,在这期间会有很多以前不曾想过的问题出现,次数多了,不免会有觉得做不下去的感觉。但是我从中发现,只要一步一步调试、静下心来看待问题,再复杂再微小的问题都会迎刃而解,当一个程序被调试出来时,那时的快乐相比与任何困难都值得的。 三、 立足程序、回归书本 在着手写程序时觉得思路一片混乱,无意间出现的问题会不知道怎么解决。这时,需要回归书本,书本是前人总结的经验,几乎所有情况都会有解决方法。只有把书本“吃透”,在遇到问题是才会反应快。 四、 致谢 在此我向方芳老师致以诚挚的谢意。由于此次课程设计的主要知识是数据库系统,在很多方面我们都还存在一知半解的情况,而赵专政老师多次帮我们解释重点、分析概念结构、逻辑结构,特别在课程设计报告的时候给予了很多的指导。在她的悉心指导下,我们不仅学到了扎实的文化知识,也在为人处世方面受益匪浅,尤其是一次次方芳老师在鼓励我们的话语,我想在我以后每一次遇到困难时都会历历在目。 最后我要感谢我的同窗同学,在此次课程设计过程中与他们探讨深究,使我受益颇多,在此,我表示衷心的感谢. 2、参考文献 (1)SQL Server 2000 系统管理及应用开发[M] 赵松涛 编著 人民邮电出版社 (2)数据库系统概论 第四版[M] 王珊 萨师轩 清华大学出版社 (3)Timothy Buchanan: Visual Basic加数据库 [M].2004;85~100出版社:工业出版社 (4)张海藩:软件工程导论,清华大学出版社1992年版 (5)Bob Reselman,Richard Peasley,Wayne Pruchniak.: Visual Basic 6.0使用指南[M]. 电子工业出版社出版社2002;5~65 (6)Lance Mortensen Rick Sawtell: MCSE:SQL Server 2000 Administration,电子工业出版社,2001年版 (7)Roger Jennings:Visual Basic 6数据库开发人员指南,机械工业出版社1999年版 (8)卢毅主编:Visual Basic 6.0数据库设计实例导航,科学出版社2001年版 (9)刘钢主编:Visual Basic 6.0程序设计,中国民航出版社2000年版 (10)沈光阳、李劲: SQL SERVER 2000与XML整合应用,清华大学出版社2001年版 (11)林陈雷 郭安源 葛晓东:Visual Basic教育信息化系统开发实例导航[M].2003;172~222 人民邮电出版社 (12)Ullmanl,J.D,Principles of Database and knowledge-Base Systems,VolumeⅡ,Computer Science Press,New York,1989 (13)A.F.Cardenas: Database Management System, GRANADA London Toronto Sydney New York, 1985 (14)Stonebraker M, et al: The Design of XPRS. Processing of VLDB, 1998 (15)R.A.Frost:Query Processing in Parallel Relational Database system.IEEE Computer Society Press, 1994
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服