人人范文网 范文大全

C#课程设计_简单人事管理系统的设计与实现(优秀)

发布时间:2020-03-03 03:07:12 来源:范文大全 收藏本文 下载本文 手机版

C#课程设计

题目:人事档案管理系统 姓名:张伟 学号:20122392 班级:计科1班 设计时间:2014/12/27

目录

前言 ...........................................................................................................................................2

一、系统概述 ...........................................................................................................................3 1.1 现状描述 ........................................................................................................................3 1.2 系统目标 ........................................................................................................................3

二、系统分析 ...........................................................................................................................5 2.1 可行性分析 ....................................................................................................................5 2.2 数据流程 ........................................................................................................................6

三、系统设计 ...........................................................................................................................6 3.1 模块结构设计 ................................................................................................................6 3.2 功能设计 ........................................................................................................................6 3.3 数据库实现设计 ............................................................................................................7

四、系统的实现 .....................................................................................................................10 4.1详细设计方式 ...............................................................................................................10 4.2 系统实现 ......................................................................................................................25 参考文献 .................................................................................................................................29

前言

随着计算机技术的发展,计算机已深入到各个领域,并且形成了功能强大,覆盖全球的信息传输网络。各个领域都向系统化,规范化,自动化的方向发展,值得工作效率,生活水平都日益提高。人事管理很多大小型公司,个体事业单位所必需的,人事信息管理系统包括对人事信息的统计,查询,更新,设想如果靠人工来完成这项工作,对于公司人数有几万甚至更多的,一定会造成特大的工作量,不仅人工难以实现,也会容易出现较多的信息查询,记录的错误,这样一定会给公司带来一定的损失。而计算机管理所无法比拟的优点检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些能够大大提高人事管理的效率,也是企业的正规化,科学化管理的重要条件。

一、系统概述

1.1 现状描述

21世纪以来计算机技术为主体的高新技术已经深入到我国经济发展的各个方面。在市场经济的大环境下,越来越多的领域逐渐产生对计算机的深层次的依赖,越来越多的人意识到计算机技术所带来的潜在的巨大价值。

尤为突出的是各种企业,机构等的人事管理在计算机上的实现,然而如何利用计算机实现更加先进,高效率的管理手段,是现金管理企业面临的一项重大课题。为了解决这些复杂的难题,就必须设计一套科学,高效,严密,实用的人事管理系统。从而减轻工作人员的劳动强度,减少企业的财政消耗。

1.2 系统目标 人事档案管理系统可以应用于人事管理工作,主要作用与如下三个方面目标:

1.支持企业实现规范化管理;

2.支持企业高效率完成人事管理的日常任务,包括新部门的以及员工的增加时的人事档案的建立,员工职务的变动,在职离职退休和部门员工信息查询,修改等;

3.支持企业进行人事管理及相关方面的科学决策并在系统开发任务的基础上进行系统的方案设计论证等。

人事管理信息系统主要包含员工基本信息,工作情况,学历,职位情况等各方面信息,内容较简单。其设计主要是为了人事信息进行服务,对员工职位的变动,员工资料的查询,统计修改等功能。总的来说具有编辑,查询,员工管理等功能。

设计的指导思想是一切为了用户着想,界面美观大方,操作尽量简单明了,而且作为一个使用的应用程序要有良好的容错性,在用户出现错误时能尽量的给出警告,以便用户及时改正,使其支持企业实现规范化管理;支持企业高效率地完成劳动人事的日常业务。

人事企业管理系统小是现代企业管理工作不可缺少的一部分,是适应现代企业制度需求,退订企业劳动人事管理走向科学化,规范化的必要条件。

二、系统分析

2.1 可行性分析

对于一个系统的分析主要是从他的设计,实现可行性进行分析,包括三个方面的可行性:

1.营运可行性

由于心痛知识面向机关和事业单位内人士信息管理人员和在职开发的信心管理系统,尽管这些人员可能没有使用过类似的系统,但是以windows的友好界面和系统的良好性的安全性设置,可以是人事信息管理员在专业人员的指导下迅速掌握系统的操作方法。同时用户也可以根据设计系统的用户操作说明书,来学习正确的操作本系统。

2.技术可行性

开发软件可行性:目前数据库开发管理软件多种多样,本数据库的信息管理系统是基于C#在.NET Framework环境下设计的,便于用户的快速掌握及及时实现操作的可能性。

3.经济可行信

目前的人事管理系统仍有完全以传统的人工管理方式进行管理,耗时多,效率低下并且及其容易出项错误,这样一来可能随时会造成无法估算的损失。而利用计算机实现人事管理以成为适应当今人事管理的方式。开发一套能满足人事管理信息系统的软件是十分必要的。实现人事管理的自动化,在减少人为失误而造成损失的同时,也可以为管理部门节省更多的费用支出。

2.2 数据流程

员工管理管理员员工部门信息查询档案管理员工部门信息添加员工部门信息删除部门管理

三、系统设计

3.1 模块结构设计

人事信息管理系统是一个典型的数据库应用程序,有启动窗口,登录模块,系统主界面,系统管理米块,信息设置模块,人事管理模块等组成,具体功能模块如下:

1.系统管理模块

该模块的主要功能是单位信息,管理员设置,登录等。 2.信息设置模块

模块主要是对部门信息,员工信息,用户信息,职称类型,文化程度等进行设置。

3.人事管理模块

人事管理模块主要功能是新员工的登记,员工离职,员工所在部门信息的查询及更新等。

3.2 功能设计 系统主要功能有以下几点:人员管理,部门信息的添加及查询,员工信息的更新查询。

3.3 数据库实现设计

3.3.1 总体E-R图

部门信息PK 部门编号部门名称上级部门编号部门职能员工基本信息PK 编号姓名性别照片民族出生日期政治面貌文化程度婚姻状况籍贯身份证号手机号码档案存放地户口所在地用户信息表PK,FK1 用户名密码用户类型员工入职信息PK FK1FK2工作证号入职日期工作岗位职务员工状态所在部门编号员工编号

3.3.2 数据库实现代码

1.部门信息表

CREATE TABLE [dbo].[部门信息](

[部门编号] [nvarchar](10) NOT NULL, [部门名称] [nvarchar](20) NULL, [部门职能] [nvarchar](10) NULL, [上级部门编号] [nvarchar](10) NULL, CONSTRAINT [p部门号] PRIMARY KEY CLUSTERED ( [部门编号] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] 2.员工入职信息表

CREATE TABLE [dbo].[员工入职信息](

[工作证号] [nvarchar](10) NOT NULL, [入职日期] [datetime] NULL, [工作岗位] [nvarchar](20) NULL, [职务] [nvarchar](20) NULL, [员工编号] [nvarchar](10) NULL, [员工状态] [char](10) NOT NULL, [所在部门编号] [nvarchar](10) NULL, CONSTRAINT [p工作证号] PRIMARY KEY CLUSTERED ( [工作证号] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] 3.员工基本信息

CREATE TABLE [dbo].[员工基本信息](

[编号] [nvarchar](10) NOT NULL, [姓名] [nvarchar](30) NULL, [性别] [char](2) NULL, [照片] [varbinary](1) NULL, [民族] [nvarchar](30) NULL, [出生日期] [datetime] NULL, [政治面貌] [char](10) NULL, [文化程度] [char](10) NULL, [婚姻状况] [char](5) NULL, [籍贯] [nvarchar](10) NULL, [身份证号] [nvarchar](20) NULL, [手机号码] [char](11) NULL, [档案存放地] [nvarchar](20) NULL, [户口所在地] [nvarchar](20) NULL, CONSTRAINT [p编号] PRIMARY KEY CLUSTERED ( [编号] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY], UNIQUE NONCLUSTERED ( [身份证号] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS) ON [PRIMARY] 4.用户信息表

CREATE TABLE [dbo].[用户信息表]( [用户名] [nvarchar](10) NULL, [密码] [nvarchar](10) NULL, [用户类型] [nvarchar](10) NULL ) ON [PRIMARY]

四、系统的实现

4.1详细设计方式

1.用户登录

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;

= ON) ON [PRIMARY]

using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient;

namespace SPMS { public partial cla Login : Form { public Login() { InitializeComponent(); }

private void label2_Click(object sender, EventArgs e) { }

private void butCancel_Click(object sender, EventArgs e) { texName.Text = \"\"; textPwd.Text = \"\"; texName.Focus(); }

private void Login_Load(object sender, EventArgs e) { }

private void butLogin_Click(object sender, EventArgs e) { string connString = \"Data Source=.;Initial Catalog=员工人事档案管理系统;Integrated Security=true\"; SqlConnection conn; string username = texName.Text.Trim(); string paord = textPwd.Text.Trim(); conn = new SqlConnection(connString); string sql = string.Format(\"select count(*) from 用户信息表 where 用户名=\'{0}\' and 密码=\'{1}\' and 用户类型=\'{2}\'\", username, paord,1); try { conn.Open(); SqlCommand comm=new SqlCommand(sql,conn ); int num = (int)comm.ExecuteScalar(); if (num == 1) {

MeageBox.Show(\"欢迎进入员工档案管理系统!\", \"登录成功\", MeageBoxButtons.OK, MeageBoxIcon.Information); SysUsers su = new SysUsers(); su.Show(); this.Visible = false; } else { MeageBox.Show(\"您的帐号有误!\", \"登录失败\", MeageBoxButtons.OK, MeageBoxIcon.Information); } }

catch (Exception ex) { MeageBox.Show(ex.Meage,\"操作数据库出错!\",MeageBoxButtons.OK,MeageBoxIcon.Information );} finally {conn.Close(); } }

private void butLogin2_Click(object sender, EventArgs e) { string connString = \"Data Source=.;Initial Catalog=员工人事档案管理系统;Integrated Security=true\"; SqlConnection conn; string username = texName.Text.Trim(); string paord = textPwd.Text.Trim(); conn = new SqlConnection(connString); string sql = string.Format(\"select count(*) from 用户信息表 where 用户名=\'{0}\' and 密码=\'{1}\' and 用户类型=\'{2}\'\", username, paord, 2); try { conn.Open(); SqlCommand comm = new SqlCommand(sql, conn); int num = (int)comm.ExecuteScalar(); if (num == 1) {

MeageBox.Show(\"欢迎进入个人档案查询系统!\", \"登录成功\", MeageBoxButtons.OK, MeageBoxIcon.Information); NorUser no = new NorUser(username); no.Show(); this.Visible = false; } else { MeageBox.Show(\"您的帐号有误!\", \"登录成失败\", MeageBoxButtons.OK, MeageBoxIcon.Information); } }

catch (Exception ex) { MeageBox.Show(ex.Meage, \"操作数据库出错!\", MeageBoxButtons.OK, MeageBoxIcon.Information); } finally { conn.Close(); } } } } 2.系统操作界面

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient;

namespace SPMS { public partial cla SysUsers : Form { public SysUsers() { InitializeComponent(); } string connString = \"Data Source=.;Initial Catalog=员工人事档案管理系统;Integrated Security=true\"; SqlConnection conn; string sql; private void SUAddStaff_Click(object sender, EventArgs e) { AddStaff addstaff = new AddStaff(); addstaff.Show(); SUMsg.Text = addstaff.Text; }

private void SysUsers_Load(object sender, EventArgs e) {

//treeView1.SelectedNode = treeView1.Nodes[1]; // TODO: 这行代码将数据加载到表“员工人事档案管理系统DataSet.员工基本信息”中。您可以根据需要移动或删除它。

/* this.员工基本信息TableAdapter.Fill(this.员工人事档案管理系统DataSet.员工基本信息);*/

sql = \"select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号\";

conn = new SqlConnection(connString); SqlDataAdapter da = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); da.Fill(ds); dgvdata.DataSource = ds.Tables[0]; comState.SelectedIndex = 0; }

private void comState_SelectedIndexChanged(object sender, EventArgs e) {

sql = string.Format(\"select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 部门信息.部门编号=员工入职信息.所在部门编号 and 员工状态=\'{0}\' and 所在部门编号=(select 部门编号 from 部门信息 where 部门名称= \'{1}\')\", comState.SelectedItem.ToString(), treeView1.SelectedNode.Text); conn = new SqlConnection(connString); SqlDataAdapter da2 = new SqlDataAdapter(sql, conn); DataSet ds2 = new DataSet(); da2.Fill(ds2); dgvdata.DataSource = ds2.Tables[0];

}

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (treeView1.Nodes[0].Checked) { sql = \"select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号\"; } else sql = string.Format(\"select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 部门信息.部门编号=员工入职信息.所在部门编号 and 员工状态=\'{0}\' and 所在部门编号=(select 部门编号 from 部门信息 where 部门名称= \'{1}\')\", comState.SelectedItem.ToString(), treeView1.SelectedNode.Text); conn = new SqlConnection(connString); SqlDataAdapter da3 = new SqlDataAdapter(sql, conn); DataSet ds3 = new DataSet(); da3.Fill(ds3); dgvdata.DataSource = ds3.Tables[0];

}

private void dgvdata_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { }

private void SUDelStaff_Click(object sender, EventArgs e) { if (dgvdata.SelectedRows.Count == 0) { MeageBox.Show(\"请选择您要删除的员工!\"); } else { DialogResult r=MeageBox.Show(this,\"确定要删除已选中员工的信息!\",\"提示\",MeageBoxButtons.YesNo,MeageBoxIcon.Warning); switch (r) { case DialogResult.Yes: for (int i = dgvdata.SelectedRows.Count; i > 0; i--) { string num =Convert.ToString( dgvdata.SelectedRows[i1].Index); string sql3 = \"delete from 员工基本信息 where 编号 = \'\" + num + \"\' \"; //string sql4 = \"delete from 员工入职信息 where 员工编号 = \'\" + num + \"\' \"; conn = new SqlConnection(connString); SqlCommand com1 = new SqlCommand(sql3, conn); //SqlCommand com2 = new SqlCommand(sql4, conn); conn.Open(); int count1 = com1.ExecuteNonQuery(); //int count2 = com2.ExecuteNonQuery(); if (count1 > 0) MeageBox.Show(\"成功删除选定员工的信息!\"); } break; } //SqlCommandBuilder sb = new SqlCommandBuilder(da); // da.Update(ds); } }

private void SUAddMag_Click(object sender, EventArgs e) { AddManagement am = new AddManagement(); am.Show(); SUMsg.Text = am.Text; }

private void SUDelMag_Click(object sender, EventArgs e) { DelManagement d = new DelManagement(); d.Show(); SUMsg.Text = d.Text; }

private void SUExit_Click(object sender, EventArgs e) { Application.Exit(); }

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { }

private void tsbscre_Click(object sender, EventArgs e) { sql = \"select 编号,姓名,性别,民族,出生日期,工作证号,入职日期,工作岗位,员工状态,籍贯,婚姻状况,政治面貌,文化程度,部门名称 as 所在部门,身份证号,手机号码,档案存放地,户口所在地 from 员工基本信息,员工入职信息,部门信息 where 员工基本信息.编号 =员工入职信息.员工编号 and 所在部门编号=部门信息.部门编号\"; conn = new SqlConnection(connString); SqlDataAdapter da3 = new SqlDataAdapter(sql, conn); DataSet ds3 = new DataSet(); da3.Fill(ds3); dgvdata.DataSource = ds3.Tables[0]; }

private void tspAddStaff_Click(object sender, EventArgs e) { AddStaff addstaff = new AddStaff(); addstaff.Show(); SUMsg.Text = addstaff.Text;

}

private void tspAddmanage_Click(object sender, EventArgs e) { AddManagement am = new AddManagement(); am.Show(); SUMsg.Text = am.Text; }

private void tspDelManage_Click(object sender, EventArgs e) { DelManagement d = new DelManagement(); d.Show(); SUMsg.Text = d.Text; }

private void 关于我们ToolStripMenuItem_Click(object sender, EventArgs e) { Aboutus a = new Aboutus(); a.Show(); SUMsg.Text = a.Text; } } }

4.2 系统实现

1.登录界面

图1 系统登录界面

2.普通用户

图2 普通用户操作

3.系统用户登录

图3 信息查询

图4 员工信息添加

图5 部门信息添加

图6 部门信息删除

图7 系统版权信息

参考文献

【1】数据库系统概论 王珊 萨师煊 高等教育出版社 【2】C#程序设计经典教程 罗福强 杨剑 张敏辉 清华大学出版社

人事管理系统设计与实现

人事管理系统的设计与实现

人事管理系统设计与实现—管理

企业人事管理系统设计与实现

数据库应用设计课程设计人事管理系统

浅谈企业人事管理系统的设计与实现

C++课程设计公司人事管理系统

人事管理系统设计

人事管理系统设计

C#课程设计报告书

C#课程设计_简单人事管理系统的设计与实现(优秀)
《C#课程设计_简单人事管理系统的设计与实现(优秀).doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题 c 设计
点击下载本文文档