人事考勤管理系统c++课程设计文档.doc
《人事考勤管理系统c++课程设计文档.doc》由会员分享,可在线阅读,更多相关《人事考勤管理系统c++课程设计文档.doc(91页珍藏版)》请在咨信网上搜索。
1、人事考勤管理系统c+课程设计文档912020年4月19日资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。课程设计 人事考勤管理系统 目录第一部分: 开发背景.3第二部分: 系统分析3第三部分: 系统设计 .9第四部分: 公共类设计.15第五部分: 主题窗设计.16第六部分: 用户登录模块设计.17第七部分: 用户管理模块设计20第八部分: 部门管理模块设计23第九部分: 人员信息管理模块设计.32第十部分: 考勤模块设计40第十一部分: 考勤汇总模块设计45第十二部分: 后续补充部分: 一些过程的具体实现方法总结及图片解释: .51第十三部分: 心得.51人事考勤管理系统 开发背景
2、 某公司业务不断发展, 员工数量不断增加, 人事考勤方面的管理已成为公司管理中的重要部分, 但传统的人事考勤制度已不能有效地管理员工的出勤状况, 急需一套人事考勤管理的有效工具人事考勤管理系统。 二、 系统分析1) 需求分析 经过对人事考勤管理过程的研究和分析, 要求本系统应该具有以下功能。a) 用户登录。b) 部门信息录入c) 人员信息管理d) 考勤信息录入e) 考勤信息汇总。2) 系统功能描述用户需要输入用户名和密码进入人事考勤管理系统, 对各部门、 员工的基本信息进行维护和管理。在考勤管理模块中录入员工当天的考勤信息, 同时可对年、 月、 员工进行查询。另外, 还能够经过考勤汇总查询模块
3、对员工某月的考勤记录进行汇总, 计算出员工月工作天数、 早退、 迟到的天数。 三、 系统设计1) 系统目标 人事考勤管理系统以实现员工日常出勤信息管理为设计目标, 加以强大的数据库管理功能, 能够极大地提高人事部门的日常工作效率。本系统在设计时满足以下几点: a) 采用人机对话的操作方式, 信息查询灵活、 方便、 快捷、 准确, 数据存储安全可靠。b) 对考勤信息的操作简单, 能够方便地进行添加、 修改、 和删除。c) 能够录入员工信息、 部门信息。d) 对员工的考勤信息按月汇总计算。e) 对用户输入的数据, 系统进行严格的数据检验, 尽可能排除人为错误。f) 系统最大限度地实现了易维护性和易
4、操作性。g) 系统运行稳定、 安全可靠。2) 系统功能结构 人事考勤管理系统的功能结构如图所示: 人事考勤管理系统 考勤数据录入考勤信息汇总用户管理部门信息管理员工信息管理3) 业务流图人事考勤管理系统业务流程图如图: 用户登录 部门、 员工信息 维 护考 勤 信 息 汇 总 查 询考 勤 信 息 录 入4) 系统预览: 人事考勤管理系统由多个功能模块组成, 下面仅列出一些典型的功能模块, 其它模块以后陆续列出: a) 部门管理模块如图: 主要管理各部门之间的结构信息b) 用户管理模块如图:用于用户的一些操作管理c) 人员信息管理如图:主要用于维护员工的基本信息d) 考勤管理模块如图: 用于记
5、录人事考勤的信息e) 考勤汇总查询如图: 对员工的考勤信息进行汇总统计5) 数据库设计A. 数据库分析人事考勤系统采用SQL Server 数据库, 数据库名称为 tb_person 在数据库中建立四个表存储不同的信息, 如图: B. 数据库逻辑设计a) 管理员信息表( tab_user) , 用于保存管理员的信息, 如图: b) 部门信息表( tab_Dept) 用于记录部门的信息, 如图: C) 考勤信息表( tab_check) 用于记录考勤信息c) 员工信息表( tab_Employees) 保存公司员工信息, 如图: 四、 公共类设计 本系统采用ADO连接数据库。为了能够方便的使用A
6、DO建立数据库连接并进行相应的数据操作, 在公共类中对系统中是使用的ADO操作进行了封装。在系统中建立了ADO的两个公共类CADOConnection和CADODataSet,这两个类定义在ADO.h头文件中, 实现在ADO.cpp文件中。ACADOConnection类 CADOConnection类是用来连接数据库的, 实现了对_Connection接口的封装。CADOConnection类在头文件中的定义如下: #import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)cl
7、ass CADOConnectionprivate:static void InitADO();/初始化ADOstatic void UnInitADO();protected:_ConnectionPtr m_Connection;/指针接口public:BOOL IsOpen();/判断是否与数据库连接_ConnectionPtr GetConnection();/获取连接接口CString GetSQLConStr();/获取SQL连接字符串BOOL Open(CString ConStr);/建立数据库连接CADOConnection();virtual CADOConnection(
8、);CADOConnection类的实现代码如下: CADOConnection * GetConnection()/GetConnection函数是一个全局函数, 用于返回全局数据库连接对象的的指针return &g_Connection;CADOConnection:CADOConnection()/CADOConnection方法是构造方法, 用于初始化OLE和创立_Connection接口指针InitADO();m_Connection.CreateInstance(ADODB.Connection);CADOConnection:CADOConnection()/CADOConnec
9、tion方法是构造方法, 用于取消OLE 的初始化和释放_Connection接口指针if (IsOpen()m_Connection-Close();m_Connection = NULL;UnInitADO();void CADOConnection:InitADO()/InitADO是一个静态方法, 用于初始化OLEif (ConCount+ = 0) CoInitialize(NULL);void CADOConnection:UnInitADO()/UnInitADO是一个静态方法, 用于取消初始化OLEif (-ConCount = 0) CoUninitialize();BOOL
10、 CADOConnection:Open(CString ConStr)/经过指定的数据库连接字符串于SQL数据库建立连接if (IsOpen()m_Connection-Close();m_Connection-Open(_bstr_t)ConStr,adModeUnknown);return IsOpen();CString CADOConnection:GetSQLConStr()/生成数据库连接需要的字符串CString Str;Str.Format(Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=F
11、alse;Initial Catalog=tb_person;Data Source=LONGFEI-PCSQLEXPRESS);return Str;_ConnectionPtr CADOConnection:GetConnection()/该方法用于返回_Connection接口指针return m_Connection;BOOL CADOConnection:IsOpen()/判断当前数据库连接对象与数据库的连接状态long State;m_Connection-get_State(&State);if (State = adStateOpen)return true;return fa
12、lse;CADODataSet类的定义如下: class CADODataSetprotected:_RecordsetPtr m_DataSet;/数据集接口指针CADOConnection *m_Connection;/数据库连接对象public:BOOL Open(CString SQLStr,int LockType);/打开记录集void Delete();/记录删除int GetRecordNo();/获取记录集行号void move(int nIndex);/移动记录指针void Save();/保存对记录集的修改void SetFieldValue(CString FieldN
13、ame,_variant_t Value);/设置字段的值void AddNew();/添加新纪录BOOL Next();/记录集指针指向下一个记录FieldsPtr GetFields();/获取记录集字段集合int GetRecordCount();/获取记录集中记录数量void SetConnection(CADOConnection *pCon);/设置记录集的数据库连接对象BOOL Open(CString SQLStr);/打开记录集CADODataSet();virtual CADODataSet();private:BOOL IsOpen();CADODataSet类的实现如下
14、: CADODataSet:CADODataSet()/该方法为记录集实现类的构造方法, 在该方法中实现记录集接口对象的创立m_DataSet.CreateInstance(ADODB.Recordset);CADODataSet:CADODataSet()/实现记录集的关闭与接口的释放if (IsOpen()m_DataSet-Close();m_DataSet = NULL;m_Connection = NULL;void CADODataSet:SetConnection(CADOConnection *pCon)/设置记录集所连接的数据库连接类的对象m_Connection = pCo
15、n;int CADODataSet:GetRecordCount()/获取记录集中数据的数量if (IsOpen()return m_DataSet-GetRecordCount();elsereturn 0;BOOL CADODataSet:Open(CString SQLStr)/打开数据集if (IsOpen()m_DataSet-Close();/*/m_DataSet-Open(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset, adLockOptimistic
16、, adCmdText);return IsOpen();/*/BOOL CADODataSet:IsOpen()/判断数据集是否处于打开状态long State;m_DataSet-get_State(&State);if (State = adStateOpen)return true;return false;FieldsPtr CADODataSet:GetFields()/用来获取记录集中字段的集合return m_DataSet-GetFields();BOOL CADODataSet:Next()/记录集指针下移一位if (m_DataSet-adoEOF)return fals
17、e;m_DataSet-MoveNext();return true;void CADODataSet:AddNew()m_DataSet-AddNew();void CADODataSet:SetFieldValue(CString FieldName, _variant_t Value)/想记录集中指定的字段赋值m_DataSet-PutCollect(_bstr_t)FieldName,Value);void CADODataSet:Save()/保存记录集数据所做的修改m_DataSet-Update();void CADODataSet:move(int nIndex)/将记录集的当
18、前指针移动到指定的索引位置m_DataSet-MoveFirst();m_DataSet-Move(nIndex);int CADODataSet:GetRecordNo()/获取记录集中的当前行号return m_DataSet-AbsolutePosition;void CADODataSet:Delete()/删除记录集中的当前行m_DataSet-Delete(adAffectCurrent);BOOL CADODataSet:Open(CString SQLStr, int LockType)if (IsOpen()m_DataSet-Close();/*/m_DataSet-Ope
19、n(_bstr_t(SQLStr),_variant_t(IDispatch*)g_Connection.GetConnection(), true),adOpenKeyset,(LockTypeEnum) LockType, adCmdText);return IsOpen(); 五、 主题窗设计A.主题窗由菜单和图片组成, 如图:B.主题窗设计步骤: a启动visual c+, 选择File/New命令, 打开New对话框 b在左侧选择MFC AppWizard( exe) 选项, 在Project name编辑框中输入工程名称, 在location编辑框中设置保存工程的路径, 然后单击O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事 考勤 管理 系统 c+ 课程设计 文档
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。