版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机科学与工程学院课程设计报告题目全称:员工管理信息系统的设计与实现一岗位与薪金信息管理学生学号:姓名:李伟德指导老师:刘勇国职称:副教授指导老师评语:签字:课程设计成绩:设计过程表现设计报告质量总分、实验室名称:计算机学院软件实验室二、实验项目名称:员工管理信息系统的设计与实现一岗位与薪金信息管理三、实验学时:32四、实验原理:员工管理信息系统是由员工管理, 部门管理,岗位管理以及薪金管理四部分组成。 系统 前台采用Visual Stdio 2005工具开发而成,开发语言是C#程序设计语言,主要是因为C#是微软为.NET平台量身定做的编程语言,它是一种现代面向对象程序设计语言,使程序员 能
2、够快速地 在.NET平台上开发种类丰富的应用程序,它继承了C+和Java的语法,去掉了C+中的许多复杂和容易引起问题的东西,是由C和C+发展而来的一种 简单、高效、面向对象、类型安全”的程序设计语言,其综合了 Visual Basic的高效率和C+的强大功能。系统后台的数据库采用 Miscrosoft Access 2003数据库,主要依据是考虑到系统的数据 规模并不大,如果用SQL Server 2005等数据库会造成浪费,而且维护起来比较难。而Access数据库 是一个轻量级的数据库,其具有简单,方便的特性,已经满足我们的需求。五、实验目的:使学生掌握数据库的实现原理,了解SQL的查询命令
3、,并能在实践中使用。使学生学会使用C#语言进行程序设计,了解Vistual Stdio 2005的开发工具的原理,并设计出实际可行的项目。加强学生的动手能力,把课堂上学到得东西,融入到实际的项目,达到学以致用的目的。锻炼学生的思维能力,使学生能够领略计算机编程的实现方法,达到举一反三的效果。六、实验内容:在员工信息管理系统中完成“岗位”和“薪金”信息管理功能。 岗位信息管理功能包括:添加岗位:可以添加岗位名称,岗位描述等信息。删除岗位:可以删除岗位名称,岗位描述等信息。修改岗位:可以修改指定岗位的岗位名称,岗位描述等信息。查询岗位:可以查询指定岗位的岗位名称,岗位描述等信息。薪金信息管理功能包
4、括:1. 添加员工薪金信息:可以添加员工姓名,月份,备注,薪金等信息。删除员工薪金信息:可以删除指定员工的姓名,月份,备注,薪金等信息。修改员工薪金信息:可以修改指定员工的姓名,月份,备注,薪金等信息。查询员工薪金信息:可以查询指定员工的薪金等信息。七、实验器材(设备、元器件)-台 Windows XP平台或以上的PC机;Vistual Stdio 2005开发软件及 Microsoft ACCESS0 0 3 数据库软件;八、实验步骤:1、设计系统结构组成 系统提供了-套员工综合信息管理平台, 使得系统管理人员对公司的岗位进行分类, 进 而确定各个岗位所对应的部门信息,在已有部门信息的基础上
5、能够对所有员工信息进行分类 管理。主 要功能有:岗位设置、员工个人信息管理、员工所属部门信息管理、员工薪金信息 管理。系统模块设计划分如下: 员工薪金信息模块:可以删除、添加、修改和查询员工薪金信息; 岗位设置模块:可以删除、添加、修改和查询岗位; 它们之间既是相互联系同时又是彼此独立的,整个框架结构如图1 所示。员薪金信息删除员丨薪金信息杏询岗位添加囱位删除岗位修改员薪金信息删除员丨薪金信息杏询岗位添加囱位删除岗位修改岗位杳询图 1 系统整体框架 本课程设计实现岗位和薪金管理模块功能:(1)岗位设置模块 岗位设置模块功能包括:添加岗位、删除岗位、修改岗位、查询岗位。 基于上面的需求分析,我们
6、可以列出用户操作的模块, 其中的每一个模块对于一个功能, 如图 2所示。图2岗位设置模块用例图(2)薪金管理模块薪金管理模块功能包括:添加员工薪金信息、删除员工薪金信息、修改员工薪金信息、查询员工薪金信息。基于上面的需求分析,我们可以列出用户操作的模块, 其中的每一个模块对于一个功能, 如图 3 所示图 3 薪金信息管理模块用例图2、 数据库的设计与实现数据库是员工信息管理系统的后台,存储着所有的信息,在员工信息管理系统中有着 很重要的地位。数据库设计的好与坏,直接影响到这个系统的运行效率。 良好的数据库设计 可以提高数据信息的存储效率,确保数据信息的完整性和一致性。在仔细调研员工信息管理过程
7、的基础上, 通过对管理内容的分析,设计的数据项和数据 结构如下:岗位信息表:包含岗位编号、岗位名称、描述等信息; 员工薪金表:薪金编号、月份、员工编号、薪金、备注等信息; 有了上面的数据项和数据结构,就可以进行数据库的设计了。 设计过程主要分为两个阶 段,即数据库概念结构设计和逻辑结构设计。基于对数据库需求的分析,在这一阶段可以设计出能够满足用户需求的各种实例以及它 们之间的 关系,为下一阶段的逻辑设计打下基础。薪金编号月份.员工编号备注薪金编号月份.员工编号备注薪金信息实体图5 员工薪金信息实体 E-R图有了上面的实例以及实例之间的关系,再针对员工信息管理系统的需求,通过对系统的整体分析,为
8、本系统设计如下的数据项和数据结构:表 1 相关信息表设计库名(EmployeeMIS)员工薪金信息表(in come)字段类型说明大小是否为空IID自动编号薪金编号NOT NULLImon th数字月份2NOT NULLPID文本员工编号NOT NULLIn come文本薪金20NOT NULLRemark文本备注500岗位信息表(Job info)字段类型说明大小是否为空JobID自动编号岗位编号NOT NULLJob name文本岗位名称20NOT NULLRemarks文本备注描述500NOT NULL3. 设计系统各模块3.1 岗位设置模块设计添加岗位 在主窗口中点击“添加岗位”按钮,
9、即可弹出如下对话框,依次填写岗位名称,岗位 描述后, 点击“确定”按钮,将弹出添加成功的提示。删除岗位 在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后, 将弹出删 除成功的提示。修改岗位 在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框, 在此对话 框可以进行岗位编号, 岗位名称,岗位描述的修改,修改成功后,将得到相应的提 示信息。查询岗位 依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框。3.2 薪金信息管理模块设计 添加薪金信息 在主窗口中选择员工薪金管理,再点击“添加薪金” ,就会弹出添加薪金信息对话框, 依次填写员工姓名,月份,备注
10、,薪金等信息,按确定后,系统先检查信息完整性,如果满 足要求, 就可添加成功,并给出相关提示。删除薪金信息在浏览员工的对话框窗口,先选择要删除的行, 然后点击删除,如果删除成功,则会给出“删除员工XXX 成功”的提示信息。修改薪金信息 在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹 出新的对 话框,在这对话框可以更改月份,薪金,和备注这三项信息。查询薪金信息 在员工薪金信息浏览的对话框中, 先在选择员工的下拉框中选择要查看的员工, 之后点 击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。九、实验数据及结果分析:1.岗位设置模块设计运行结果1.1 添加岗位
11、 在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位 描述后, 点击“确定”按钮,将弹出添加成功的提示,如图6 所示。崗位名称用至岗位描述添加岗位.-I 1 1今示课:稈播吾更习生崗位名称用至岗位描述添加岗位.-I 1 1今示课:稈播吾更习生1源加盲位信宜成功!确走取消图6岗位添加1.2删除岗位在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后, 将弹出删除成功的提示。如图 7所示。辭14崗俭名称 晋通员工课程设计实习生15班业指呈魄改推涓员辭14崗俭名称 晋通员工课程设计实习生15班业指呈魄改推涓员图7删除岗位1.3修改岗位在浏览岗位对话框中,
12、选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提示信息。如图8所示,实习生岗位名称改成“普通员工”岗位的修改过程。图8修改岗位1.4查询岗位依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框,如图图图8修改岗位1.4查询岗位依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框,如图图9修改岗位9所示。2薪金信息管理模块设计2.1添加薪金信息在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满 足要 求,就可添
13、加成功,并给出相关提示,如图10所示。如果删除成功,则会给如果删除成功,则会给rEjrsj,忝加薪金信息凤丄妊名悸儒僚 -V册2010-3备注 |11 薪金 49QQ1确定取消i图10添加薪金信息2.2删除薪金信息在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,出“删除员工XXX 成功”的提示信息。执行效果如图11所示。图11删除员工薪金信息2.3修改员工薪金信息在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。效果如图12所示。员工编吕月伪月尉金备注员工雄名自动镉号利(TF4939于伟頑16图12
14、修改薪金信息2.4查询员工薪金信息在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。执行结果如图13所示。图13查询薪金信息十实验结论:由实验结果分析可知,岗位设置与薪金信息管理两个模块能正确地运行。可以实现基本的添加,删除,修改和查询等操作。在前台设计上,展现了C#语言的简单,高效,面向对象的特点,其可视化的设计方式,更让程序员能把注意力集中到设计实现上来。在后台的数据库方面,再次验证了Access能胜任本次实验的所有功能需求。十八一总结及心得体会:本次实验是我第一次使用C#程序设计语言和Microsoft
15、Office Access数据库系统进行 对实际 的项目的模拟实现。由于是初次运用,实验过程中遇到了不少困难,但每一次我都会 认真分析问题 所在,积极的搜集资料,和老师同学相互讨论,最终把问题一一的解决了。在这过程中,不仅把平常老师在上课中讲的理论知识结合到实际中来, 还学会了如何去解决问 题,更重要的是它增强了我对程序设计的兴趣。另一方面,在设计的过程中,我对Vistual Stdio 2005的实现原理有了更进一步的了解,通过C#语言的使用,我深深的体会到了其简单,高效的特性,它具有Vistual Basic的可视化设计方式,又结合了 C+的严谨,高效,面向对象的运行机制。而在Micros
16、oft Access方面,我认识到了 SQL命令的编程实现方式,学会了如何在C#程序中调用Access数据库。十二、对本实验过程及方法、手段的改进建议:本实验实现了员工管理信息系统的岗位和薪金管理这两个模块,并经过初步的测试,其实现了所要求的功能。但一个投入运行的员工管理系统不仅要求在功能上, 还要要求在细节, 用户使用习惯上都得符合用户的需求, 而且需要经过更加严谨的测试, 本次实验中的测试的 数据是人工输入的,数据量比较小,可以开发一个辅助插件来模拟用户的大量数据的输入, 以便更好 地分析其在数据量大的时候的运行效果。源代码:(因为代码较多,在此只给出核心实现代码)1 岗位设置模块代码:1
17、.1 添加岗位代码private void butt on 1_Click(object sen der, System.Eve ntArgs e)if(textBox1.Text.Trim()=|textBox2.Text.Trim()=”)MessageBox(0,请输入岗位名称和描述!,”提示,0);elseoleDbCo nn ecti on 1.0pe n();OleDbComma nd cmd = new OleDbComma nd(select * from job info whereJobName=+textBox1.Text.Trim()+,oleDbCo nn ectio
18、 n1);if(cmd.ExecuteScalar() != n ull)MessageBox(0,岗位名称重复,请重新输入!,提示,0);elsestri ng sql = insertin to job info (JobName,Remark) values(+textBox1.T ext.Trim()+,+textBox2.T ext.Trim()+);cmd.Comma ndText = sql;cmd.ExecuteN on Query(); MessageBox(0,添加岗位信息成功! ”,”提示,0);textBox1.Clear();textBox2.Clear();oleD
19、bCo nn ectio n1.Close();1.2 删除岗位1)删除岗位函数实现代码:private void butt on 3_Click(object sen der, System.Eve ntArgs e)if (dataGrid1dataGrid1.Curre ntCell!=null)stri ng sql=select JobName from job info where JoblD=+ds.Tablesjob.RowsdataGrid1.Curre ntCell.RowNumber0.ToStri ng().Trim()+ and JobID not in (selec
20、t disti net job info. JobID from pers oninfo inner join job info on pers onin fo.JobName=jobi nfo.JobName);OleDbComma nd cmd=new OleDbComma nd(sql,oleDbC onn ectio n1);OleDbDataReader dr;dr=cmd.ExecuteReader();if (!dr.Read()MessageBox.Show(”删 除 岗 位+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber1.T
21、oString().Trim()+ 失败, 请先删除与此岗位相关的员工 ,提示);dr.Close();elsedr.Close(); sql=delete * from job info where JobName not in (select dist inct JobName from pers oninfo) and JoblD=+ds.Tablesjob.RowsdataGrid1.Curre ntCell.RowNumber0.ToStri ng().Trim();cmd.Comma ndText=sql; cmd.ExecuteN on Query();MessageBox.Sh
22、ow(”删 除 岗 位+ds.Tablesjob.RowsdataGrid1.CurrentCell.RowNumber1.ToString().Trim()+ 成功 ,提示); 1.3 修改岗位1 )修改岗位信息函数代码实现:private void butt on 1_Click(object sen der, System.Eve ntArgs e)if (textBox1.Text.Trim()=”)| (textBox2.Text.Trim()=)MessageBox.Show(”提示,”请输入完整的岗位信息”);elsecn. Ope n();OleDbComma nd cmd=n
23、ew OleDbComma nd(select * from job info where JobName=+textBox1.Text.Trim()+ and JoblD+this.Tag.T oStri ng().Trim(),c n);if (nu ll!=cmd.ExecuteScalar()MessageBox.Show(”岗位名称发生重复,提示);elsestri ngsql=updatejob infosetJobName=+textBox1.Text.Trim()+,Remark=+textBox2.T ext.Trim()+whereJobID=+this.Tag.ToStr
24、i ng().Trim();cmd.Comma ndText=sql;cmd.ExecuteN on Query();MessageBox.Show(” 岗位信息修改成功,提示);cn .Close();1.4 查询岗位1)浏览岗位代码实现函数: private void BrowseSpecialtyl_Load(object sen der, System.Eve ntArgs e) oleDbCo nn ectio n1.Ope n();string sql=select JoblD as 编号 JobName as 岗位名称 Remark as 描述 from jobi nfo; Ol
25、eDbDataAdapter adp=new OleDbDataAdapter(sql,oleDbCo nn ectio n1);ds=new DataSet();ds.Clear(); adp.Fill(ds,job);dataGrid1.DataSource=ds.Tables0.DefaultView;当DataGridl中当前单元格发生变化时,将对应的岗位名称显示在DataGridl标题中private void dataGrid1_Curre ntCellCha nged(object sen der, System.Eve ntArgs e)oleDbCo nn ectio nl.
26、Ope n();string sql=select JobID as 编号 JobName as 岗位名称,Remark as 描述 from jobi nfo; OleDbDataAdapter adp=new OleDbDataAdapter(sql,oleDbCo nn ectio n1); ds=new DataSet();ds.Clear(); adp.Fill(ds,job);dataGrid1.DataSource=ds.Tables0.DefaultView; dataGridl.Captio nText=dataGrid1dataGrid1.Curre ntRowl ndex
27、,1.ToStri ng();2 薪金信息管理模块代码:2.1 添加薪金信息添加薪金信息函数代码实现:private void butt on 1_Click(object sen der, System.Eve ntArgs e) if (textBox2.Text.Trim()= | comboBox1.Text.Trim()= | textBox3.Text.Trim()=”| textBox4.Text.Trim()=)MessageBox(0,请填写完整的信息,”提示,0);elsestri ng strSQL = select * fromin come wherePID=+com
28、boBox1.SelectedValue.T oStri ng()+;OleDbComma nd cmd=new OleDbComma nd(strSQL,oleDbCo nn ectio n1);/if (n ull!=cmd.ExecuteScalar()/MessageBox(0,员工姓名重复,提示,0);/else/stri ng sql1,sql2,sql;sql1=i nsert into in come (Im on th,Remark,I ncome,PID; sql2=values(+textBox2.T ext.ToString()+,+textBox3.Text.ToSt
29、ring()+,+textBox4.T ext.ToString()+ ,+comboBox1.SelectedValue.ToStri ng();sql=sql1+) +sql2+);cmd.Comma ndText=sql;cmd.ExecuteN on Query();MessageBox(0,薪金信息添加成功,”提示,0);/ 2)添加薪金信息初始化函数代码:private void AddI ncome_Load(object sen der, System.Eve ntArgs e)oleDbCo nn ectio n1.Ope n();OleDbDataAdapter adp=n
30、ew OleDbDataAdapter(selectPID,P name frompers onin fo,oleDbC onnection 1);DataSet ds=new DataSet(); adp.Fill(ds,perso n); comboBox1.DisplayMember=P name; comboBox1.ValueMember=PID; comboBox1.DataSource=ds.Tables0.DefaultView;2.2 删除薪金信息1 )删除员工薪金实现函数代码private void butt on 4_Click(object sen der, Syste
31、m.Eve ntArgs e)if (dataGrid1.Curre ntRow In dex=0 & dataGrid1.DataSource!=null & dataGrid1dataGrid1.Curre ntCell!=null) stri ng sql=deletePID=+ds.Tablesi ncome.RowsdataGrid1.Curre ntCell.RowNumber0.ToStri ng().Trim( ) + ; stri ng sql=deletePID=+ds.Tablesi ncome.RowsdataGrid1.Curre ntCell.RowNumber0.
32、ToStri ng().Trim( ) + ;OleDbComma nd cmd=new OleDbComma nd(sql,oleDbC onn ectio n1); cmd.Comma ndText=sql;cmd.ExecuteN on Query();MessageBox.Show(”删 除 员+ds.Tablesi ncome.RowsdataGrid1.Curre ntCell.RowNumber4.ToStri ng().Trim()+ 功,提示);fromin comewhereelseMessageBox.Show(”没有指定的员工信息”,提示”);2.3 修改薪金信息1 )
33、修改薪金函数:private void butt on 1_Click(object sen der, System.Eve ntArgs e) stri ng sql;sql=select * from in come where PID=+comboBox1.SelectedValue.ToStri ng()+ andIID+this.Tag.T oString().Trim();OleDbComma nd cmd=new OleDbComma nd(sql,oleDbC onn ectio n1);if (n ull!=cmd.ExecuteScalar()MessageBox.Show
34、(” 月份重复,”提示);elsesql=updatein comesetImo nth=+textBox2.Text.ToStri ng()+,Remark=+textBox3.T ext.ToStri ng()+,I ncome=+t extBox4.Text.ToStri ng()+,PID=+comboBox1.SelectedValue.T oString()+;/if (textBox8.T ext.Trim()!=)/sql=sql+,Remark=+textBox8.Text.Trim()+;sql=sql+ where IID=+this.Tag.ToStri ng().Trim();cmd.Comma ndText=sql;cmd.ExecuteN on Query();MessageBox.Show(”员工薪金修改成功,”提示”);oleDbCo nn ectio n1.Close();private void bu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 20927-2026回收钛原料
- 2026文娱部面试题目及答案
- 2026西藏编制面试题目及答案
- 2026相亲节目面试题及答案
- 2026心电监护面试题及答案
- 剧毒化学品经营企业安全技术措施制度
- 电力企业主要负责人检修维修安全操作规程
- 合作项目管理监督合同三篇
- 事业单位财务年终总结
- 调酒师个人实习总结
- 2026浙江杭州市团校(杭州青年运动史馆)招聘编外工作人员1人考试参考题库及答案详解
- 国家电网试题江苏
- 希氏束起搏生理性起搏
- 花卉园艺工职业技能鉴定考试复习题库(附答案)
- 2026年医护人员医保知识培训手册
- 常州滨江国有控股集团有限公司招聘笔试题库2026
- 肢体被动活动技术
- 物联网在智能医疗设备远程监控中的应用研究可行性报告
- 珍珠明目培训课件
- 赠送装备免责协议书
- 人力资源共享服务-深度研究
评论
0/150
提交评论