基于VisualC的人事考勤管理系统.doc_第1页
基于VisualC的人事考勤管理系统.doc_第2页
基于VisualC的人事考勤管理系统.doc_第3页
基于VisualC的人事考勤管理系统.doc_第4页
基于VisualC的人事考勤管理系统.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

论文题目 基于 Visual C 的人事考勤管理系统 学 号 学生姓名 专业班级 指导教师 总评成绩 年 月 日 目录目录 目录 I 摘 要 II ABSTRACT III 第一章 绪论 1 1 1题目背景 1 1 2人事管理系统的意义及特点 2 1 3开发工具 2 第二章 系统概述 4 2 1 国内外发展现状 4 2 2 系统实现技术 5 2 2 1 MFC 窗口控件重绘 5 2 2 2 多线程编程 6 2 2 3 数据库 8 2 3 系统分析 9 2 3 1 需求分析 9 2 3 2 可行性分析 10 第三章 系统详细设计 11 3 1 程序流程设计 11 3 2 用户登录管理模块设计 12 3 2 1 用户登陆模块概述 12 3 2 2 用户登录技术分析 12 3 2 3 用户登录实现过程 12 3 2 4 用户管理实现过程 13 3 3 部门信息管理模块设计 16 3 4 员工信息管理模块设计 19 3 5 考勤管理模块设计 22 3 5 1 考勤管理技术分析 22 3 5 2 考勤管理实现过程 22 3 5 3 考勤汇总查询实现过程 25 总 结 27 致 谢 29 参考文献 30 I 38 摘摘 要要 随着时代的发展 人们的生活更加的趋向于信息化 尤其在各个公司企业中 为了 更加方便的有效的管理公司 对于员工信息以及公司运转的详细记录 各企业都广泛 的运用一些相关的系统来进行有效的管理 在此需求之下各种相关的软件系统也都应 运而生 并且的到极大的发展 任何一个企业都会从小到大发展 随着其的规模不断扩大 员工的数量急剧增加 员工的流动性增强 有关员工的各种信息成倍增长 面对庞大的信息量 单靠人力是无 法有序而准确地处理的 也无法满足企业对人事管理各种信息的需求 因而开发人事 管理系统从而提高公企业的人事管理工作效率是十分必要的 应用这种系统 能够把大 量的人力从繁琐的工作中解脱出来 降低企业的人力成本 公司人事考勤管理系统是典型的信息管理系统 其开发主要包括后台数据库的建立 和维护以及前端应用程序的开发两个方面 对于前者要求建立起数据一致性 完整性 安全性好的库 面对后者则要求应用程序功能完备 易使用等特点 本系统是为公司人事管理的各种工作而设计的 根据需求分析 需要实现对系统用 户 基本信息 考勤考评的管理 经过分析 本系统使用 SQL SERVER 做为其后台数据 库 采用 ADO 数据库连接技术 Visual C 作为开发工具 人事考勤管理系统就是有运用现代化的科学方法 对与一定物力相结合的人力进行 合理的培训 组织和调配 使人力 物力经常保持最佳比例 同时对人的思想 心理 和行为进行恰当的诱导 控制和协调 充分发挥人的主观能动性 关键词 人事 考勤 管理模块 系统设计 II 38 AbstractAbstract With the development of the times more people s lives tend to be information technology especially in the various companies in order to facilitate more effective management of the company for the employees and the company running the information detailed records of all enterprises are widely used some of the relevant the system for effective management this requirement under a variety of related software systems have also emerged and of the great development Any business will be small to large development with its growing size the number of employees increased dramatically increasing mobility of staff the staff of the various information grow exponentially Given the large amount of information manpower alone is not orderly and accurate processing can not meet the business needs of all kinds of information personnel management and thus the development of public personnel management system to improve the efficiency of enterprise personnel management is essential applying this system can put a lot of manpower from the tedious work out and reduce labor costs Company personnel attendance management system is a typical information management system which mainly includes the establishment and maintenance of back end database and front end application development aspects The former required data consistency integrity security and good libraries The face of the latter requires the application fully functional easy to use features This system is a variety of personnel management for the company designed to work According to requirements analysis you need to realize the system users basic information attendance management evaluation After analysis the system uses SQL SERVER as its back end database using ADO database connection technology Visual C as a development tool Personnel attendance management system is to have the use of modern scientific methods combined with certain human and material resources for a reasonable training organization and deployment so human material keep the best ratio while the human mind psychology and behavior appropriate induction control and coordination Keywords The personnel Check on work attendance Management module The system design 第一章第一章 绪论绪论 1 11 1 题目背景题目背景 在电脑考勤系统自 90 年代从中国台湾引进大陆之前 国内的考勤管理先后经过人 工考勤和机械打卡钟阶段 但是考勤数据采集不精确 请假等数据录入采集不方便 考勤统计报表错误多需要大量的人工修正 大量考勤工作集中在 HR 人力资源部 一 个部门处理 不论是基层员工还是 HR 部门和企业的各级主管对考勤系统都有怨言 引 进以后就从条码卡发展到磁卡 IC 卡感应卡以至指纹考勤 新的考勤管理系统的特征 报表准确 报表没有过多的异常数据需要 HR 部门二次干预 系统可以查询实时员工在 岗情况 并可以提供集成请假记录 全员式参与考勤管理 员工考勤自助 考勤数据 全员共享 具体日常考勤管理工作权限可以从 HR 部门下放到具体的各考勤群组 新 的考勤系统有两个重要意义 其一 可以将考勤事务交给基本部门处理 交个每个员 工自己处理 交给系统自动处理 用 IT 技术推动人事考勤管理的变革 其二 新的考 勤系统的实施 不仅把 HR 人员从考勤的具体事务中解放出来 而且也推动了全员对人 事管理的参与和互动 HR 人员的可以把工作重心可以放在服务员工 支持公司管理层的 战略决策上 放在公司最重要的资产 员工和员工的集体智慧的管理上等核心业务上 来 在此讨论的考勤管理系统的开发 旨在探索一种新的考勤模式 通过这种新的模 式 为企业的传统考勤模式创造一种新的概念 提高考勤工作效率和标准化水平 在人事管理中 企业对人的看法局限于人力是一种成本 在使用时以节约为目标 而 人力资源管理将人视为可开发并能带来收益的资源进行开发和控制 这样 人力资源管 理将工作重点放在以个人与组织的共同实现与发展为目标的人力资源开发上面 在人 事管理中虽然有培训 这些培训也会给员工带来发展 但从企业的角度看来 这些培训只是 为满足工作需要不得不作出的成本付出 而人力资源开发中的培训是以提高员工素质 与能力 提高工作绩效为目标的主动培训 人事部门经常陷于劳资纠纷的陷阱之中 他们 被迫通过服务 保障 职工参与等手段缓和劳资关系 在人力资源管理中视人为可开发并 能带来收益的资源 企业将主动建立互相信任 充分参与 合作的关系 是一种双赢游戏 随着社会经济的不断发展 在竞争越来越激烈的今天 企业人事管理就越显示出 其不可缺性 成为企业一个非常重要的模块 企业人事管理系统主要是用于员工个人 相关信息的管理 使用人事管理系统 便于公司领导掌握人员的动向和人员的综合素 质 及时调整人才的分配 使用计算机对人事劳资信息进行管理 具有检索迅速 查 1 38 找方便 可靠性高 存储量大 保密性好 成本低等优点 能够极大地提高人事资源 管理的效率 也是企业科学化 正规化管理的重要条件 特别是对于一些中小型的企 业来说 人力资源管理成为企业发展的重要因素 有些企业还停留在用纸张档案管理 的方式 这种方式效率低下 而且容易出错 极不适应现代企业发展和管理的要求 1 21 2 人事管理系统的意义及特点人事管理系统的意义及特点 针对国内外企业人事管理系统发展现状 我设计了一个专业 实用性强 操作简 便的企业人事信息管理系统 该系统为企业提供全面的人事管理解决方案提供一个以 人为中心 各类人员之间 员工与公司之间的互动式人力资源管理平台 具体目标如 下 1 提高企业人事管理的效率 节约相关的管理成本 增强人事管理的安全性 2 为企业建立规划化 人性化 实时互动化人事管理机制 3 满足企业战略层 管理层 人事业务操作层和企业全体员工的不同层次和不同方面 的需要 为企业将来的整体信息化建设提供必要的支持 开发的系统将改变过去传统的人事档案保管室式的人事管理 使用计算机对人事劳 资信息进行管理 具有检索迅速 查找方便 可靠性高 存储量大 保密性好成本低 等优点 能够极大地提高人事资源管理的效率 也是企业科学化 正规化管理的重要 条件 为实施企业集团化 多元化的远景发展战略提供有力保障 1 31 3 开发工具开发工具 Visual C 是运行于 Windows 平台上的交互式的可视化集成开发环境 它是美国 Microsoft 公司开发的 Microsoft Visual Studio 套件中的一部分 像其他可视化集成开发 环境一样 Visual C 集程序的代码编辑 编译 连接和调试等功能于一体 给编程人 员提供了一个完整方便的开发界面和许多有效的辅助开发工具 Visual C 的应用程序 向导可以以很大一部分类型的程序提供框架代码 用户不用书写程序代码 只需按几 个按钮就可以生成一些完整的可以运行的程序 Visual C 具有以下优点 1 面向对象 可视化开发 提供了面向对象的应用程序框架 MFC Microsoft Foundation Class 微软基础类库 大大简化了程序员的编程工作 提高了模 块的可重用性 Visual C 还提供了基于 CASE 技术的可视化软件自动生成 和维护工具 AppWizard ClassWizard Visual Studio WizardBar 等 帮助 2 38 用户直观的 可视地设计程序的用户界面 可以方便的编写和管理各种类 维护程序源代码 从而提高了开发效率 用户可以简单而容易地使用 C C 编程 2 众多的开发商支持以及业已成为工业标准的 MFC 类库 MFC 类库已经成为 事实上的工业标准类库 得到了众多开发商和软件开发工具的支持 另外 由于众多的开发商都采用 Visual C 进行软件开发 这样用 Visual C 开发 的程序就与别的应用软件有许多相似之处 易于学习和使用 3 Visual C 封装了 Windows 的 API 应用程序接口 函数 USER KERNEL GDI 函数 帮助我们弄清了许多函数的组织方法 隐去 了创建 维护窗口的许多复杂的例行工作 简化了编程 ADO ActiveX Data Object 技术是基于 OLE DB 的访问接口 它继承了 OLE DB 技 术的优点 并且 ADO 对 OLE DB 的接口作了封装 定义了 ADO 对象 使程序开发 得到简化 ADO 技术属于数据库访问的高层接口 3 38 第二章第二章 系统概述系统概述 本系统报表准确 报表没有过多的异常数据需要 HR 部门二次干预 系统可以查询 实时员工在岗情况 并可以提供集成请假记录 全员式参与考勤管理 员工考勤自助 考勤数据全员共享 具体日常考勤管理工作权限可以从 HR 部门下放到具体的各考勤 群组 在此讨论的考勤管理系统的开发 旨在探索一种新的考勤模式 通过这种新的模式 为企业的传统考勤模式创造一种新的概念 提高考勤工作效率和标准化水平 2 12 1 国内外发展现状国内外发展现状 国外专家学者对人事管理系统的研究起步比较早 发达国家的企业非常注重自身 人事管理系统的开发 特别是一些跨国公司 更不惜花费大量的人力和物力来开发相 应的人事管理系统 通过建立一个业务流的开发性系统实现真正意义上的人事管理目 标 挑选和留住最佳人才 同时不断提高这些人才的工作效益 例如 苹果公司的企 业员工人事管理系统便是一个很好的典范 我国的信息管理系统是九十年代初开始快速发展的 经过十余年的发展 我国的 数据库管理技术也广泛的应用于各个领域 并且形成了产业化 但是 我们的工厂 企业对信息管理系统的应用比起世界先进水平还相当落后 主要表现在 人事管理系 统范围使用相对狭窄 人事管理系统功能相对欠缺 稳定性较差 功能相对单一等 人事考勤管理系统主导 21 世纪 无论是发达国家还是发展中国家 对人力资源的 战略性意义都有了深刻的认识 并开始付诸行动 世界公认 21 世纪将是人力资源的世 纪 人力资源问题将主导整个 21 世纪甚至更为遥远 这种状况的变化起因于竞争压力 目前 世界经济趋向全球化 世界经济的全球化过程和国家的开放过程 要求组织的 管理部门降低管理成本以减少竞争压力和增强竞争能力 对于不同的组织 人力资源 成本在总成本中的比例是不一样的 随着时代的发展 人们的生活更加的趋向于信息化 尤其在各个公司企业中 为 了更加方便的有效的管理公司 对于员工信息以及公司运转的详细记录 各企业都广 泛的运用一些相关的系统来进行有效的管理 在此需求之下各种相关的软件系统也都 应运而生 并且的到极大的发展 任何一个企业都会从小到大发展 随着其的规模不断扩大 员工的数量急剧增加 员工的流动性增强 有关员工的各种信息成倍增长 面对庞大的信息量 单靠人力是无 4 38 法有序而准确地处理的 也无法满足企业对人事管理各种信息的需求 因而开发人事 管理系统从而提高公企业的人事管理工作效率是十分必要的 应用这种系统 能够把大 量的人力从繁琐的工作中解脱出来 降低企业的人力成本 而且通过计算机管理信息 可以做到信息的规范管理 科学统计和快速查询 从而更有效地为企业发展服务 人事考勤管理就是预测组织人力资源需求并作出人力需求计划 招聘选择人员并 进行有效组织 考核绩效支付报酬并进行有效激励 结合组织与个人需要进行有效开 发以便实现最优组织绩效的全过程 即运用现代化的科学方法 对与一定物力相结合 的人力进行合理的培训 组织和调配 使人力 物力经常保持最佳比例 同时对人的 思想 心理和行为进行恰当的诱导 控制和协调 充分发挥人的主观能动性 使人尽 其才 事得其人 人事相宜 以实现组织目标 2 22 2 系统实现技术系统实现技术 2 2 12 2 1 MFCMFC 窗口控件重绘窗口控件重绘 MFC Microsoft Foundation Classes 是一个微软公司提供的类库 class libraries 以 C 类的形式封装了 Windows 的 API 并且包含一个应用程序框架 以减少应用程 序开发人员的工作量 其中包含的类包含大量 Windows 句柄封装类和很多 Windows 的 内建控件和组件的封装类 3 的确 MFC 给我们提供了很便捷的编程方式 我们几乎可以不需要写任何代码就 能生成一个带有菜单 工具栏和视图的窗口 MFC 也提供了丰富的控件类 在设计对 话框的时候 我们也只需要直接将控件拖进对话框里 而不用写任何代码 本程序就 是典型的 MFC 应用程序 采用了 MFC 对话框设计框架 但是为了设计一个友好美观 的操作界面 仅用微软提供的控件类库达不到预期的效果 因此 就必须重新绘制其 对话框和控件的界面 而正由于微软将这些控件封装得很好 对于要修改它的属性 派生一些美观的子控件难度就显得比较大 一般来说 实现对控件的重绘技术主要有 子类化 自绘和重绘技术 由于 MFC 框架太过于标准化 因此实现这些技术也是有一 定的难度 这必须要对框架的结构有一定的了解 本程序采用了的窗体背景重绘 listctrl 自绘 按钮贴图等方式实现了操作界面的美观 主要核心技术是 GDI 双缓冲绘 图 双缓冲绘图就是将待绘制的图片保存到内存里 当需要绘制到屏幕上时 再一次 性投递到设备描述表里 这样既避免了窗口重绘时的闪烁 又提高了绘制的速度和效 率 BOOL CDC CreatieCompatibleDC CDC pDC 函数用来创建一个兼容 DC 即在内存 5 38 里创建一个 DC 以后的任何绘图所需的操作 如选用何种画笔 画刷 字体等 都将 在内存中进行 而不是在真实设备上下文里 11 随后可以创建一张兼容位图 需要绘 制的图像将 函数原型如下 BOOL CBitmap CreateCiompatibleBitmap CDC pDC int nWidth int nHeight 最后需要将兼容 DC 里的东西投射到真实的 DC 里 BOOL BitBlt HDC hdcDest int nXDest int nYDest int nWidth int nHeight HDC hdcSrc int nXSrc int nYSrc DWORD dwRop 函数可以实现该功能 具体用法可参考 MSDN 对话框的绘制比较容易 MFC 为对话框提供了 OnPaint 消息相应函数 但是在该 函数下绘制并不能从根本上重绘对话框 因为该函数还会调用 CDialog OnPaint 函数 在内部还会再去重绘背景 因此要实现完全意义上的重绘背景 就必须响应 WM ERASEBKGND 消息 在消息响应函数里实现我们自己的绘制方法 然后直接返 回 TRUE 不再调用 CDialog OnEraseBkgnd 函数 为了实现像 QQ 那样的界面 必须 将对话框的属性设置为 None 属性 即没有标题栏 因此只有自己去实现标题栏的功能 CListCtrl 重绘的方法有两种 一种是采用微软提供的 OWNERDRAW 属性 通过重载 DrawItem 虚函数来进行重绘 另外一种就是 Custom draw 属性 通过定义自绘消息响 应函数来进行重绘 两种方式有不同之处 前者需要对整个 ListCtrl 绘制 必须考虑到 每一个 item 项的绘制情况 而后者相对比较简便 系统会在四个状态的时候通知重绘 这四个状态分别是绘制前 绘制后 擦除前 擦除后 我们就可以按照自己的需要去 绘制 并且我们只用考虑其中一项 item 的绘制方法 就可以应用于所有项 本程序采 用了后者进行对列表控件的重绘 实现了好友列表控件 群列表控件类 对于 VC6 开发环境 微软提供的通用 button 控件的外观从现在看来的确不太美观 无法实现动态状态的效果 那么因此就必须重新创建一个派生于 CButton 的按钮类 由于该类将应用于本软件的所有按钮控件 因此做成可贴状态图的按钮控件最为合适 状态分为移出按钮 悬浮按钮 按下按钮 禁用按钮四种状态 我们只需要提供相应 的状态的 Bitmap 就可以 具体重绘方法就是采用前面提到的 OWNERDRAW 属性 重 载虚函数 DrawItem 而捕获鼠标的移入移出消息可以使用 TrackMouseEvent 函数 通 过设置 TRACEMOUSEEVENT 结构体的值来捕捉该消息 其移出消息对应的是 WM MOUSELEAVE 移入按钮消息是 WM MOUSEHOVER 分别定义其消息相应函 数 这样就能实现状态的更替 再进行相应的绘制 6 38 2 2 22 2 2 多线程编程多线程编程 进程和线程都是操作系统的概念 进程是应用程序的执行实例 每个进程是由私有 的虚拟地址空间 代码 数据和其它各种系统资源组成 进程在运行过程中创建的资 源随着进程的终止而被销毁 所使用的系统资源在进程终止时被释放或关闭 线程是 进程内部的一个执行单元 系统创建好进程后 实际上就启动执行了该进程的主执行 线程 主执行线程以函数地址形式 比如说 main 或 WinMain 函数 将程序的启动点 提供给 Windows 系统 主执行线程终止了 进程也就随之终止 每一个进程至少有一 个主执行线程 它无需由用户去主动创建 是由系统自动创建的 用户根据需要在应 用程序中创建其它线程 多个线程并发地运行于同一个进程中 一个进程中的所有线 程都在该进程的虚拟地址空间中 共同使用这些虚拟地址空间 全局变量和系统资源 所以线程间的通讯非常方便 多线程技术的应用也较为广泛 多线程可以实现并行处 理 避免了某项任务长时间占用 CPU 时间 要说明的一点是 目前大多数的计算机都 是单处理器 CPU 的 为了运行所有这些线程 操作系统为每个独立线程安排一些 CPU 时间 操作系统以轮换方式向线程提供时间片 这就给人一种假象 好象这些线 程都在同时运行 由此可见 如果两个非常活跃的线程为了抢夺对 CPU 的控制权 在 线程切换时会消耗很多的 CPU 资源 反而会降低系统的性能 5 Win32 SDK 函数支持 进行多线程的程序设计 并提供了操作系统原理中的各种同步 互斥和临界区等操作 Visual C 6 0 中 使用 MFC 类库也实现了多线程的程序设计 使得多线程编程更加方 便 MFC 中有两类线程 分别称之为工作者线程和用户界面线程 二者的主要区别在 于工作者线程没有消息循环 而用户界面线程有自己的消息队列和消息循环 工作者 线程没有消息机制 通常用来执行后台计算和维护任务 如冗长的计算过程 打印机 的后台打印等 8 用户界面线程一般用于处理独立于其他线程执行之外的用户输入 响 应用户及系统所产生的事件和消息等 但对于 Win32 的 API 编程而言 这两种线程是 没有区别的 它们都只需线程的启动地址即可启动线程来执行任务 在 MFC 中 一般用全局函数 AfxBeginThread 来创建并初始化一个线程的运行 该函数有两种重载形式 分别用于创建工作者线程和用户界面线程 在本程序程序里 涉及了一些对线程的创建 管理和销毁工作 常用的创建线程函 数为 CreateThread 和 beginthreadex 两函数功能几乎一样 在某些特殊地方 两者用法 需注意 推荐用后者 在创建前必须定义一个按照线程函数原型的函数 将其地址传 7 38 给创建线程函数 让操作系统知道即将从哪个地方运行线程 除此之外 还可以传递 参数 供线程使用 若创建成功 该函数会返回一个 HANDLE 这个句柄标示了刚创 建的线程内核对象 当线程创建成功后 必须调用 CloseHandle 函数将其关闭 这是因 为如果不关闭该内核句柄 当线程退出后 操作系统并没有销毁该线程 造成资源浪 费 这是因为获取一个实内核句柄都会增加内核使用计数 只有当该内核对象的使用 计数为 0 时 才会销毁该内核对象 线程也是如此 常用的销毁线程函数是 ExitThread TermelateThread 函数 但推荐使用函数返回的方式结束进程 因为操作系 统会自动调用 ExitThread 函数 并回收分配的内存资源 由于多个线程在同时运行的时候 会对共享数据进行访问或修改 那么就必须要注 意数据同步 windows 给我们提供了多种数据同步的方法 比如基于用户模式的原子 锁 临界区 Slim 读写锁等 还有基于内核模式的内核对象 如互斥对象 事件对象 信号量 条件变量等 7 在本程序中 最常用的是临界区 原因是基于用户模式 同步 效率快 服务器可以进行更多的操作 其次还用到了事件对象 由于临界区太过单一 的功能 并不能满足有些数据同步的需要 因此用到了功能强大的事件对象 在 MFC 中 事件对象被封装成了 CEvent 类 在 SDK 下 可以用调用 CreateEvent API 函数创 建一个事件对象 2 2 32 2 3 数据库数据库设计设计 数据库 Database 是按照数据结构来组织 存储和管理数据的仓库 它产生于距 今五十年前 随着信息技术和市场的发展 特别是二十世纪九十年代以后 数据管理 不再仅仅是存储和管理数据 而转变成用户所需要的各种数据管理的方式 1 数据库有 很多种类型 从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据 库系统都在各个方面得到了广泛的应用 严格地说 数据库是 按照数据结构来组织 存储和管理数据的仓库 在经济管理的日常工作中 常常需要把某些相关的数据放进 这样的 仓库 并根据管理的需要进行相应的处理 例如 企业或事业单位的人事部 门常常要把本单位职工的基本情况 职工号 姓名 年龄 性别 籍贯 工资 简历等 存放在表中 这张表就可以看成是一个数据库 有了这个 数据仓库 我们就可以根据 需要随时查询某职工的基本情况 也可以查询工资在某个范围内的职工人数等等 这 些工作如果都能在计算机上自动进行 那我们的人事管理就可以达到极高的水平 此 外 在财务管理 仓库管理 生产管理中也需要建立众多的这种 数据库 使其可以 利用计算机实现财务 仓库 生产的自动化管理 8 38 本次课题中采用的是 SQL Server 数据库 Microsoft 按照客户 服务器体系结构的分 布进行操作 这种方法产生不必要的代价和复杂性 多年以来 SQL Server 一直用在 事务处理监视系统中 例如 BEA 的 Tuxedo 以及 Compaq 的 ACMSxp 这些系统早 在二 三十年前就采用了典型的三层模型 三层模型在今天基于 Web 的应用系统中 占据了支配地位 这类系统以 Microsoft 的 MTS 以及新的 COM 1 0 为代表 2 从 SQL Server 的角度看 三层解决方案中的客户机程序是放在中间层的 中间层直接与 数据库交互 实际的桌面 或瘦客户机 Thin Client 使用其他机制并通常直接与中 间层交互 而不是直接与数据库系统交互 SQL Server 有两个接口可以认为是 SQL Server 7 0 的本机接口 即 OLE DB 和 ODBC ODBC 在五年之前就替代了 DB Library 是新的 SQL Server 应用程序更理想的 API 最上面的部分实现 API 的细节 例如行集和游标应该是什么样等等 TDS 格式化程序负责处理实际请求 例如 SQL 语句 并将其封装成 TDS 消息包 发送给 SQL Server 获得返回的结果 然后再把 结果反馈到接口实现 结构化查询语言 Structured Query Language 简称 SQL 是一种介于关系代数与关系 演算之间的结构化查询语言 它的主要功能就是同各种数据库建立联系 进行沟通 ANSI 规定 SQL 是关系型数据库系统管理的标准语言 5 SQL 语句可以用来执行各种 各样的操作 例如更新数据库中得数据 从数据库中提取数据等 SQL 语言之所以能 够为用户及业界所接受 并成为国际标准 是因为他是一个综合的 功能极强同时又 简洁易学的语言 在考勤管理系统中系统的操作都要用到数据库 在数据库应用中使 用 SQL 可以使得开发程序更加的有效 在考勤管理系统中的添加记录 删除记录 请 假记录的使用都要使用 SQL 这样的设计才可以使得开发出的系统高效 稳定 安全 总之 SQL 语言对于考勤管理系统的总的设计有非常重要的作用 人事考勤管理系统使用了 Microsoft SQL Server 2000 数据库来满足系统的要求 数 据库名称为 tb person 在数据库中创建四张用于存储各种不同信息 规划出本软件中使用的数据库实体对象 分别为管理员实体 部门实体 员工实体 和考勤实体等 如下图所示 为这几个实体的 E R 图 管理员实体 管理员实体包括编号 用户 密码 管理员实体如下图所示 密码 编号 用户 9 38 部门实体 部门实体包括部门编号 部门名称 备注信息和上级部门编号 部门实 体 E R 图如下图所示 员工实体 员工实体包括自动编号 员工编号 员工姓名 照片 性别和生日等信 息 员工实体 E R 图如下图所示 考勤实体 考勤实体包括人员姓名 考勤日期 上班时间 下班时间 上班考勤 时间和下班考勤时间等信息 考勤实体 E R 图如下图所示 管理员 部门实体 部门编号 部门名称备注信息 上级部门 编号 员工生日 自动编号 员工编号 员工姓名 性别 照片 考勤考勤日期 上班时间 下班时间 上班考勤 时间 10 38 2 32 3 系统分析系统分析 2 3 12 3 1 需求分析需求分析 人事考勤管理系统以实现员工日常出勤信息管理为设计目标 加以强大的数据库管 理功能 可以方便对考勤信息进行管理 大大提高了人事部门的日常工作效率 本系 统在设计时应该满足以下几点 1 采用人机对话的操作方式 信息查询灵活 方便 快捷 准确 数据存储安 全可靠 2 对考勤信息的操作简单 可以方便的进行添加 修改和删除 3 可以录入员工信息 部门信息 4 对员工的考勤信息可按月进行汇总计算 5 对用户输入的数据 系统进行严格的数据检验 尽可能排除人为的错误 6 系统最大限度的实现了易维护性和易操作性 7 系统运行稳定 安全可靠 2 3 22 3 2 可行性分析可行性分析 1 技术可行性 本程序是基于 windows 平台下的应用软件 开发该软件 应具备一定的 windows 编成基础 熟悉常用的 API 函数 深入了解 MFC 框架和窗口重绘技术 2 进度可行性和成本可行性 因为本文只是探讨和学习 Win32 应用程序编程 因而其经济成本和效益可以忽略 不计 在进度可行性方面 从选题到论文初稿完成的时间足以完成本次程序编写 人员姓名 下班考勤 时间 11 38 12 38 第三章第三章 系统详细设计系统详细设计 3 13 1 程序流程设计程序流程设计 结束 部门管理 员工信息管理用户管理 员工考勤管理 修改用户添加用户删除用户修改员工资料添加员工资料删除员工资料添加部门信息修改部门信息 删除部门信息考勤记录查询考勤记录添加考勤记录删除 开始 系统主界面 用户登录判断 Y N 图 3 1 程序流程图 1 当用户启动程序根据用户在登录窗口内输入的用户名和密码进行验证 2 验证通过后即可操作部门管理 员工考勤管理 用户管理 员工信息管理四个模块 13 38 3 23 2 用户登录管理模块设计用户登录管理模块设计 开始 结束 进入主界面 用户名和 密码正确 Y N 图 3 2 用户登录流程图 3 2 13 2 1 用户登陆模块概述用户登陆模块概述 用户登录模块是所有管理系统所应具备的基础模块之一 此模块实现了对用户使用 系统的检验工作 使没有权限的用户不能使用该系统 增加了系统的安全性 用户登 陆界面如图 3 3 所示 图 3 3 用户登录界面 3 2 23 2 2 用户登录技术分析用户登录技术分析 用户登录窗体是整个系统中创建并显示的第一个窗体 所以该窗体应在主窗体创建 前创建并显示 在登录窗体创建的同时应该创建数据库连接 这些操作都应该在应用 程序类的初始化方法中实现 3 2 33 2 3 用户登录实现过程用户登录实现过程 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 14 38 IDD DLGLOGIN 将对话框标题改为登陆 2 向对话框中添加两个静态文本控件 一个文本框控件 一个列表框控件和两个 按钮控件 分别设置两个静态文本控件的 caption 属性为用户名和密码 设置文本框控 件的类型为 Password 分别设置两个按钮的 caption 属性为确定和取消 3 在窗体的初始化方法中创建用户表的数据集 并将用户名添加到列表控件中 在 确定 按钮的事件中实现用户名和密码的验证 3 2 43 2 4 用户管理实现过程用户管理实现过程 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 IDD DLGUSER 将对话框标题改为 用户管理 2 定义 UpdateGrid 方法 用来更新列表视图中显示的用户信息 3 向对话框中添加 OnInitDialog 方法 在对话框的初始化方法中添加列表视图控 件应显示的列头 并在下列表视图控件中添加数据 4 在 添加 按钮的事件中弹出 用户编辑 窗体 输入用户名后单击 确定 按钮 实现对用户的添加 5 在 修改 按钮的事件中弹出 用户编辑 窗体 输入用户名后单击 确定 按钮 实现对用户的修改 6 在 删除 按钮的单击事件中获取当前记录并进行删除操作 3 33 3 部门信息管理模块设计部门信息管理模块设计 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 IDD DLGDEPT 将对话框标题改为 部门管理 2 向对话框中添加一个树列表控件 四个按钮控件 各控件的属性设置如表所示 3 定义 GetNode 方法用来按层级关系获取部门表中的所有数据 并将其添加到树 列表控件中 该方法由 UpdateDept 方法进行调用 4 当单击 添加 按钮时将弹出部门编辑窗体 输入部门信息后单击 确定 按 钮将添加一个新的部门 5 当单击 修改 按钮时将弹出部门编辑窗体 输入部门信息后单击 确定 按 钮将添加一个新的部门 6 当单击 删除 按钮时将删除当前选中的节点 15 38 3 3 4 4 员工信息管理模块设计员工信息管理模块设计 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 IDD DLGPERSON 将对话框标题改为 人员信息管理 2 添加 GetNode 方法将获取部门表中得数据信息添加到树列表视图控件中 该方 法由 UpdateDept 方法调用 3 定义 UpdatePerson 方法用来更新人员信息 将其显示在列表视图控件中 4 添加 OnInitDialog 方法 用于初始化人员信息管理窗体中得数据 在该方法中 显示部门信息 人员信息 5 单击 添加 按钮 弹出人员编辑窗体 输入人员信息后单击 保存 按钮实 现人员信息的添加 6 单击 修改 按钮 弹出人员编辑窗体 输入人员信息后单击 保存 按钮实 现人员信息修改 7 单击 删除 按钮实现当前选中的人员信息记录删除的操作 3 53 5 考勤管理模块考勤管理模块设计设计 考勤管理模块用于将所有人员当天的考勤信息录入到该模块中 并且可以根据年 月和人员对已录入的考勤记录进行查询 3 5 13 5 1 考勤管理技术分析考勤管理技术分析 在进行程序设计时日期型数据可以使用字符串的形式存入日期类型的数据库字段中 但相反的字符串类型的日期数据要想转换成日期类型的数据就必须要自己实现其转换 功能 在该模块中实现了字符串形式的日期和时间分别转换成日期类型的数据 在该模块中还实现了一个时间相减的方法 在这个方法中实现相减都是转换成秒后 进行减法计算的 然后再将秒转换成对应的时间类型数据 3 5 23 5 2 考勤管理实现过程考勤管理实现过程 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 IDD DLGCHECK 将对话框的标题改为 考勤管理 2 添加 UpdateList 方法 用于更新显示人员的考勤信息 3 向对话框中添加 OnlnitDialog 方法 在对话框初始化时设置列表视图控件的表 16 38 头和列宽度以及查询条件选择控件 1 添加 OnAdd 方法 用于向考勤信息表中添加员工的日考勤数据 2 添加 OnEdit 方法 用于编辑考勤信息表中员工的日考勤数据 3 添加 OnDelete 方法 用于删除当前选择的考勤记录 3 5 33 5 3 考勤汇总查询实现过程考勤汇总查询实现过程 1 创建一个对话框 打开对话框属性窗口 将对话框的 ID 改为 IDD DLGCHECKSSUM 将对话框标题改为 考勤汇总查询 2 添加 UpdateList 方法 用于更新考勤汇总查询的数据 4 向对话框中添加 OnlnitDialog 方法 在对话框初始化时设置列表视图控件的表 头和列宽度以及根据汇总查询条件选择控件 总总 结结 本次毕业设计我采用了 VC 为设计工具 基于 WINDOWS 的操作平台 设计出一个 信息化的考勤管理系统 其设计出得界面的操作方式 易理解 界面简洁 易操作 从功能上来说能满足测试系统管理的要求 体现了数据库管理 计算机应用 以及信 息化的优越性 通过本次毕业设计使我的收获颇多 不仅是自己更进一步了解了 VC 这个强大的 开发环境 锻炼了自己的逻辑思维能力 还是我第一次体会到了作为一个软件开发人 员的快乐与辛酸 感触到作为一名计算机技术人员一定要本着实事求是的态度 一丝 不苟的精神来看待和解决问题 这样才能达到预期目的 同时通过做毕业设计我深深 的感觉到了自己的知识水平的欠缺 需要自己学习的东西还很多 尽管我把毕业设计 做出来了也能够正常运行 但是由于使用的技术不好使得他并不称心如意 能够修改 和提高的地方还有很多 为此我打算今后在自己知识水平提高的前提下将此设计进一 步优化和功能扩充 通过这段时间毕业论文的设计 我对 VC 有了更全面的了解 制作出了这个考勤管 理系统 在我制作的过程中 参阅了许多相关知识的书籍 也从网络上查阅了大量的 相关资料 进一步拓宽了视野 提高了自己的知识水平 我们最大的收获不是学到了 什么 而是学会了怎么样去学习 虽然在设计的过程中出现了很多的问题 但在老师 17 38 和同学们的热心帮助下 问题逐步得到了解决 这次毕业设计的课题中还存在一些不 足 我会在今后逐步完善 大学时光即将结束 最后一个学期所进行的毕业设计 在 XX 老师的帮助下终于完 成了 在本次毕业设计过程中 根据软件工程的设计要求 从系统需求分析出发 得 出系统分析说明书 从概要设计到详细设计 最后到模块优化 最终完成了考勤管理 系统构建的全部过程 期间颇有收获 通过这次毕业设计 我不仅巩固了很多专业知识 也学会了很多应用软件的使用 同时在动手能力方面也有很大提高 可以说收益良多 我要简要的叙述一下 我认识到无论是做数据库还是做应用软件开发都不能盲目出发 而是要综合分析问 题 把问题考虑全面 设计既要节省内存 又要提高速度 因此代码优化非常重要 调试过程中 进一步提高了自己综合分析问题和解决问题的能力 同时也增强了独 立解决问题的能力 培养了我的耐性 增强了我的自信心 学会了知识的灵活运用 将理论与实践紧密结合起来 在实践中不断总结经验教训 知道在一次实践的顺利进 行 在设计过程中我感到自己学的东西太少 实践经验匮乏 这反而更激发了我浓厚的 学习兴趣和创作欲望 使我有信心完成自己的毕业设计 毕业设计是大学的最后一门课程 是能否适应社会的一块试金石 也是大学几年一 个人学习的折射 由此你可以看到自己这四年来学到了些什么 这次设计充分锻炼了 我独立思考问题和分析解决问题的能力 是我自己由理论迈向实践的第一步 当然在本次设计中也有很多不足的地方 对于这样的软件开发 由于没有相应的切 合实际的需求分析 所以在开发过程中遇到了许多棘手的问题 现在开发出来的软件 对数据库的操作还是不够稳定从而偶尔会出现非法操作 异常处理做的还很欠缺 程 序代码中还存在着一些 BUG 这些在最后的测试过程中还有必要做较多的修改和完善 在设计时 由于时间和能力有限 还有部分的功能没有实现 希望系统能在以后的升 级成更高版本时得以实现 18 38 致致 谢谢 四年了 如今我们即将毕业 微笑回首来路 一幕幕 宛在昨天 人生就是如此吧 每个段落结束的时候 我们总会感慨时光飞逝 享受漫步校园的感觉 初春温润的玉兰花 盛夏青翠的悬铃木 秋天金灿灿的银杏 林 还有冬日一尘不染的湛蓝晴空 对于从小生活在北方的我来说 武汉的的树木花 草 每个季节 都绚烂多姿 四个寒暑走过 我已深爱上这里 其实工大的校园 和大气古雅的北大清华相比 如同一个粗使丫头之于国色天香的 美女 可我们依然爱她 兴味盎然地欣赏着她每个角落的风景 感谢 无数次与我并 肩看风景的馨艺 我们一起见证着这里的每一次花开 每一寸草绿 每一片灵动斑驳 的树荫 每一抹灿烂悠然的晚霞 挽臂并肩 欢声笑语 那快乐的时光 让我永远难 忘 四年 给予我的 是不断丰厚的学识 是从容 自信和幸福的能力 还有 珍贵 的友谊 同门求学即是一种缘分 09 级的计科 1 班 更显融洽和谐 无数次结伴同游 无 数次对酒当歌 无数次谈天说地 嬉笑怒骂 无数次在古老的武汉城中寻找快乐 曾 经一样的悲欢 注定在未来的日子里 我们可以共同分享许多美好的回忆 尽管就要 各奔东西 但四年同窗之谊 我们会成为一生的朋友 曾经以为 离开学校的时候不会难过 毕竟 这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论