员工管理信息系统的设计与实现Word文档格式.docx
- 文档编号:22975283
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:24
- 大小:1.15MB
员工管理信息系统的设计与实现Word文档格式.docx
《员工管理信息系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《员工管理信息系统的设计与实现Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
3.加强学生的动手能力,把课堂上学到得东西,融入到实际的项目,达到学以致用的目的。
4.锻炼学生的思维能力,使学生能够领略计算机编程的实现方法,达到举一反三的效果。
六、实验内容:
在员工信息管理系统中完成“岗位”和“薪金”信息管理功能。
岗位信息管理功能包括:
1.添加岗位:
可以添加岗位名称,岗位描述等信息。
2.删除岗位:
可以删除岗位名称,岗位描述等信息。
3.修改岗位:
可以修改指定岗位的岗位名称,岗位描述等信息。
4.查询岗位:
可以查询指定岗位的岗位名称,岗位描述等信息。
薪金信息管理功能包括:
1.添加员工薪金信息:
可以添加员工姓名,月份,备注,薪金等信息。
2.删除员工薪金信息:
可以删除指定员工的姓名,月份,备注,薪金等信息。
3.修改员工薪金信息:
可以修改指定员工的姓名,月份,备注,薪金等信息。
4.查询员工薪金信息:
可以查询指定员工的薪金等信息。
七、实验器材(设备、元器件)
1.一台WindowsXP平台或以上的PC机;
2.VistualStdio2005开发软件及MicrosoftACCESS003数据库软件;
八、实验步骤:
1、设计系统结构组成
系统提供了一套员工综合信息管理平台,使得系统管理人员对公司的岗位进行分类,进
而确定各个岗位所对应的部门信息,在已有部门信息的基础上能够对所有员工信息进行分类管理。
主要功能有:
岗位设置、员工个人信息管理、员工所属部门信息管理、员工薪金信息管理。
系统模块设计划分如下:
员工薪金信息模块:
可以删除、添加、修改和查询员工薪金信息;
岗位设置模块:
可以删除、添加、修改和查询岗位;
它们之间既是相互联系同时又是彼此独立的,整个框架结构如图1所示。
图1系统整体框架
本课程设计实现岗位和薪金管理模块功能:
(1)岗位设置模块
岗位设置模块功能包括:
添加岗位、删除岗位、修改岗位、查询岗位。
基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图2所示。
图2岗位设置模块用例图
(2)薪金管理模块薪金管理模块功能包括:
添加员工薪金信息、删除员工薪金信息、修改员工薪金信息、
查询员工薪金信息。
基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图3所示。
图3薪金信息管理模块用例图
2、数据库的设计与实现
数据库是员工信息管理系统的后台,存储着所有的信息,在员工信息管理系统中有着
很重要的地位。
数据库设计的好与坏,直接影响到这个系统的运行效率。
良好的数据库设计,
可以提高数据信息的存储效率,确保数据信息的完整性和一致性。
在仔细调研员工信息管理过程的基础上,通过对管理内容的分析,设计的数据项和数据
结构如下:
岗位信息表:
包含岗位编号、岗位名称、描述等信息;
员工薪金表:
薪金编号、月份、员工编号、薪金、备注等信息;
有了上面的数据项和数据结构,就可以进行数据库的设计了。
设计过程主要分为两个阶
段,即数据库概念结构设计和逻辑结构设计。
基于对数据库需求的分析,在这一阶段可以设计出能够满足用户需求的各种实例以及它们之间的关系,为下一阶段的逻辑设计打下基础。
有了上面的实例以及实例之间的关系,再针对员工信息管理系统的需求,通过对系统的整体分析,为本系统设计如下的数据项和数据结构:
表1相关信息表设计
库名(EmployeeMIS)
员工薪金信息表(income)
字段
类型
说明
大小
是否为空
IID
自动编号
薪金编号
NOTNULL
Imonth
数字
月份
2
PID
文本
员工编号
Income
薪金
20
Remark
备注
500
岗位信息表(Jobinfo)
JobID
岗位编号
Jobname
岗位名称
Remarks
备注描述
3.设计系统各模块
3.1岗位设置模块设计
添加岗位
在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示。
删除岗位
在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后,将弹出删除成功的提示。
修改岗位
在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提
示信息。
查询岗位
依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框。
3.2薪金信息管理模块设计
添加薪金信息
在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,
依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,并给出相关提示。
删除薪金信息
在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,如果删除成功,则会给
出“删除员工’XXX'
成功”的提示信息。
修改薪金信息
在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。
查询薪金信息
在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点
击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。
九、实验数据及结果分析:
1.岗位设置模块设计运行结果
1.1添加岗位
在主窗口中点击“添加岗位”按钮,即可弹出如下对话框,依次填写岗位名称,岗位描述后,点击“确定”按钮,将弹出添加成功的提示,如图6所示。
图6岗位添加
1.2删除岗位
在浏览岗位的对话框中,首先选择要删除的行,然后点击“删除”按钮,删除成功后,
将弹出删除成功的提示。
如图7所示。
图7删除岗位
1.3修改岗位
在浏览岗位对话框中,选择要修改的行,然后点击修改按钮,即可弹出新的对话框,
在此对话框可以进行岗位编号,岗位名称,岗位描述的修改,修改成功后,将得到相应的提
如图8所示,实习生岗位名称改成“普通员工”岗位的修改过程。
图8修改岗位
1.4查询岗位
依次在主窗口中点击岗位浏览,即可弹出岗位浏览对话框,如图9所示。
图9修改岗位
2.薪金信息管理模块设计
2.1添加薪金信息
在主窗口中选择员工薪金管理,再点击“添加薪金”,就会弹出添加薪金信息对话框,
依次填写员工姓名,月份,备注,薪金等信息,按确定后,系统先检查信息完整性,如果满足要求,就可添加成功,并给出相关提示,如图10所示。
图10添加薪金信息
2.2删除薪金信息
在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,如果删除成功,则会给
执行效果如图11所示。
图11删除员工薪金信息
2.3修改员工薪金信息
在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹
出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。
效果如图12所示。
十、实验结论:
由实验结果分析可知,岗位设置与薪金信息管理两个模块能正确地运行。
可以实现基
本的添加,删除,修改和查询等操作。
在前台设计上,展现了C#语言的简单,高效,面
向对象的特点,其可视化的设计方式,更让程序员能把注意力集中到设计实现上来。
在后
台的数据库方面,再次验证了Access能胜任本次实验的所有功能需求。
十^一、总结及心得体会:
本次实验是我第一次使用C#程序设计语言和MicrosoftOfficeAccess数据库系统进行对实际的项目的模拟实现。
由于是初次运用,实验过程中遇到了不少困难,但每一次我都会认真分析问题所在,积极的搜集资料,和老师同学相互讨论,最终把问题一一的解决了。
在
这过程中,不仅把平常老师在上课中讲的理论知识结合到实际中来,还学会了如何去解决问
题,更重要的是它增强了我对程序设计的兴趣。
另一方面,在设计的过程中,我对VistualStdio2005的实现原理有了更进一步的了解,
通过C#语言的使用,我深深的体会到了其简单,高效的特性,它具有VistualBasic的可视
化设计方式,又结合了C++的严谨,高效,面向对象的运行机制。
而在MicrosoftAccess
方面,我认识到了SQL命令的编程实现方式,学会了如何在C#程序中调用Access数据库。
十二、对本实验过程及方法、手段的改进建议:
本实验实现了员工管理信息系统的岗位和薪金管理这两个模块,并经过初步的测试,其
实现了所要求的功能。
但一个投入运行的员工管理系统不仅要求在功能上,还要要求在细节,
用户使用习惯上都得符合用户的需求,而且需要经过更加严谨的测试,本次实验中的测试的
数据是人工输入的,数据量比较小,可以开发一个辅助插件来模拟用户的大量数据的输入,以便更好地分析其在数据量大的时候的运行效果。
源代码:
(因为代码较多,在此只给出核心实现代码)
1岗位设置模块代码:
1.1添加岗位代码
privatevoidbutton1_Click(objectsender,System.EventArgse)
{
if(textBox1.Text.Trim()=="
"
||textBox2.Text.Trim()=="
”)
MessageBox(0,"
请输入岗位名称和描述!
,”提示"
0);
else
oleDbConnection1.0pen();
OleDbCommandcmd=newOleDbCommand("
select*fromjobinfowhere
JobName='
+textBox1.Text.Trim()+"
'
oleDbConnection1);
if(cmd.ExecuteScalar()!
=null)
岗位名称重复,请重新输入!
"
"
提示"
stringsql="
insertintojobinfo(JobName,Remark)values
('
+textBox1.Text.Trim()+"
'
+textBox2.Text.Trim()+"
)"
;
cmd.CommandText=sql;
cmd.ExecuteNonQuery();
MessageBox(0,"
添加岗位信息成功!
textBox1.Clear();
textBox2.Clear();
}
oleDbConnection1.Close();
1)删除岗位函数实现代码:
privatevoidbutton3_Click(objectsender,System.EventArgse)
if(dataGrid1[dataGrid1.CurrentCell]!
=null)
stringsql="
selectJobNamefromjobinfowhere
JoblD="
+ds.Tables["
job"
].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"
andJobIDnotin(selectdistinetjobinfo.JobIDfrompersoninfoinnerjoinjobinfoon
personinfo.JobName=jobinfo.JobName)"
OleDbCommandcmd=newOleDbCommand(sql,oleDbConnection1);
OleDbDataReaderdr;
dr=cmd.ExecuteReader();
if(!
dr.Read())
MessageBox.Show(”删除岗位
].Rows[dataGrid1.CurrentCell.RowNumber][1].ToString().Trim()+"
失败,
请先删除与此岗位相关的员工"
);
dr.Close();
sql="
delete*fromjobinfowhereJobNamenotin(selectdistinctJobName
frompersoninfo)and
].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim();
cmd.CommandText=sql;
成功
1)修改岗位信息函数代码实现:
if((textBox1.Text.Trim()=="
”)||(textBox2.Text.Trim()=="
))
MessageBox.Show(”提示"
请输入完整的岗位信息”);
cn.Open();
OleDbCommandcmd=newOleDbCommand("
JobName="
andJoblD<
>
+this.Tag.ToString().Trim(),cn);
if(null!
=cmd.ExecuteScalar())
MessageBox.Show(”岗位名称发生重复"
updatejobinfoset
Remark="
where
JobID="
+this.Tag.ToString().Trim();
MessageBox.Show(”岗位信息修改成功"
cn.Close();
1)浏览岗位代码实现函数:
privatevoidBrowseSpecialtyl_Load(objectsender,System.EventArgse)
oleDbConnection1.Open();
stringsql="
selectJobIDas编号,JobNameas岗位名称‘Remarkas描述fromjobinfo"
OleDbDataAdapteradp=newOleDbDataAdapter(sql,oleDbConnection1);
ds=newDataSet();
ds.Clear();
adp.Fill(ds,"
dataGrid1.DataSource=ds.Tables[0].DefaultView;
//当DataGridl中当前单元格发生变化时,将对应的岗位名称显示在DataGridl标题中
privatevoiddataGrid1_CurrentCellChanged(objectsender,System.EventArgse)
oleDbConnectionl.Open();
selectJobIDas编号,JobNameas岗位名称,Remarkas描述fromjobinfo"
dataGridl.CaptionText=dataGrid1[dataGrid1.CurrentRowlndex,1].ToString();
2薪金信息管理模块代码:
添加薪金信息函数代码实现:
if(textBox2.Text.Trim()=="
||comboBox1.Text.Trim()=="
||textBox3.Text.Trim()=="
”
||textBox4.Text.Trim()=="
)
请填写完整的信息"
stringstrSQL="
select*fromincomewhere
PID="
+comboBox1.SelectedValue.ToString()+"
OleDbCommandcmd=newOleDbCommand(strSQL,oleDbConnection1);
//if(null!
//MessageBox(0,"
员工姓名重复"
//else
//{
stringsql1,sql2,sql;
sql1="
insertintoincome(Imonth,Remark,Income,PID"
sql2="
values
+textBox2.Text.ToString()+"
+textBox3.Text.ToString()+"
+textBox4.Text.ToString()+"
+comboBox1.SelectedValue.ToString();
sql=sql1+"
)"
+sql2+"
薪金信息添加成功"
//}
2)添加薪金信息初始化函数代码:
privatevoidAddIncome_Load(objectsender,System.EventArgse)
OleDbDataAdapteradp=newOleDbDataAdapter("
selectPID,Pnamefrom
personinfo"
oleDbConnection1);
DataSetds=newDataSet();
person"
comboBox1.DisplayMember="
Pname"
comboBox1.ValueMember="
PID"
comboBox1.DataSource=ds.Tables[0].DefaultView;
1)删除员工薪金实现函数代码:
privatevoidbutton4_Click(objectsender,System.EventArgse)
if(dataGrid1.CurrentRowIndex>
=0&
&
dataGrid1.DataSource!
=null&
dataGrid1[dataGrid1.CurrentCell]!
delete*fromincomewhere
PID='
income"
].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim(
)+"
MessageBox.Show(”删除员工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 管理信息系统 设计 实现