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

上传人:b****6 文档编号:16764666 上传时间:2023-07-17 格式:DOCX 页数:43 大小:5.61MB
下载 相关 举报
#员工管理信息系统的设计与实现.docx_第1页
第1页 / 共43页
#员工管理信息系统的设计与实现.docx_第2页
第2页 / 共43页
#员工管理信息系统的设计与实现.docx_第3页
第3页 / 共43页
#员工管理信息系统的设计与实现.docx_第4页
第4页 / 共43页
#员工管理信息系统的设计与实现.docx_第5页
第5页 / 共43页
#员工管理信息系统的设计与实现.docx_第6页
第6页 / 共43页
#员工管理信息系统的设计与实现.docx_第7页
第7页 / 共43页
#员工管理信息系统的设计与实现.docx_第8页
第8页 / 共43页
#员工管理信息系统的设计与实现.docx_第9页
第9页 / 共43页
#员工管理信息系统的设计与实现.docx_第10页
第10页 / 共43页
#员工管理信息系统的设计与实现.docx_第11页
第11页 / 共43页
#员工管理信息系统的设计与实现.docx_第12页
第12页 / 共43页
#员工管理信息系统的设计与实现.docx_第13页
第13页 / 共43页
#员工管理信息系统的设计与实现.docx_第14页
第14页 / 共43页
#员工管理信息系统的设计与实现.docx_第15页
第15页 / 共43页
#员工管理信息系统的设计与实现.docx_第16页
第16页 / 共43页
#员工管理信息系统的设计与实现.docx_第17页
第17页 / 共43页
#员工管理信息系统的设计与实现.docx_第18页
第18页 / 共43页
#员工管理信息系统的设计与实现.docx_第19页
第19页 / 共43页
#员工管理信息系统的设计与实现.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《#员工管理信息系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《#员工管理信息系统的设计与实现.docx(43页珍藏版)》请在冰点文库上搜索。

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

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

 

计算机科学和工程学院

课程设计报告

题目全称:

员工管理信息系统的设计和实现—岗位和薪金信息管理

学生学号:

2606005011

姓名:

李伟德

指导老师:

刘勇国

职称:

副教授

指导老师评语:

课程设计成绩:

设计过程表现

设计报告质量

签字:

总分

一、实验室名称:

计算机学院软件实验室

二、实验项目名称:

员工管理信息系统的设计和实现—岗位和薪金信息管理

一、实验学时:

32

二、实验原理:

员工管理信息系统是由员工管理,部门管理,岗位管理以及薪金管理四部分组成。

系统前台采用VisualStdio2005工具开发而成,开发语言是C#程序设计语言,主要是因为C#是微软为.NET平台量身定做的编程语言,它是一种现代面向对象程序设计语言,使程序员能够快速地在.NET平台上开发种类丰富的使用程序,它继承了C++和Java的语法,去掉了C++中的许多复杂和容易引起问题的东西,是由C和C++发展而来的一种“简单、高效、面向对象、类型安全”的程序设计语言,其综合了VisualBasic的高效率和C++的强大功能。

系统后台的数据库采用MiscrosoftAccess2003数据库,主要依据是考虑到系统的数据规模并不大,如果用SQLServer2005等数据库会造成浪费,而且维护起来比较难。

而Access数据库是一个轻量级的数据库,其具有简单,方便的特性,已经满足我们的需求。

五、实验目的:

1.使学生掌握数据库的实现原理,了解SQL的查询命令,并能在实践中使用。

2.使学生学会使用C#语言进行程序设计,了解VistualStdio2005的开发工具的原理,并设计出实际可行的项目。

3.加强学生的动手能力,把课堂上学到得东西,融入到实际的项目,达到学以致用的目的。

4.锻炼学生的思维能力,使学生能够领略计算机编程的实现方法,达到举一反三的效果。

六、实验内容:

在员工信息管理系统中完成“岗位”和“薪金”信息管理功能。

岗位信息管理功能包括:

1.添加岗位:

可以添加岗位名称,岗位描述等信息。

2.删除岗位:

可以删除岗位名称,岗位描述等信息。

3.修改岗位:

可以修改指定岗位的岗位名称,岗位描述等信息。

4.查询岗位:

可以查询指定岗位的岗位名称,岗位描述等信息。

薪金信息管理功能包括:

1.添加员工薪金信息:

可以添加员工姓名,月份,备注,薪金等信息。

2.删除员工薪金信息:

可以删除指定员工的姓名,月份,备注,薪金等信息。

3.修改员工薪金信息:

可以修改指定员工的姓名,月份,备注,薪金等信息。

4.查询员工薪金信息:

可以查询指定员工的薪金等信息。

七、实验器材(设备、元器件):

1.一台WindowsXP平台或以上的PC机;

2.VistualStdio2005开发软件及MicrosoftACCESS2003数据库软件;

八、实验步骤:

1、设计系统结构组成

系统提供了一套员工综合信息管理平台,使得系统管理人员对公司的岗位进行分类,进而确定各个岗位所对应的部门信息,在已有部门信息的基础上能够对所有员工信息进行分类管理。

主要功能有:

岗位设置、员工个人信息管理、员工所属部门信息管理、员工薪金信息管理。

系统模块设计划分如下:

员工薪金信息模块:

可以删除、添加、修改和查询员工薪金信息;

岗位设置模块:

可以删除、添加、修改和查询岗位;

它们之间既是相互联系同时又是彼此独立的,整个框架结构如图1所示。

 

员工信息管理系统

员工薪金管理

岗位管理

图1系统整体框架

本课程设计实现岗位和薪金管理模块功能:

(1)岗位设置模块

岗位设置模块功能包括:

添加岗位、删除岗位、修改岗位、查询岗位。

基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图2所示。

添加岗位

删除岗位

修改岗位

用户

查询岗位

图2岗位设置模块用例图

(2)薪金管理模块

薪金管理模块功能包括:

添加员工薪金信息、删除员工薪金信息、修改员工薪金信息、查询员工薪金信息。

基于上面的需求分析,我们可以列出用户操作的模块,其中的每一个模块对于一个功能,如图3所示。

 

添加薪金

信息

删除薪金

信息

修改薪金

信息

用户

查询薪金

信息

图3薪金信息管理模块用例图

2、数据库的设计和实现

数据库是员工信息管理系统的后台,存储着所有的信息,在员工信息管理系统中有着很重要的地位。

数据库设计的好和坏,直接影响到这个系统的运行效率。

良好的数据库设计,可以提高数据信息的存储效率,确保数据信息的完整性和一致性。

在仔细调研员工信息管理过程的基础上,通过对管理内容的分析,设计的数据项和数据结构如下:

岗位信息表:

包含岗位编号、岗位名称、描述等信息;

员工薪金表:

薪金编号、月份、员工编号、薪金、备注等信息;

有了上面的数据项和数据结构,就可以进行数据库的设计了。

设计过程主要分为两个阶段,即数据库概念结构设计和逻辑结构设计。

基于对数据库需求的分析,在这一阶段可以设计出能够满足用户需求的各种实例以及它们之间的关系,为下一阶段的逻辑设计打下基础。

岗位信息实体

图4岗位信息实体E-R图

图5员薪工金薪信金息信实息体实体E-R图

岗位编号岗位名称岗位描述

有了上面的实例以及实例之间的关系,再针对员工信息管理系统的需求,通过对系统的整体分析,为本系统设计如下的数据项和数据结构:

表1相关信息表设计

薪金编号库名(EmployeeMIS)

月份

员工编号

薪金

备注

员工薪金信息表(income)

字段

IID

Imonth

类型

自动编号

数字

说明

薪金编号

月份

大小

2

是否为空

NOTNULL

NOTNULL

 

PID

Income

Remark

文本

文本

文本

员工编号

薪金

备注

20

500

NOTNULL

NOTNULL

岗位信息表(Jobinfo)

字段

JobID

Jobname

Remarks

类型

自动编号

文本

文本

说明

岗位编号

岗位名称

备注描述

大小

20

500

是否为空

NOTNULL

NOTNULL

NOTNULL

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删除薪金信息

在浏览员工的对话框窗口,先选择要删除的行,然后点击删除,如果删除成功,则会给出“删除员工‘XXX’成功”的提示信息。

执行效果如图11所示。

图11删除员工薪金信息

2.3修改员工薪金信息

在浏览员工薪金的对话框中,选择要修改的员工信息,然后点击“修改”按钮,即可弹出新的对话框,在这对话框可以更改月份,薪金,和备注这三项信息。

效果如图12所示。

 

图12修改薪金信息

2.4查询员工薪金信息

在员工薪金信息浏览的对话框中,先在选择员工的下拉框中选择要查看的员工,之后点击“开始查询”,系统将会把所选员工的所有薪金信息显示出来。

执行结果如图13所示。

图13查询薪金信息

十、实验结论:

由实验结果分析可知,岗位设置和薪金信息管理两个模块能正确地运行。

可以实现基本的添加,删除,修改和查询等操作。

在前台设计上,展现了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.Open();

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.2删除岗位

1)删除岗位函数实现代码:

privatevoidbutton3_Click(objectsender,System.EventArgse)

{

if(dataGrid1[dataGrid1.CurrentCell]!

=null)

{

stringsql="selectJobNamefromjobinfowhere

JobID="+ds.Tables["job"].Rows[dataGrid1.CurrentCell.RowNumber][0].ToString().Trim()+"andJobIDnotin(selectdistinctjobinfo.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(selectdistinctJobName

frompersoninfo)and

JobID="+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()+"'成功","提示");

}

}

}

1.3修改岗位

1)修改岗位信息函数代码实现:

privatevoidbutton1_Click(objectsender,System.EventArgse)

{

if((textBox1.Text.Trim()=="")||(textBox2.Text.Trim()==""))

MessageBox.Show("提示","请输入完整的岗位信息");

else

{

cn.Open();

OleDbCommandcmd=newOleDbCommand("select*fromjobinfowhereJobName='"+textBox1.Text.Trim()+"'andJobID<>"+this.Tag.TString().Trim(),cn);

if(null!

=cmd.ExecuteScalar())

MessageBox.Show("岗位名称发生重复","提示");

else

{

stringsql="updatejobinfo

JobName='"+textBox1.Text.Trim()+"',Remark='"+textBox2.Text.Trim()+"'

JobID="+this.Tag.ToString().Trim();

cmd.CommandText=sql;

cmd.ExecuteNonQuery();

MessageBox.Show("岗位信息修改成功","提示");

}

cn.Close();

}

}

1.4查询岗位

1)浏览岗位代码实现函数:

privatevoidBrowseSpecialtyl_Load(objectsender,System.EventArgse){

set

where

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;

}

//当DataGrid1中当前单元格发生变化时,将对应的岗位名称显示在DataGrid1标题中privatevoiddataGrid1_CurrentCellChanged(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;

dataGrid1.CaptionText=dataGrid1[dataGrid1.CurrentRowIndex,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*fromincomewhere

PID="+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()+"','"+textBox4.Txt.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删除薪金信息

1)删除员工薪金实现函数代码:

privatevoidbutton4_Click(objectsender,System.EventArgse)

{

if(dataGrid1.CurrentRowIndex>=0&&dataGrid1.DataSource!

=null&&dataGrid1[dataGrid1.Curre

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2