《基于C的企业员工管理系统.docx》由会员分享,可在线阅读,更多相关《基于C的企业员工管理系统.docx(43页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文课题名称: 基于C#的企业员工管理系统 院 (系): 专 业: 学 号: 学生姓名: 指导教师: 完成时间: 摘要已经进入信息时代的今天,用简易的信息管理方式(如:文档,表格等纸张记录的方式)已不能来快速、准确地分析、处理复杂的信息。所以,我们试图利用计算机来控制整个信息处理的过程,如企业员工信息的管理过程。本文也就是针对企业员工信息的管理进行研究,对需设计的系统进行了可行性分析、需求分析、总体设计、详细设计及代码实现、测试等。本文探究了C#开发的过程及相关技术,结合实际的企业员工信息管理方式设计其功能需求和业务处理流程,主要实现数据库接收处理的正确过程,实现基于C#与acce
2、ss数据库技术的企业员工信息管理管理系统。该系统将分为管理员登录、员工登录,员工信息调配等功能模块,使用C#进行设计,C#及access数据库实现数据处理过程。最终完成后进行系统测试。关键字:信息;企业员工信息 ABSTRACTWe has entered the information age today, with a simple information management methods (such as: document, such as form paper record way) has not been able to rapidly and accurately anal
3、yze, processing complex information. So, we tried to use the computer to control the whole process of information processing, such as enterprise employee information management process. This paper is a response to enterprise staff information management, to need to design system for the feasibility
4、analysis, requirement analysis, general design, detailed design and code implementation, testing, etc. This paper looks into the c # development process and related technology, combined with the actual enterprise employee information management mode design its functional requirements and processing
5、process, mainly realizes the database receiving treatment, and to realize the correct process based on C# and access database technology enterprise staff management information management system. The system will be divided into administrator login, staff login, employee information allocation functi
6、on module, using c # design, C# access database and realization of data processing. Finally after completing system test. Key Words: information; Enterprise staff information 目录1.引言11.1系统设计背景11.2系统开发意义11.3系统开发工具的选用及介绍11.3.1C#的优势及特点11.3.2数据库的优势及特点22.可行性分析33.系统设计43.1数据库设计43.1.1 数据库表创建43.1.2 实体-关系模型(E-
7、R图)43.2功能需求63.2.1用户登录模块63.2.2权限不同的用户管理模块73.2.3 系统结构图9参考文献10附录111. 引言1.1 系统设计背景过去,企业员工信息管理的方法大多采用纸制统计、归档的方式,这样各式各样的本子或者表单,容易丢失并且复杂、混乱,也没有一个系统的整合,让处理资源的时候,显得繁琐,导致浪费较多时间及精力。如今,处于信息时代的今天,需要高效的处理、使用信息,信息化管理变得尤其重要。开发一个统一管理信息的系统很重要,从而实现企业员工信息管理专人专项负责。1.2 系统开发意义企业员工信息管理系统将所需功能整合在一起统一处理,方便了管理者的多种处理,节约时间、精力。本
8、系统采用C#编程语言,该语言是面向对象的编程语言,模块化处理,扩展性强,便于数据管理,同时也具有较高的安全性,易用性。本系统采用.net framework框架结构,本系统采用.net framework框架结构,管理员登录后就可以对相关数据的操作,使用方便、简单,员工可以直观的看到自己本身的信息并可以对不正确的信息提出申请修改。1.3 系统开发工具的选用及介绍该系统开发工具选用C#编程语言,采用.net framework框架结构,数据库选用ACCESS。1.3.1 C#的优势及特点C#是目前流行的一种编程应用程序,C#语言类似拥有类似java的语法,语言简单明了。C#是在Java流行起来后
9、所诞生的一种新的语言。由于微软在操作系统上占有很大的优势。在以往的开发中累积了不少经验,所形成的.net平台,所以C#在Windows方面可以说比Java具有更大的优势。如果单纯从技术上来讲,C#在网络编程上可以与Java匹敌。C#还在Windows Forms也有一定的优势。C#是一种非常类似于C+的语言,风格是更接近于Java,不管是C+程序员还是Java程序员,都可以很方便的转到C#上来。C#的强大是依赖于.net的发展,而.net的发展是看微软在.net上的决心和投入有多少。从Windows 2003和Vista系统可以看出(前者内置.net1.1,后者内置.net2.0。).Net在
10、Windows编程中具有重要的战略意义。C#目前主要是应用在网络编程上,其他领域比如数据库、窗体编程,都逐渐在增大。1.3.2 数据库的优势及特点Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。2. 可行性分析可行性分析是为了弄清楚系统开发的项目是不是可以实现和值得进行
11、研究的过程,所以,进行可执行性的分析是非常必要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:经济可行性:该系统设计只是作为本人的毕业设计,所以没有什么经济效益可谈,开发过程不会产生大的开销;技术可行性:现有的技术已经能够充分支持、开发该系统,并且已有现行系统能稳定的运行;运行可行性:该系统采用.net framework框架结构,安装后就可以使用;法律可行性:该系统是作为毕业设计与商业无关,又是自主开发设计,因此不会构成侵权,在法律上是可行的。3. 系统设计3.1数据库设计3.1.1 数据库表创建1. 数据库名称: Date;2. 数据库创建了三个表:用户表(Users)、员
12、工信息表(Yuangong)、申请表(Shenqing);3.1.2 实体-关系模型(E-R图)1. 登录管理员用户与员工用户关系模型:管理员用户名admin密码admin员工管理n1员工号姓名name年龄age性别sex部门dep住处address电话phone职位图3-1管理员表、员工表关系表3-1:用户表(Users表)字段名称字段类型字段描述主键/外键idchar(2)编号主键namevarchar(20)用户名passwordvarchar(20)密码表3-2:员工表(Yuangong表):字段名称字段类型字段描述主键/外键idchar(2)员工号主键namevarchar(20)姓
13、名Sexvarchar(2)性别Agechar(2)年龄depvarchar(20)部门Zhiweivarchar(20)职位phonevarchar(20)电话Zhuzhichar(50)住址2. 员工申请处理与管理员关系模型:管理员用户名admin密码admin员工处理n1员工号姓名name年龄age性别sex部门dep住处address电话phone职位申请修改11图3-2 员工申请与管理员关系表3-3:申请表(Shenqing表):字段名称字段类型字段描述主键/外键Idchar(11)员工号主键Namevarchar(20)姓名SqtimeTime申请时间SqwhyVarchar(50
14、)申请原因ClzhuangtaiVarchar(20)处理状态3.2功能需求3.2.1用户登录模块输入用户名及密码用户进入登录界面判断用户名是否正确?判断密码是否正确?是访问数据库确定用户,转向相应界面是否否(重新输入密码)图3-3 用户登录模块图3-3中反映了用户登录该系统的过程。不同权限的用户登录后显示不同的界面,管理员可以对员工信息进行处理,员工可以申请修改自己的信息,可以修改密码。3.2.2权限不同的用户管理模块1.管理员管理模块:显示管理界面登录成功查询员工信息界面添加员工信息界面修改员工信息界面删除员工信息界面修改申请信息界面修改密码信息界面数据库是否选择其他操作?否是是返回图3-
15、4管理员管理模块2. 员工模块:显示员工信息和操作界面登录成功显示登录员工所有信息是否选择其他操作?申请修改信息界面是否修改申请更新到数据库中修改密码界面修改后的密码更新到数据库中图3-5 员工操作模块图3-5中提到的“修改申请”是指:员工发现自己信息不正确时,填写申请向管理员要求进行修改。4.注册模块:省略注册模块的操作流程,注册模块只能注册普通用户。用户名为员工号和密码的正确性后,更新到Users表中。3.2.3 系统结构图企业员工信息管理系统(登录)登录成功登录失败(弹出错误)员工界面管理员界面查询员工信息界面添加员工信息界面修改员工信息界面删除员工信息界面修改申请查询界面修改密码界面申
16、请修改信息界面申请处理情况查询界面修改密码界面查询申请界面填写申请处理界面图3-6 系统总体结构用户登录系统是按权限不同,进去不同的界面,处理业务流程的。操作方式如图3-7所示:系统登录界面无帐号无法登录,点“注册”帐号跳转到注册界面,注册普通用户注册成功后,调转到登录界面重新填写错误按权限不同,访问不同界面进行处理图3-7 登录时的两种情况说明参考文献【1】C#程序设计与项目实践 朱二喜 陆红蕾 徐敏 编著 清华大学出版社【2】数据库系统概论(第四版) 王珊 萨师煊 编著 高等教育出版社【3】网络教程: 硅谷动力网络学院附录登录设计企业员工信息管理系统登录窗口图8管理系统登录界面以下代码段为
17、图9中核心部分:namespace Design public partial class mian : Form public static string aname; public static string conStr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.Data.mdb; public mian() InitializeComponent(); private void button3_Click(object sender, EventArgs e) zhuce f = new zhuce(); f.Show(); pri
18、vate void button2_Click(object sender, EventArgs e) if (MessageBox.Show(确定要退出系统?, 提示, MessageBoxButtons.YesNo , MessageBoxIcon.Question) = DialogResult.Yes) Application.Exit(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = ) MessageBox.Show(用户名不能为空!); this.textBox1.Focus
19、 (); return ; else if ( textBox2.Text = ) MessageBox.Show(密码不能为空!); this.textBox2.Focus (); return ; using(OleDbConnection conn = new OleDbConnection(conStr) conn.Open(); using (OleDbCommand cmd = conn.CreateCommand() cmd.CommandText = select * from Users where 用户名=name and 密码=pwd; cmd.Parameters.Cl
20、ear(); cmd.Parameters.Add(new OleDbParameter(name, textBox1.Text.Trim(); cmd.Parameters.Add(new OleDbParameter(pwd, textBox2.Text.Trim(); using (OleDbDataReader reader = cmd.ExecuteReader() if (reader.Read() ) if (textBox1.Text.Equals(admin) aname = textBox1.Text; admin a = new admin(); a.Show(); te
21、xtBox2.Text = ; reader.Close(); conn.Close(); conn.Dispose(); cmd.Parameters.Clear(); cmd.Dispose(); else aname = textBox1.Text; yuangong y = new yuangong(); y.Show(); textBox2.Text = ; reader.Close(); conn.Close(); conn.Dispose(); cmd.Parameters.Clear(); cmd.Dispose(); else MessageBox.Show(用户名或者密码出
22、错!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); textBox2.Text = ; reader.Close(); conn.Close(); conn.Dispose(); cmd.Parameters.Clear(); cmd.Dispose(); 企业员工信息管理系统管理员界面与操作企业员工信息管理系统管理员窗口图5-1管理系统管理员界面如图9所示,管理员可以通过相关的按钮可以对企业员工信息的管理,通过按钮跳转到各各相应的功能界面。企业员工信息管理系统管理员查询员工信息界面图5-2管理系统管管理员查询员工信息界面通
23、过不同的查询方式可以对员工信息的查询。1. 通过员工员工号查询图5-3管理系统管管理员通过查询员工号查询核心代码: if (textBox1.Text = ) MessageBox.Show(员工号不能为空!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); else using (OleDbConnection conn = new OleDbConnection(mian.conStr) this.listView1.Items.Clear(); conn.Open(); using (OleDbCommand cmd =
24、conn.CreateCommand() cmd.CommandText = select * from Yuangong where 员工号=num ; cmd.Parameters.Clear(); cmd.Parameters.Add(new OleDbParameter(num, textBox1.Text.Trim(); using (OleDbDataReader reader = cmd.ExecuteReader() int i = 0; while (reader.Read() ListViewItem item = new ListViewItem(reader.GetSt
25、ring (reader.GetOrdinal(员工号); item.SubItems.Add(reader.GetString(reader.GetOrdinal(姓名); item.SubItems.Add(reader.GetString(reader.GetOrdinal(性别); item.SubItems.Add(reader.GetDouble(reader.GetOrdinal(年龄).ToString(); item.SubItems.Add(reader.GetString(reader.GetOrdinal(部门); item.SubItems.Add(reader.Ge
26、tString(reader.GetOrdinal(职位); item.SubItems.Add(reader.GetDouble(reader.GetOrdinal(联系电话).ToString(); item.SubItems.Add(reader.GetString(reader.GetOrdinal(住址); this.listView1.Items.Add(item); i = 1; if (i = 0) MessageBox.Show(没有相关信息!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); 2. 通过员工部
27、门查询图12管理系统管管理员通过查询员工部门查询核心代码: if (comboBox1 .Text = ) MessageBox.Show(部门不能为空!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); else using (OleDbConnection conn = new OleDbConnection(mian.conStr) this.listView1.Items.Clear(); conn.Open(); using (OleDbCommand cmd = conn.CreateCommand() cmd.Co
28、mmandText = select * from Yuangong where 部门=bumen ; cmd.Parameters.Clear(); cmd.Parameters.Add(new OleDbParameter(bumen, comboBox1 .Text); using (OleDbDataReader reader = cmd.ExecuteReader() int i = 0; while (reader.Read() ListViewItem item = new ListViewItem(reader.GetString (reader.GetOrdinal(员工号)
29、; item.SubItems.Add(reader.GetString(reader.GetOrdinal(姓名); item.SubItems.Add(reader.GetString(reader.GetOrdinal(性别); item.SubItems.Add(reader.GetDouble(reader.GetOrdinal(年龄).ToString(); item.SubItems.Add(reader.GetString(reader.GetOrdinal(部门); item.SubItems.Add(reader.GetString(reader.GetOrdinal(职位
30、); item.SubItems.Add(reader.GetDouble(reader.GetOrdinal(联系电话).ToString(); item.SubItems.Add(reader.GetString(reader.GetOrdinal(住址); this.listView1.Items.Add(item); i=1; if (i = 0) MessageBox.Show(没有相关信息!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); 企业员工信息管理系统管理员添加员工信息界面 图13管理系统管理员添加员工信息
31、界面对新增员工的添加,实现在数据库中数据的增加。效果图:核心代码:if (textBox1.Text = | textBox2.Text = | textBox3.Text = | textBox4.Text = | textBox5.Text = | comboBox3 .Text = | comboBox1.Text = | comboBox2.Text = ) MessageBox.Show(信息不完整,请补充完整!, 提示信息, MessageBoxButtons.OK, MessageBoxIcon.Information); else using (OleDbConnection conn = new OleDbConnection(mian.conStr ) conn.Open(); using (OleDbCommand cmd = conn.CreateCommand() cmd.CommandText = select * from Yuangong where 员工号=num ; cmd.Parameters.Clear(); cmd.Parameters.Add(new Ole