员工管理信息系统的设计与实现_第1页
员工管理信息系统的设计与实现_第2页
员工管理信息系统的设计与实现_第3页
员工管理信息系统的设计与实现_第4页
员工管理信息系统的设计与实现_第5页
免费预览已结束,剩余22页可下载查看

付费下载

下载本文档

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

文档简介

计算机科学与工程学院课程设计报告题目全称:员工管理信息系统的设计与实现一岗位与薪金信息管理学生学号:姓名:李伟德指导老师:刘勇国职称:副教授指导老师评语:签字:课程设计成绩:

&计过程表现设计报告质量总分实验项目名称:一岗位与薪、实验室名称:计算机学院软件实验室实验项目名称:一岗位与薪员工管理信息系统的设计与实现金信息管理三、实验学时:32四、实验原理:员工管理信息系统是由员工管理,部门管理,岗位管理以及薪金管理四部分组成。系统前台采用VisualStdio2005工具开发而成,开发语言是C#程序设计语言,主要是因为C#是微软为.NET平台量身定做的编程语言,它是一种现代面向对象程序设计语言,使程序员能够快速地在.NET平台上开发种类丰富的应用程序,它继承了C++和Java的语法,去掉了C++中的许多复杂和容易引起问题的东西,是由C和C++发展而来的一种简单、高效、面向对象、类型安全”的程序设计语言,具综合了VisualBasic的高效率和C++的强大功能。系统后台的数据库采用MiscrosoftAccess2003数据库,主要依据是考虑到系统的数据规模弁不大,如果用SQLServer2005等数据库会造成浪费,而且维护起来比较难。而Access数据库是一个轻量级的数据库,其具有简单,方便的特性,已经满足我们的需求。五、实验目的:使学生掌握数据库的实现原理,了解SQL的查询命令,弁能在实践中使用。使学生学会使用C#语言进行程序设计,了解VistualStdio2005的开发工具的原理,弁设计出实际可行的项目。加强学生的动手能力,把课堂上学到得东西,融入到实际的项目,达到学以致用的目的。锻炼学生的思维能力,使学生能够领略计算机编程的实现方法,达到举一反三的效果。六、实验内容:在员工信息管理系统中完成“岗位”和“薪金”信息管理功能。岗位信息管理功能包括:添加岗位:可以添加岗位名称,岗位描述等信息。删除岗位:可以删除岗位名称,岗位描述等信息。修改岗位:可以修改指定岗位的岗位名称,岗位描述等信息。查询岗位:可以查询指定岗位的岗位名称,岗位描述等信息。薪金信息管理功能包括:

添加员工薪金信息:可以添加员工姓名,月份,备注,薪金等信息。删除员工薪金信息:可以删除指定员工的姓名,月份,备注,薪金等信息。修改员工薪金信息:可以修改指定员工的姓名,月份,备注,薪金等信息。查询员工薪金信息:可以查询指定员工的薪金等信息。七、实验器材(设备、元器件)一台WindowsXP平台或以上的PC机;VistualStdio2005开发软件及MicrosoftACCESS003数据库软件;八、实验步骤:1、设计系统结构组成系统提供了一套员工综合信息管理平台,使得系统管理人员对公司的岗位进行分类,进而确定各个岗位所对应的部门信息,在已有部门信息的基础上能够对所有员工信息进行分类管理。主要功能有:岗位设置、员工个人信息管理、员工所属部门信息管理、员工薪金信息管理。系统模块设计划分如下:员工薪金信息模块:可以删除、添加、修改和查询员工薪金信息;岗位设置模块:可以删除、添加、修改和查询岗位;它们之间既是相互联系同时又是彼此独立的,整个框架结构如图1所示。员L信息管理系统岗位管理员.—薪金信息删除员—薪金信息修改岗位添加岗位删除岗位修改iE岗位管理员.—薪金信息删除员—薪金信息修改岗位添加岗位删除岗位修改iEI

位词图1系统整体框架本课程设计实现岗位和薪金管理模块功能:(1)岗位设置模块岗位设置模块功能包括:添加岗位、删除岗位、修改岗位、查询岗位。基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图2所示。

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

岗位信息表:包含岗位编号、岗位名称、描述等信息;员工薪金表:薪金编号、月份、员工编号、薪金、备注等信息;有了上面的数据项和数据结构,就可以进行数据库的设计了。设计过程主要分为两个阶段,即数据库概念结构设计和逻辑结构设计。基于对数据库需求的分析,在这一阶段可以设计出能够满足用户需求的各种实例以及它们之间的关系,为下一阶段的逻辑设计打下基础。有了上面的实例以及实例之间的关系,再针对员工信息管理系统的需求,通过对系统的整体分析,为本系统设计如下的数据项和数据结构:表1相关信息表设计库名(EmployeeMIS)员工薪金信息表(income)字段□说明大小是否为空IID自动编R薪金编号NOTNULLmonth数字月份2NOTNULLPID文本员工编号NOTNULLIncome文本薪金20NOTNULLRemark文本备注500岗位信息表(Jobinfo);段□说明大小是否为空JobID自动编R岗位编号NOTNULLJobname文本岗位名称20NOTNULLRemarks文本备注描述500NOTNULL3.设计系统各模块岗位设置模块设计添加岗位在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示。删除岗位在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后,将弹出删除成功的提示。修改岗位在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提示信息。查询岗位依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框。薪金信息管理模块设计添加薪金信息在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,并给出相关提示。删除薪金信息在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,如果删除成功,则会给出“删除员工'XXX'成功”的提示信息。修改薪金信息在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。查询薪金信息在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。九、实验数据及结果分析:.岗位设置模块设计运行结果添加岗位在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示,如图6所示。添加岗位岗位名称用至课:程播吾更习生I岗位描述岗位描述源加盲位信宜成功!确走'取消I图6岗位添加删除岗位在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后将弹出删除成功的提示。如图7所示。图7图7删除岗位修改岗位在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提示信息。如图8所示,实习生岗位名称改成“普通员工”岗位的修改过程。

扁告同位名称fiii,i—«SAJ1那槿设计买海■"!1:5③7一注182注实♦*-1,一修及皂依to]陵改南位肉位纲号H岗位名弊件.A.•Q点位端讲[译—谀计实一生9修定|取消图8修改岗位1.4查询岗位依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框,如图9所75。图9修改岗位.薪金信息管理模块设计添加薪金信息在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,弁给出相关提示,如图10所示。凤,妊名悸儒僚备注确定」2.2删除薪金信息,忝加薪金信息薪金在浏览员工的对话框窗口,rEjrsj2010-349QQI取消|图10添加薪金信息先选择要删除的行,然后点击删除,出“删除员工'XXX'成功”的提示信息。执行效果如图11所示。薪金信夏添加成功如果删除成功,则会给口」Browseincome看通描员工函耐七1^3并蛤查询I员工娟三月上月号金26060053112010034造备主员工科名自M端考工^手帝德16遇犯U'学作得应功*5修改藏金信息则除替金官氢送出I图11删除员工薪金信息修改员工薪金信息12所示12所示魂」月蔚金备注员工雄名月蔚金备注员工雄名自动镉号4939于伟71g16员工编吕月伪员工编吕利(TF图12修改薪金信息查询员工薪金信息在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。执行结果如图13所示。图13查询薪金信息十、实验结论:由实验结果分析可知,岗位设置与薪金信息管理两个模块能正确地运行。可以实现基本的添加,删除,修改和查询等操作。在前台设计上,展现了C#语言的简单,高效,面向对象的特点,其可视化的设计方式,更让程序员能把注意力集中到设计实现上来。在后台的数据库方面,再次验证了Access能胜任本次实验的所有功能需求。十八一、总结及心得体会:本次实验是我第一次使用C#程序设计语言和MicrosoftOfficeAccess数据库系统进行对实际的项目的模拟实现。由于是初次运用,实验过程中遇到了不少困难,但每一次我都会认真分析问题所在,积极的搜集资料,和老师同学相互讨论,最终把问题一一的解决了。在这过程中,不仅把平常老师在上课中讲的理论知识结合到实际中来,还学会了如何去解决问题,更重要的是它增强了我对程序设计的兴趣。另一方面,在设计的过程中,我对VistualStdio2005的实现原理有了更进一步的了解,通过C#语言的使用,我深深的体会到了其简单,高效的特性,它具有VistualBasic的可视化设计方式,又结合了C++的严谨,高效,面向对象的运行机制。而在MicrosoftAccess方面,我认识到了SQL命令的编程实现方式,学会了如何在C#程序中调用Access数据库。十二、对本实验过程及方法、手段的改进建议:本实验实现了员工管理信息系统的岗位和薪金管理这两个模块,并经过初步的测试,其实现了所要求的功能。但一个投入运行的员工管理系统不仅要求在功能上,还要要求在细节,用户使用习惯上都得符合用户的需求,而且需要经过更加严谨的测试,本次实验中的测试的数据是人工输入的,数据量比较小,可以开发一个辅助插件来模拟用户的大量数据的输入,以便更好地分析其在数据量大的时候的运行效果。源代码:(因为代码较多,在此只给出核心实现代码)1岗位设置模块代码:添加岗位代码privatevoidbutton1_Click(objectsender,System.EventArgse){if(textBox1.Text.Trim()==""||textBox2.Text.Trim()=="')MessageBox(0,"请输入岗位名称和描述!“,"提示",0);else{oleDbConnection1.0pen();OleDbCommandcmd=newOleDbCommand("select*fromjobinfowhereJobName='"+textBox1.Text.Trim()+""',oleDbConnection1);if(cmd.ExecuteScalar()!=null)MessageBox(0,"岗位名称重复,请重新输入!","提示",0);else{stringsql="insertintojobinfo(JobName,Remark)values('"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"')";cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox(0,"添加岗位信息成功!","提示",0);textBox1.Clear();textBox2.Clear();)oleDbConnection1.Close();删除岗位1)删除岗位函数实现代码:

privatevoidbutton3_Click(objectsender,System.EventArgse)(if(dataGrid1[dataGrid1.CurrentCell]!=null)(stringsql="selectJobNamefromjobinfoJoblD="+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"andJobIDnotin(selectdistinetjobinfo.JobIDfrompersoninfoinnerjoinjobinfoonpersoninfo.JobName=jobinfo.JobName)";OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);OleDbDataReaderdr;dr=cmd.ExecuteReader();if(!dr.Read())(MessageBox.Show(”删除岗'"+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'请先删除与此岗位相关的员工”,”提示)dr.Close();}else(dr.Close();sql="delete*fromjobinfowhereJobNamenotin(selectdistinctJobNamefrompersoninfo)JoblD="+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show(”删除岗'"+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"'","提示");}}}修改岗位)修改岗位信息函数代码实现:privatevoidbutton1_Click(objectsender,System.EventArgse)(if((textBox1.Text.Trim()==")||(textBox2.Text.Trim()==""))MessageBox.Show(提示","请输入完整的岗位信息pelse(where位失败,and位where位失败,and位成功OleDbCommandcmd=newOleDbCommand("select*fromjobinfowhereJobName="'+textBox1.Text.Trim()+"'andJoblD<>"+this.Tag.ToString().Trim(),cn);if(null!=cmd.ExecuteScalar())MessageBox.Show('岗位名称发生重复","提示");else{stringsql="updatejobinfosetJobName="'+textBox1.Text.Trim()+”',Remark="'+textBox2.Text.Trim()+"'whereJobID="+this.Tag.ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("岗位信息修改成功","提示");}cn.Close();}}1.4查询岗位1)浏览岗位代码实现函数:privatevoidBrowseSpecialtyl_Load(objectsender,System.EventArgse){oleDbConnection1.Open();stringsql="selectJobIDas编号,JobNameas岗位名称‘Remarkas描述fromjobinfo";OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleDbConnection1);ds=newDataSet();ds.Clear();adp.Fill(ds,"job");dataGrid1.DataSource=ds.Tables[0].DefaultView;}〃当DataGridl中当前单元格发生变化时,将对应的岗位名称显示在DataGridl标题中privatevoiddataGrid1_CurrentCellChanged(objectsender,System.EventArgse){oleDbConnectionl.Open();stringsql="selectJobIDas编号,JobNameas岗位名称,Remarkas描述fromjobinfo";OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleDbConnection1);ds=newDataSet();ds.Clear();adp.Fill(ds,"job");dataGrid1.DataSource=ds.Tables[0].DefaultView;dataGridl.CaptionText=dataGrid1[dataGrid1.CurrentRowlndex,1].ToString();2薪金信息管理模块代码:2.1添加薪金信息添加薪金信息函数代码实现:privatevoidbutton1_Click(objectsender,System.EventArgse)(if(textBox2.Text.Trim()==""||comboBox1.Text.Trim()==""||textBox3.Text.Trim()==""||textBox4.Text.Trim()=="")MessageBox(0,"请填写完整的信息","提示",0);else(stringstrSQL="select*fromincomewherePID="+comboBox1.SelectedValue.ToString()+”";OleDbCommandcmd=newOleDbCommand(strSQL,oleDbConnection1);//if(null!=cmd.ExecuteScalar())//MessageBox(0,”员工姓名重复","提示",0);//else//{stringsql1,sql2,sql;sql1="insertintoincome(Imonth,Remark,Income,PID";sql2="values('"+textBox2.Text.ToString()+"',"'+textBox3.Text.ToString()+”7"+textBox4.Text.ToString()+”',"+comboBox1.SelectedValue.ToString();sql=sql1+")"+sql2+")";cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox(0,"薪金信息添加成功","提示",0);//}}}2)添加薪金信息初始化函数代码:privatevoidAddIncome_Load(objectsender,System.EventArgse){oleDbConnection1.Open();OleDbDataAdapteradp=newOleDbDataAdapter("selectPID,Pnamefrompersoninfo",oleDbConnection1);DataSetds=newDataSet();adp.Fill(ds,"person");comboBox1.DisplayMember="Pname";comboBox1.ValueMember="PID";comboBox1.DataSource=ds.Tables[0].DefaultView;2.2删除薪金信息)删除员工薪金实现函数代码:privatevoidbutton4_Click(objectsender,System.EventArgse)(if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!=null&&dataGrid1[dataGrid1.CurrentCell]!=null)(stringsql="delete*fromincomewherePID='"+ds.Tables["income"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"”';OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("删除员工'"+ds.Tables["income"].Rows[dataGrid1.CurrentCell.RowNumber][4].ToString().Trim()+"'成功","提示)}elseMessageBox.Show('没有指定的员工信息","提示");}2.3修改薪金信息1)修改薪金函数:privatevoidbutton1_Click(objectsender,System.EventArgse)(stringsql;sql="select*fromincomewherePID="'+comboBox1.SelectedValue.ToString()+"'andIID<>"+this.Tag.ToString().Trim();OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);if(null!=cmd.ExecuteScalar())MessageBox.Show("月份重复",”提示");else(sql="updateincomesetImonth="'+textBox2.Text.ToString()+"',Remark='"+textBox3.Text.ToString()+"',Income="'+textBox4.Text.ToString()+"',PID="'+comboBox1.SelectedValue.ToString()+""';//if(textBox8.Text.Trim()!="")//sql=sql+",Remark='"+textBox8.Text.Trim()+""';sql=sql+"whereIID="+this.Tag.ToString().Trim();cmd.CommandText=sql;cmd.ExecuteNonQuery();MessageBox.Show('员工薪金彳改成功","提示");}oleDbConnection1.Close();

温馨提示

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

评论

0/150

提交评论