资源描述
数学与计算机学院
课程设计说明书
课 程 名 称: 大型数据库—课程设计
课 程 代 码: 8424141
题 目: 红光汽车厂人事管理系统
年级/专业/班:
学 生 姓 名:
学 号:
开 始 时 间: 2010 年 6 月 21 日
完 成 时 间: 2010 年 7 月 2 日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书撰写质量(45)
总 分(100)
指导教师签名: 年 月 日
红光汽车厂人事管理系统
目 录
1引言 1
2需求分析 1
3功能分析 2
4 概要设计 2
5 详细设计 4
5.1建立数据表 4
5.2设置用户登陆界面 6
5.3员工信息浏览 8
5.4员工信息统计 8
5.5员工信息录入 8
5.6员工信息修改 8
5.7员工信息删除 10
5.8员工信息查询 10
6 调试分析以及测试 11
6.1系统登陆模块测试 11
6.2综合统计功能测试 11
6.3信息操作模块测试 13
6.4信息查询功能测试 15
结论 17
致 谢 18
参考文献 19
摘 要
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。企业人事管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来,如何管理好企业内部员工的信息成为企业管理中的一个大问题。在这种情况下,开发一个企业人事管理系统就显得非常必要。本系统结合企业人事管理制度,经过实际的需求分析,采用功能强大的VC做为开发工具而开发出来的基于数据库存储管理的人事管理系统。
整个系统从符合操作简便、界面友好、灵活、实用的要求出发,完成人事管理的全过程。包括员工信息的录入、老员工离退、职位变动引起职工信息的修改、员工信息查询、统计等人事管理工作。
关键词: 企业人事管理 VC 人事管理系统
1引言
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、存储量大、可靠性强、保密性好、成本低等。这些能够极大地提高人事管理的效率,也是企业科学化、正规化管理,与世界接轨的重要条件。不同企业具有不同的企业体系结构和不同的人事管理制度,这就决定了不同企业要有不同的人事管理系统。
2需求分析
目前世面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要太多的功能,只需要一个操作方便、功能实用,能满足本企业对数据的管理及需求的系统。它能够录入人事的基本资料,在操作上能够完成以下一些方面的工作:
(1)能够实现员工的综合情况的输入、修改以及删除;
(2)能够实现对员工信息的浏览;
(3)能够实现对员工进行查询;
(4)能够实现对员工的信息的统计;
(5)设计人事管理系统登陆界面以及实现用户合法性检测;
3功能分析
根据现实具体情况,设计出的人事管理系统能够实现人事管理和日常人事事务处理。人事管理系统主要完成以下一些功能:
(1)资料维护:系统维护包括对各种表记录的修改、删除、添加等操作
(2)信息维护:对数据表中的信息进行浏览
(3)系统查询:可以按职工编号、姓名等相关信息进行详细或模糊查询
(4)报表统计:包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段
4 概要设计
要实现汽车厂人事管理,需要考虑到现一般大中型企业员工的规模和汽车厂特有的人事制度。根据网上检索的信息得出的现在一般汽车厂员工也就数千人的样子。要实现对这种规模的工厂的人事管理,一般也就是单机版的数据库就可以达到要求。该系统使用的是SQL 2000做为其运行数据库。为了达到系统使用的方便、建立友好的交互界面最后确定使用VC6.0中的MFC来做前台界面。设计系统操作流程如下图所示:
错误信息
系统主界面
4-1系统操作流程图:
系统登录界面
输入用户名和密码
密码错误
检查
数据库
密码正确
功能界面
功能处理
图 4-1系统操作流程图
现一般的人事管理系统的基本功能都是插入记录、查询记录、修改记录、删除记录以及统计记录这些子功能的聚合。本系统也就将人事管理的功能大致设为4大模块:员工信息浏览、员工信息统计、员工信息操作(包括添加员工时信息的录入、对因人事变动引起的员工信息的修改、员工信息的删除、以及企业机构和人事制度变化引起人事系统中职位和部门的改变)后考虑到人事管理系统使用者不只一个或者两个用户,就在本模块中加上了用户的添加、修改和删除的功能。后设置了一个信息查询模块用于实现对员工信息的多种方式的查询功能。
5 详细设计
5.1建立数据表
主要建立员工信息表、职称表、职位表、部门表和用户表。其中员工信息表设置下表5-1-1所示:
字段
字段名
类型
宽度
可否为空
1
职工编号
varchar
50
否
2
姓名
varchar
50
否
3
身份证号
字符型
18
4
民族
varchar
50
5
性别
Varchar
50
否
6
婚姻状况
varchar
50
7
出生日期
datatime
8
8
毕业学校
varchar
50
9
专业
varchar
50
10
学历
varchar
50
11
部门
varchar
50
12
职称
varchar
50
13
电话
varchar
50
14
籍贯
varchar
50
15
入职日期
日期型
8
16
备注
备注型
50
表5-1-1 员工信息表设置
职称表的数据设置如下表5-1-2所示:
字段
字段名
类型
宽度
Nulls
1
职称编号
自动增长型(1,1)
4
否
2
职称
varchar
50
否
表5-1-2 职称表
职位表的数据设置如下表5-1-3所示:
字段
字段名
类型
宽度
Nulls
1
职位编号
自动增长型(1,1)
4
否
2
职位
varchar
50
否
表5-1-3 职位表
部门表 设置数据如表5-1-4所示:
字段
字段名
类型
宽度
Nulls
1
部门编号
自动增长型(1,1)
4
否
2
部门名称
varchar
50
否
表5-1-4 部门表
用户表 设置如下表5-1-5所示:
字段
字段名
类型
宽度
Nulls
1
用户ID
自动增长型(1,1)
4
否
2
用户名称
varchar
50
否
3
用户密码
varchar
50
否
表5-1-5用户表
5.2设置用户登陆界面
在MFC下建立一基于对话框的应用程序模块,在其中添加对用户输入用户名和密码的检测的功能代码。并对用户登陆操作做相应的提示:
(1)当用户没有输入用户名并企图登陆系统的时候给出“用户名不能为空”的警告提示信息;
(2)当用户输入用户名而没有输入密码时给出“密码不能为空”的提示信息;
(3)用户输入错误的用户名或者密码时,分别显示“你所输入的用户不存在”、“密码错误”的提示信息。
本模块详细代码如下:
void land::OnOK()
{
UpdateData(TRUE);
CTestSet mSet;
if(mSet.IsOpen())
mSet.Close();
if(m_nName.IsEmpty())
{
MessageBox("用户名不能为空!","提示",MB_OK);
return;
}
if(m_nPassword.IsEmpty())
{
MessageBox("密码不能为空!","提示",MB_OK);
return;
}
mSet.m_strFilter.Format("managername='%s'",m_nName);
mSet.Open(); //打开记录集
if(mSet.IsEOF())
{
MessageBox("您所输入的用户不存在!","警告",MB_OK|MB_ICONWARNING);
m_Name.SetFocus();
return;
}
if(m_nPassword!=mSet.m_managerpassword)
{
MessageBox("密码错误!","提示",MB_OK);
m_Password.SetFocus();
return;
}
CDialog::OnOK();
}
int land::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
CSplashWnd::ShowSplashScreen(this);
return 0;
}
5.3员工信息浏览
实现员工信息的浏览,也就是在数据库中对所有信息记录进行检索。创建视图返回人事系统中所有人事记录。
5.4员工信息统计
实现本模块就是使用C语言中的switch( )……case语言来按用户选择的统计条件进行统计。所以在实现统计功能前先要提示用户“请选择一项项目进行统计”,然后按用户选择的统计条件进行统计。
5.5员工信息录入
该功能模块的实现也就是数据库中的UPDATA操作,将员工信息添加到系统中。没多少好讲的,只是在录入员工信息时注意前面设置的员工信息表中的的要求:员工姓名和编号不能为空。同时注意不能对已有员工进行再次录入,造成数据冗余。
5.6员工信息修改
汽车厂因为人员调度、机构改革等各种原因引起人事变动,某些员工的信息要重新改写。故设置本功能模块。起功能的实现其实就是数据库中的UPDATA更新操作。
因为对员工信息的更新是对数据的覆盖,不可再恢复,所以要对用户的操作给出警告信息。同时在这里要将员工信息表中不能更新的部分数据实现更新。考虑数据库中表之间的关联和处理事务的完整,这部分核心代码如下:
//更新无法在员工信息表中更新的数据***************************************
CBumenSet nSet;
if(nSet.IsOpen())
nSet.Close();
m_nBumen.GetLBText(m_nBumen.GetCurSel(),tmp);
nSet.m_strFilter.Format("bumen='%s'",tmp);
nSet.Open();
mSet.m_bumen.Format("%i",nSet.m_ID);
nSet.Close();
CZhiweiSet nSet1;
if(nSet1.IsOpen())
nSet1.Close();
m_nZhiwei.GetLBText(m_nZhiwei.GetCurSel(),tmp);
nSet1.m_strFilter.Format("zhiwei='%s'",tmp);
nSet1.Open();
mSet.m_zhiwei.Format("%i",nSet1.m_ID);
nSet1.Close();
CZhichenSet nSet2;
if(nSet2.IsOpen())
nSet2.Close();
m_nZhichen.GetLBText(m_nZhichen.GetCurSel(),tmp);
nSet2.m_strFilter.Format("zhichen='%s'",tmp);
nSet2.Open();
mSet.m_zhichen.Format("%i",nSet2.m_ID);
nSet2.Close();
//***************************************************
5.7员工信息删除
这部分主要是利用对数据库中记录的DELETE操作来完成员工信息的删除。只是注意在删除员工信息的过程中要将与员工信息表有关联的表中的相关记录也删除掉。
5.8员工信息查询
这里为了集中处理,将各种查询语句汇聚在一起处理。实现时对用户输入信息处理要求用户是很正规的输入(因为自己能力有限,对用户输入的检测其合法性没采取什么好的措施)。同时主要是对用户输入的员工ID、姓名、职位三个条件进行查询。其它输入因为不能匹配其中的查询关键字不会返回结果。本部分核心代码如下:
void find::OnOK()
{
UpdateData(TRUE);
if(m_nMohu!="")
{
CString tmp;
tmp.Format("%%%s%%",m_nMohu);
m_nMohu=tmp;
sql.Format("select * from yonghu where number LIKE '%s' or name LIKE '%s' or bumen LIKE '%s' or zhiwei LIKE '%s'",m_nMohu,m_nMohu,m_nMohu,m_nMohu);
}
else
{
MessageBox("请输入要搜索的关键字!","提示",MB_ICONINFORMATION);
return;
}
CDialog::OnOK();
}
6 调试分析以及测试
6.1系统登陆模块测试
在程序初始过程中设置了两个用户其中一个是管理员用户admin密码784533只有具有合法权限的用户才可以进入系统。系统登陆界面如图6-1所示:
图6-1系统登陆界面
输入错误的用户名或者密码或者不输入用户名和密码尝试登陆系统都会有相应提示信息。
6.2综合统计功能测试
(1)设置统计所有男性员工信息见下图6-2-1和图6-2-2所示:
图6-2-1统计条件选择框
图6-2-2统计所有男性员工信息结果
(2)统计学历是本科的所有员工信息结果见下图6-2-3所示:
图6-2-3本科员工信息统计结果
6.3信息操作模块测试
(1)测试添加员工功能见图6-3-1和图6-3-2所示:
图6-3-1添加员工信息操作界面
在添加后可以通过员工一览查看到我们是否添加成功。
图6-3-2添加新员工结果
(2)测试删除编号为MP003的员工时将给出警告信息见下图6-3-3所示:
图6-3-3删除时的警告信息
删除后查看员工信息记录将没有MP003号员工的信息记录,结果见下图6-3-4:
图6-3-4 删除后员工信息一览表
(3)相关设置测试,其用户操作界面如图6-3-5所示,可以对部门、职位、用户等进行添加、修改、删除等操作。这是考虑到现在企事业单位都有这样那样的机构变革、产业调整必然引起相应的人事变化。因此建立此功能模块满足实际需要。
图6-3-5相关设置操作界面
6.4信息查询功能测试
其用户操作界面见图6-4-1所示:
图6-4-1信息查询界面
见上图对已经有员工张三丰进行查询,其结果见下图6-4-2所示:
图6-4-2查询结果
若我们要查询开发部某员工信息选择查条件“开发部”其结果见下图6-4-3所示:
图6-4-3查询开发部结果
结论
本次课程设计要求完成红光汽车厂人事管理系统,其基本功能要求能实现对新员工信息的录入、员工信息的修改、员工信息的删除和按员工的编号或者名称进行查询。本人使用MFC做为开发工具,利用 C语言作为编程语言,用SQL2000做为其数据存储和管理的工具完成课程设计要求的功能,并在程序中加入了对企业单位因为机构变革、人事重组等引发的人事改动这一实际情况的处理模块。使本人事管理系统能够满足实际的需要和日常人事事务的处理。
当然程序中也有许多不足的地方,其中多用户输入的合法性检测做的不到位。本系统中很多地方用户要进行输入数据,但对用户输入数据的合法与否却没有很好的过滤。可能有破坏人员使用非法数据造成SQL溢出,到达其非法使用本系统甚至破坏系统的目地。在今后的学习中会努力弥补这一块的不足。在编写软件达到实用、方便的前提下做些安全性方面的措施,保障用户的权益。
致 谢
本次课程设计的完成,时间大约2周。我因为一些科目要参加考试的原因自己要一边复习一边写程序。当中遇到了一些困难,身边兄弟给了我很大的帮助。包括后期写报告的过程中同学检查出了很多语法错误和语句欠妥的地方。在此谢谢大家!
另外要谢谢我的指导老师谭老师,虽然在课程设计过程中没有多少机会见面交流和指导。但我的数据库正好是他教,在平时的学习中他已经教给了我们很多这类程序编写的思路和方法。同时他灵活机动的弹性时间安排给我留够了足够的时间去复习迎接考试。应该说感谢他这种为人做想的教学方法吧!
参考文献
[1] 张莉、王强等编著.SQL Server数据库原理及应用教程.北京:清华大学出版社,2003
[2] 孙鑫主讲的VC++视频教程.网络下载
[3] 董莉等编著.SQL数据库经典教程.北京:清华大学出版社,2005
[4] 传智播客.NET精品就业班培训教程SQL篇.网络下载
个人工作业务总结
本人于2009年7月进入新疆中正鑫磊地矿技术服务有限公司(前身为“西安中正矿业信息咨询有限公司”),主要从事测量技术工作,至今已有三年。
在这宝贵的三年时间里,我边工作、边学习测绘相专业书籍,遇到不懂得问题积极的请教工程师们,在他们耐心的教授和指导下,我的专业知识水平得到了很到的提高,并在实地测量工作中加以运用、总结,不断的提高自己的专业技术水平。同时积极的参与技术培训学习,加速自身知识的不断更新和自身素质的提高。努力使自己成为一名合格的测绘技术人员。
在这三年中,在公司各领导及同事的帮助带领下,按照岗位职责要求和行为规范,努力做好本职工作,认真完成了领导所交给的各项工作,在思想觉悟及工作能力方面有了很大的提高。
在思想上积极向上,能够认真贯彻党的基本方针政策,积极学习政治理论,坚持四项基本原则,遵纪守法,爱岗敬业,具有强烈的责任感和事业心。积极主动学习专业知识,工作态度端正,认真负责,具有良好的思想政治素质、思想品质和职业道德。
在工作态度方面,勤奋敬业,热爱本职工作,能够正确认真的对待每一项工作,能够主动寻找自己的不足并及时学习补充,始终保持严谨认真的工作态度和一丝不苟的工作作风。
在公司领导的关怀以及同事们的支持和帮助下,我迅速的完成了职业角色的转变。
一、回顾这四年来的职业生涯,我主要做了以下工作:
1、参与了新疆库车县新疆库车县胡同布拉克石灰岩矿的野外测绘和放线工作、点之记的编写工作、1:2000地形地质图修测、1:1000勘探剖面测量、测绘内业资料的编写工作,提交成果《新疆库车县胡同布拉克石灰岩矿普查报告》已通过评审。
2、参与了库车县城北水厂建设项目用地压覆矿产资源评估项目的室内地质资料编写工作,提交成果为《库车县城北水厂建设项目用地压覆矿产资源评估报告》,现已通过评审。
3、参与了《新疆库车县巴西克其克盐矿普查》项目的野外地质勘查工作,参与项目包括:1:2000地质测图、1:1000勘查线剖面测量、测绘内业资料的编写工作;最终提交的《新疆库车县康村盐矿普查报告》已通过评审。
4、参与了新疆哈密市南坡子泉金矿2009年度矿山储量监测工作,项目包括:野外地质测量与室内地质资料的编写,提交成果为《新疆哈密市南坡子泉金矿2009年度矿山储量年报》,现已通过评审。
6、参与了《新疆博乐市五台石灰岩矿9号矿区勘探》项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。
7、参与了《新疆博乐市托特克斜花岗岩矿详查报告》项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。
通过以上的这些工作,我学习并具备了以下工作能力:
1、通过实习,对测绘这门学科的研究内容及实际意义有了系统的认识。加深对测量学基本理论的理解,能够用有关理论指导作业实践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对测量学的基本内容得到一次实际应用,使所学知识进一步巩固、深化。
2、熟悉了三、四等控制测量的作业程序及施测方法,并掌握了全站仪、静态GPS、RTK等测量仪器的工作原理和操作方法。
3、掌握了GPS控制测量内业解算软件(南方测绘 Gps数据处理)以及内业成图软件(南方cass)的操作应用。能够将外业测量的数据导入软件进行地形图成图和处理。
4、在项目技术负责的指导下熟悉了测量技术总结的编写要求和方法,并参与了部分项目测量技术总结章节的编写工作。
5、在项目负责的领导下参与整个测量项目的组织运作,对项目的实施过程有了深刻理解。通过在项目组的实习锻炼了自己的组织协调能力,为以后的工作打下了坚实基础。
二、工作中尚存在的问题
从事测绘工作以来,深深感受到工作的繁忙、责任的重大,也因此没能全方位地进行系统地学习实践,主要表现为没有足够的经验,对于地形复杂的地段理解不够深刻;理论知识掌握不够系统,实践能力尚为有限。以上问题,在今后工作中自己将努力做到更好。
三、今后的工作打算
通过总结四年来的工作,我无论从工作技术上,还是从世界观、人生观、价值观等各个方面,都有了很大的提高。今后,我会在此基础上,刻苦钻研,再接再厉,使自己在业务知识水平更上一层楼,为测绘事业的发展,贡献自己的力量。
-20-
展开阅读全文