人事考勤管理系统课程设计51页.docx
《人事考勤管理系统课程设计51页.docx》由会员分享,可在线阅读,更多相关《人事考勤管理系统课程设计51页.docx(60页珍藏版)》请在冰点文库上搜索。
人事考勤管理系统课程设计51页
课程设计
人事考勤管理系统
第一部分:
开发背景……………………………………………………………..3
第二部分:
系统分析………………………………………………………………3
第三部分:
系统设计……………………………………………………………..9
第四部分:
公共类设计………………………………………………………….15
第五部分:
主题窗设计………………………………………………………….16
第六部分:
用户登录模块设计……………………………………………...17
第七部分:
用户管理模块设计………………………………………………20
第八部分:
部门管理模块设计………………………………………………23
第九部分:
人员信息管理模块设计……………………………………...32
第十部分:
考勤模块设计………………………………………………………40
第十一部分:
考勤汇总模块设计……………………………………………45
第十二部分:
后续补充部分:
一些过程的具体实现方法总结及图片解释:
…………………………………………………………………....51
第十三部分:
心得…………………………………………………………………..51
人事考勤管理系统
Ø开发背景
随着公司业务不断发展,员工数量不断增加,人事考勤方面的管理已成为公司管理中的重要部分,但传统的人事考勤制度已不能有效地管理员工的出勤状况,急需一套人事考勤管理的有效工具——人事考勤管理系统。
Ø二、系统分析
1)需求分析
通过对人事考勤管理过程的研究和分析,要求本系统应该具有以下功能。
a)用户登录。
b)部门信息录入
c)人员信息管理
d)考勤信息录入
e)考勤信息汇总。
2)系统功能描述
用户需要输入用户名和密码进入人事考勤管理系统,对各部门、员工的基本信息进行维护和管理。
在考勤管理模块中录入员工当天的考勤信息,同时可对年、月、员工进行查询。
此外,还可以通过考勤汇总查询模块对员工某月的考勤记录进行汇总,计算出员工月工作天数、早退、迟到的天数。
Ø三、系统设计
1)系统目标
人事考勤管理系统以实现员工日常出勤信息管理为设计目标,加以强大的数据库管理功能,可以极大地提高人事部门的日常工作效率。
本系统在设计时满足以下几点:
a)采用人机对话的操作方式,信息查询灵活、方便、快捷、准确,数据存储安全可靠。
b)对考勤信息的操作简单,可以方便地进行添加、修改、和删除。
c)可以录入员工信息、部门信息。
d)对员工的考勤信息按月汇总计算。
e)对用户输入的数据,系统进行严格的数据检验,尽可能排除人为错误。
f)系统最大限度地实现了易维护性和易操作性。
g)系统运行稳定、安全可靠。
2)系统功能结构
人事考勤管理系统的功能结构如图所示:
3)业务流图
人事考勤管理系统业务流程图如图:
4)系统预览:
人事考勤管理系统由多个功能模块组成,下面仅列出一些典型的功能模块,其他模块以后陆续列出:
a)部门管理模块如图:
主要管理各部门之间的结构信息
b)用户管理模块如图:
用于用户的一些操作管理
c)人员信息管理如图:
主要用于维护员工的基本信息
d)考勤管理模块如图:
用于记录人事考勤的信息
e)考勤汇总查询如图:
对员工的考勤信息进行汇总统计
4)数据库设计
A.数据库分析
人事考勤系统采用2008数据库,数据库名称为在数据库中建立四个表存储不同的信息,如图:
B.数据库概念设计
根据介绍的需求分析和系统设计,规划处本系统中使用的数据库实体对象,分别以管理员为实体,部门实体和考勤实体等。
下面是实体图。
a)管理员实体
管理员包括编号,用户,密码。
管理员实体图
b)部门实体
部门实体包括编号,部门名称,备注信息和上级部门编号。
部门实体图
c)员工实体
员工实体包括自动编号,员工编号,员工姓名,照片,性别和生日等信息。
员工图
d)考勤实体
考勤实体包括人员姓名,考勤信息,上班时间,下班时间
C.数据库逻辑设计
a)管理员信息表(),用于保存管理员的信息,如图:
b)部门信息表()用于记录部门的信息,如图:
C)考勤信息表()用于记录考勤信息
c)员工信息表()保存公司员工信息,如图:
Ø四、公共类设计
本系统采用连接数据库。
为了能够方便的使用建立数据库连接并进行相应的数据操作,在公共类中对系统中是使用的操作进行了封装。
在系统中建立了的两个公共类和,这两个类定义在头文件中,实现在文件中。
A.类
类是用来连接数据库的,实现了对接口的封装。
类在头文件中的定义如下:
"C:
\\\\\15"("","")
{
:
()初始化
();
:
指针接口
:
()判断是否与数据库连接
()获取连接接口
()获取连接字符串
()建立数据库连接
();
();
};
类的实现代码如下:
*()函数是一个全局函数,用于返回全局数据库连接对象的的指针
{
;
}
()方法是构造方法,用于初始化和创建接口指针
{
();
("");
}
()方法是构造方法,用于取消的初始化和释放接口指针
{
(())
>();
=;
();
}
()是一个静态方法,用于初始化
{
(0)
();
};
()是一个静态方法,用于取消初始化
{
(0)
();
};
()通过指定的数据库连接字符串于数据库建立连接
{
(())
>();
>((),"","");
();
}
()生成数据库连接需要的字符串
{
;
(".1\\");
;
}
()该方法用于返回接口指针
{
;
}
()判断当前数据库连接对象与数据库的连接状态
{
;
>();
()
;
;}
类的定义如下:
{
:
数据集接口指针
*数据库连接对象
:
()打开记录集
()记录删除
()获取记录集行号
()移动记录指针
()保存对记录集的修改
()设置字段的值
()添加新纪录
()记录集指针指向下一个记录
()获取记录集字段集合
()获取记录集中记录数量
(*)设置记录集的数据库连接对象
()打开记录集
();
();
:
();
};
类的实现如下:
()该方法为记录集实现类的构造方法,在该方法中实现记录集接口对象的创建
{
("");
}
()实现记录集的关闭与接口的释放
{
(())
>();
=;
=;
}
(*)设置记录集所连接的数据库连接类的对象
{
=;
}
()获取记录集中数据的数量
{
(())
>();
0;
}
()打开数据集
{
(())
>();
*/
>((),
((*)(),),
,);
();
*/
}
()判断数据集是否处于打开状态
{
;
>();
()
;
;
}
()用来获取记录集中字段的集合
{
>();
}
()记录集指针下移一位
{
(>)
;
>();
;
}
()
{
>();
}
(,)想记录集中指定的字段赋值
{
>(());
}
()保存记录集数据所做的修改
{
>();
}
()将记录集的当前指针移动到指定的索引位置
{
>();
>();
}
()获取记录集中的当前行号
{
>;
}
()删除记录集中的当前行
{
>();
}
(,)
{
(())
>();
*/
>((),
((*)(),),
(),);
();
}
Ø五、主题窗设计
A.主题窗由菜单和图片组成,如图:
B.主题窗设计步骤:
a.启动,选择命令,打开对话框
b.在左侧选择()选项,在编辑框中输入工程名称,在编辑框中设置保存工程的路径,然后单击按钮,打开对话框,选择对话框编程,打击
c.像工程中导入位图,菜单资源(具体操作在最后有补充)
Ø六、用户登录模块设计
A.概述,登录界面是每个管理系统应该具备的,本系统的登录模块如图:
B.技术分析
窗体应在主题窗创建之前并显示,在登录窗体创建的同时应该建立数据库连接,具体操作如下:
=、()->(()->());
;
(())
;
();
;
C.实现过程
a.创建一个对话框
b.向对话框中添加两个静态文本控件、一个编辑框控件、和两个按钮控件。
分别设置两个静态文本控件的属性为“用户名”和“密码”设置编辑框控件类型为;
分别设置连个按钮为“确定”和“取消”。
C.在窗体初始化方法中创建用户表的数据,并将用户添加到列表框控件中。
代码如下:
()
{
();
(());
("*");
=();
(i=0;i<)
{
(()()->[L""]->);
();
}
(0);
;a
:
}
d.确定按钮事件代码如下:
()
{
;
();
();
("*=''=''",
);
();
(()1)
{
();
>();
}
("用户名或密码不正确!
");
}
Ø七、用户管理模块
A.概况:
能实现添加,修改,删除等操作如图:
B.实现过程:
a.创建一个对话框
b.向对话框中添加相应的控件
c.给对话框添加对话框类
d.给类添加函数及成员变量
e.给控件关联变量
f.编写函数
C.实现代码:
a.定义方法用来更新列表视图中的信息代码如下:
()
{
("*");
();
(i=0;i<())
{
(i,()()->[L""]->);
=();
();
();
}
}
b.添加按钮代码如下:
()
{
;
(())
{
();("",());
();
();
}
}
c.删除按钮代码:
()
{
(("是否删除此记录!
","提示",
))
{
=(());
(1);
();
();
();
}
}
d.修改按钮代码:
()
{
;
=(());
(1);
=(*)()()->[L""]->;
(())
{
("",());
();
();
}
}
Ø八、部门管理模块设计
A.概述:
该模块记录了部门间的的层次结构和部门信息,一般使用树控件实现,如图:
B.实现过程:
a.创建一个对话框
b.向对话框中添加相应的控件
c.给对话框添加对话框类
d.给类添加函数及成员变量
e.给控件关联变量
f.编写函数
C.相关代码如下:
()初始化函数
{
();
(());
();
;}
将部门信息一次性读入树控件中。
代码如下:
(,)
{
;
;
(());
;
("*=");
();
=();
;
;
(i=0<)
{
=(()()->[""]->);
=()()->[""]->;
=;
();
();
();
}
}
定义方法,用于按成次级关系获取部门表中的所有数据,并添加树控件,该方法由方法进行调用,代码如下;
()
{();
(,0);
}
()
{
;
(())
{
=();
;
()
=0;
=();
;
(());
("1*");
();
("",());
("",());
("",());
();
();
}
}
单击“修改”按钮时将弹出部门编辑窗体,输入部门信息后单击“确定”按钮,实现部门信息的修改。
代码如下
()
{
;
=;
=();
(0)
;
=();
;
(());
;
("*=");
();
=(*)()()->[L""]->;
=(*)()()->[""]->;
(())
{
("",());
("",());
();
();
}
}
当单击“删除”按钮时,将删除当前选中的节点,代码如下:
()
{
=();
(0)
;
(("是否删除此记录!
","提示",
))
{
=();
;
(());
;
("*=");
();
();
();
();}}
Ø九、人员信息管理模块设计
A.概述:
人员信息管理模块根据部门分类显示人员,同时可对人员信息进行维护,界面如下:
B.实现过程:
a.创建对话框
b.向对话框中添加相应的控件
c.给对话框添加对话框类
d.给类添加函数及成员变量
e.给控件关联变量
C.相关代码:
方法,获取部门信息,并添加到树控件中。
该方法由调用,代码如下:
(,)
{
;
;
(());
;
("*=");
();
=();
;
;
(i=0<)
{=(()()->[""]->);
=()()->[""]->;
=;
();
();
();
}
}
调用,实现信息更新,代码如下:
()
{
();
;
=("全部");
(1);
(,0);
}
更新人员信息,并将其显示在列表控件中。
代码如下:
()
{
();
;
(());
;
(-1)
("*");
("*=");
();
=();
n=0;
;
(i=0<)
{
=1;
(n,()()->[""]->);
=()->[""]->;
();
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
;
();
}
}
单击“添加”按钮,弹出人员编辑窗体,输入人员信息后,单击保存按钮,实现人员的添加代码如下:
()
{;
=;
(())
{
;
(());
="1*";
();
();
("",());
("",());
("",());
("",());
("",()(""));
("",());
("",());
("",());
("",());
("",());
("",());
("",()(""));
("",());
("",());
("",());
("",());
("",());
("");
();
();
}
}
单击“修改”按钮,弹出人员编辑窗体,输入人员信息后,单击“保存”实现人员信息的修改,代码如下:
()
{
(()-1)
;
=(());
;
;
(());
;
("*=");
();
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
(())
{
设置日期数据
((4));
((6,2));
((9,2));
(,0,0,0);
=;
}
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
(())
{
设置日期数据
((4));
((6,2));
((9,2));
(,0,0,0);
=;
}
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=(*)()()->[""]->;
=()->[""]->;
(())
{
("",());
("",());
("",());
("",());
("",()(""));
("",());
("",());
("",());
("",());
("",());
("",());
("",()(""));
("",());
("",());
("",());
("",());
("",());
("");
();
();
}
}
单击“删除”按钮,实现删除当前选中的人员记录。
代码如下;
()
{
(("是否删除此记录!
","提示",
))
{
(()-1)
;
=(());
;
(());
;
("*=");
();
();
();
();
}
}
初始化函数,代码如下;
()
{
();
=-1;
();
i=0;
(i,"人员编号");
(,80);
(i,"人员名称");
(,100);
(i,"性别");
(,50);
(i,"民族");
(,50);
(i,"出生日期");
(,100);
(i,"政治面貌");
(,100);
(i,"文化程度");
(,100);
(i,"婚姻状况");
(,100);
(i,"身份证号");
(,100);
(i,"办公电话");
(,100);
(i,"手机电话");
(,100);
(i,"到岗日期");
(,100);
(i,"职务");
(,100);
(i,"备注");
(,100);
(i,"家庭住址");
(,100);
(i,"档案所在地");
(,100);
(i,"户口所在地");
(,100);
();
();
;a
:
}
(*,*)
{
*=(*);
=(>);
();
*=0;
}
Ø十、考勤管理模块设计
A.概述:
将所有的人又当天的考勤信息录入到该模块中,并且可以根据年、月及员工对已录入的考勤记录进行查询,界面如下:
B.实现过程:
a.创建对话框
b.向对话框中添加相应的控件
c.给对话框添加对话框类
d.给类添加函数及成员变量
e.给控件关联变量
C.相关实现代码:
方法用于更新显示人员的考勤信息,代码如下:
()
{
>();
;
()
("*");
{;
=+"-"++"-1";
("(,1,'')");
("(全部)")
("*''");
("*=''''");
}
;
(());
();
();
(i=0;i<();)
{
n=0;
=()->[""]->;
(i,"");
();
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
(,()()->[""]->);
();
}
}
方法,用于想考勤信息表中添加员工的日考勤数据,代码如下:
()
{
;
(())
{
;
="1*";
;
(());
();
();
("",());
("",()(""));
("",()(""));
("",()(""));
("",()(""));
("",()(""));
("",());
("",()(""));
("",()(""));
("",());
=();
(""()()());
("",());
=();
(""()()());
("",());
();
();
}
}
方法,用于编辑考勤信息表中的员工的日考勤数据,代码如下:
()
{
(()-1)
;
=(());
;
;
("*=");
;
(());
();
=(*)()()->[""]->;
=((*)()()->[""]->);
=((*)()()->[""]->);
=((