人事考勤管理系统c课程设计文档.docx
《人事考勤管理系统c课程设计文档.docx》由会员分享,可在线阅读,更多相关《人事考勤管理系统c课程设计文档.docx(51页珍藏版)》请在三一办公上搜索。
1、课程设计 人事考勤管理系统 目录第一部分:开发背景.3第二部分:系统分析3第三部分:系统设计 .9第四部分:公共类设计.15第五部分:主题窗设计.16第六部分:用户登录模块设计.17第七部分:用户管理模块设计20第八部分:部门管理模块设计23第九部分:人员信息管理模块设计.32第十部分:考勤模块设计40第十一部分:考勤汇总模块设计45第十二部分:后续补充部分: 一些过程的具体实现方法总结及图片解释:.51第十三部分:心得.51人事考勤管理系统 开发背景 随着公司业务不断发展,员工数量不断增加,人事考勤方面的管理已成为公司管理中的重要部分,但传统的人事考勤制度已不能有效地管理员工的出勤状况,急需
2、一套人事考勤管理的有效工具人事考勤管理系统。 二、系统分析1) 需求分析 通过对人事考勤管理过程的研究和分析,要求本系统应该具有以下功能。a) 用户登录。b) 部门信息录入c) 人员信息管理d) 考勤信息录入e) 考勤信息汇总。2) 系统功能描述用户需要输入用户名和密码进入人事考勤管理系统,对各部门、员工的基本信息进行维护和管理。在考勤管理模块中录入员工当天的考勤信息,同时可对年、月、员工进行查询。此外,还可以通过考勤汇总查询模块对员工某月的考勤记录进行汇总,计算出员工月工作天数、早退、迟到的天数。 三、系统设计1) 系统目标 人事考勤管理系统以实现员工日常出勤信息管理为设计目标,加以强大的数
3、据库管理功能,可以极大地提高人事部门的日常工作效率。本系统在设计时满足以下几点:a) 采用人机对话的操作方式,信息查询灵活、方便、快捷、准确,数据存储安全可靠。b) 对考勤信息的操作简单,可以方便地进行添加、修改、和删除。c) 可以录入员工信息、部门信息。d) 对员工的考勤信息按月汇总计算。e) 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为错误。f) 系统最大限度地实现了易维护性和易操作性。g) 系统运行稳定、安全可靠。2) 系统功能结构 人事考勤管理系统的功能结构如图所示:人事考勤管理系统 考勤数据录入考勤信息汇总用户管理部门信息管理员工信息管理3) 业务流图人事考勤管理系统业务
4、流程图如图:用户退出登录员工信息管理员工考勤管理修改密码部门管理用户管理考勤查询4)系统预览: 人事考勤管理系统由多个功能模块组成,下面仅列出一些典型的功能模块,其他模块以后陆续列出:a) 部门管理模块如图:主要管理各部门之间的结构信息b) 用户管理模块如图:用于用户的一些操作管理c) 人员信息管理如图:主要用于维护员工的基本信息d) 考勤管理模块如图: 用于记录人事考勤的信息e) 考勤汇总查询如图: 对员工的考勤信息进行汇总统计4) 数据库设计A. 数据库分析人事考勤系统采用SQL Server 2008 数据库,数据库名称为 tb_person 在数据库中建立四个表存储不同的信息,如图:B
5、. 数据库概念设计根据介绍的需求分析和系统设计,规划处本系统中使用的数据库实体对象,分别以管理员为实体,部门实体和考勤实体等。下面是实体E-R图。a) 管理员实体管理员包括编号,用户,密码。管理员实体E-R图用户编号密码管理员 b)部门实体部门实体包括编号,部门名称,备注信息和上级部门编号。部门实体E-R图上级部门管理备注信息部门名称部门编号部门管理c)员工实体员工编号自动编号员工实体包括自动编号,员工编号,员工姓名,照片,性别和生日等信息。员工E-R图性别生日员工姓名照片员工d)考勤实体上班时间考勤实体包括人员姓名,考勤信息,上班时间,下班时间下班时间下班考勤时间人员姓名上班考勤时间考勤日期
6、C.数据库逻辑设计a) 管理员信息表(tab_user),用于保存管理员的信息,如图:b) 部门信息表(tab_Dept)用于记录部门的信息,如图: C) 考勤信息表(tab_check)用于记录考勤信息c) 员工信息表(tab_Employees)保存公司员工信息,如图: 四、公共类设计 本系统采用ADO连接数据库。为了能够方便的使用ADO建立数据库连接并进行相应的数据操作,在公共类中对系统中是使用的ADO操作进行了封装。在系统中建立了ADO的两个公共类CADOConnection和CADODataSet,这两个类定义在ADO.h头文件中,实现在ADO.cpp文件中。ACADOConnect
7、ion类 CADOConnection类是用来连接数据库的,实现了对_Connection接口的封装。CADOConnection类在头文件中的定义如下: #import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)class CADOConnectionprivate:static void InitADO();/初始化ADOstatic void UnInitADO();protected:_ConnectionPtr m_Connection;/指针接口public:BOOL
8、 IsOpen();/判断是否与数据库连接_ConnectionPtr GetConnection();/获取连接接口CString GetSQLConStr();/获取SQL连接字符串BOOL Open(CString ConStr);/建立数据库连接CADOConnection();virtual CADOConnection();CADOConnection类的实现代码如下:CADOConnection * GetConnection()/GetConnection函数是一个全局函数,用于返回全局数据库连接对象的的指针return &g_Connection;CADOConnection
9、:CADOConnection()/CADOConnection方法是构造方法,用于初始化OLE和创建_Connection接口指针InitADO();m_Connection.CreateInstance(ADODB.Connection);CADOConnection:CADOConnection()/CADOConnection方法是构造方法,用于取消OLE 的初始化和释放_Connection接口指针if (IsOpen()m_Connection-Close();m_Connection = NULL;UnInitADO();void CADOConnection:InitADO()
10、/InitADO是一个静态方法,用于初始化OLEif (ConCount+ = 0) CoInitialize(NULL);void CADOConnection:UnInitADO()/UnInitADO是一个静态方法,用于取消初始化OLEif (-ConCount = 0) CoUninitialize();BOOL CADOConnection:Open(CString ConStr)/通过指定的数据库连接字符串于SQL数据库建立连接if (IsOpen()m_Connection-Close();m_Connection-Open(_bstr_t)ConStr,adModeUnknow
11、n);return IsOpen();CString CADOConnection:GetSQLConStr()/生成数据库连接需要的字符串CString Str;Str.Format(Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=tb_person;Data Source=LONGFEI-PCSQLEXPRESS);return Str;_ConnectionPtr CADOConnection:GetConnection()/该方法用于返回_Connectio
12、n接口指针return m_Connection;BOOL CADOConnection:IsOpen()/判断当前数据库连接对象与数据库的连接状态long State;m_Connection-get_State(&State);if (State = adStateOpen)return true;return false;CADODataSet类的定义如下:class CADODataSetprotected:_RecordsetPtr m_DataSet;/数据集接口指针CADOConnection *m_Connection;/数据库连接对象public:BOOL Open(CStr
13、ing SQLStr,int LockType);/打开记录集void Delete();/记录删除int GetRecordNo();/获取记录集行号void move(int nIndex);/移动记录指针void Save();/保存对记录集的修改void SetFieldValue(CString FieldName,_variant_t Value);/设置字段的值void AddNew();/添加新纪录BOOL Next();/记录集指针指向下一个记录FieldsPtr GetFields();/获取记录集字段集合int GetRecordCount();/获取记录集中记录数量vo
14、id SetConnection(CADOConnection *pCon);/设置记录集的数据库连接对象BOOL Open(CString SQLStr);/打开记录集CADODataSet();virtual CADODataSet();private:BOOL IsOpen();CADODataSet类的实现如下: CADODataSet:CADODataSet()/该方法为记录集实现类的构造方法,在该方法中实现记录集接口对象的创建m_DataSet.CreateInstance(ADODB.Recordset);CADODataSet:CADODataSet()/实现记录集的关闭与接口
15、的释放if (IsOpen()m_DataSet-Close();m_DataSet = NULL;m_Connection = NULL;void CADODataSet:SetConnection(CADOConnection *pCon)/设置记录集所连接的数据库连接类的对象m_Connection = pCon;int CADODataSet:GetRecordCount()/获取记录集中数据的数量if (IsOpen()return m_DataSet-GetRecordCount();elsereturn 0;BOOL CADODataSet:Open(CString SQLStr
16、)/打开数据集if (IsOpen()m_DataSet-Close();/*/m_DataSet-Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset, adLockOptimistic, adCmdText);return IsOpen();/*/BOOL CADODataSet:IsOpen()/判断数据集是否处于打开状态long State;m_DataSet-get_State(&State);if (State = adStateOpen)return
17、true;return false;FieldsPtr CADODataSet:GetFields()/用来获取记录集中字段的集合return m_DataSet-GetFields();BOOL CADODataSet:Next()/记录集指针下移一位if (m_DataSet-adoEOF)return false;m_DataSet-MoveNext();return true;void CADODataSet:AddNew()m_DataSet-AddNew();void CADODataSet:SetFieldValue(CString FieldName, _variant_t V
18、alue)/想记录集中指定的字段赋值m_DataSet-PutCollect(_bstr_t)FieldName,Value);void CADODataSet:Save()/保存记录集数据所做的修改m_DataSet-Update();void CADODataSet:move(int nIndex)/将记录集的当前指针移动到指定的索引位置m_DataSet-MoveFirst();m_DataSet-Move(nIndex);int CADODataSet:GetRecordNo()/获取记录集中的当前行号return m_DataSet-AbsolutePosition;void CAD
19、ODataSet:Delete()/删除记录集中的当前行m_DataSet-Delete(adAffectCurrent);BOOL CADODataSet:Open(CString SQLStr, int LockType)if (IsOpen()m_DataSet-Close();/*/m_DataSet-Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset,(LockTypeEnum) LockType, adCmdText);return IsOpen();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事 考勤 管理 系统 课程设计 文档
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-1896781.html