ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:203.23KB ,
资源ID:25431588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25431588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(#员工管理信息系统的设计与实现.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

#员工管理信息系统的设计与实现.docx

1、#员工管理信息系统的设计与实现计算机科学和工程学院课程设计报告题目全称: 员工管理信息系统的设计和实现 岗位和薪金信息管理 学生学号: 2606005011 姓名: 李伟德 指导老师: 刘勇国 职称: 副教授 指导老师评语: 签字: 课程设计成绩:设计过程表现设计报告质量总分一、 实验室名称:计算机学院软件实验室二、 实验项目名称:员工管理信息系统的设计和实现 岗位和薪金信息管理三、实验学时:32四、实验原理:员工管理信息系统是由员工管理,部门管理,岗位管理以及薪金管理四部分组成。系统前台采用Visual Stdio 2005 工具开发而成,开发语言是C#程序设计语言,主要是因为C#是微软为.

2、NET平台量身定做的编程语言,它是一种现代面向对象程序设计语言,使程序员能够快速地在.NET平台上开发种类丰富的使用程序,它继承了C+和Java的语法,去掉了C+中的许多复杂和容易引起问题的东西,是由C和C+发展而来的一种“简单、高效、面向对象、类型安全”的程序设计语言,其综合了Visual Basic的高效率和C+的强大功能。系统后台的数据库采用Miscrosoft Access 2003数据库,主要依据是考虑到系统的数据规模并不大,如果用SQL Server 2005等数据库会造成浪费,而且维护起来比较难。而Access数据库是一个轻量级的数据库,其具有简单,方便的特性,已经满足我们的需求

3、。5、实验目的:1. 使学生掌握数据库的实现原理,了解SQL的查询命令,并能在实践中使用。2. 使学生学会使用C#语言进行程序设计,了解Vistual Stdio 2005 的开发工具的原理,并设计出实际可行的项目。3. 加强学生的动手能力,把课堂上学到得东西,融入到实际的项目,达到学以致用的目的。4. 锻炼学生的思维能力,使学生能够领略计算机编程的实现方法,达到举一反三的效果。6、实验内容:在员工信息管理系统中完成“岗位”和“薪金”信息管理功能。岗位信息管理功能包括:1. 添加岗位:可以添加岗位名称,岗位描述等信息。2. 删除岗位:可以删除岗位名称,岗位描述等信息。3. 修改岗位:可以修改指

4、定岗位的岗位名称,岗位描述等信息。4. 查询岗位:可以查询指定岗位的岗位名称,岗位描述等信息。薪金信息管理功能包括:1. 添加员工薪金信息:可以添加员工姓名,月份,备注,薪金等信息。2. 删除员工薪金信息:可以删除指定员工的姓名,月份,备注,薪金等信息。3. 修改员工薪金信息:可以修改指定员工的姓名,月份,备注,薪金等信息。4. 查询员工薪金信息:可以查询指定员工的薪金等信息。七、实验器材(设备、元器件):1.一台Windows XP平台或以上的PC机;2.Vistual Stdio 2005开发软件及MicrosoftACCESS数据库软件;8、实验步骤:1、设计系统结构组成系统提供了一套员

5、工综合信息管理平台,使得系统管理人员对公司的岗位进行分类,进而确定各个岗位所对应的部门信息,在已有部门信息的基础上能够对所有员工信息进行分类管理。主要功能有:岗位设置、员工个人信息管理、员工所属部门信息管理、员工薪金信息管理。系统模块设计划分如下: 员工薪金信息模块:可以删除、添加、修改和查询员工薪金信息;岗位设置模块:可以删除、添加、修改和查询岗位;它们之间既是相互联系同时又是彼此独立的,整个框架结构如图1所示。图1 系统整体框架本课程设计实现岗位和薪金管理模块功能:(1)岗位设置模块岗位设置模块功能包括:添加岗位、删除岗位、修改岗位、查询岗位。基于上面的需求分析,我们可以列出用户操作的模块

6、,其中的每一个模块对于一个功能,如图2所示。图2 岗位设置模块用例图(2)薪金管理模块薪金管理模块功能包括:添加员工薪金信息、删除员工薪金信息、修改员工薪金信息、查询员工薪金信息。基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图3所示。图3 薪金信息管理模块用例图2、 数据库的设计和实现数据库是员工信息管理系统的后台,存储着所有的信息,在员工信息管理系统中有着很重要的地位。数据库设计的好和坏,直接影响到这个系统的运行效率。良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。在仔细调研员工信息管理过程的基础上,通过对管理内容的分析,设计的

7、数据项和数据结构如下:岗位信息表:包含岗位编号、岗位名称、描述等信息;员工薪金表:薪金编号、月份、员工编号、薪金、备注等信息;有了上面的数据项和数据结构,就可以进行数据库的设计了。设计过程主要分为两个阶段,即数据库概念结构设计和逻辑结构设计。基于对数据库需求的分析,在这一阶段可以设计出能够满足用户需求的各种实例以及它们之间的关系,为下一阶段的逻辑设计打下基础。 图4 岗位信息实体E-R图图5 员工薪金信息实体E-R图有了上面的实例以及实例之间的关系,再针对员工信息管理系统的需求,通过对系统的整体分析,为本系统设计如下的数据项和数据结构:表1 相关信息表设计库名(EmployeeMIS)员工薪金

8、信息表(income)字段类型说明大小是否为空IID自动编号薪金编号NOT NULLImonth数字月份2NOT NULLPID文本员工编号NOT NULLIncome文本薪金20NOT NULLRemark文本备注500岗位信息表(Jobinfo)字段类型说明大小是否为空JobID自动编号岗位编号NOT NULLJobname文本岗位名称20NOT NULLRemarks 文本备注描述500NOT NULL3.设计系统各模块3.1 岗位设置模块设计添加岗位 在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示。删除岗位 在浏

9、览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后,将弹出删除成功的提示。修改岗位 在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提示信息。 查询岗位 依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框。3.2 薪金信息管理模块设计添加薪金信息 在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,并给出相关提示。删除薪金信息在浏览员工的对话框窗口

10、,先选择要删除的行,然后点击删除,如果删除成功,则会给出“删除员工XXX成功”的提示信息。修改薪金信息 在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。查询薪金信息 在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。9、实验数据及结果分析:1. 岗位设置模块设计运行结果1.1添加岗位 在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示,如图6所示。图6

11、岗位添加1.2删除岗位 在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后,将弹出删除成功的提示。如图7所示。图7 删除岗位1.3修改岗位 在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提示信息。如图8所示,实习生岗位名称改成“普通员工”岗位的修改过程。图8 修改岗位1.4查询岗位 依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框,如图9所示。图9 修改岗位2. 薪金信息管理模块设计2.1 添加薪金信息 在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加

12、薪金信息对话框,依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,并给出相关提示,如图10所示。 图10 添加薪金信息2.2 删除薪金信息 在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,如果删除成功,则会给出“删除员工XXX成功”的提示信息。执行效果如图11所示。图11 删除员工薪金信息2.3 修改员工薪金信息 在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。效果如图12所示。图12 修改薪金信息2.4 查询员工薪金信息 在员工薪金信息浏览的对

13、话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。执行结果如图13所示。图13 查询薪金信息10、实验结论:由实验结果分析可知,岗位设置和薪金信息管理两个模块能正确地运行。可以实现基本的添加,删除,修改和查询等操作。在前台设计上,展现了C#语言的简单,高效,面向对象的特点,其可视化的设计方式,更让程序员能把注意力集中到设计实现上来。在后台的数据库方面,再次验证了Access能胜任本次实验的所有功能需求。11、总结及心得体会:本次实验是我第一次使用C#程序设计语言和Microsoft Office Access数据库系统进行对实际的项

14、目的模拟实现。由于是初次运用,实验过程中遇到了不少困难,但每一次我都会认真分析问题所在,积极的搜集资料,和老师同学相互讨论,最终把问题一一的解决了。在这过程中,不仅把平常老师在上课中讲的理论知识结合到实际中来,还学会了如何去解决问题,更重要的是它增强了我对程序设计的兴趣。另一方面,在设计的过程中,我对Vistual Stdio 2005 的实现原理有了更进一步的了解,通过C#语言的使用,我深深的体会到了其简单,高效的特性,它具有Vistual Basic的可视化设计方式,又结合了C+的严谨,高效,面向对象的运行机制。而在Microsoft Access方面,我认识到了SQL命令的编程实现方式,

15、学会了如何在C#程序中调用Access数据库。12、对本实验过程及方法、手段的改进建议:本实验实现了员工管理信息系统的岗位和薪金管理这两个模块,并经过初步的测试,其实现了所要求的功能。但一个投入运行的员工管理系统不仅要求在功能上,还要要求在细节,用户使用习惯上都得符合用户的需求,而且需要经过更加严谨的测试,本次实验中的测试的数据是人工输入的,数据量比较小,可以开发一个辅助插件来模拟用户的大量数据的输入,以便更好地分析其在数据量大的时候的运行效果。源代码:(因为代码较多,在此只给出核心实现代码)1 岗位设置模块代码:1.1添加岗位代码private void button1_Click(obje

16、ct sender, System.EventArgs e) if(textBox1.Text.Trim()=|textBox2.Text.Trim()=) MessageBox(0,请输入岗位名称和描述!,提示,0); else oleDbConnection1.Open(); OleDbCommand cmd = new OleDbCommand(select * from jobinfo where JobName=+textBox1.Text.Trim()+,oleDbConnection1); if(cmd.ExecuteScalar() != null) MessageBox(0,

17、岗位名称重复,请重新输入!,提示,0); else string sql = insert into jobinfo (JobName,Remark) values (+textBox1.Text.Trim()+,+textBox2.Text.Trim()+); cmd.CommandText = sql; cmd.ExecuteNonQuery(); MessageBox(0,添加岗位信息成功!,提示,0); textBox1.Clear(); textBox2.Clear(); oleDbConnection1.Close(); 1.2删除岗位 1)删除岗位函数实现代码:private v

18、oid button3_Click(object sender, System.EventArgs e) if (dataGrid1dataGrid1.CurrentCell!=null) string sql=select JobName from jobinfo where JobID=+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+ and JobID not in (select distinct jobinfo.JobID from personinfo inner join jobinfo o

19、n personinfo.JobName=jobinfo.JobName); OleDbCommand cmd=new OleDbCommand(sql,oleDbConnection1); OleDbDataReader dr; dr=cmd.ExecuteReader(); if (!dr.Read() MessageBox.Show(删除岗位+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+失败,请先删除和此岗位相关的员工,提示); dr.Close(); else dr.Close(); sql=d

20、elete * from jobinfo where JobName not in (select distinct JobName from personinfo) and JobID=+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim(); cmd.CommandText=sql; cmd.ExecuteNonQuery(); MessageBox.Show(删除岗位+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+成功,

21、提示); 1.3修改岗位1)修改岗位信息函数代码实现:private void button1_Click(object sender, System.EventArgs e) if (textBox1.Text.Trim()=) | (textBox2.Text.Trim()=) MessageBox.Show(提示,请输入完整的岗位信息); else cn.Open(); OleDbCommand cmd=new OleDbCommand(select * from jobinfo where JobName=+textBox1.Text.Trim()+ and JobID+this.Ta

22、g.ToString().Trim(),cn); if (null!=cmd.ExecuteScalar() MessageBox.Show(岗位名称发生重复,提示); else string sql=update jobinfo set JobName=+textBox1.Text.Trim()+,Remark=+textBox2.Text.Trim()+ where JobID=+this.Tag.ToString().Trim(); cmd.CommandText=sql; cmd.ExecuteNonQuery(); MessageBox.Show(岗位信息修改成功,提示); cn.C

23、lose(); 1.4查询岗位1)浏览岗位代码实现函数:private void BrowseSpecialtyl_Load(object sender, System.EventArgs e) oleDbConnection1.Open(); string sql=select JobID as 编号,JobName as 岗位名称,Remark as 描述 from jobinfo; OleDbDataAdapter adp=new OleDbDataAdapter(sql,oleDbConnection1); ds=new DataSet(); ds.Clear(); adp.Fill(

24、ds,job); dataGrid1.DataSource=ds.Tables0.DefaultView;/当DataGrid1中当前单元格发生变化时,将对应的岗位名称显示在DataGrid1标题中private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e) oleDbConnection1.Open(); string sql=select JobID as 编号,JobName as 岗位名称,Remark as 描述 from jobinfo; OleDbDataAdapter adp=new O

25、leDbDataAdapter(sql,oleDbConnection1); ds=new DataSet(); ds.Clear(); adp.Fill(ds,job); dataGrid1.DataSource=ds.Tables0.DefaultView; dataGrid1.CaptionText=dataGrid1dataGrid1.CurrentRowIndex,1.ToString();2 薪金信息管理模块代码:2.1 添加薪金信息添加薪金信息函数代码实现:private void button1_Click(object sender, System.EventArgs e)

26、if (textBox2.Text.Trim()= | comboBox1.Text.Trim()= | textBox3.Text.Trim()= | textBox4.Text.Trim()=) MessageBox(0,请填写完整的信息,提示,0); else string strSQL = select * from income where PID=+comboBox1.SelectedValue.ToString()+; OleDbCommand cmd=new OleDbCommand(strSQL,oleDbConnection1);/ if (null!=cmd.Execut

27、eScalar()/ MessageBox(0,员工姓名重复,提示,0);/ else/ string sql1,sql2,sql; sql1=insert into income (Imonth,Remark,Income,PID; sql2=values (+textBox2.Text.ToString()+,+textBox3.Text.ToString()+,+textBox4.Text.ToString()+,+comboBox1.SelectedValue.ToString(); sql=sql1+) +sql2+); cmd.CommandText=sql; cmd.Execut

28、eNonQuery(); MessageBox(0,薪金信息添加成功,提示,0);/ 2)添加薪金信息初始化函数代码:private void AddIncome_Load(object sender, System.EventArgs e) oleDbConnection1.Open(); OleDbDataAdapter adp=new OleDbDataAdapter(select PID,Pname from personinfo,oleDbConnection1); DataSet ds=new DataSet(); adp.Fill(ds,person); comboBox1.Di

29、splayMember=Pname; comboBox1.ValueMember=PID; comboBox1.DataSource=ds.Tables0.DefaultView;2.2 删除薪金信息1)删除员工薪金实现函数代码:private void button4_Click(object sender, System.EventArgs e) if (dataGrid1.CurrentRowIndex=0 & dataGrid1.DataSource!=null & dataGrid1dataGrid1.CurrentCell!=null) string sql=delete * from income where PID=+ds.Tablesincome.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+; OleDbCommand cmd=new OleDbCommand(sql,oleDbConnection1); cmd.CommandText=sql; cmd.ExecuteNonQuery(); MessageBox.Show(删除

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1