VC课程设计.docx

上传人:b****8 文档编号:29225233 上传时间:2023-07-21 格式:DOCX 页数:24 大小:444.75KB
下载 相关 举报
VC课程设计.docx_第1页
第1页 / 共24页
VC课程设计.docx_第2页
第2页 / 共24页
VC课程设计.docx_第3页
第3页 / 共24页
VC课程设计.docx_第4页
第4页 / 共24页
VC课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

VC课程设计.docx

《VC课程设计.docx》由会员分享,可在线阅读,更多相关《VC课程设计.docx(24页珍藏版)》请在冰豆网上搜索。

VC课程设计.docx

VC课程设计

 

VisualC++程序设计课程大作业

 

题目名称:

人事管理系统

系名称:

计算机科学与信息工程学院

专业班级:

嵌入式(10级专升本)

学号姓名:

201003040003(李娜)

学号姓名:

201003040039(徐丕向)

学号姓名:

201003040027(高艳枝)

2010年12月

一、组员分工

本组员:

李娜,徐丕向,高艳枝。

本组员分工如下:

李娜:

主要编写该系统的用户设置模块,数据设置模块,备忘录模块,数据库备份模块。

徐丕向:

主要编写该系统的人事档案管理模块。

高艳枝:

主要编写该系统的考勤记录管理模块。

二、需求分析

2.1、根据调查

随着经济的发展,在现代的信息时代中,企业的竞争逐渐整合为人才的竞争,传统的人事档案保管式的人事管理已经不能满足具有战略意义的人力资源管理的需要了。

但是现在高速发展的计算机已经取代了传统的管理,现在的很多企业都已经开始使用了计算机对是人事劳资信息管理,具有检索快,查找方便,可靠性高,存储量大,保密性好,成本较低等优点,能够大大的提高人事资源管理的效率,同时也是企业科学化,正规的管理的必要条件和中要条件。

2.2、所需目标

根据以上调查,经研究需要设计一个企业人事管理系统,该系统主要为企业或政府提供全面的人事管理解决方案,提供一个以人为中心,各类人员之间,员工与公司之间的互动式人力资源管理平台。

具体目标如下:

提高企业人事管理的效率,节约相关的管理成本,增强人事管理的安全性

为企业建立规范化,人性化,实时互动化人事管理机制。

满足企业战略层,管理层,人事业务操作层,和企业全体人员工的不同层次和不同方面的需要

为企业将来的整体的信息化建设提供必要的支持。

2.3、系统需求

企业的人事管理职能主要分为档案信息管理,人事变动管理,考勤管理,员工培训管理,奖惩管理,合同管理,工资管理等内容。

其中工资管理的有企业人事部制定人事标准(应发金额),有财务部计算员工工资(实发金额)并发放。

除此之外的其他管理职能由人事部单独执行。

但是在我们的所要设置的人事管理系统开发时应考虑以下需求:

满足人事管理职能的基本要求。

进行多层次数据接口,满足灵活的数据导入与导出。

具有完整的多系统接口,满足灵活的数据导入与导出。

对操作人员的技能要求比较低,操作方便。

能够实现方便的扩展,满足企业发展的需要。

能够保障人事管理数据的安全,准确。

2.4、功能需求

基于系统需求分析,该系统需要实现以下基本功能:

用户管理:

管理系统操作人员,设置操作人员口令和权限。

在满足不同系统用户的操作需求的基础上,提高系统的安全性。

数据管理模块:

维护人事管理相关的资料信息。

主要管理的信息如下

民族档案设置:

维护职工民族信息。

职工类型设置:

维护当前企业职工与企业的关系的类别信息

文化程度设置:

维护职工文化程度类别的信息

政治面貌设置:

维护职工政治面貌类别的信息。

部门类别设置:

维护公司内设立的部门的信息。

职务类别设置:

维护公司内设立的职务的信息。

人事档案管理:

完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。

操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历。

要求对这些员工档案信息可以进行新增,删除,修改的操作。

同时可以进行浏览和查询的操作。

该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。

人事变动管理:

对于人事上的变动调整惊醒管理,对人员档案的信息进行跟新(如:

员工职务,员工职称,员工性质等变动)

考勤管理:

考勤管理可以帮助公司完成时间管理,记录员工上下班,加班,出缺勤时间,并将数据连至薪水计算统计系统处理,企业还可以根据此考勤系统查询企业内各时段的员工缺勤的情况和加班情况,以及可以做管理方面的分析。

方便了考勤管理的制度。

备忘录管理:

管理员以及一些相关部门的一些备忘信息,包括日常的一些事件记录,以及通信薄信息的管理维护。

数据库管理:

对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据管理和维护,提高体统数据的安全性。

2.5、性能需求

名称

版本

语种

操作系统

Windows

2000

中文

数据库平台

MicrosoftAccess2003

2005

中文

应用平台

Windows

98/xp

中文

三、总体设计

我们所设计的人事管理系统主要是对该公司内的员工基础数据,员工档案信息,员工的考勤信息的数据操作。

 

 

(上图1-1是该人事管理系统的流程图)

经过我们小组的共同的研究,需要把我们的人事管理系统设计为七个模块:

权限验证、用户管理、基础数据管理、人事管理、考勤管理、备忘录管理和数据库管理。

(上图1-2为:

该人事管理系统的总体设计模块)

四、详细设计

4.1、权限验证模块

权限设置模块主要对是对用户名输入和密码,验证用户身份确定其操作的权限。

4.1.1完成用户名、密码的处理如下:

用户登陆对话框启动

从系统用户表中读取用户的名称信息,并写入用户名下拉框中,以方便登陆

用户选择用户名并输入密码

根据数据的用户名与密码与数据库中的用户名和密码是不是相对应

如果密码错误,则提示错误信息。

4.1.2登陆界面的设计如图所示:

(图1-3登陆界面)

4.2、用户管理模块

用户管理模块主要是对该系统的权限设置,所以不同的操作人员对此系统的操作范围不同,该模块可实现三个主要功能:

添加新用户,修改用户口令,修改用户权限和删除指定的用户。

4.2.1用户管理模块的设计图为:

 

(图1-4用户管理模块)

4.2.2完成用户名、密码、用户权限处理如下:

用户管理对话框的启动

从系统用户表中读取用户信息,并写入用户表列表

根据用户管理员的选择进行相应的处理

4.2.3完成更新用户表的具体处理过程如下:

增加新用户:

在该对话框中添加各个控件,然后在相应的控件中添加成员变量

判断管理员:

在改程序中需要设置个一个变量。

判断用户:

如果存在,不能更新,如果用户不存在,可以在相应的数据库中添加记录

提示用户添加成功。

4.2.4修改用户权限的的设置

在该程序中添加的ListControl控件中的用户列表中选则要选的用户名。

输入新用户的口令和权限的类别

确认操作

完成对数据库中系统的操作

4.2.5删除指定用户的处理

在改程序中的ListControl控件中的用户列表中须按则要选的用户名

删除操作

完成对数据库中系统用户表的相应的操作

4.2.6用户界面的设置如图所示:

(图1-5用户设置)

4.3、基础数据设置模块

根据需求分析和总体设计,基础数据设置模块负责维护人事管理相关的基础数据,这样基础数据主要有:

民族档案、文化程度、职工类型、政治面貌、职称类别、职务类别、部门类别、工资类别。

该模块的功能主要是完成对这些基础数据的添加、编辑和删除操作。

4.3.1基础数据设置模块图:

 

(图1-6基础数据设置模块)

4.3.2首先实现民族档案设置的操作:

⏹要实现的功能是:

从数据库中的Folk表中提取表中的民族显示到窗口中,同时实现这些数据的添加、删除、修改功能。

⏹在类视图中添加类名为CFolkSet,选择“MFCODBC使用者”,进行对Folk的字段进行封装。

⏹在代码中写出对民族增加,修改,删除的操作。

该民族档案设置界面的设计图如下:

(图1-7民族设置模块)

4.3.3实现文化程度设置的操作:

⏹要实现的功能是:

从数据库中的Education表中的文化程度信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CEducationSet,选择“MFCODBC使用者”,进行对Education表中的字段的封装。

⏹在代码中写出对文化程度设计的增加,删除,修改。

⏹该文化程度设置界面的设计如图:

(图1-8文化程度设置模块)

4.3.4实现职工类型的设计:

⏹要实现的功能是:

从数据库中的WorkerStatus表中的职工类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CWorkerStatusSet,选择“MFCODBC使用者”,进行对WorkerStatus表中的字段的封装。

⏹在代码中写出对职工类型设计的增加,删除,修改。

⏹该职工类型设置界面的设计如图:

(图1-9职工类型设置)

4.3.5政治面貌类型的设置:

⏹要实现的功能是:

从数据库中的Political表中的政治面貌类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CPoliticalSet,选择“MFCODBC使用者”,进行对Political表中的字段的封装。

⏹在代码中写出对政治面貌类型设计的增加,删除,修改。

⏹该政治面貌类型设置界面的设计如图:

(图1-10政治面貌设置)

4.3.6职称类别设置:

⏹要实现的功能是:

从数据库中的Technical表中的职称类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CTechnicalSet,选择“MFCODBC使用者”,进行对Political表中的字段的封装。

⏹在代码中写出对政治面貌类型设计的增加,删除,修改。

⏹该职称类型设置界面的设计如图:

(图1-11职称类型设置)

4.3.7职务类别设置:

⏹要实现的功能是:

从数据库中的Duty表中的职称类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CDutySet,选择“MFCODBC使用者”,进行对Duty表中的字段的封装。

⏹在代码中写出对职务类别设计的增加,删除,修改。

⏹该职务类别设置界面的设计如图:

(图1-12职务类别设置)

4.3.8部门类别设置:

⏹要实现的功能是:

从数据库中的dept表中的部门类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CDeptSet,选择“MFCODBC使用者”,进行对dept表中的字段的封装。

⏹在代码中写出对部门类别设计的增加,删除,修改。

⏹该部门类别设置界面的设计如图:

(图1-13部门类别设置)

4.3.9工资类别设置:

⏹要实现的功能是:

从数据库中的aboutpay表中的工资类型信息显示到窗口界面上。

同时对这些数据的增加、删除、修改。

⏹在类视图中添加类名为CAboutPaySet,选择“MFCODBC使用者”,进行对aboutpayt表中的字段的封装。

⏹在代码中写出对工资类别设计的增加,删除,修改。

⏹该工资类别设置界面的设计如图:

(图1-14工资类别设置)

4.4、人事档案管理模块

根据需求分析和总体设计,人事档案管理模块主要实现对员工相关信息的录入工作,包括员工基本档案、员工工作经历、员工家庭成员、员工的奖惩记录、员工的培训经理的录入,以及提供对这些数据的编辑和删除功能,同时实现对员工信息的浏览和查询功能。

4.4.1人事档案管理模块图如下:

 

(图1-15人事档案管理模块)

4.4.2人事档案管理的子模块的实现:

⏹人事档案浏览对话框的启动

⏹从人事档案数据信息表中读取全部数据并显示在员工列表中。

⏹如果用户选择分类浏览,根据用户选择类别信息分类显示在员工类表中。

⏹如果用户在类表中选择一个员工,则显示该员工相关的全部档案信息

⏹如果用户选择完成人事档案数据的添加、修改、和删除功能。

4.4.3人事档案浏览子模块界面设计如下:

(图1-16人事档案浏览)

4.4.4人事资料统计子模块的实现:

⏹功能:

根据用户指定的统计类别统计数据,并显示在列表中。

⏹人事资料统计对话框启动

⏹加载类别信息提供给用户选择

⏹根据用户指定的统计类别统计数据

⏹将结果显示在别表中。

⏹该设计的界面图如下:

(图1-17人事资料统计)

4.4.5人事资料查询的子模块的实现:

⏹功能:

根据用户指定的查询条件从数据库中读取数据,并显示在列表中。

⏹人事资料查询对话框启动。

⏹加载类别信息供用户选择。

⏹根据用户指定的条件内容和方式构造SQL语句。

⏹从数据库员工基本档案信息表中读取数据

⏹将结果显示在列表中。

⏹该子模块的设计图如下:

(图1-18人事档案查询)

4.5、人事档案管理模块

根据需求分析和总体设计,考勤管理模块主要是实现对员工出勤、加班、请假和出差信息的管理功能,主要是登记、修改、删除、以及浏览和查询功能,同时可对考勤信息进行月度统计。

1)

 

(图1-19考勤管理模块)

2)考勤统计子模块的设置:

⏹考勤统计对话框启动。

⏹根据用户输入的统计月份和时间范围,冲出差记录表,加班记录表,请假记录表和出勤记录表中统计相应的考勤数据。

⏹将统计结果写入到考勤统计数据表中。

⏹将统计结果数据显示到记录列表上。

⏹根据用户指定的查询条件查询统计数据,显示在记录列表中。

⏹该考勤统计的界面设计图如下:

(图1-20考勤统计)

4.6、备忘录管理模块

备忘录管理模块主要是提供日常记录事件和通信薄功能,是作为辅助功能提供给系统用户的。

1)备忘录管理模块图如下:

(图1-21备忘录管理模块)

2)日常记事子模块设计如下:

⏹对话框的启动

⏹从日常记事信息表中读取全部数据并显示在列表中。

⏹将用户输入的事情类别、类别、标题内容、以及日期信息添加到数据库中。

⏹根据用户选择的列表的记录,显示该事件的详细信息。

⏹更新用户修改的事件信息到数据库中。

⏹根据用户选择删除用户指定的事件记录。

⏹根据用户输入查询条件查询,并将结果显示到列表中。

⏹该界面设计如下图所示:

(图1-22日常记录)

3)通信薄管理子模块的设计如下:

⏹对话框的启动

⏹从日常记事信息表中读取全部数据并显示在列表中。

⏹将用户输入的事情类别、类别、标题内容、以及日期信息添加到数据库中。

⏹根据用户选择的列表的记录,显示该事件的详细信息。

⏹更新用户修改的事件信息到数据库中。

⏹根据用户选择删除用户指定的事件记录。

⏹根据用户输入查询条件查询,并将结果显示到列表中。

⏹通信薄管理子模块的界面设计

(图1-23通讯薄信息)

五、系统测试

1)第一个错误

错误1errorC2665:

“AfxMessageBox”:

2个重载中没有一个可以转换所有参数类型c:

\documentsandsettings\administrator\桌面\angongmanager11\angongmanager\logindlg.cpp50测试结果的分析:

该错误主要是字符串的写法问题。

应在AfxMessageBox中写上_T(“”),该测试中没有遇到问题。

六、总结

6.1、比较好的地方

其中我们利用了很多的方法来实现这些功能,而这些方法在课堂上没有学到,所以在本系统中我们学到很多的新颖的东西。

下面我们介绍一下我们这程序中做的比较好的地方。

a)首先在登陆界面中,我们设计了下拉框,用以提取数据库中Password表中的用户名。

然后根据密码与数据库中的数据进行匹配,而且该界面我们利用了PhotoShop处理一张图片,是该界面友好。

b)在用户设计模块中,我们利用了一个ListControl控件,用以显示数据库中password中用户名,实现该功能的方法是:

先利用一个函数voidRefreshData(),用以提取password表中的数据信息,然后利用OnInitDialog()来初始化界面。

实现该程序的代码是:

//下面中的RefeshData()代码

voidCUserDlg:

:

RefreshData(){

m_ctrList.SetFocus();

m_ctrList.DeleteAllItems();

m_ctrList.SetRedraw(false);

CStringstrSQL;

UpdateData();

strSQL="select*frompassword";

if(!

manager.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)){

AfxMessageBox(_T("打开数据库失败!

"));

return;}

inti=0;

while(!

manager.IsEOF()){

m_ctrList.InsertItem(i++,manager.m_user);

manager.MoveNext();}

manager.Close();

m_ctrList.SetRedraw(true);}

//下面是OnInitDialog()

BOOLCUserDlg:

:

OnInitDialog(){

CDialog:

:

OnInitDialog();

m_ctrList.InsertColumn(0,_T("用户名"));

m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

m_ctrList.SetColumnWidth(0,120);

RefreshData();

returntrue;

returnTRUE;}

c)在基础数据设置模块中写的比较好的地方就是,对于该子模块的每一个对话框,实现添加功能的操作,当点击添加的时候就会弹出另一个对话框,而在这个对话框中添加信息的。

具体的实现的代码如下:

voidCDeptDlg:

:

OnBnClickedOk(){

add.m_strLable="部门类别设置";

if(add.DoModal()!

=IDOK)

return;

CStringstrSQL;

strSQL.Format(_T("select*fromdeptwheredept='%s'"),add.m_strUser);

if(!

dept.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)){

MessageBox(_T("打开数据库失败!

"),_T("错误提示"),MB_OK);

return;}

if(dept.GetRecordCount()!

=0){

dept.Close();

MessageBox(_T("该数据已经存在!

"));

return;}

dept.AddNew();

dept.m_dept=add.m_strUser;

dept.Update();

dept.Close();

RefreshData();}

d)在档案管理模块中我们感觉也有很多很好的地方,尤其是在档案浏览中我们可以看到很多的员工的信息,并可以在用户信息中显示相应的信息的。

因为该对话框用到了Tab标签,并用代码将五个对话框加载到这个Tab标签中了。

具体是实现的代码可以在程序中看到,由于代码比较多,所以就不用列举了。

e)在备忘录模块中我们设计的通讯薄中实现的新建和修改内容中我们利用了使用另外一个对话框中进行添加、修改。

具体实现的代码可以从程序中看到。

在这里不用在列举了。

6.2、在本大作业中页有很多不足的地方:

在本程序中的各个界面不是太友好。

在做人事档案模块中在浏览人事档案界面的时候对员工信息的细节查找的功能实现的不是太健全。

在考勤记录模块中的考勤记录实现的功能也不是太完美。

6.3、经验、收获、心得

到此时可以说我们的程序是大致完成了,给我们的感觉是这学期的确学到了很多的东西,至少我们能够利用学过的知识做一些程序了,所以感觉收获很多,同时也掌握了很多的知识,拥有了很多的经验,在此我们感谢钟老师的辅导,和各位同学的帮助,最终我们的程序达到了我们的意愿,说实话,我们的确为这个程序准备了好长时间,记得每天中午放学利用中午的两个小时来做我们的程序,有时候调程序到夜里十二点才睡觉,不过这样给我的感觉就是很充实,能够学到很多的东西,虽然我们的程序实现的功能与我们下载的源码很类似,但是我们有重新建了一个项目,又重新设计了一些界面和设计了一些功能,但是我们也的确从网上下载的源程序中也学到很多的知识,因为那个源码就是一个知识库,我们就是利用那个知识库来填充我们的程序的。

但是做此程序给我们的感触最深的就是,当我开始看这个源程序的时候,就因为一个功能,我做在那里整整看了三个小时,最终看出了登陆界面怎么实现的,或许我这一生都不会忘记这个功能怎么实现的了。

还有个很深刻的就是每一个表所对应的数据集是怎么实现,为了这个问题,我查了很多书籍,又上网查找,花了4个小时才能摸出门道来,很快我们就掌握了这个程序的来龙去脉了,所以我们就按照我们的步骤一步一步的实现这个系统的功能。

当然,在做此程序的时候,难免会遇到自己解决不到的问题,很多时候我们就会想着放弃,就会想着把那个源码交上去,但是做了那么多了,不能放弃,所以我们一直克服困难,最终把那些问题都消灭掉了。

所以,我们得出了这样一个道理,做什么事情都要认真的做,才能专研进去的,只要坚持,任何难关都会闯过去的。

在完成这个程序的时候,我们小组共同认为的是:

“做整个程序的过程,我们不仅学会了做程序,更重要的是从做程序中学到做学问、做人的道理”。

七、参考文献

[1]张立科:

VisualC++数据库典型系统开发,安阳工学院图书馆

[2]郑阿奇:

VisualC++教程,安阳工学院图书馆2007年第22期.

[3]黄明:

VisualC++信息系统设计与开发实例,安阳工学院图书馆,2007年第3期.

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1