人事管理系统实验报告1Word文档下载推荐.docx
- 文档编号:20916257
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:27
- 大小:481.19KB
人事管理系统实验报告1Word文档下载推荐.docx
《人事管理系统实验报告1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《人事管理系统实验报告1Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
2
06.28~2012.06.30
需求分析、总体设计
3
06.30~2012.07.02
系统整体设计、编写程序代码、调试程序
4
2012.07.02~2012。
07。
04
撰写课程设计报告
指导教师(签章):
年月日
摘要:
随着科学技术的迅猛发展和社会各方面的需要,人事管理工作已经处在越来越突出的位置了,所以建立一个完善的健全的人事管理系统是非常必要的。
人事管理就是通常所说的人事工作,在现代管理学中被称作人力资源管理。
在现代管理中,运用现代化的科学方法,对管理系统中的人事进行合理的组织、调配、培训,协调人的因素与物的因素的关系,使两者经常保持最佳比例,从而保证人主观能动性得到最大的发挥,也就是人尽其才、事得其人、人事相宜的管理状态.人事管理的任务是要协调人与人的关系、组织成员与组织目标的关系,创造有益于组织也有益于组织成员个人的环境,使管理系统的目标与组织成员个人的目标结合起来,充分调动起全体组织成员的积极性。
在一些发达国家已经形成相当的规模和体系,在我国也得到社会的普遍认可,许多大型企业和中小型企业已采用这种方式来进行管理.它的出现,对现有的企业管理是一次强有力的冲击,而且对人们旧有的管理观念产生了深刻的影响.基于上述的影响,根据企业的实际需要我们对该系统进行全面的设计!
关键词:
录入记录;
删除记录;
清空记录;
查询记录;
修改记录;
数据库
1需求分析
1系统目标
我的预期目标是本案例将实现如下的功能:
登录功能、注册功能、密码修改功能、录入记录功能、修改记录功能、删除记录功能、查询记录功能、以及清空记录功能等等。
1.2系统功能需求
本系统的用户需注册后才能进行登录,登录后用户可以对员工信息、员工工工资的查看、添加、修改、清空与删除等操作.
2。
1功能划分
本系统共分为注册模块、登录模块、员工工资处理、员工信息处理、关于系统模块、主界面模块.
2功能描述
●注册模块
如果用户是第一次登录系统,必须通过注册,且必须有正确的员工编号才可以注册。
注册成功后就能正常使用系统的各模块功能.
●密码修改模块
如果用户想要修改密码,根据自己的唯一编号和旧密码即可修改自己原有密码,可以有效地防止自己密码被盗等不安全因素。
●登录模块
登录模块是进入系统的必要条件,只有具有已经注册的账号才可以登录系
统,进行相关的操作。
如果想要修改密码,可以点击密码修改来修改密码。
前提是要输入正确的员工编号.
●员工信息处理
通过本模块可以查看员工信息,包括员工编号,姓名,性别,归属部门,员工年龄,员工工资,身份证号,员工级别,联系电话.用户可以对表进行修改,删除,增加,查询,清空等操作,方便用户对此表的操作.
●小工具模块
本模块主要是提供一些方便用户使用的小工具,包括:
记事本、Word、Excel、PowerPoint、OutLook、计算器。
2数据库的概念设计
1系统概念模块
员工信息
管理
员工
用户名
员工编号
员工姓名
员工性别
归属部门
员工年龄
员工工资
员工级别
联系电话
身份证号
M
N
密码
图2。
1整体E—R图
上图是员工信息管理系统概念模型E/R图,该系统涉及的实体集有:
用户实体集:
具有属性密码和用户名.
员工信息实体集:
具有属性员工编号、员工姓名、性别、年龄、所在部门、员工级别、工资、身份证号和联系电话。
一个员工可管理多个用户,一个员工信息可以被多个用户查看。
所以员工和员工信息的关系是M:
N。
3将概念模型转换为关系模型
3.1将E—R模型转换为关系模型
(1)用户实体集可以转换为关系:
User(Username,Password)
Username表示用户名,Password表示用户密码。
(2)员工信息实体集可以转换为关系:
WorkerMessage(WNO,WNAME,SEX,WDEPT,AGE,WMONEY,WLEVEL,WPHONE,WIDCARD)
WNO表示员工编号,WNAME表示员工姓名,SEX表示员工性别,WDEPT表示员工归属部门,AGE表示员工年龄,WMONEY表示员工工资,WLEVEL表示员工级别,WPHONE表示员工联系电话,WIDCARD表示员工身份证号。
3。
2数据库结构设计
把关系模型转换为表结构:
职工信息数据表:
包含所有的职工信息,定义如下:
表3-1员工信息表
字段
类型
是否允许空
主键
默认
说明
WNO
nvarchar(10)
no
是
null
员工编号,10个字符且只能是数字0至9
WNAME
nvarchar(30)
SEX
nvarchar
(2)
WDEPT
nvarchar(20)
员工所在部门
AGE
int
WMONEY
nvarchar(5)
员工的工资
WLEVEL
WPHONE
nvarchar(12)
员工的联系电话
WIDCARD
nvarchar(18)
员工的身份证号码
表3-2员工注册表
wpw
注册密码
3.3实现数据完整性
通过各种约束,缺省,规则和触发器实现数据的完整性。
由于人事管理系统的重要性,和各个数据之间的复杂相关性,保证数据的完整性显得更为重要。
不能让用户随意的删除,修改数据。
(1)各种外键约束保证数据的完整性,不能随意删除。
外键的设置在上面数据库建表时已经提到。
(2)主键约束保证实体的完整性,主键的设置在上面数据库建表时也已经设置。
(3)登录时如果没有输入用户名或密码都会提示输入有误,请重新输入。
(4)录入时如果信息不合要求,则提示输入有误。
(5)删除员工信息时,如果输入员工编号错误或输入的员工编号数据库中没有记录,则提示输入有误.
(6)查询时如果输入员工编号错误或输入的员工编号数据库中没有记录,则提示输入有误。
(7)修改员工信息时如果信息不合要求,则提示输入有误.
3.4应用程序设计
3.4.1硬件连接图
MFC对ODBC的封装(如图3。
1所示):
图3.1硬件连接
4.2人事管理系统的处理流程图
Y
开始
用户登录
合法?
用户选择服务
选择退出?
执行服务操作
退出
图3。
2人事管理系统处理流程图
4.3总体结构和外部模块设计
口令验证模块
主模块
员工信息录入
全体记录查询
修改员工记录
清空员工记录
删除员工记录
图3。
3总体结构
4部分功能实现的代码
注册模块代码:
voidCRegisterDlg:
:
OnRegister()
{
UpdateData(true);
CRegisterm_set;
intflag=0,flag1=0,flag2=0;
CWMessagedat;
//审核员工号是否合法
dat。
Open();
MoveFirst();
do
{
if(dat.m_WNO==m_wno)
{
flag=1;
break;
}
dat。
MoveNext();
}while(!
dat。
IsEOF());
if(flag==0)
{
MessageBox("
错误,员工编号无效!
"
,"
用户注册”);
return;
}
Close();
m_set.Open();
m_set。
do
if(m_set。
m_WNO==m_wno)
flag1=2;
if(m_set。
m_WNAME==m_username)
flag2=1;
m_set。
MoveNext();
}while(!
m_set。
if(flag1==2)
MessageBox(”该员工号已经注册!
”,"
用户注册"
);
return;
elseif(flag2==1)
MessageBox(”该用户名已存在!
用户注册”);
}
m_set.AddNew();
m_set.m_WNAME=m_username;
m_set.m_wpw=m_password;
m_WNO=m_wno;
Update();
m_set.Close();
MessageBox("
注册成功"
”员工注册”);
OnCancel();
}
修改密码代码:
voidCPwxgDlg:
:
OnXiugaipw()
intflag=0;
intnew1=0,new2=0;
ints_errorflg=0,u_errorflg=0;
if(m_wno=="
”)
u_errorflg=1;
if(m_oldpw==”"
)
s_errorflg=1;
if(m_new==”"
new1=1;
if(m_pwtwice=="
new2=1;
if(u_errorflg==1&&s_errorflg==0)
MessageBox(”请输入用户名!
”,"
用户密码修改"
);
elseif(u_errorflg==0&
&s_errorflg==1)
MessageBox(”请输入原来的密码!
"
elseif(u_errorflg==1&
MessageBox(”请输入用户名和原来的密码!
”用户密码修改”);
if(new1==1&
&new2==0)
请输入新密码!
”,”用户密码修改”);
elseif(new1==0&
&
new2==1)
MessageBox(”请输入再次输入新密码!
用户密码修改”);
elseif(new1==1&&new2==1)
请输入你要的新密码!
用户密码修改”);
if(m_new!
=m_pwtwice)
您两次输入的密码不一致,请重新输入!
,”用户密码修改"
Open();
m_WNO==m_wno&&m_set。
m_wpw==m_oldpw)
{
break;
}while(!
if(flag=0){MessageBox(”没有该用户,请确定后再输入!
,”用户密码修改”);
return;
else
m_set.Edit();
m_set.m_wpw=m_new;
m_set。
Requery();
OnOK();
MessageBox("
密码修改成功!
”密码修改"
}
登录代码:
voidCMyDlg:
OnLoad()
UpdateData(true);
intflag=0;
intu_errorflag=0,p_errorflag=0;
intm=0;
if(m_username=="
u_errorflag=1;
if(m_password=="
p_errorflag=1;
if(u_errorflag==1&&p_errorflag==0)
请输入用户名!
”人事管理系统”,MB_OK|MB_ICONERROR);
elseif(u_errorflag==0&
p_errorflag==1)
请输入密码!
”,”人事管理系统"
MB_OK|MB_ICONERROR);
elseif(u_errorflag==1&&p_errorflag==1)
MessageBox(”请输入用户名和密码!
人事管理系统"
MB_OK|MB_ICONERROR);
MoveFirst();
flag=1;
if(m_set.m_wpw==m_password)
{
flag=2;
break;
}
m_set.MoveNext();
}while(!
m_set.IsEOF());
switch(flag)
case0:
if(MessageBox(”不存在该用户,请先注册新账户!
,MB_YESNO|MB_ICONQUESTION)==IDYES)
CRegisterDlg*dlg=newCRegisterDlg;
dlg—〉Create(IDD_RegisterDlg);
dlg->
ShowWindow(SW_SHOW);
}
return;
case1:
MessageBox(”密码错误!
”,”人事管理系统”,MB_OK|MB_ICONERROR);
return;
case2:
break;
OnCancel();
CWMessageDlgdlg;
dlg。
DoModal();
GetDlgItem(IDC_username)-〉SetFocus();
}
录入员工信息代码:
voidCINMessageDlg:
OnInm()
dat.Open();
if(dat。
m_WNO==m_WNO)
该员工号已存在”,"
员工信息管理"
dat。
Close();
}while(!
dat.AddNew();
dat.m_WNO=m_WNO;
dat.m_WNAME=m_WNAME;
m_SEX=m_SEX;
m_WDEPT=m_WDEPT;
m_AGE=m_AGE;
dat.m_WMONEY=m_WMONEY;
dat.m_WLEVEL=m_WLEVEL;
dat.m_WPHONE=m_WPHONE;
dat.m_WIDCARD=m_WIDCARD;
dat.Update();
dat.Close();
添加成功!
,”员工信息管理”);
全体员工信息查询:
voidCAllMessageDlg:
OnShowWindow(BOOLbShow,UINTnStatus)//列表控件
CDialog:
OnShowWindow(bShow,nStatus);
m_list。
InsertColumn(0,_T(”员工号”));
//初始化列表控件
InsertColumn(1,_T(”姓名"
));
InsertColumn(2,_T(”性别"
InsertColumn(3,_T(”归属部门"
));
InsertColumn(4,_T(”年龄”));
InsertColumn(5,_T("
工资"
m_list.InsertColumn(6,_T(”级别"
InsertColumn(7,_T(”联系电话"
m_list.InsertColumn(8,_T("
身份证号"
SetColumnWidth(0,100);
m_list.SetColumnWidth(1,100);
SetColumnWidth(2,40);
m_list.SetColumnWidth(3,100);
SetColumnWidth(4,40);
m_list.SetColumnWidth(5,50);
SetColumnWidth(6,100);
SetColumnWidth(7,120);
m_list.SetColumnWidth(8,180);
inti=0;
CStrings;
m_list。
InsertItem(i,dat。
m_WNO,0);
m_list.SetItemText(i,1,dat。
m_WNAME);
SetItemText(i,2,dat.m_SEX);
m_list.SetItemText(i,3,dat。
m_WDEPT);
s.Format(”%d"
,dat.m_AGE);
m_list.SetItemText(i,4,s);
SetItemText(i,5,dat。
m_WMONEY);
SetItemText(i,6,dat。
m_WLEVEL);
SetItemText(i,7,dat.m_WPHONE);
SetItemText(i,8,dat.m_WIDCARD);
i++;
dat.IsEOF());
个人信息查询代码:
voidCWMessageDlg:
OnPersonal()
{
CWMessagedat;
if(dat。
m_WNO=dat。
m_WNO;
m_WNAME=dat。
m_WNAME;
m_SEX=dat。
m_SEX;
m_WDEPT=dat.m_WDEPT;
m_AGE=dat.m_AGE;
m_WMONEY=dat。
m_WMONEY;
m_WLEVEL=dat。
m_WLEVEL;
m_WPHONE=dat.m_WPHONE;
m_WIDCARD=dat.m_WIDCARD;
UpdateData(false);
return;
dat.IsEOF());
无此员工!
修改信息代码:
OnChangem()
dat.MoveFirst();
Edit();
m_WNO=m_WNO;
dat.m_WNAME=m_WNAME;
dat.m_WDEPT=m_WDEPT;
m_AGE=m_AGE;
dat.m_WMONEY=m_WMONEY;
m_WLEVEL=m_WLEVEL;
dat.m_WPHONE=m_WPHONE;
m_WIDCARD=m_WIDCARD;
dat.Update();
修改成功!
”员工信息管理”);
}
dat.MoveNext();
dat.Close();
无此员工!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)