人事工资管理系统的设计与实现.doc_第1页
人事工资管理系统的设计与实现.doc_第2页
人事工资管理系统的设计与实现.doc_第3页
人事工资管理系统的设计与实现.doc_第4页
人事工资管理系统的设计与实现.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

Print 人事工资管理系统的设计与实现仅供测试与学习交流,请下载后24小时内删除。人事工资管理系统的设计与实现 本科毕业设计Array2 1 目 录摘 要 . I 基于C#的人事工资管理系统的开关与实现 . 11. 概述 . 12. 开发环境 . 22.1最低硬件要求 . 22.2软件要求 . 23. 系统分析 . 23.1可行性分析 . 23.2需求分析 . 23.2.2 系统设计结构分析 . 3 3.2.3 系统功能分析 . 4 4. 系统设计 . 54.1系统设计要求、目标及命名规则 . 54.1.1 设计要求 . 5 4.1.2 实现的目标 . 5 4.1.3 命名规则 . 6 4.2系统功能设计 . 64.3数据库设计 . 74.3.1 数据库概要结构设计 . 7 数据图E_R图: . 8 4.3.2 数据库逻辑结构设计 . 8 5. 系统实现 . 105.1母版页 . 10(1)母版页概述 . 10 2 (2)母版页的使用 . 10 (3)登录安全验证的方法 . 11 5.2各个模块的具体实现功能代码 . 115.2.1管理员登录模块 . 11 5.2.2 系统设置模块 . 13 5.2.3 员工档案管理模块 . 16 5.2.4 工资发放的模块 . 18 5.2.5 工资查询模块 . 20 5.2.6 用户模块 . 22 5.2.7 密码修改模块 . 26 5.2.8 安全退出系统模块 . 28 总 结 . 283 摘 要 该系统是一个旨在帮助企业实现企业人事工资信息化管理的平台的一个系统。当今社会是一个互联网+的时代,进入新世纪以来,由于计算机及相关技术突飞猛进的发展,数据库存取作为数据管理的一种高效方式,在经济社会各个领域中得到广泛应用,同时企业的对于一个高效的人事工资管理系统需求日益迫切。于是,本文将以”人事工资管理系统”程序的设计和应用系统的开发课题为背景,以C#语言为主要技术,用SQL服务器编写管理信息系统的过程。系统采用了B/S结构,B/S结构是三层体系结构,包含浏览器、WEB服务器,数据库服务器三部分。通过C#编程语言来实现前台与后台SQL数据库的连接,经过反复运行实现了系统与现实需求紧密结合。实现了系统的一下基本功能:基础信息的查询与修改、员工档案管理、工资计算、工资发放与工作查询、系统用户管理、密码修改和安全退出等。 通过不断的测试和修改到最后才形成了具有成本低、效率高、操作界面美观、方便使用和易接受的 “人事工资管理系统”。 关键词:C#;SQL ;人事工资管理系统 III Abstract Human resources management system is designed to help companies achieve enterprise personnel resources information management platform. Especially in the new century, the rapid development of computer technology, data management, database access as an efficient way to get more and more widely used in various fields of economy and society, enterprises for an efficient human resources management system increasingly urgent demand. Therefore, this article focus on a human resources management system, project design and application programs as the background to the C # language as the main technical, details the procedures to C # and SQL preparation of management information systems. The system uses the B / S structure, B / S structure is a three-tier architecture, including browser, WEB servers, database servers into three parts. By C # programming language to connect front and back SQL SERVER database, through repeated test runs to achieve a closely integrated system with real needs. To achieve a system based on the information query and modify employee records management, payroll calculation, payroll and job queries, system user management, password changes and exit the safety functions. Through continuous testing and correction, culminating with low cost, dedicated strong, efficient, beautiful interface, convenient and practical human resources management system. Key words: C#;SQL ;Management Information System IIIII 基于C#的人事工资管理系统的开关与实现 1. 概述 当今计算机的应用和网络的迅猛发展,信息资源在决策中扮演的角色变得越来越重要,由此人们对于高效便捷的管理需求也越来越强烈,当今社会被称为是“21世纪的信息时代”。在这样的信息时代,谁掌握了有效的信息资源,并可以利用它进行有效的管理,谁就在竞争中赢得了主动。而近些年随着数据库应用范围越来越广泛,数据库的应用功能也是越来越强,为此编写人事工资理管理系统应用程序显得势在必行。 人事工资管理不管在任何一家单位和企业都是一项必须进行的工作。所以说,人事工资管理系统的开发与实现具有较大的意义和实用价值;同时人事工资管理系统具有一切应用系统的特点,系统结构与现实生活紧密结合,符合实际生产生活需要。该系统主要应用在企业内部员工的工资、档案、评价、考勤等维护于管理从而便于公司领导掌握人员的详细情况;同时也减少了手工操作带来的一些麻烦,例如,数据的不精确,信息的滞后性等。人事工资管理可以使员工情况的记录和统计变得高效准确。这些长处可以进一步加大企业对人事管理的效率。因此,人事工资管理系统是企事业信息化和规范化不可缺少的管理利器。 本文首先介绍了人事管理系统所涉及开发工具及相关的理论知识,重点介绍了企业管理系统和数据库,其中包括对C#和SQL的使用和特点进行了介绍,然后分别从系统的总体设计、数据库的设计和详细设计这几个方面进行详细阐明系统的整个设计过程。 1 2. 开发环境 2.1最低硬件要求CPU: Intel Pentium() 2.0GHZ HDD:40G RAM:256M 2.2软件要求 操作系统:Windows XP /Windows 7。 数据库:SQL Server 2008。 开发工具:Microsoft Visaul Studio 2010。 辅助工具:Photoshop 、Dreamweaver 8。 3. 系统分析 3.1 可行性分析 在21世纪信息化高速发展的 时代,大量的信息能否进行高效的管理很大程度上将决定一个企业的发展未来。所以一个效率高的的信息系统变得越来越重要。与此同时,随着数据库的应用日越来越广泛,其成本也变得越来越低,C#语言的发展也越来越成熟,面向对象思想已经在现代人的思维中得到普及。因此,基于C#的人事工资管理系统的开发成为可行的。 3.2 需求分析 3.2.1 系统功能需求分析 该系统是基于c#语言进行的应用程序开发,由以下部分组成:系统设置、员工档案、工资发放、工资查询、用户管理、修改密码和安全退出等。具体系统功能模块设计如下: 2 (1)系统设置模块 系统设置模块主要包含的是部门管理、职位、学历和工龄设置的基础信息。 (2)员工档案管理模块 该模块的主要功能是实现对员工档案的查询和增删改查等基本操作。 (3)工资发放模块 主要功能是记入员工工资单的基本信息。 (4)工资查询模块 主要实现的功能为:查询管理员工工资单信息的操作。 (5)用户管理模块 用户管理模块包含添加新的管理员帐号和对现有管理员帐号进行编辑与删除等基本操作。 (6)密码修改模块 在这个模块中已经登录的管理员可以在这里进行修改账户的密码。 (7)安全退出模块 主要是确保系统安全,清除已登录帐号的账户信息 3.2.2 系统设计结构分析 该系统主要采用的是浏览器/服务器系统(B/S)结构。 在浏览器/服务器(B/S)结构系统中,用户可以通过浏览器向分布在网络上服务器发出请求,此时服务器将对浏览器的请求进行处理,并且用户所需要的信息也会返回到浏览器上。然而会数据请求和结果返回以及动态网页生成、对数据库的访问和应用程序的执行等相应的工作将全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今使用软件的首选体系结构,广为流行。非常明显BS结构的应用程序相对于传统的CS结构应用程序有了一个非常大的提高。采用浏览器/服务器结构软件的优势在于: 3 1.无须开发客户端软件,维护和升级方便; 2.跨平台操作,任何一个装有浏览器软件的电脑,都可以作为客户机来访问服务器。 3.具有开放性和可扩充性; 4.采用防火墙技术来保证了系统安全,更好的满足了当前用户对管理信息系统的需求。 所以B/S结构在管理信息系统开发领域中迅速发展成为应用软件开发过程中一种较为流行的体系结构。 3.2.3 系统功能分析 (1)管理员功能流程图分析 根据对系统功能的需求分析,得到如图所示的系统功能流程图 N 登录成功?重新输入 Y 进入主界面 系统设置 部门管理 职工设置 学历设置 工龄设置 员工档案 显示所有员工信息 工资发放 显示某个员工工资工资查询 查询往月员工工资 用户管理 增删系统管理员 修改密码 安全退出 (2)系统功能架构图分析 根据对系统功能的需求分析,按照结构化程序设计要求得到如图所示的系统功能架构图 Array4 人事工资管理系统员工档案模块 系统设置管理 工资查询模块 工资发放模块 修改密码模块 用户管理模块 退出模块 4. 系统设计 4.1 系统设计要求、目标及命名规则 4.1.1 设计要求 (1)便于用户接受和使用要求有良好的人机界面。 (2)该系统必须达到安全稳定。 (3)方便数据进行查询等操作。 (4)实现对基础信息管理(包括员工信息、工资信息、工资计算方式等)。 (5)通过计算机可以直接看到和管理公司员工的工资。 (6)各种数据通过计算机自动计算完成。 (7)系统能够安全退出。 4.1.2 实现的目标 (1)人事工资管理系统采用人机对话的方式实现界面美观友好,便于用户接受 (2)使用键盘进行操作达到快速响应的效果。 (3)可以实现模糊查询。 Array5 (4)系统必须对用户输入的数据进行严格的检验,从而排除人为的错误。 (5)实现易安装性、易维护性和易操作性等特性。 (6)系统运行稳定以及安全可靠。 (7)实现信息查询灵活、方便、准确以及数据存储安全可靠。 4.1.3 命名规则 表命名的命名规则是表名称各个英文单词加前缀“X_”,其中表中字段命名规则与表相同。 4.2 系统功能设计 (1)系统设置功能 主要包括功能包括部门管理、职位、工龄和学历设置等基础信息。 (2)员工档案管理功能 实现对员工档案的增删改查等基本操作。 (3)工资发放功能 其主要功能就是记入员工工资单的信息。 (4)工资查询功能 主要实现查询和管理员工工资单。 (5)用户管理功能 用户管理性能是实现添加新管理员帐号和对现有管理员帐号进行编辑与删除的基本操作。 (6)密码修改功能 在这个模块中管理员可以修改账户密码。 (7)安全登出功能 保证系统安全,清除登入的信息记录。 6 4.3 数据库设计 本系统数据库采用SQL 数据库,数据库命名为zd_employee。数据库z中包括27张表。其中系统自动生成表有20张,自定义表有7张。 4.3.1 数据库概要结构设计 (1)管理员表,数据项有:编号(唯一的)、帐号和密码。 (2)员工档案管理表,数据项有:编号、员工编号、姓名、身份证号码、性别、籍贯、学历、毕业院校、民族、部门、职位、入职日期和工龄等。 (3)工资单表,数据项有:编号、员工ID(唯一)、发放工资日期、基本工资、学历、职位和工龄增长金、奖金、奖金扣款、迟到次数、迟到罚款金额、早退次数、早退罚款金额、请假天数、请假扣款金额、实际发放工资。 (4)学历表,数据项有:编号、学历、学历增长金。 (5)工龄表,数据项有:编号、工龄、工龄增长金。 (6)职位表,数据项有:编号、职位名称和职位增长金。 (7)部门表,数据项有:编号和部门名称。 7 数据图E_R图: 4.3.2 数据库逻辑结构设计 经过对数据库的需要剖析和概念结构的设计,所以将数据库的名称设计为zd_employee。 数据库由一下多个表格组成,各个表的命名及字段命名的会泽都是以相应名字的首字母拼音组合而成,各个表格的设计如图所示,其中每个表格表示在数据库中都相对应一个表。 表4.1Array管理员表 序号 1 2 3 表4.2员工档案表 序号 1 列名 id 数据类型 int(4) 8 主键 是 允许空 否 说明 列名 id Name Pwd 数据类型 int(4) nvarchar(50) nvarchar(50) 主键 是 允许空 否 是 是 说明 登录名ArrayArray登录密码 2 3 4 5 6 7 8 9 10 11 12 Code Name Card_id Sex Brith Native Nation School_id Department Position Workingplce nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) smalldatetin(4) nvarchar(50) nvarchar(50) varchar(50) nvarchar(50) nvarchar(50) nvarchar(50) 表4.3工资单表 Array是 是 否 否 是 是 是 否 否 是 是 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 12 列名 Salary_id Employee_id Salary_base Salary_school Salary_position Salary_working_age Salary_base Salary_school Salary_date Salary_late Salary_late_s Salary_award Salary_award_s Salary_early Salary_early_s Salary_vacate Salary_vacate_s Salary_true 数据类型 int(4) int(4) money money money money money money datetime int money money money int money int money money 主键 是 允许空 否 是 是 Array是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 说明 表4.4学历表 序号 1 2 列名 School_id School_name 数据类型 int(4) varchar(50) 主键 是 允许空 否 是 说明 9 Array3 School_add money 是 表4.5工龄表 Array序号 1 2 3 列名 Working_age_id Working_age_name Working_age_add 数据类型 int(4) varchar(50) money 表4.6工龄表 Array序号 1 2 3 列名 Position_id Position_name Position_add 数据类型 int(4) varchar(50) money 表4.7部门表 序号 1 2 列名 Department_id Department _name 数据类型 int(4) varchar(50) 主键 是 允许空 否 是 说明 主键 是 允许空 否 是 是 Array说明 主键 是 允许空 否 是 是 说明 5. 系统实现 5.1 母版页 (1)母版页概述 母版页系统便于让设计人员应用,由于它是基于 .NET 的用户控件模型。加入了完整的可视化界面,所以每个省去了在每个页面写同样的代码的麻烦。母版页能够集中解决页的通用性能,以便可以只在一个地方进行集中更新;另一方面,母版页的功能强大,可以支持多区域、默认内容、嵌套模板和设备筛选器(用于浏览器依赖性)。同时母版页也可以进行完全编译,具有最佳性能。它提供一种强类型编程模型,以便更好地支持动态母版。 (2)母版页的使用 母版页的扩展名记为Master,一下内容页引用模板页的方法: 10 Array (3)登录安全验证的方法 代码如下: public partial class System_MasterPage : System.Web.UI.MasterPage protected void age_Load(object sender, EventArgs e) if (Request.Cookiesxzfhr = null) Response.Redirect(ManagerThisWay.aspx); 5.2 各个模块的具体实现功能代码 5.2.1管理员登录模块 当打开系统前首先会进入到登录界面,假设当用户登录成功后,进入系统,方能够进行操作;若登入失败便会提供相应的错误报告。例如密码或用户名错误,验证码错误等。如图所示。 登入主界面的代码显示: 11 protected void ImageButton1_Click(object sender, ImageClickEventArgs e) string user = Common.UrnHtml(txt_user.Text.Trim(); cookies.Expires = DateTime.Now.AddHours(24);/有效时间为24小时 Response.Cookies.Set(cookies);/ dr.Close(); dr.Dispose(); Response.Redirect(MainFrame.aspx); else dr.Close(); dr.Dispose(); Common.ShowMessage(Page, 错误警告:登入错误,请检查用户名及密码是否正确!, ); else Common.ShowMessage(Page, 提示:验证码错误,请重新输入, ); 12 图5.1 登录界面 登录成功后进入的界面 5.2.2系统设置模块 该模块包含了部门设置以及职位、学历和工龄设置四个模块,可以进行部门增删改查ArrayArray(例13 如增添、职位更改、学历设置、工龄计算)等基本操作。系统设置界面如下所示。 系统设置模块的界面部分代码: public static string sqltxt = select * from X_Department order by X_Department_ID desc; public static string cmdtxt2 = select count(*) from X_Department; protected void Page_Load(object sender, EventArgs e) void Get_Pager_Data() SqlConnection cn = DB.OpenConnection(); SqlCommand cmd0 = new SqlCommand(cmdtxt2, cn); Get_Data(); protected void AspNetPager1_PageChanging(object src, void Get_Data()/数据绑定 SqlConnection cn=DB.OpenConnection(); SqlCommand cmd=new SqlCommand (sqltxt,cn); da.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, X_Department); Get_Pager_Data(); 14 Common.ShowMessage(Page, 提示:删除成功。, ); protected void CheckBox1_CheckedChanged(object sender, EventArgs e) for (int i = 0; i Repeater1.Items.Count; i+) if (DB.isExists(sql_c) Common.ShowMessage(Page, 警告:错误或该部门不能重复存在,请重新输入, ); else string sql = insert into 图5.3 主界面图Array15 5.2.3 员工档案管理模块 进入员工档案管理模块后,能够在左侧的导航栏进行员工档案的维护。如员工的基本信息(工龄修改、学历变更、居住地变更)等操作; 部分代码与截图: 员工档案管理页部分代码: public static string sqltxt = select * from X_Employee order by X_Employee_ID desc; public static string cmdtxt2 = select count(*) from X_Employee; protected void Page_Load(object sender, EventArgs e) void Get_Pager_Data() SqlConnection cn = DB.OpenConnection(); SqlCommand cmd0 = new SqlCommand(cmdtxt2, cn); AspNetPager1.AlwaysShow = true; if (DropDownList1.SelectedValue = 员工姓名) sqltxt = select * from X_Employee where X_Employee_Name like %+txt_key.Text.Trim()+% order by X_Employee_ID desc; cmdtxt2 = select count(*) from X_Employee where X_Employee_Name like % + txt_key.Text.Trim() + %; 16 Get_Pager_Data(); if (DropDownList1.SelectedValue = 员工的编号) Get_Pager_Data(); if (DropDownList1.SelectedValue = 性别) protected void Button2_Click(object sender, EventArgs e) 图5.4 档案管理界面图Array17 图5.5 增加员工界面图 5.2.4 工资发放的模块 部分代码与截图如下: #region 数据添加 protected void Button1_Click(object sender, EventArgs e) decimal tt = 0;/实际发放工资 decimal s_base = decimal.Parse(txt_base.Text.Trim();/基本工资 decimal s_school = decimal.Parse(lb_school_jin.Text.Trim();/学历增长金 decimal s_position = decimal.Parse(lb_position_jin.Text.Trim();/职位增长金 decimal s_workingage = decimal.Parse(lb_workingage_jin.Text.Trim();/工龄增长金 decimal s_award = decimal.Parse(txt_award.Text.Trim();/奖金 decimal s_award_s = decimal.Parse(txt_award_s.Text.Trim();/奖金扣款 int s_late = Int32.Parse(txt_late.Text.Trim();/迟到次数Array18 decimal s_late_s = decimal.Parse(txt_late_s.Text.Trim();/迟到扣款 int s_early = Int32.Parse(txt_early.Text.Trim();/早退次数 decimal s_early_s = decimal.Parse(txt_early_s.Text.Trim();/早退扣款 int s_vacate = Int32.Parse(txt_vacate.Text.Trim();/请假天数 decimal s_vacate_s = decimal.Parse(txt_vacate_s.Text.Trim();/请假扣款 SqlConnection cn = DB.OpenConnection(); SqlCommand cmd = new SqlCommand(sql2, cn); cmd.ExecuteNonQuery(); cn.Close(); cn.Dispose(); Common.ShowMessage(this.Page, 数据保存成功,实发工资为:+tt+元!, ); catch (Exception ex) Response.Write(ex); /Common.ShowMessage(this.Page,提示:数据添加失败,请重新添加, ); 19 #endregion 图5.6 工资发放界面图 图5.7 工资成功发放图 5.2.5 工资查询模块 代码及截图如图所示: protected void Button1_Click(object sender, EventArgs e) if (DropDownList1.SelectedValue = 员工姓名) ArrayArray 20 sqltxt = select *,(select X_Employee_Name from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) as name,(select X_Employee_Code from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) as code from X_Salary where (select X_Employee_Name from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) like % + txt_key.Text.Trim() + % order by X_Salary_ID desc; cmdtxt2 = select count(*) from X_Salary where (select X_Employee_Name from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) like % + txt_key.Text.Trim() + %; Get_Pager_Data(); if (DropDownList1.SelectedValue = 员工编号) sqltxt = select *,(select X_Employee_Name from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) as name,(select X_Employee_Code from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) as code from X_Salary where (select X_Employee_Code from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) like % + txt_key.Text.Trim() + % order by X_Salary_ID desc; cmdtxt2 = select count(*) from X_Salary where (select X_Employee_Code from X_Employee where X_Employee_ID=X_Salary.X_Employee_ID) like % + txt_key.Text.Trim() + %; 21 Get_Pager_Data(); 图5.8 工资查询图 5.2.6 用户模块 本系统主要功能是对管理员的增加和删除。 部分代码与截图: public partial class System_Sys_Lgr_List : System.Web.UI.Page #region SQL语句公共变量 public static string sqltxt = select * from X_Manager order by X_Manager_ID desc; public static string cmdtxt2 = select count(*) from X_Manager; #endregion Arrayprotected void Page_Load(object sender, EventArgs e) 22 #region 对数据列表进行初始化 if (!IsPostBack) Get_Pager_Data(); #endregion #region 获取到数据并将其分页 void Get_Pager_Data() SqlConnection cn = DB.OpenConnection(); SqlCommand cmd0 = new SqlCommand(cmdtxt2, cn); AspNetPager1.AlwaysShow = true; AspNetPager1.PageSize = 14; AspNetPager1.RecordCount = (int)cmd0.ExecuteScalar(); cn.Close(); Get_Data(); #region 进行批量删除 23 protected void LinkButton2_Click(object sender, EventArgs e) for (int i = 0; i Repeater1.Items.Count; i+) CheckBox chk = (CheckBox)Repeater1.Itemsi.FindControl(CheckBox2); Label lb5 = (Label)Repeater1.Itemsi.FindControl(Label5); if (chk != null) Get_Pager_Data(); #endregion 图5.9 用户管理界面图 #region 添加数据 protected void Button1

温馨提示

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

评论

0/150

提交评论