Windows系统编程课程设计报告人事管理系统.docx
- 文档编号:28383460
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:64
- 大小:587KB
Windows系统编程课程设计报告人事管理系统.docx
《Windows系统编程课程设计报告人事管理系统.docx》由会员分享,可在线阅读,更多相关《Windows系统编程课程设计报告人事管理系统.docx(64页珍藏版)》请在冰豆网上搜索。
Windows系统编程课程设计报告人事管理系统
中南民族大学计算机科学学院
Windows系统编程
课程设计报告
题目:
人事管理系统
(人事档案管理设计)
专业自动化
学生姓名
班级学号1班08064009
完成日期2010年12月29日
指导教师
一、课题名称
人事管理系统
(人事档案管理设计)
二、课题内容和要求
1.内容:
现代企业对人事档案管理的重视程度正在快速提高,而信息技术在人力资源管理中的应用,将有助于企业优化人事档案管理的业务流程,提高工作效率,改善服务质量,并提供基于信息的决策支持。
本文主要介绍了人力资源管理系统的分析、结构特性设计及行为特性设计的实现过程,详细论述了总体设计思想、数据库设计和功能模块设计。
实现了人员信息管理,考勤管理,员工考核,奖罚管理,教育培训等功能。
整个系统的设计过程中,充分考虑了数据库的安全性、一致性、稳定性和可靠性的问题,并具有很强的向导作用,为操作人员提供了丰富的决策功能,而且操作简单方便。
2.要求:
建立一个合理的人事档案管理系统,从而能够对单位人事档案做完善的管理,使企业管理更加科学规范,并能根据系统提供的准确信息进行适当的调整,使企业更好发展。
并做到以下几点:
简单性:
系统设计尽量简单,从而实现使用方便、提高效率、节省开支、提高系统的运行质量。
灵活性:
系统对外界条件的变化有较强的适应能力。
完整性:
系统是各个子系统的集合,作为一个有机的整体存在。
因此,要求各个子系统的功能尽量规范,数据采集统一,语言描述一致。
可靠性:
实现安全的、可靠的数据保护措施。
三、开发工具介绍
ACCESS2000的介绍:
1.基本含义
ACCESS2000是office自带的数据库
Access是Office2000里面的一个组件。
是用来制作简单的数据库。
还有的意思就是访问、还有接入的意思。
如Accesslist访问列表
Accesspoint接入点
2.Access数据库功能简介
在办公软件Office套件中,最为广大用户熟悉的是Word和Excel,因为它们功能强大且方便易用,更因为它们不仅可用于办公,还可用于个人写作和家庭记帐理财等。
同为Office套件中一部分的Access,虽然有着同样强大的功能,但使用的人却相对少些,不像Word和Excel那样广泛。
事实上,真正用过Access的用户,对其强大功能和灵活应用均称赞有加。
Access数据库管理系统是MicrosoftOffice套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。
Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。
数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。
数据库中的数据可以是文字、图像、声音等。
3.相关信息
MicrosoftAccess是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
图1是一个“产品”表的例子。
“产品”表由10个记录组成,一个记录占一行,每一个记录由产品ID、产品名称、库存量、订货量、单价和折扣率6个字段组成。
“产品ID”是字段名,其下面的1,2等是字段的值。
表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。
Access数据库以文件形式保存,文件的扩展名是MDB。
4.Access数据库的对象
Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
表(Table)表是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
查询(Query)查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
报表(Report)报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
宏(Macro)宏相当于DOS中的批处理,用来自动执行一系列操作。
Access列出了一些常用的操作供用户选择,使用起来十分方便。
模块(Module)模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
模块使用VisualBasic编译。
VisualC++6.0简介:
VisualC++6.0是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序
简称VC或者VC6.0
由于C++是由C语言发展起来的也支持C语言的编译
6.0版本是使用最多的版本,很经典。
最大的缺点是对于模版的支持比较差
现在的最新版C++编译器集合在MicrosoftVisualStudio2010软件包含C++,Visualbasic,C#,J#,.net。
其中,VC开发环境的版本已经升级至MicrosoftVisualC++2010,对C++的支持更加全面稳定
四、设计思路
我主要负责人事档案管理这一模块
整个系统包括系统管理、基础数据管理、人事档案管理、考勤管理、数据库管理以及备忘录6大模块。
并分为管理员系统和用户系统。
总体设计思想
首先根据用户的情况制定完善的权限管理,用户根据权限进入,拥有不同的操作功能。
系统包括系统管理、基础数据管理、人事档案管理、考勤管理、数据库管理以及备忘录功能,并提供查询。
重点突出灵活的人员信息管理。
系统设计为C/S(客户机/服务器)模式,服务器程序主要采用ACCESS,可以平稳的向SQLSERVER等大型数据库做平稳的升级,本应用软件主要针对客户机来设计和编程,实现对数据库的备份操作,并提供数据完整性检验及数据保护等措施。
我主要负责的人事档案管理这一模块功能的设计如下:
人事档案管理包括人事档案浏览、人事资料查询和人事资料统计三大部分。
●人事档案浏览
基本档案:
录入人员人事资料(包括个人基本信息,职工编号,社会背景,联系方式,入职时间,职工类型,工资类别和其它)。
家庭成员:
录入员工家庭成员资料(包括与本人关系,工作单位,担任职务,联系方式)
工作经历:
主要记录员工工作中升降的历程
奖罚记录:
主要记录员工在工作期间获得的各种奖励以及惩罚
职称评定:
录入员工在工作期间所获得的工作能力的认证
培训记录:
主要记录员工在职期间的教育培训情况
●人事资料查询
查询条件分为个人信息和部门信息两部分,只需输入部分知道的信息,点击查询即可查到符合条件的员工信息
●人事资料统计
通过各种类别(包括性别,民族,年龄,籍贯,职务,文化程度,政治面貌,婚姻状况,工资类别等)来对员工进行系统的统计
相应代码:
人事档案浏览:
//BrowseDlg.cpp:
implementationfile
//
#include"stdafx.h"
#include"manager.h"
#include"BrowseDlg.h"
#include"AboutPaySet.h"
#include"DeptSet.h"
#include"DutySet.h"
#include"EducationSet.h"
#include"FolkSet.h"
#include"PoliticalSet.h"
#include"TechnicalSet.h"
#include"WorkerStatusSet.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CBrowseDlgdialog
CBrowseDlg:
:
CBrowseDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CBrowseDlg:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(CBrowseDlg)
m_strContent=_T("");
m_strCode=_T("");
m_strName=_T("");
m_nCondition=-1;
//}}AFX_DATA_INIT
m_bNew=FALSE;
}
voidCBrowseDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBrowseDlg)
DDX_Control(pDX,IDC_BUTTON_CANCEL,m_ctrCancelBnt);
DDX_Control(pDX,IDC_BUTTON_MODIFY,m_ctrModify);
DDX_Control(pDX,IDC_BUTTON_SAVE,m_ctrSaveBnt);
DDX_Control(pDX,IDC_BUTTON_NEW,m_ctrNewBnt);
DDX_Control(pDX,IDC_BUTTON_DELETE,m_ctrDelBnt);
DDX_Control(pDX,IDC_COMBO_CONDITION,m_ctrCondition);
DDX_Control(pDX,IDC_COMBO_CONTENT,m_ctrContent);
DDX_Control(pDX,IDC_LIST1,m_ctrList);
DDX_Control(pDX,IDC_TAB1,m_ctrTabSheet);
DDX_CBString(pDX,IDC_COMBO_CONTENT,m_strContent);
DDX_Text(pDX,IDC_EDIT_CODE,m_strCode);
DDX_Text(pDX,IDC_EDIT_NAME,m_strName);
DDX_CBIndex(pDX,IDC_COMBO_CONDITION,m_nCondition);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBrowseDlg,CDialog)
//{{AFX_MSG_MAP(CBrowseDlg)
ON_NOTIFY(NM_CLICK,IDC_LIST1,OnClickList1)
ON_CBN_SELCHANGE(IDC_COMBO_CONDITION,OnSelchangeComboCondition)
ON_CBN_SELCHANGE(IDC_COMBO_CONTENT,OnSelchangeComboContent)
ON_CBN_EDITUPDATE(IDC_COMBO_CONTENT,OnEditupdateComboContent)
ON_BN_CLICKED(IDC_BUTTON_SEARCH,OnButtonSearch)
ON_BN_CLICKED(IDC_BUTTON_NEW,OnButtonNew)
ON_BN_CLICKED(IDC_BUTTON_SAVE,OnButtonSave)
ON_BN_CLICKED(IDC_BUTTON_DELETE,OnButtonDelete)
ON_BN_CLICKED(IDC_BUTTON_MODIFY,OnButtonModify)
ON_NOTIFY(TCN_SELCHANGE,IDC_TAB1,OnSelchangeTab1)
ON_NOTIFY(TCN_SELCHANGING,IDC_TAB1,OnSelchangingTab1)
ON_BN_CLICKED(IDC_BUTTON_CANCEL,OnButtonCancel)
ON_WM_CLOSE()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CBrowseDlgmessagehandlers
BOOLCBrowseDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//设置员工基本档案属性页的记录集
//实现主体对话框与属性页对话框的数据一致
m_BaseInfoDlg.m_pPersonSet=&m_recordset;
//建立员工列表
m_ctrList.InsertColumn(0,"姓名");
m_ctrList.InsertColumn(1,"员工号");
m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ctrList.SetColumnWidth(0,80);
m_ctrList.SetColumnWidth(1,80);
//在员工列表中显示员工姓名和员工号
CStringstrSQL;
strSQL="select*fromperson";
RefreshData(strSQL);
//添加各个属性页
m_ctrTabSheet.AddPage("基本档案",&m_BaseInfoDlg,IDD_PAGE_BASEINFO);
m_ctrTabSheet.AddPage("家庭成员",&m_FamilyDlg,IDD_PAGE_FAMILY);
m_ctrTabSheet.AddPage("工作经历",&m_HistoryDlg,IDD_PAGE_HISTORY);
m_ctrTabSheet.AddPage("奖惩纪录",&m_HonorDlg,IDD_PAGE_HONOR);
m_ctrTabSheet.AddPage("职称评定",&m_QualificationDlg,IDD_PAGE_QUALIFICATION);
m_ctrTabSheet.AddPage("培训纪录",&m_TrainDlg,IDD_PAGE_TRAIN);
m_ctrTabSheet.Show();
returnTRUE;
}
voidCBrowseDlg:
:
RefreshData(CStringstrSQL)
{
m_ctrList.DeleteAllItems();
m_ctrList.SetRedraw(FALSE);
UpdateData(TRUE);
//strSQL="select*fromdept";
if(!
m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
{
MessageBox("打开数据库失败!
","数据库错误",MB_OK);
return;
}
//m_recordset.MoveFirst();
inti=0;
while(!
m_recordset.IsEOF())
{
m_ctrList.InsertItem(i,m_recordset.m_name);
m_ctrList.SetItemText(i++,1,m_recordset.m_ID);
m_recordset.MoveNext();
}
m_recordset.Close();
m_ctrList.SetRedraw(TRUE);
}
voidCBrowseDlg:
:
OnClickList1(NMHDR*pNMHDR,LRESULT*pResult)
{
//TODO:
Addyourcontrolnotificationhandlercodehere
//更新当前记录信息
inti=m_ctrList.GetSelectionMark();
m_strName=m_ctrList.GetItemText(i,0);
m_strCode=m_ctrList.GetItemText(i,1);
m_BaseInfoDlg.m_strID=m_strCode;
m_BaseInfoDlg.RefreshData();
UpdateData(FALSE);
//设置按钮状态
m_ctrNewBnt.EnableWindow(TRUE);
m_ctrDelBnt.EnableWindow(TRUE);
m_ctrSaveBnt.EnableWindow(FALSE);
m_ctrCancelBnt.EnableWindow(FALSE);
m_ctrModify.EnableWindow(TRUE);
m_bNew=FALSE;
m_BaseInfoDlg.m_ctrID.EnableWindow(FALSE);
//更新各属性页信息
m_FamilyDlg.RefreshData(m_strCode);
m_HistoryDlg.RefreshData(m_strCode);
m_HonorDlg.RefreshData(m_strCode);
m_QualificationDlg.RefreshData(m_strCode);
//m_RecordDlg.RefreshData(m_strCode);
m_TrainDlg.RefreshData(m_strCode);
*pResult=0;
}
voidCBrowseDlg:
:
OnSelchangeComboCondition()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();
CStringstrSQL;
//清空ComboBox查询内容//////////////////////
intnCount=m_ctrContent.GetCount();
for(inti=0;i { m_ctrContent.DeleteString(0); } ///////////////////////////////按照选择的查询条件,添加查询内容/////////////////////////////////// if(0==m_nCondition) {//按部门查询 CDeptSetrecordset; strSQL="select*fromdept"; if(! recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败! ","数据库错误",MB_OK); return; } while(! recordset.IsEOF()) { m_ctrContent.AddString(recordset.m_dept); recordset.MoveNext(); } recordset.Close(); } elseif(1==m_nCondition) {//按职工职务查询 CDutySetrecordset; strSQL="select*fromduty"; if(! recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败! ","数据库错误",MB_OK); return; } while(! recordset.IsEOF()) { m_ctrContent.AddString(recordset.m_duty); recordset.MoveNext(); } recordset.Close(); } elseif(2==m_nCondition) {//按职工职称查询 CTechnicalSetrecordset; strSQL="select*fromtechnical"; if(! recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败! ","数据库错误",MB_OK); return; } while(! recordset.IsEOF()) { m_ctrContent.AddString(recordset.m_technical); recordset.MoveNext(); } recordset.Close(); } elseif(3==m_nCondition) {//按职工类型查询 CWorkerStatusSetrecordset; strSQL="select*fromstatus"; if(! recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败! ","数据库错误",MB_OK); return; } while(! recordset.IsEOF()) { m_ctrContent.AddString(recordset.m_workstatus); recordset.MoveNext(); } recordset.Close(); } elseif(4==m_nCondition) {//按工资类别查询 CAboutPaySetrecordset; strSQL="select*fromaboutpay"; if(! recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)) { MessageBox("打开数据库失败! ","数据库错误",MB_OK); return; } while(! recordset.IsEOF()) { m_ctrContent.AddString(recordset.m_aboutpa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 系统 编程 课程设计 报告 人事管理系统