koorio.com
海量文库 文档专家
当前位置:首页 >> 管理学 >>

企业人事管理系统的 毕业设计论文

计算机应用专业毕业设计论文

题目: 企业人事管理系统

姓 专

名: 业: 计算机网络

指导老师:

【前 言】
随着计算机技术的不断发展,计算机作为知识经济时代的产物, 已被广泛应用于社会各个行业和领域。 着我国国企改革的深入和社 随 会 主 义 市 场 经 济 的 日 趋 繁 荣 ,导 致 各 企 业 间 的 竞 争 日 益 激 烈 ,迫 使 企 业采取先进的计算机硬件设备以及高质量的辅助软件来管理企业的 各 项 运 作 ,以 提 高 本 企 业 的 劳 动 生 产 率 以 及 人 员 效 率 。人 事 管 理 系 统 软件作为一种管理软件正在各企事业单位中得到越来越广泛的应用。

【摘 要】
人事管理系统在企业中占有极其重要的地位,它关系着企业内部 每 个 职 员 的 档 案 ,其 中 包 括 新 职 员 的 增 加 ,职 员 档 案 的 查 找 ,职 员 的 详细资料等等。 于企业来讲, 事管理系统是不可缺少的组成部分, 对 人 它有效地管理企业的员工, 企业内部人事的流动和分配起着重要的 对 管理作用,它正确地反映着企业的人事变化。 本系统是我借本次毕业设计之际,对本人工作单位的人事管理经 过分析,严格按照需求分析、概要设计、详细设计、系统实施、系统测试的步骤 进行设计和书写论文, 源代码调试无误。首先建立系统应用原型,然后,对初始原 型系统进行需求迭代,不断修正和改进,真到形成本单位满意的可行系统.通过本 系统的投入使用能替代原先手工管理的落后方式。 本论文是从现代企业管理中的人事管理现状出发,针对人事管理的复杂程 序, 经过详细的系统调查, 开发出的操作简单而且方便实用的一个人事管理系统。 对企业中的考勤信息、请假信息、加班信息、出差信息、调动信息进行管理。 本 系 统 的 前 端 开 发 工 具 是 Visual Basic 6.0, 后 台 数 据 库 引 擎 选 用 数 据 库 软 件 Access 2000。 本人主要贡献(企业人事管理系统中员工考勤添加修改模块) 。

【 Abstract】
The personal management system occupies the very and important position in the business enterprise, it relates to the business enterprise file of internal each employee, among them including the new employee's increment, employee's file checks to seek, the employee's detailed data etc .As for the business enterprise, the personal management system
2

constitutes the part indispensably, it manages the employee of the business enterprise availably, rising to the business enterprise fluxion and allotments of the internal personnel the important management function, it reflects the personnel variety of the business enterprise with accuracy. This system is I borrow at the moment that this graduation design, work to oneself the personal management of the unit is through analysis, strict is analytical according to the need, essentials design, detailed design, system implement, the step that system test carry on design and write the thesis, the source code adjust to try without any error. Build up the system application prototype first, then, start the prototype system to carry on the need generation to the beginning, revise and improve continuously, really arrive the formation originally the unit is satisfied and can go the system .The devotion usage that passes this system can act for at first the handicraft manage of fall behind the way. This thesis is from the modern business enterprise present condition, aim at the personal management of the complicated procedure operation, pass by detailed system investigate, develop simple and convenient practical such a personal management system. The head tool of this system development is Visual Basic 6.0, the engine of the backstage database software choose to use is Access 2000. This system through tests, and run stability, and have already got the approbation.

【关键词】
人 事 管 理 系 统 , Visual Basic 6.0 , Access 2000 、 员工、考勤、 请假、加班、出差、调动。

【 Keywords】
Personal management system, Visual Basic 6.0 , Access 2000 、 Employee, test frequently, ask for leave, work overtime, go on errands, transfer.

3

目 录
前言 摘要 关健词 第一章人事管理系统概述 1.1 人 事 管 理 系 统 简 介 1.2 企 业 信 息 化 发 展 1.3 关 于 人 事 管 理 系 统 的 几 个 误 区 第二章 人事管理系统分析 2.1 系 统 初 步 调 查 2.2 系 统 可 行 性 分 析 2.3 系 统 详 细 调 查 2.4 系 统 业 务 流 程 图 2.5 系 统 的 安 全 性 第三章 人事管理系统设计 3.1 方案设计 3.2 开 发 工 具 选 择 3.3 数 据 库 设 计 3.3.1 人事管理系统的详细调查 3.3.2 系 统 逻 辑 模 型 的 提 出 3.3.3 数 据 字 典 3.3.4 概念结构设计 3.3.5 逻辑结构设计 3.3.6 物理结构设计 3.3.7 数 据 库 实 现 3.4 模 块 设 计 第四章 人事管理系统的实现 4.1 开 发 环 境 的 选 择 4.2 人 事 管 理 系 统 模 块 设 计 举 例 4.3 人 事 管 理 系 统 测 试 4.4 系 统 运 行 与 维 护 4.5 系 统 的 转 换 方 案 第五章 开发总结 参考文献

4

人事管理系统的设计
第一章 人事管理系统概述

在开发《人事管理系统》之前,我认真地阅读了很多相关材料, 其 中 包 括《 管 理 科 学 》 《 人 力 资 源 开 发 与 管 理 》 《 人 事 管 理 》 《 数 据 , , , 结 构 》 《 工 程 算 法 》 《 VB6.0 教 程 》 《 Access 2000 使 用 手 册 》 等 , , , , 为下一步软件开发奠定了坚实的理论基础。

§1.1 人 事 管 理 系 统 简 介
随着市场竞争的日趋激烈,人已成为实现企业自身战略目标的一 个非常关键的因素。 业中人心的向背和员工对工作的投入程度在很 企 大程度上决定了该企业的兴衰与成败。 何能保持本企业员工的工作 如 责 任 感 ,激 励 他 们 的 工 作 热 情 ,减 少 人 才 的 流 失 ,已 成 为 困 扰 企 业 主 管和人力资源经理的一个日益尖锐的问题。 业管理从根本上来讲就 企 是对人的管理。 一、 人 事 管 理 系 统 ( HRMS) 的 发 展 历 史

人 力 资 源 管 理 系 统 的 发 展 历 史 可 以 追 溯 到 20 世 纪 60 年 代 末 期 。 由于当时计算机技术已经进入实用阶段, 时大型企业用手工来计算 同 和 发 放 薪 资 既 费 时 费 力 又 非 常 容 易 出 差 错 ,为 了 解 决 这 个 矛 盾 ,第 一 代的人力资源管理系统应运而生。当时由于技术条件和需求的限制, 用户非常少, 且那种系统充其量也只不过是一种自动计算薪资的工 而 具 ,既 不 包 含 非 财 务 的 信 息 ,也 不 包 含 薪 资 的 历 史 信 息 ,几 乎 没 有 报 表 生 成 功 能 和 薪 资 数 据 分 析 功 能 。但 是 ,它 的 出 现 为 人 力 资 源 的 管 理 展示了美好的前景, 用计算机的高速度和自动化来代替手工的巨大 即 工 作 量 ,用 计 算 机 的 高 准 确 性 来 避 免 手 工 的 错 误 和 误 差 ,使 大 规 模 集 中处理大型企业的薪资成为可能。 第 二 代 的 人 力 资 源 管 理 系 统 出 现 于 20 世 纪 70 年 代 末 。 由 于 计 算 机 技 术 的 飞 速 发 展 ,无 论 是 计 算 机 的 普 及 性 ,还 是 计 算 机 系 统 工 具 和 数据库技术的发展,都为人力资源管理系统的阶段发展提供了可能。 第二代人力资源管理系统基本上解决了第一代系统的主要缺陷, 非 对

5

财务的人力资源信息和薪资的历史信息都给予了考虑, 报表生成和 其 薪资数据分析功能也都有了较大的改善。 这一代的系统主要是由计 但 算机专业人员开发研制的,未能系统地考虑人力资源的需求和理念, 而且其非财务的人力资源信息也不够系统和全面。 人 力 资 源 管 理 系 统 的 革 命 性 变 革 出 现 在 20 世 纪 90 年 代 末 。 由 于 市 场 竞 争 的 需 要 ,如 何 吸 引 和 留 住 人 才 ,激 发 员 工 的 创 造 性 、工 作 责 任感和工作热情已成为关系企业兴衰的重要因素, 才已经成为企业 人 最重要的资产之一。 公正、公平、合理”的企业管理理念和企业管 “ 理 水 平 的 提 高 ,使 社 会 对 人 力 资 源 管 理 系 统 有 了 更 高 的 需 求 ;同 时 由 于 个 人 电 脑 的 普 及 , 数 据 库 技 术 、 客 户 /服 务 器 技 术 , 特 别 是 Internet/Intranet 技 术 的 发 展 ,使 得 第 三 代 人 力 资 源 管 理 系 统 的 出 现成为必然。 三代人力资源管理系统的特点是从人力资源管理的角 第 度 出 发 ,用 集 中 的 数 据 库 处 理 几 乎 所 有 与 人 力 资 源 相 关 的 数 据( 如 薪 资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、 岗 位 描 述 、个 人 信 息 和 历 史 资 料 )统 一 管 理 起 来 ,形 成 了 集 成 的 信 息 源 。友 好 的 用 户 界 面 ,强 有 力 的 报 表 生 成 工 具 、分 析 工 具 和 信 息 的 共 享使得人力资源管理人员得以摆脱繁重的日常工作, 中精力从战略 集 的角度来考虑企业人力资源规划和政策。

二、 人事管理相关软件简介
近几年来,国内外与人力资源管理有关的系统和程序的发展都非 常 迅 速 ,众 多 的 软 件 有 如 雨 后 春 笋 般 地 不 断 涌 现 。这 些 软 件 尽 管 各 有 特点,但从功能上来分析,大致可分为如下五种: 1. 薪 资 和 福 利 计 算 程 序 。 类 程 序 通 常 可 用 于 管 理 企 业 薪 资 和 福 这 利 计 算 的 全 过 程 ,其 中 包 括 企 业 的 薪 资 和 福 利 政 策 设 定 、自 动 计 算 个 人 所 得 税 、自 动 计 算 社 会 保 险 等 代 扣 代 缴 项 目 。通 常 ,这 些 程 序 还 可 以 根 据 公 司 的 政 策 设 置 并 计 算 由 年 假 、事 假 、病 假 、婚 假 、丧 假 等 带 薪 假 期 以 及 迟 到 、早 退 、旷 工 等 形 成 的 对 薪 资 和 福 利 的 扣 减 ,能 够 设 定企业的成本中心并按成本中心将薪资和总账连接起来, 接生成总 直 账 凭 证 ,还 能 存 储 完 备 的 历 史 信 息 供 查 询 和 生 成 报 表 ;这 类 系 统 也 可

6

处理部分简单的人事信息。 2. 培 训 管 理 系 统 。培 训 管 理 系 统 一 般 通 过 培 训 需 求 调 查 、预 算 控 制 、结 果 评 估 和 反 馈 以 及 培 训 结 果 记 载 等 手 段 ,实 现 培 训 管 理 的 科 学 化 ,并 且 和 人 力 资 源 信 息 有 机 地 联 系 起 来 ,为 企 业 人 力 资 源 的 配 备 和 员工的升迁提供科学的依据。 3. 考 勤 管 理 程 序 。为 了 有 效 地 记 载 员 工 的 出 勤 情 况 ,很 多 企 业 配 置了打卡机,考勤机等设备。考勤管理程序一般都与这些设备相接, 根 据 事 先 的 编 排 的 班 次 信 息 ,过 滤 掉 错 误 数 据 ,生 成 较 为 清 晰 的 员 工 出 勤 报 告 ,并 可 转 入 薪 资 和 福 利 程 序 中 ,使 考 勤 数 据 与 薪 资 计 算 直 接 挂钩。其生的文档还可作为历史信息保存,用于分析,统计和查询。 4. 人 力 资 源 管 理 系 统 。 力 资 源 管 理 系 统 从 科 学 的 人 力 资 源 管 理 人 角度出发,从企业的人力资源规划开始,一般包括招聘、岗位描述、 培 训 、技 能 、绩 效 评 估 、个 人 信 息 、薪 资 和 福 利 、 各 种 假 期 、到 离 职 等 与 员 工 个 人 相 关 的 信 息 ,并 以 一 种 相 容 的 、一 致 的 、共 享 的 、易 访 问和检索的方式储存到集中的数据库中, 而将企业内员工的信息统 从 一的管理起来。 灵活的报表生成功能和分析功能使得人力资源管理 其 人员可以从繁琐的日常工作中解脱出来, 精力放到更富有挑战性和 将 创 造 性 的 人 力 资 源 分 析 、规 划 、员 工 激 励 和 战 略 等 工 作 中 去 。完 整 的 历 史 信 息 记 载 了 员 工 从 面 试 开 始 到 离 职 整 个 周 期 的 薪 资 、福 利 、岗 位 变 迁 、绩 效 等 信 息 。同 时 由 于 这 类 系 统 可 管 理 较 全 面 的 人 力 资 源 和 薪 资 数 据 ,因 而 还 可 以 生 成 许 多 综 合 性 的 报 表 供 企 业 决 策 人 员 参 考 ,如 生 成 按 岗 位 的 平 均 历 史 薪 资 图 表 ,员 工 配 备 情 况 的 分 析 图 表 ,个 人 绩 效与学历、技能、工作经验、接受过的培训等关系的分析等等。

§1.2 企 业 信 息 化 发 展
随着信息时代的到来,企业的信息化已被提上日程。企业自然会 考虑下述问题: 在规划方案中,哪些功能是必需的?哪些并不适合自己的公司? 遗漏了哪些必需功能?企业建立管理信息系统时, 行的工作流程还 现 需要怎么调整才能使工作效率真正提高?企业管理信息系统将来的

7

运 行 、维 护 、升 级 、改 造 成 本 有 多 高 ? 选 择 什 么 样 的 管 理 信 息 系 统 软 件平台开发自己的管理信息系统最可靠而且经济?而只有对以下三 个问题进行分析,才有助于推动企业的信息化。 1、 信 息 是 现 代 企 业 管 理 的 核 心 。 在 开 始 着 手 规 划 和 建 立 企 业 的 管理信息系统时, 坚信信息技术的发展将在企业的管理过程中起着 要 越 来 越 重 要 的 地 位 ,而 且 越 来 越 决 定 着 企 业 管 理 的 效 果 和 效 率 。在 提 高和改善企业管理的过程中, 该明白如何采用管理信息系统这一有 应 效 管 理 工 具 ,以 及 它 是 如 何 在 企 业 的 管 理 中 起 作 用 的 。随 着 企 业 规 模 的 扩 大 ,其 管 理 组 织 会 变 得 越 来 越 庞 大 和 困 难 ,而 信 息 的 处 理 与 使 用 也变得越来越重要。 2、 在 规 划 和 建 设 一 个 企 业 的 管 理 信 息 系 统 时 , 有 可 能 误 认 为 企 业的管理信息系统就是在企业原有管理模式上加入计算机信息处理。 其实, 个好的管理信息系统绝不是企业原有的管理模式和计算机信 一 息处理的简单相加, 立管理信息系统的目的是通过实现对企业信息 建 处理的现代化而达到高效完成管理工作, 以一个好的管理信息系统 所 的模型一定要能够与当今信息技术紧密相连, 能够充分利用其优良 并 性能。 3、 企 业 信 息 化 是 一 个 过 程 。 企 业 的 信 息 化 规 划 和 建 设 是 一 个 不 断 改 进 、逐 步 提 高 的 过 程 。在 这 样 一 个 复 杂 的 系 统 中 存 在 着 大 量 的 作 用 因 素 ,只 能 通 过 长 斯 不 断 的 努 力 才 能 达 到 目 的 ,在 企 业 信 息 化 的 规 划和建设过程中, 可将职工的计算机和软件使用培训等视为可有可 不 无,信息化的发展使计算机和软件成为企业日常管理中的必然。

§1.3 关 于 人 事 管 理 系 统 的 几 个 误 区
1. 缺 乏 长 远 的 战 略 眼 光 有些企业领导人在人力资源管理中缺乏长远的战略眼光,认识不 到采用和实施人力资源管理系统的重要性。他们或者只顾眼前利益, 认 为 人 力 资 源 管 理 系 统 是 一 种“ 锦 上 添 花 ”的 项 目 ,没 有 紧 迫 感 ;或 者对人力资源管理系统缺乏认识, 以为自己也已采用了人力资源管 自 理系统, 不知他们实质上只是采用了带有部分人事数据的简单薪资 殊

8

处 理 软 件 ;还 有 些 企 业 在 选 取 人 力 资 源 管 理 系 统 时 ,只 考 虑 满 足 当 时 的 需 求 ,而 且 考 虑 人 格 因 素 多 于 系 统 功 能 ,这 样 选 取 的 系 统 会 后 患 无 穷, 仅现在缺乏指导价值, 来随着企业的发展和管理水平的提高, 不 将 也会阻碍企业的进步。 2. 人 力 资 源 管 理 系 统 是 一 个 拿 来 即 用 的 软 件 由于缺乏对系统实施工作的重要性和艰巨性的认识,将人力资源 管 理 系 统 混 同 于 一 个 普 通 的 软 件 ,没 有 统 一 的 规 划 和 项 目 组 织 ,边 用 边 开 发 ,使 系 统 的 实 施 处 于 一 种 混 乱 的 状 态 ,会 造 成 数 据 的 重 复 ,不 相容和不全面,对整个企业产生不利的影响。 3. 不 顾 实 力 自 己 开 发 人 力 资 源 管 理 系 统 将现代人力资源管理的理念和计算机技术有效地集合起来,从长 远、 统和发展的眼光进行全面的系统分析和设计并不是一件轻而易 系 举 的 事 情 。而 且 用 于 维 护 、文 档 编 写 、调 试 和 排 错 等 所 花 费 的 人 力 物 力财力也远远超过购买商品化软件所需的成本。 4. 盲 目 依 靠 销 售 商 的 实 施 顾 问 过分依赖销售商的实施顾问是不可取的,除了费用和响应时间方 面 的 因 素 之 外 ,企 业 的 相 关 设 置 不 可 能 一 成 不 变 ,而 实 施 顾 问 不 可 能 长时间地熟悉某个企业人力资源管理系统的详细设置。 以企业应该 所 建立包括计算机人员和人力资源管理人员在内的项目核心小组。

第二章 §2.1 系 统 初 步 调 查

人事管理系统分析

一、应用人事管理系统的必要性 现在不少企业管理人员已经认识到采用人力资源管理系统的必 要 性 ,纷 纷 开 发 或 选 购 适 合 本 企 业 特 点 的 人 力 资 源 管 理 系 统 。人 事 管 理系统具体以下优点: 1. 采 用 人 事 管 理 系 统 , 可 以 用 集 中 的 数 据 库 将 与 人 力 资 源 管 理 相 关 的 信 息 全 面 、有 机 地 联 系 起 来 ,有 效 地 减 少 了 信 息 更 新 和 查 找 中

9

的 重 复 劳 动 ,保 证 了 信 息 的 相 容 性 ,从 而 大 大 地 提 高 了 工 作 效 率 ,还 能使原来不可以提供的分析报告成了可能。 2. 人 事 管 理 系 统 有 着 易 访 问 、 易 查 询 的 信 息 库 。 在 没 有 采 用 和 实 施 人 事 管 理 系 统 之 前 ,当 企 业 管 理 人 员 要 统 计 数 字 时 ,往 往 依 赖 于 某个人或某些人来获取。 种依赖于人的过程往往会因为花费的时间 这 较长或某个人不在办公室而不能及时完成。 采用和实施人事管理系 在 统 之 后 ,就 会 将 依 赖 于 人 的 过 程 改 为 依 赖 于 计 算 机 系 统 的 过 程 。企 业 管 理 人 员 只 要 获 取 了 相 应 的 权 限 ,就 可 以 随 时 进 入 系 统 ,直 接 查 阅 相 应 的 信 息 。实 施 了 人 事 管 理 系 统 之 后 ,不 仅 可 以 得 到 较 为 全 面 的 、详 细 的 、未 经 过 过 滤 的 第 一 手 人 事 信 息 ,发 现 不 公 平 的 现 象 ,甚 至 还 可 以 从 中 得 到 某 些 灵 感 和 启 发 ,从 而 改 进 企 业 的 管 理 。这 种 透 明 性 还 可 以规避企业管理中潜在的风险。 3. 采 用 和 实 施 人 事 管 理 系 统 不 仅 仅 是 为 了 提 高 工 作 效 率 。 应 该 看 到 ,在 实 施 人 事 管 理 系 统 之 后 ,经 过 整 合 的 、较 为 全 面 、准 确 、一 致和相容的信息不仅可以让企业领导对本企业人力资源的现状有一 个比较全面和准确的认识, 时也可以生成综合的分析报表供企业领 同 导人在决策时参考。这就提高了企业的管理水平。 二。人事管理系统实施的特点及注意事项 要想通过人事管理系统来提高企业的管理水平,光是选取一个好 的 或 比 较 好 的 、适 合 本 企 业 特 点 的 人 事 管 理 软 件 还 是 远 远 不 够 的 。人 事 管 理 软 件 通 常 只 是 一 个 通 用 的 系 统 框 架 ,它 提 供 诸 如 报 表 生 成 、查 询 、宏 等 辅 助 工 具 协 助 使 用 者 工 作 。作 为 一 种 通 用 的 系 统 ,它 适 用 于 多种行业和企业的需要,能够处理各种各样包括规范的和不规范的、 普 遍 存 在 的 和 特 殊 的 、相 对 简 单 和 错 综 复 杂 的 情 景 。因 为 不 同 类 型 企 业的不同需要就成为了关键。 由于人事管理系统管理的是所有与人相关的数据,信息量大,变 化 频 繁 ,内 部 关 联 性 较 弱 ,数 据 的 采 集 、确 认 、更 新 和 检 查 都 比 较 困 难 ,而 且 其 管 理 的 信 息 与 员 工 的 切 身 利 益 密 切 相 关 ,因 此 ,实 施 工 作 尤 为 繁 琐 和 困 难 。为 了 最 大 限 度 地 提 高 企 业 的 人 事 管 理 水 平 ,成 功 地

10

实施人事管理系统,需要特别注意以下七点: 1. 主要领导理解和全力支持。为了保证数据的完整、准确和

及 时 ,需 要 企 业 内 各 个 部 门 和 全 体 员 工 的 积 极 配 合 ,要 有 企 业 决 策 层 的参与和支持。 2. 培训。要想使人事管理系统真正地发挥应有的效用,必须

通过培训转变人们的思维方式和行为方式, 会通过系统来进行科学 学 的管理。 3. 改进企业的相关制度和信息结构。要充分地回顾本企业的

相关政策和信息组成,充分利用人事管理系统改进企业的人事管理。 4. 明确基础上的实施目标。要明确整个项目的实施计划和目

标,明确需要采集的数据及保留的历史信息。 5. 组织精悍的基础上实施小组。实施小组人员的组成就包括

企 业 管 理 人 员 ,人 事 、薪 资 、计 算 机 专 业 人 员 ,他 们 是 企 业 运 行 人 事 管理系统的主要骨干和技术支持。 6. 测试软件功能。由于人事管理系统需处理的信息关系非常

复 杂 ,各 企 业 的 需 求 也 不 尽 相 同 ,所 以 在 其 实 的 初 期 要 进 行 软 件 功 能 的测试,以确保日后的使用。 7. 建立科学的程序性文件。 事相关信息的特点是信息量大、 人

变 化 频 繁 、采 集 和 确 认 困 难 而 且 无 内 联 关 系 。采 用 计 算 机 系 统 来 管 理 人 事 信 息 要 求 数 据 的 采 集 、更 新 能 够 完 整 、准 确 和 及 时 。而 两 者 之 间 的矛盾就要通过建立必要的科学的程序性文件才能为人事管理系统 的实施和正常运行提供有效的保证。

§2.2 系 统 可 行 性 分 析
人事管理系统在企业中占有极其重要的地位,它关系着企业内部 每 个 职 员 的 档 案 ,其 中 包 括 新 职 员 的 增 加 ,职 员 档 案 的 查 找 ,职 员 的 详细资料等等。 于企业来讲, 事管理系统是不可缺少的组成部分, 对 人 它有效地管理企业的员工, 企业内部人事的流动和分配起着重要的 对 管理作用,它正确地反映着企业的人事变化。 (企业管理业务流程图)

11

企业负责人(厂长、经理)

销售部 主管

人事部 主管

生产部 主管

财务部 主管

图 2-1 根据企业对人员管理的需要,开发一个“人事管理系统” 开发 , 目的如下: 1. 2. 能够对员工的有关资料进行输入,修改,删除。 能够为企业提供强大的查询功能,以便企业主管了解和掌

握各职员的具体情况。 3. 4. 能够提供员工的考勤信息及调动信息。 能够对员工的资料数据进行备份, 作为相关的历史资料。 以

§2.3 系 统 详 细 调 查
(一) 功能需求 基于以上的开发目标,系统开发的范围确定如下:本系统只涉及 人事资料部分, 包括工资计算等项目; 系统提供强大的查询功能, 不 本 可 进 行 不 同 类 型 查 询 ,提 供 多 种 索 引 ;本 系 统 提 供 记 录 的 添 加 ,删 除 和修改;本系统可单条或多条输出个人资料,并可打印相关报表。 (二) 数据需求 通过调查和研究,本系统仅提供一个数据库,但该数据库包含各 项 所 需 信 息 , 表 名 为 person, Access 表 结 构 ) ( 此表包括职员所有的详细资料,可以为企业主管提供详细信息, 以期对员工管理及分配。 (三) 运行环境 大多 数 中小 型 企业 ,对 计 算机 的 要求 并不 高 ,一 般 只需 能进 行 工 资 计 算 ,人 事 录 入 ,打 印 报 表 等 功 能 即 可 ,所 以 计 算 机 的 配 置 约 为 普 通 配 置 , DDR256M 内 存 , 17 英 寸 纯 平 显 示 器 , 80G 左 右 硬 盘 , 标 准 键 盘 和 鼠 标 , 打 印 机 , Windows 98/xp/me/2000 操 作 系 统 等 。 而 本 系 统

12

开 发 工 具 选 取 VB 6.0, 所 以 编 制 的 程 序 在 以 上 环 境 的 机 器 中 均 可 顺 利运行,并且本系统占用空间较小,主要依靠鼠标和键盘进行录入, 依靠打印机进行输出。详细调查的重点是对管理业务的流程进行描 述 ,通 过 采 用 系 统 流 程 图 中 部 分 图 形 工 具 来 描 述 管 理 活 动 ,进 行 规 范 化说明。

§2.4 业 务 流 程 图
业务流程图的符号说明如下图所示:

1、 系统中人员

2、 实体或单据

3、 实物或信息流

4、 处理

5、 数据存储

图 2-2 业务流程图图例 详 细 调 查 之 后 ,绘 制 出 的 人 事 管 理 系 统 的 管 理 业 务 流 程 图 如 下 图 所示。

调动信息

调 动 信息

进行处 理
各科室车 间部门人 事信息 员工名单 人事科

员 工 信息

有 关 领导

出 勤 信息 人事科存档

员工考勤信息

图 2-3 人 事 管 理 系 统 业 务 流 程 图

§2.5 系 统 的 安 全 性
信息的透明和安全是一对矛盾的两个方面。人事管理系统的安全 性 设 计 使 得 机 密 的 人 事 信 息 处 在 一 种“ 受 控 ”状 态 下 的 透 明 。只 有 得 到 系 统 授 权 的 用 户 才 可 以 访 问 被 允 许 获 取 的 信 息 。因 此 ,不 需 要 担 心 会 因 为 采 用 人 事 管 理 系 统 而 降 低 了 人 事 信 息 的 保 密 性 ,相 反 ,信 息 的 安全性会因为人事管理系统的采用而得到加强。
13

本程序考虑到系统的安全性,主要设置了用户登录论证,其中包 括初始用户登录验证和再次用户登录验证,并且需要进行密码校验, 保 证 了 信 息 的“ 可 控 ”透 明 性 。而 且 ,为 了 提 供 企 业 日 后 需 要 的 各 期 历史资料, 系统还提供数据备份功能, 原始资料的保留更为方便, 本 使 并且能够进行新旧资料的对比, 企业主管对各期人员变动更好的了 使 解,为以后的决定打下良好的基础。 (附密码验证流程图)
开 始

提示登录 本程序

输入用户 密码

显示错误

调用密码检 测子程序

进入人事管理系统

图 2-4 密 码 验 证 流 程 图

14

第三章 §3.1 方案设计

人事管理系统设计

本 项 目 在 初 始 设 计 时 曾 经 考 虑 过 三 套 设 计 方 案 ,方 案 内 容 大 致 如 下: 第 一 套 :系 统 功 能 分 为 四 个 模 块 ,分 别 为 文 件 操 作 ,数 据 库 操 作 , 系统设置和帮助文件。 1. 文 件 操 作 模 块 包 括 对 本 程 序 所 使 用 的 所 有 文 件 的 打 开 , 关 闭,复制,备份和重新安装等操作。 2. 数 据 库 操 作 模 块 包 括 对 本 程 序 所 使 用 的 数 据 库 的 追 加 , 查 询,删除等操作。 3. 系 统 设 置 模 块 包 括 对 本 程 序 所 使 用 的 数 据 库 的 路 径 设 置 ,用 户安全设置等操作。 4. 帮 助 模 块 包 括 如 何 使 用 本 系 统 的 各 类 操 作 。 第二套: 统功能分为两个模块, 别为文件操作和数据库操作。 系 分 1. 文 件 操 作 模 块 包 括 对 系 统 所 使 用 的 各 类 文 件 的 维 护 ,以 及 报 表的打印和系统的设置等操作。 2. 数 据 库 操 作 模 块 包 括 对 本 程 序 所 使 用 的 所 有 数 据 库 的 添 加 , 删除,修改,查询等操作。 第 三 套 :系 统 功 能 分 为 六 个 模 块 ,分 别 为 系 统 设 置 ,员 工 基 本 信 息,员工考勤模块,员工调动模块,数据管理模块. 在这三套方案中,我选择了第三套方案为开发方案,原因如下: 系统需求分析中要求的文件组成比较简单; 系统所需要的系统设置 本 也 比 较 少 ;而 又 由 于 需 求 分 析 中 对 查 询 功 能 的 要 求 较 多 ,所 以 需 要 着 重 于 查 询 功 能 的 设 计 ;由 于 对 录 入 的 需 要 ,本 系 统 着 眼 于 对 单 条 记 录 的编辑。

§3.2 开 发 工 具 选 择
本 程 序 在 设 计 之 初 曾 经 考 虑 过 几 种 其 它 的 开 发 工 具 , 如 VF, 例 VC, VB, 之 所 以 选 择 VB 6.0 作 为 开 发 工 具 , 主 要 有 以 下 几 个 方 面 :

15

1. VF 作 为 数 据 库 开 发 软 件 虽 然 对 其 自 身 的 数 据 库 文 件 支 持 较 好 ,但 是 对 于 其 他 类 型 的 数 据 库 文 件 却 需 要 额 外 的 驱 动 程 序 支 持 。这 样 , 不 仅 使 VF 的 使 用 效 率 大 打 折 扣 , 还 使 程 序 开 发 又 附 加 了 许 多 作 业 ,不 利 于 软 件 的 开 发 工 作 ,而 且 从 办 公 自 动 化 整 个 系 统 考 虑 ,支 持 VF 的 所 占 比 例 很 少 , 可 以 说 几 乎 没 有 , 所 以 放 弃 使 用 VF 进 行 本 系 统 的软件开发。 2. VC 作 为 一 种 软 件 开 发 工 具 ,虽 然 它 的 功 能 十 分 强 大 齐 全 ,可 以 用 于 开 发 各 类 软 件 , 且 由 VC 生 成 的 应 用 程 序 使 用 效 率 也 比 较 高 , 而 但 是 在 中 小 规 模 的 数 据 库 应 用 程 序 中 ,尤 其 是 在 本 程 序 中 ,不 仅 不 能 够 发 挥 VC 的 优 势 , 相 反 还 使 本 程 序 的 开 发 复 杂 化 , 多 做 许 多 额 外 的 设 计 , 对 于 开 发 时 间 来 说 不 太 划 算 , 所 以 不 选 择 VC 开 发 本 系 统 。 3. 与 VC, VF 相 比 较 , VB 对 于 Access 一 类 的 数 据 库 支 持 较 好 , 而且提供了许多十分实用的组件, 些为开发中小型数据库应用系统 这 提 供 了 许 多 便 利 条 件 , 所 以 在 开 发 本 系 统 时 选 用 了 VB 6.0 作 为 开 发 工具。

§3.5 数 据 库 设 计 §3.5.1 学生管理系统的详细调查
对现在成绩管理系统进行详细调查是了解系统需求和进行系统 分析和设计的重要基础工作, 此要对学校的学生的信息管理工作进 因 行 全 面 、细 致 而 充 分 的 调 查 研 究 。系 统 调 研 采 取 的 主 要 方 法 是 到 现 场 去 ,通 过 座 谈 、询 问 、观 察 甚 至 直 接 参 与 管 理 活 动 ,自 上 而 下 、逐 步 细化的进行了解。 首先与分管厂长、人事主管及财务主管交流意见,了解他们对现 有 信 息 系 统 的 看 法 ,有 无 新 的 信 息 需 求 ,原 系 统 有 无 多 余 的 功 能 。然 后 ,与 部 分 领 导 和 部 分 职 工 ,特 别 是 从 人 事 主 管 那 里 了 解 他 们 对 原 有 信 息 系 统 的 看 法 。在 此 基 础 上 ,深 入 到 具 体 业 务 职 能 管 理 部 门 即 人 事 科 和 财 务 科 进 行 详 细 的 调 查 ,了 解 他 们 对 现 有 系 统 的 看 法 ,在 操 作 上 有无需要改进的地方。 通 过 调 查 得 知 ,原 人 事 管 理 已 经 初 步 实 现 了 用 计 算 机 进 行 人 事 管

16

理 ,可 为 单 位 领 导 、人 事 部 门 及 财 务 部 门 提 供 某 阶 段 的 人 事 信 息 及 出 勤 情 况 。 但 具 体 的 操 作 仍 为 用 WORD 及 EXCEL 电 子 表 格 处 理 软 件 进 行 处 理 。为 了 充 分 利 用 计 算 机 使 人 事 管 理 工 作 进 一 步 规 范 化 ,满 足 人 事 管 理 及 财 务 管 理 方 面 的 信 息 需 求 ,使 用 人 事 管 理 水 平 向 标 准 化 、现 代 化 迈 进 一 步 ,原 人 事 管 理 信 息 操 作 方 式 就 需 要 重 新 加 以 改 进 ,以 适 应 新形势的变化。就需要利用计算机数据库技术强大的数据处理功能, 建 立 一 个 功 能 强 大 的 管 理 信 息 系 统 。也 就 是 说 ,新 建 立 的 系 统 要 求 在 保持原有系统的功能的基础之上,要求具有良好的适用性和扩展性。 要 设 计 一 个 性 能 良 好 的 管 理 系 统 ,明 确 用 户 的 应 用 环 境 对 系 统 的 要求是首要的和基本的。 系统从以下四个方面对用户需求进行了分 本 析: (一) 用户的信息需求:能根据需要对人事信息及考勤信息, 调动信息进行查询。 (二) 用 户 的 处 理 要 求 :能 进 行 每 位 员 工 的 基 本 信 息 管 理 ,员 工 考 勤 信 息 的 管 理 ,调 动 信 息 的 管 理 等 。能 对 相 应 的 信 息进行增加、删除、修改。 (三) 对 系 统 的 适 应 性 、扩 展 性 要 求 :要 求 系 统 能 够 不 受 未 来 使 用 环 境 变 化 的 影 响 ,仍 能 照 常 使 用 。尽 量 做 到 一 次 投 入,长久受益。 (四) 对系统的安全性要求,要求进入系统必须进行口令校 验。 §3.3.2 系 统 逻 辑 模 型 的 提 出 系统分析的主要成果是系统的逻辑模型。 系统的逻辑模型主要 本 是以系统的数据流图和数据字典为主要描述工具。 在对人事管理方 即 式和业务流程进行认真分析和研究的基础上, 除现有组织机构和业 排 务 分 工 所 造 成 的 信 息 障 碍 。完 全 从 业 务 管 理 功 能 和 管 理 对 象 出 发 ,按 照信息系统中应有的数据流和数据结构来勾画系统的概貌。 一 、 数 据 流 图 ( 简 称 为 DFD) 数 据 流 图 是 组 织 中 信 息 运 动 的 抽 象 。是 在 调 研 的 基 础 上 ,从 系 统

17

的 科 学 性 、管 理 的 合 理 性 、实 际 运 动 的 可 行 性 角 度 出 发 。将 信 息 处 理 功 能 和 彼 此 之 间 的 联 系 自 顶 向 下 ,逐 层 分 解 ,从 逻 辑 上 精 确 地 描 述 系 统 应 具 有 的 数 据 加 工 功 能 、数 据 输 入 、数 据 输 出 、数 据 存 储 及 数 据 来 源和去向(外部实体)等项目。 首 先 ,分 析 人 事 管 理 的 总 体 情 况 ,划 分 系 统 边 界 ,识 别 系 统 的 数 据来源和去处,确定外部实体,得出系统的顶层数据流程图; 然后划分出几个主要的信息管理功能,并明确各功能之间的联 系,绘制出数据流程图。 数据流程图的符号说明如下图所示。

外部实体

处理 图 3-1

数据流 数据流程图的符号

数据存储

人 事 管 理 系 统 的 顶 层 数 据 流 程 图 如 图 5- 5 所 示 。
人事基本信息出勤 调动出差请假信息 人事管理信息处理

P

用户

单位领导

D1

各种报表

图 3-2 人事信息处理的顶层数据流程图 现在以加班处理的数据流程图(图 3-3)为例说明二层数据流程图,其它如 出差、出勤等信息的数据流程图略

18

加班记录 工作 上报 汇总 审核

加班记录

加班人员

部门负 责人
上报

送交 人事部门 财务部门

送交

领导审 批

图 3-3 人事管理系统的数据流程图如下图所示
P1
F1 1221 录入员工基本 信息和工作信 息
D1

F2 员工信息空白单

P2
1221 填写有关信息

P3
D2

已填好的有关信息

员工信息处理

F3

D3

处理结果

F4

图 3-4

系统数据流程图

其 中‘ P’表 示 数 据 处 理 , F’表 示 数 据 流 , D’表 示 数 据 存 储 。 ‘ ‘

§3. 3. 3 数 据 字 典 ( 简 称 为 DD)
绘 制 DFD,只 是 对 数 据 处 理 和 彼 此 之 间 的 联 系 进 行 了 说 明 。 为 进 一 步 明 确 数 据 的 详 细 内 容 和 数 据 加 工 过 程 ,应 将 数 据 流 图 中 的 全 部 数 据 流 及 其 组 成 部 分 的 数 据 元 素 ,数 据 存 储 ,数 据 加 工 ,通 过 数 据 字 典 描 述 清 楚 ,以 便 于 此 后 系 统 设 计 的 进 行 。 这 就 需 要 开 发 人 员 编 写 详 细 的 数 据 字 典 ,来 描 述 系 统 开 发 过 程 的 细 节 。 限于篇幅,下面仅列出本系统中的部分有关数据项的数据字典。

19

表 1: 员 工 编 号
数 据 项 系统名:人事管理系统 数据项值: 类型:文本 长度:8 个字节 取值范围: 编号:I001 名称:员工编号 别名:编号

简述:每个员工都有唯一的一个编号,编号是某位员工的唯一标识 .我们可以用形如 “20040204 “来标识一个员工, 前四位 ‘2004’ 表明进入单位的时间, ‘02’ 表示部门, ‘04’ 表明此职工在该部门的序号,若本部门人数超过 100,则用字母加数字的形式如“A1”的 形式表示。 修改记录: 编写 审核 日期 日期

表 2: 员 工 姓 名
数 据 项 系统名:人事管理系统 数据项值: 编号:I002 名称:员工姓名 别名:姓名 取值范围:

类型:文本

长度:8 个字节

简述:每个员工都有唯一的姓名, 若出现重名现象, 我们可以查看此员工的编号进行区别。 修改记录: 编写 审核 日期 日期

表 3: 性 别
数 据 项 系统名:人事管理系统 数据项值: 编号:I003 名称:性别 别名: 取值范围:男、女

类型:文本

长度:2 个字节

简述:性别仅有两种情况,为了便于录入,在设计时可以采用单选按钮或下拉列表框的方 式。 修改记录: 编写 审核 日期 日期

表 4: 籍 贯

20

数 据 项 系统名:人事管理系统 数据项值: 编号:I004 名称:籍贯 别名: 取值范围:

类型:文本

长度:12 个字节

简述:员工的出生地

修改记录:

编写 审核

日期 日期

表 5: 年 龄
数 据 项 系统名:人事管理系统 数据项值: 编号:I005 名称:年龄 别名: 取值范围: 16-99

类型:数字

长度:2 个字节

简述:员工的岁数,因为企业要求最低文化程度为高中或中专,所以最低年龄为 16 岁。 此外还要统计退休的人员岁数。所以取值范围为 16-99 修改记录: 编写 审核 日期 日期

表 6: 生 日
数 据 项 系统名:人事管理系统 数据项值: 编号:I006 名称:生日 长度:8 个字节 别名:出生日期 取值范围:

类型:日期/时间

简述:员工的出生日期。 修改记录: 编写 审核 日期 日期

表 7: 学 历

21

数 据 项 系统名:人事管理系统 数据项值: 编号:I007 名称:学历 别名: 取值范围:

类型:文本

长度:8 个字节

简述:因为员工的学历分为高中,中专,大专,本科,硕士,博士,博士后这几种情况。 所以为了便于录入,在设计时可以采用单选按钮或下拉列表框的方式。尽管企业中现在还 没有具有博士及博士后学历的员工,但为了系统以后能适应企业发展的需要,需要把这两 种学历考虑进去。 修改记录: 编写 审核 日期 日期

表 8: 专 业
数 据 项 系统名:人事管理系统 数据项值: 编号:I008 名称:专业 别名: 取值范围:

类型:文本

长度:20 个字节

简述:员工取得现有学历时所学的专业。 修改记录: 编写 审核 日期 日期

表 9: 住 址
数 据 项 系统名:人事管理系统 数据项值: 编号:I009 名称:住址 别名: 取值范围:

类型:文本

长度:26 个字节

简述:员工现在的家庭住址,若员工的家庭住址变动,则从每年一度的员工简明情况登记 表中的信息进行修改。 修改记录: 编写 审核 日期 日期

表 10: 邮 编

22

数 据 项 系统名:人事管理系统 数据项值: 编号:I010 名称:邮编 别名: 取值范围:

类型:文本

长度:7 个字节

简述:员工家庭住址的邮政编码。因现在我国的邮政编码为 6 个字节,但为了系统能适应 未来形势的变化,特设为 7 个字节。 修改记录: 编写 审核 日期 日期

表 11: 电 话
数 据 项 系统名:人事管理系统 数据项值: 编号:I011 名称:电话 别名:电话号码 取值范围:

类型:文本

长度:12 个字节

简述:现在的电话号码大部分为 7 位或 8 位,再加上分隔符所以设为 12 位,是为了以后 系统适应未来形势的变化。 修改记录: 编写 审核 日期 日期

表 12: Email
数 据 项 系统名:人事管理系统 数据项值: 编号:I012 名称: Email 长度:20 个字节 别名:电子邮箱 取值范围:

类型:文本

简述:员工的邮箱地址。 修改记录: 编写 审核 日期 日期

表 13: 参 加 工 作 时 间
数 据 项 系统名:人事管理系统 数据项值: 编号:I013 名称: 参 加 工 作 时 间 长度: 取值范围: 别名:

类型:日期/时间

简述:员工参加工作时间。 修改记录: 编写 审核 日期 日期

表 14: 进 入 公 司 时 间
23

数 据 项 系统名:人事管理系统 数据项值: 编号:I014 名称: 进 入 公 司 时 间 长度: 取值范围: 别名:

类型:日期/时间

简述:员工进入本公司时间,注意与参加工作时间不同。 修改记录: 编写 审核 日期 日期

表 15: 部 门
数 据 项 系统名:人事管理系统 数据项值: 编号:I015 名称: 部 门 长度:12 别名:

类型:文本

取值范围:

简述:员工当前所在的部门,因为员工可能在不同的部门中调动,所以可根据定期的员工 信息登记表进行修改。 修改记录: 编写 审核 日期 日期

表 16: 起 薪 时 间
数 据 项 系统名:人事管理系统 数据项值: 编号:I016 名称: 起 薪 时 间 长度: 别名:

类型:日期/时间

取值范围:

简述:员工从事相应的工作可以领取相应的薪金的时间 修改记录: 编写 审核 日期 日期

表 17: 职 务
数 据 项 系统名:人事管理系统 数据项值: 编号:I017 名称:职 务 长度:16 别名:

类型:文本

取值范围:

简述:员工在相应的工作岗位所承担的职责。 修改记录: 编写 审核 日期 日期

限于篇幅,其它的数据项的数据字典略。

24

§3.3.4 概念结构设计
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进 行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用 E-R 图的方法来进行数据结构分析。 E-R 设计方法是一种通过 E-R 图来描述 现实世界信息结构的 DB 设计方法。E-R 图由实体、属性、联系三部分组成。E -R 图的符号说明如图所示。

实体

属性 图 3-5 E-R 图图例

实体间的联系

在本系统的数据流程图中, 系统边界已经很清楚了,所以可直接根据它设计 本系统的 E-R 图,不必要先设计分 E-R 图,再合并总体 E-R 图了。本系统 的 E-R 图如下图所示:
学号 姓名 性别 籍贯 学生 n 年龄 生日 学历 专业 院系
入学时间

住址

邮编

电话

Email

进入学校时间

出勤

出勤情况

m ……

n

请假

m
请假信息

……

职务

成绩

图 3-6 E-R 图 学生成绩管理系统中所涉及到的主要实体集及其属性如下: 员工﹛员工编号,员工姓名,性别,籍贯,年龄,生日,学历,专业,住址,邮编,电

25

话,EMAIL,参加工作时间,进入公司时间,部门,起薪时间,职务,备注﹜; 考勤信息﹛记录编号, 员工编号,员工姓名,当前日期,上班时间,下班时间,迟到次 数,早退次数﹜; 请假信息﹛请假记录编号,员工编号,病假天数,事假天数,假期开始时间﹜; 加班信息﹛加班记录编号, 员工编号,特殊加班天数,正常加班天数,加班日期﹜; 出差信息﹛出差记录编号,员工编号,出差天数,出差日的地,出差开始时间﹜; 调动信息﹛调动记录编号,员工编号,员工姓名,原部门,新部门,原职务,新职务, 调出时间,调入时间,备注﹜。

§3.3.5 逻辑结构设计(E-R 图向关系模型的转换)
E-R 图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换 为关系模式,如何确定这些关系横式的属性和码。 对于实体间的联系我们分不同的情况讨论: (1) 若实体间的联系是 1:1,可以在两个实体转换成的两个关系中任意一个关 系的属性中加入另一个关系的码。 (2) 若实体间联系为 1:n,则在 n 端实体转换成的关系中加入 1 端实体转换成 的关系码。 (3) 若实体间联系为 n:m,则将联系转换为关系,关系的属性为诸个实体的 码加上联系具有的属性,而关系的码则为诸实体的码的组合。 由以上三点,可将上图转换为关系模型。每个关系的码用下划线表示。 员工﹛员工编号,员工姓名,性别,籍贯,年龄,生日,学历,专业,住址,邮编,电 话,EMAIL,参加工作时间,进入公司时间,部门,起薪时间,职务,备注﹜; 考勤信息﹛考勤记录编号,员工编号,员工姓名,当前日期,上班时间,下班时 间,迟到次数,早退次数﹜; 请假信息﹛请假记录编号,员工编号,病假天数,事假天数,假期开始时间﹜; 加班信息﹛调动记录编号,员工编号,特殊加班天数,正常加班天数,加班日期﹜; 出差信息﹛记录编号,员工编号,出差天数,出差日的地,出差开始时间﹜; 调动信息﹛记录编号,员工编号,员工姓名,原部门,新部门,原职务,新职务, 调出时间,调入时间,备注﹜。

§3.3.6 物理结构设计
26

设计原则如下: (1) 进行规范化设计,尽可能地减少数据冗余和重复 合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小, 就尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。 (2) 结构设计与操作设计相结合 在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增 加一些冗余数据。这虽然有悖于传统的关系数据库理论,但是考虑到选择的 机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理 效率,并且对编程实现有很大帮助,往往可以采用这种方法。 (3) 数据结构具有相对的稳定性 数据结构的相对稳定性,可以作为新、旧系统转换的依据。无论采用何种方 法或手段去处理日常事务,都应该能完成相应的功能,决不会因为采用了计 算机而丢失了必要的功能,或彻底改变了原有的工作流程和模式。计算机系 统的建成是建立在原系统充分调研的基础上的,它既不能脱离原系统的大框 架,也不是简单的重复和替代。所以数据库表结构设计应保证数据的相对稳 定,这样才能考虑在新的数据结构下的业务处理方式。 此处着重讨论如何进行规范化设计,关系范式规范化过程如下:
消去重复项 非规范化关系 和空白数据项 1NF 消除部分函数依赖 消除传递函数依赖 2NF 3NF

由逻辑结构设计中得出的关系模型可知,转化的各关系中均无重复项和 空白数据项,故是第一范式;而且如下图中的 a, b 所示(以出差信息及请假信 息为例其它略),所有非主属性都完全函数依赖于任一侯选关键字,故是第二 范式;在第二范式的前提下,可知 ER 图中 a,b 所示的四个关系的非主属性之 间都不存在函数依赖关系,故图 a,b 所表示的关系均属于第三范式。
出差编号 员工编号 出差天数 出差目的地 出差开始时间 请假编号 员工编号 病假天数 事假天数 假期开始时间

a

b

图 3-7
27

基于以上三条设计原则,本系统中关于数据库表结构设计如下: 1、 员 工 信 息 表 : 字段名称
Sid Sname Sgender Splace Sage Sbirthday Sdegree Sspecial Saddress Scode Stel Semail Sworktime Sintime Sdept Spaytime Sposition sremark

数据类型
文本 文本 文本 文本 数字 日 期 /时 间 文本 文本 文本 文本 文本 文本 日 期 /时 间 日 期 /时 间 文本 日 期 /时 间 文本 文本

字段含义
员工编号 员工姓名 性别 籍贯 年龄 生日 学历 专业 住址 邮编 电话 Email 参加工作时间 进入公司时间 部门 起薪时间 职务 备注

2、 员 工 考 勤 信 息 表
字段名称
ID Astuffid Astuffname Adate Aflag Aintime Aouttime Alate Aearly

数据类型
自动编号 文本 文本 日 期 /时 间 文本 日 期 /时 间 日 期 /时 间 数字 数字

字段含义
记录编号 员工编号 员工姓名 当前日期 出入标志 上班时间 下班时间 迟到次数 早退次数

3、 请 假 信 息 表

28

字段名称
Lid Lstuffid lIl1 Lprivate LfromDay

数据类型
自动编号 文本 数字 数字 日 期 /时 间

字段含义
记录编号 员工编号 病假天数 事假天数 假期开始时间

4、 加 班 信 息 表 字段名称
Oid Ostuffid Ospeciality Ocommon Ofromday

数据类型
自动编号 文本 数字 数字 日 期 /时 间

字段含义
记录编号 员工编号 特殊加班天数 正常加班天数 加班日期

5、 出 差 信 息 表 字段名称
Eid Estuffid Eerranddays Epurpose Efromday

数据类型
自动编号 文本 数字 数字 日 期 /时 间

字段含义
记录编号 员工编号 出差天数 出差目的地 出差日期

6、 调 动 信 息 表 字段名称
ID Aid Aname Aolddept Anewdept Aoldposition Anewposition Aouttime Aintime Aremark

数据类型
自动编号 文本 文本 文本 文本 文本 文本 日 期 /时 间 日 期 /时 间 备注

字段含义
记录编号 员工编号 员工姓名 原部门 新部门 原职务 新职务 调出时间 调入时间 备注

此外为了处理方便,我又设计了以下三个表:

29

7、 用 户 信 息 表
字段名称
UserID UserPWD

数据类型
文本 文本

字段含义
用户名称 用户密码

8、 上 下 班 时 间 设 置 表 字段名称
Begintime endtime

数据类型
日 期 /时 间 日 期 /时 间

字段含义
上班时间 下班时间

9、 员 工 编 号 计 数 表 字段名称
NUM

数据类型
数字

字段含义
编号

§3.3.7 数 据 库 实 现
本 程 序 采 用 Access 作 为 数 据 库 引 擎 , 其 主 要 原 因 是 考 虑 到 现 在 的 大 多 数 办 公 室 应 用 系 统 软 件 均 支 持 Access 数 据 库 , 所 以 只 要 应 用 于 格 式 符 合 的 计 算 机 系 统 上 即 可 运 行 , 且 由 于 Access 与 VB 皆 是 微 并 软 公 司 开 发 出 来 的 软 件 ,所 以 它 们 之 间 的 兼 容 性 非 常 好 ,容 易 配 合 使 用。 在 本 程 序 数 据 库 中 , 还 采 用 了 ODBC— — 开 放 式 数 据 库 链 接 系 统 , 它维护了数据的独立性, 且可以与其他程序链接, 到数据的关联, 而 达 方便地应用于其他的程序中。 由于本系统只是进行一般的数据库操作,对速度要求并不十分 高 , 所 以 数 据 库 中 未 调 用 Windows API 函 数 。

§3.4 模 块 设 计
按照功能分析及数据库的设计结果,为本系统设计如下模块, 最 终 得 到 如 下 图 所 示 的 功 能 模 块 图 : (附 图 )

30

学生成绩管理系统

学 生 基 本 信 息 管 理

学 生 考 勤 信 息 管 理

学 生 实 习 信 息 管 理

系 统

添 加 员 工 基 本 信 息

修 改 员 工 基 本 信 息

查 询 员 工 基 本 信 息

删 除 员 工 基 本 信 息

添 加 员 工 考 勤 信 息

修 改 员 工 考 勤 信 息

查 询 员 工 考 勤 信 息

删 除 员 工 考 勤 信 息 图 3-8

添 加 员 工 调 动 信 息

修 改 员 工 调 动 信 息

查 询 员 工 调 动 信 息

删 除 员 工 调 动 信 息

添 加 用 户 、 修 改 密 码

从 总 体 结 构 图 容 易 列 出 应 用 程 序 的 菜 单 ,由 总 体 结 构 图 转 换 到 菜 单 时 ,其 对 应 情 况 如 下 :系 统 对 应 菜 单 文 件 ,子 系 统 层 对 应 菜 单 标 题 , 功 能 层 对 应 子 菜 单 项 。本 系 统 所 使 用 的 模 块 包 括 :系 统 模 块 ,员 工 调 动信息模块,员工考勤模块,员工基本信息模块等。 1. 系 统 : 系 统 启 动 的 时 候 有 一 个 管 理 员 用 户 ,使 用 这 个 用 户 登 录 后 ,可 以 添 加 其 它 用 户 ,而 且 每 一 个 用 户 都 可 以 更 改 自 己 的 密 码 。 2. 员 工 基 本 信 息 (1) 添 加 员 工 信 息 : 系 统 自 动 生 成 员 工 编 号 , 管 理 员 可 以 添 加 员 工 的 基 本 信 息 ,包 括 姓 名 、 性 别 、 籍 贯 、 年 龄 、 生 日 、 住 址 、 E-mail、 学 历 、 专 业 、 进 入 本 公 司 时 间 等 。 (2) 修 改 员 工 信 息 :选 择 一 个 员 工 ,可 以 修 改 这 个 员 工 的 基 本 信 息。

31

(3) 查 询 员 工 信 息 :可 以 根 据 员 工 的 编 号 、姓 名 或 者 进 入 公 司 的 时 间 进 行 查 询 员 工 基 本 信 息 。并 且 可 以 针 对 查 询 结 果 进 行 修改和删除操作。 (4) 删 除 员 工 信 息 :直 接 从 列 表 中 选 中 需 要 删 除 的 员 工 信 息 ,然 后 进 行 删 除 操 作 ,或 者 首 先 查 询 需 要 删 除 的 员 工 信 息 ,然 后再删除。 3. 员 工 考 勤 信 息 : (1) 添 加 考 勤 信 息 :主 要 分 为 上 下 班 信 息 和 其 他 考 勤 信 息 . 上 下 班 信 息 主 要 记 录 每 个 员 工 每 天 上 下 班 的 时 间 ,而 其 他考勤信息包含有请假、加班、出差信息。 (2) 修改考勤信息:当考勤信息出现错误需要修改的时候, 可以从这里修改相应的记录。 (3) 查 询 考 勤 信 息 :分 为 删 除 上 下 班 信 息 和 删 除 其 他 考 勤 信 息。 (4) 删 除 考 勤 信 息 :分 为 删 除 上 下 班 信 息 和 删 除 其 他 考 勤 信 息。 (5) 设置上下班时间:设置公司上下班时间。

4. 员 工 调 动 信 息 (1) 添加调动信息:添加企业员工的原有部门、原有职务、 新部门、新职务等信息。 (2) (3) 修改调动信息:修改相应的员工调动信息。 查询调动信息: 询某个员工的调动信息或者某段时间 查 内企业内部的调动情况。 (4) 删除调动信息:删除那些不需要的信息。

32

第四章
§4.1 开 发 环 境 的 选 择

人事管理系统的实现

一 、 前 端 开 发 工 具 Visual Basic 6.0 简 介 Visual Basic 是 在 世 界 范 围 内 广 泛 使 用 的 一 种 强 大 的 编 程 语 言 , 它 为 Windows 应 用 程 序 的 开 发 提 供 了 最 迅 速 和 便 捷 的 方 法 。 不 论 是 Windows 应 用 程 序 的 专 业 开 发 人 员 还 是 初 学 者 , Visual Basic 都 为 他们提供了一整套的工具用来方便地开发应用程序。 果您现在想学 如 习 Windows 编 程 , 我 们 建 议 您 先 从 Visual Basic 学 起 , 因 为 它 简 单 易 学 , 功 能 强 大 , 可 以 很 轻 松 地 开 发 出 Windows 应 用 程 序 。 目 前 Visual Basic 软 件 开 发 团 体 是 世 界 上 最 大 的 软 件 开 发 团 体 , 它 为 全 世 界 数 千 种 工 具 和 控 件 商 所 支 持 ,因 此 选 择 Visual Basic 将 使 您 获 得很大的优势。 Visual Basic 是 在 原 有 Basic 语 言 基 础 上 进 一 步 发 展 , 至 今 包 含 了 数 百 条 语 句 、 函 数 及 关 键 词 , 其 中 很 多 和 Windows GUI 有 直 接 关 系 。 专 业 人 员 可 以 用 Visual Basic 实 现 其 它 任 何 windows 编 程 语言所能实现的功能, 初学者只要掌握几个关键词就可以建立实用 而 的 Windows 应 用 程 序 。 用 Visual Basic 既 可 以 开 发 现 一 般 的

Windows 应 用 程 序 , 也 可 以 实 现 先 进 的 客 户 机 /服 务 器 、 浏 览 器 /服 务 器 系 统 。 目 前 Visual Basic 6.0 有 三 种 版 本 , 即 学 习 版 、 专 业 版 和 企业版,可以满足不同的开发需要。 为了理解 Visual Basic 应 用 程 序 的 开 发 过 程 , 首 先 要 理 解 Visual Basic 是 基 于

visual Basic 的 一 些 关 键 概 念 。 因 为

Windows 的 开 发 语 言 ,所 以 有 必 要 与 Windows 环 境 保 持 一 定 的 相 似 性 。简 单 地 说 就 是 三 个 关 键 的 概 念 :窗 口 、事 件 和 消 息 。从 这 点 上 说 Visual Basic 6.0 与 传 统 的 windows 应 用 程 序 开 发 语 言 没 有 大 的 区 别 ,但 是 由 于 处 理 各 种 窗 口 、事 件 和 消 息 的 所 有 可 能 的 组 合 将 有 惊 人 的 工 作 量 , 动 用 传 统 方 法 开 发 Windows 应 用 程 序 将 耗 费 程 序 员 许 多 精 力 。 幸 运 的 是 , visual Basic 使 您 摆 脱 所 有 的 低 层 消 息 处 理 。 许 多 消 息 都 由 Visual Basic 自 动 自 理 了 , 其 它 的 作 为 事 件 过 程 由 编 程
33

者自行处理。 样就可以快速创建强大的应用程序而无需涉及不必要 这 的细节。 在传统的或“过程化”的应用程序中,应用程序自身控制了执行 哪一部分代码及按何种顺序执行代码。 第一行代码执行程序并按应 从 用 程 序 中 预 定 的 路 径 执 行 , 必 要 时 调 用 过 程 。 Visual Ba sic 是 事 件 驱 动 的 程 序 设 计 语 言 。在 事 件 驱 动 的 应 用 程 序 中 ,代 码 不 是 按 照 预 定 的 路 径 执 行 ,而 是 在 响 应 不 同 的 事 件 时 执 行 不 同 的 代 码 片 段 。事 件 可 以由用户操作触发, 可以由来自操作系统或其它应用程序的消息触 也 发 ,甚 至 由 应 用 程 序 本 身 的 消 息 触 发 。这 些 事 件 的 顺 序 决 定 了 代 码 执 行的顺序,因此应用程序每次运行时所经过的代码的路径都是不同 的。 为事件的顺序是无法预测的, 以在代码中必须对执行时的 各 因 所 “ 种 状 态 ”作 一 定 的 假 设 。当 作 出 某 些 假 设 时 ,应 该 组 织 好 应 用 程 序 的 结构,以确保该假设始终有效。 传统 的 应用 程 序开 发过 程 可以 分 为三 个明 显 的步 骤 :编 码、编 译 和 测 试 代 码 。但 是 Visual Basic 与 传 统 的 编 程 评 议 不 同 ,它 使 用 交 互 式 方 法 开 发 应 用 程 序 ,使 得 三 个 步 骤 之 间 不 再 有 明 显 的 界 限 。在 大 多 数 语 文 里 ,如 果 编 写 代 码 时 发 生 了 错 误 ,则 在 开 始 编 译 应 用 程 序 时 该 错 误 就 会 被 编 译 器 捕 获 ,此 时 必 须 查 找 并 改 正 该 错 误 ,然 后 再 次 进 行 编 译 , 每 一 个 发 现 的 错 误 都 要 重 复 这 样 的 过 程 。Visual Basic 在 对 编程者输入代码时便进行解释, 时捕获并突出显示大多数语法或拼 即 写 错 误 ,这 看 起 来 就 像 一 位 专 家 在 实 时 监 视 代 码 的 输 入 。除 即 时 捕 获 错 误 外 , Visual Basic 也 在 输 入 代 码 时 部 分 地 编 译 该 代 码 。 当 准 备 运 行 和 测 试 应 用 程 序 时 ,只 需 极 短 时 间 即 可 完 成 编 译 。如 果 编 译 器 发 现 了 错 误 ,则 将 错 误 突 出 显 示 于 代 码 中 ,这 时 可 以 更 正 错 误 并 继 续 编 译,而不需从头开始。 由 于 Visual Basic 的 交 互 特 性 , 因 此 可 以 发 现 在 开 发 应 用 程 序 时 ,您 自 己 正 频 繁 地 运 行 着 您 的 应 用 程 序 。通 过 这 种 方 式 ,代 码 运 行 的效果可以在开发时进行测试,而不必等到编译完成以后。

二 、 后 台 数 据 库 引 擎 Access 简 介
34

Access 2000 是 一 套 简 单 易 学 的 数 据 库 软 件 除 了 可 以 单 机 作 业 之 外 , 也 增 强 了 与 后 端 的 SQL Server 7.0 便建立主从式结构的数据库环境。 1、 Access 是 一 套 管 理 数 据 库 的 应 用 软 件 , 即 数 据 库 管 理 系 统 。 (DataBase Management System ; DBMS ) 系统的数据集合。 2、 组 织 地 存 储 数 据 Access 是 一 个 数 据 库 管 理 系 统 , 可 以 使 复 杂 的 琐 碎 的 数 据 , 集 合 起 来 组 织 成 为 有 用 的 信 息 ,然 后 将 数 据 完 整 地 存 储 起 来 ,并 提 供 许 多工具,方便数据的规划及重复使用。 Access 中 ,整 理 好 的 数 据 将 按 数 据 的 用 途 ,分 别 存 于 不 同 的 表 中 , Access 数 据 库 中 包 含 多 个 表 及 其 它 数 据 库 对 象 。 3、 “ 数 据 库 ” 窗 口 的 新 增 功 能 Microsoft Access 2000 的 “ 数 据 库 ” 窗 口 提 供 了 下 列 查 看 和 处 理数据库对象的选项。 使用“数据库”窗口工具栏 快速查找命令。 使用“对象”栏 位更易于使用。 将数据库对象组织为组 单击“组”栏查看组,其中包含对不 在“对象”栏中查看数据库对象 — 竖直方 创建、打开或管理数据库对象的 数据库是指一群可组织有 服务器的链接功能,方

同类型数据库对象的快捷方式。 使用新的对象快捷方式 在“数据库”窗口中,使用向导快速

创建新的数据库对象,或是在设计视图中打开一个新的数据库对象。 自定义在“数据库”窗口中选择及打开对象的方式 如果选

择,更改默认行为,并将光标置于其上以选中数据对象, 单击以打 开该对象。 键入名称以选中该对象 例如,查看表对象列表时,键入

“ Sh” , 可 选 择 “ Shippers” 表 。 4、 数 据 访 问 页 的 新 增 功 能

35

数 据 访 问 页 是 一 个 Web 页 , 可 以 用 来 添 加 、 编 辑 、 查 看 或 处 理 Microsoft Access 数 据 库 或 SQL Server 数 据 库 中 的 当 前 数 据 。 可 以 创 建 用 于 输 入 和 编 辑 数 据 的 页 ,类 似 于 Access 窗 体 。也 可 以 创 建 显 示 按 层 次 分 组 记 录 的 页 , 类 似 于 Access 报 表 。 按几种方式收集和发布当前数据 您可以使用页添加、 辑和查 编

看 Microsoft Access 数 据 库 或 Microsoft Access 项 目 中 的 数 据 ; 可 以 在 Internet 或 Intranet 上 使 用 这 些 数 据 , 也 可 以 在 电 子 邮 件中发送这些数据。 交互地查看分组的记录 在分组的页中,通过展开和折叠组标

题,可以只查看所需的细节。也可以排序和筛选记录。 分析数据和进行数据影射 使用数据透视表列表可以按不同方

式组织数据,使用电子表格控件对进行数据影射以及进行复杂的计 算,并且在图表中通过图形查看数据。 显 示 HTML 文 本 可 以 将 HTML 代 码 保 存 在 数 据 库 的 字 段 中 ,

并 在 页 上 将 它 显 示 为 HTML 格 式 的 文 本 。例 如 ,如 果 字 段 中 的 一 个 值 包 含 HTML 标 记 , 它 将 文 字 的 格 式 设 置 为 斜 体 , <I>Text</I> , 可 以 在 页 上 使 用 一 个 绑 定 HTML 控 件 按 斜 体 显 示 该 值 。 使用熟悉的设计工具 在 “ 设 计 ” 视 图 中 ,可 使 用 工 具 栏 、工 具

箱、主题和其他功能设计页,与您用来创建窗体和报表的工具类似。

§4.2 人 事 管 理 系 统 模 块 设 计 举 例
一、建立公共模块 运 行 VisualBasic 后 , 选 择 “ 文 件 ” → “ 新 建 工 程 ” 菜 单 , 然 后 从 工 程 模 板 中 选 择“ 标 准 EXE”项 ,单 击“ 确 定 ”按 钮 。VisualBasic 就 会 自 动 生 成 一 个 窗 体 ,这 个 窗 体 的 属 性 采 用 的 都 是 默 认 设 置 。在 这 个 实 例 中 ,先 删 除 这 个 窗 体 ,然 后 选 择“ 文 件 ”→“ 保 存 工 程 ”菜 单 , 在 出 现 的 文 件 另 存 为 ” 话 框 中 输 入 这 个 工 程 项 目 的 名 称 stuff_mis, “ 对 并且选择要保存这个工程的目录,单击“保存”按钮,保存工程。 为 了 提 高 代 码 的 效 率 方 便 维 护 , 在 VisualBasic 中 可 以 用 公 用 模 块 来 存 放 工 程 中 经 常 使 用 的 函 数 、过 程 和 全 局 变 量 等 。在 这 个 系 统

36

中 ,每 个 功 能 模 块 都 要 使 用 数 据 库 ,因 此 可 以 使 用 一 个 公 用 有 数 据 操 作 函 数 , 来 执 行 一 系 列 的 SQL 语 句 。 在项目资源管理器中为这个工程添加一个模块,保存为 Module1.bas. 代码如下:
Public gUserName As String / 保 存 用 户 名 称 Public flag As In te ger /添 加 和 修 改 的 标 志 Public gSQL As St ri ng / 保 存 SQL 语 句 Public kqsql As S tr ing ' 保 存 查 询 考 勤 结 果 SQL 语 句 Public kqsql2 As St ring ' 保 存 查 询 其 他 考 勤 结 果 SQL 语 句 Public ArecordID As Integer '保 存 上 下 班 记 录 编 号 Public LrecordID As Integer '保 存 请 假 记 录 编 号 Public OrecordID As Integer ' 保 存 加 班 记 录 编 号 Public ErecordID As Integer ' 保 存 出 差 记 录 编 号 Public iflag As I nt eger '数 据 库 是 否 打 开 标 志 Public Funct ion TransactSQL(ByVal SQL As String ) As ADODB.Recordset Dim con As ADODB. Co nnection Dim rs As ADODB.R ec ordset Dim strConnection A s String Dim strArray() As S tring Set con = New ADO DB .Connection ' 创 建 连 接 Set rs = New ADOD B. Recordset '创 建 记 录 集 On Error GoTo Tra ns actSQL_Error strConnec tion= "Provider=Micr oso ft.jet.oledb.4 .0 ;Data Source=" & App.Pa th & "\Person.mdb" strArray = Spli t(SQL) con.Open strCon nection '打 开 连 接 If StrCo mp(UCas e$(strArray(0)), "s elect", vbTextCo mpa re) = 0 Then rs.Open T rim$(S QL), con, adOpenK ey set, adLockOptimi st ic Set Transac t SQL = rs '返 回 记 录 集 i flag = 1 Else c on.Execut e SQL '执 行 命 令 i flag = 1 End If TransactSQL_Exit: Set rs = Nothin g Set con = Nothi ng Exit Func tion TransactSQL_Error : MsgBox " 查 询 错 误 : " & Err.Descr ip tion iflag = 2 Resume Tr ansact SQL_Exit End Function

37

Public Sub TabToE nt er(Key As Integer ) If Key = 13 The n '判 断 是 否 为 回 车 键 SendKeys "{TAB} " ' 转 换 为 Tab 键 End If End Sub Sub main() Dim fLogi n As N ew frmLogin fLogin.Sh ow vbM odual End Sub

'显 示 窗 体

二、登录窗体:

图 4-1

有关本窗体的代码如下:
Option Explicit Dim pwdCount As I nt eger Private Sub cmdCa nc el_Click() Unload Me Exit Sub End Sub Private Sub cmdOK _C lick() Dim SQL A s Stri ng Dim rs As ADODB .Recordset If Trim(U serNam e.Text = "") Then MsgBox "没 有 输 入 用 户 名 称 , 请 重 新 输 入 ! ", vbOKOnly + vbEx clamation, " 警告" U serName.S etFocus Else '查 询 用 户 Set rs = Transa ctSQL(SQL) I f iflag = 1 Then If rs .EOF = True Then
38

msgBox "没 有 这 个 用 户 , 请 重 新 输 入 ! " ,v bOKOnly + vbExclama t ion," 警 告 " U serName.SetFocus Else If T rim(rs.Fields(1)) = Trim(PassWord.Tex t) Then rs.Close Me.Hide gU serName = Trim(Us er Name.Text)'保 存 用 户 名 称 FrmMain.S how Unload Me E lse MsgBox " 密 码 不 正 确 , 请 重 新 输 入 ! ", vbOKOnly + vbExcl am ation, "警 告 " End If End I f E lse Unloa d Me E nd If End If pwdCount= pwdCou nt+1 '判 断 输 入 次 数 If pwdCou nt = 3 Then U nload Me E xit Sub End If End Sub Private Sub Form_ Lo ad() pwdCount = 0 gUserName = "" End Sub Private Sub PassWo rd_KeyDown( KeyCod e Integer) TabToEnte r KeyC ode End Sub Private Sub UserNa me_KeyDown(KeyCod e Integer) TabToEnte r KeyC ode End Sub As Integ er, Shif t As

As

Integ er,

Shif t

As

3、 系 统 主 界 面 的 设 计 效 果

39

图 4-2

4、 修 改 密 码 窗 体 :

图 4-3 Private Sub cmdCa nc el_Click() Unload Me End Sub Private Sub cmdOK _C lick() Dim SQL A s Stri ng Dim rs As ADODB .Recordset

40

IfTrim(Ol dPWD.T ext)=""Then '判 断 是 否 输 入 旧 密 码 M sgBox " 请 输 入 旧 密 码 ", vbOK On ly + vbExclamatio n, " 警 告 " O ldPWD.Set Focus E xit Sub Else I f Trim(Ne wPWD.Text) = "" T he n ' 判 断 是 否 输 入 新 密 码 MsgBox " 请 输 入 新 密 码 ", vb OK Only + vbExclamat io n, " 警 告 " NewPW D.SetFocus Exit Sub E lseIf Tri m(NewPWD.Text) <> T rim(confirmPWD.Te xt ) Then '判 断 两 次 密 码 是 否 相 同 Msg Box " 两 次 密 码 不 同 ", vbOK Only + vbExclamatio n, " 警 告 " NewPW D.Text = "" confi rmPWD.Text = "" NewPW D.SetFocus E lse '修 改 密 码 SQ L = "upd ate Use rInfo set Use rPWD = ' " & NewPWD & "'wh ere UserID='" MsgBox " 密 码 已 经 修 改 ", vbOK On ly + vbExclamatio n, " 修 改 结 果 " Unloa d Me E nd If End If End Sub Private Sub Form_ Lo ad() OldPWD.Te xt = " " NewPWD.Te xt = " " confirmPW D.Text = "" End Sub

5、 查 询 员 工 信 息

图 4-4

41

相关代码如下:
Option Explicit Private query As St ring Private fromdate As String Private todate As S tring Private Sub cmdCa nc el_Click() Unload Me Exit Sub End Sub ' 保 存 SQL 语 句 '起 始 时 间 '结 束 时 间

Private Sub Combi ne Date() '获 得 起 始 和 结 束 时 间 fromdate = Me.F romYear.Text & "- " & Me.FromMonth.Te xt & " -1" fromdate = Form at(Me.FromYear.Te xt & "-" & Me.FromMonth.Text & "-1", "yyyy-mm-dd ") todate = Me.ToY ear.Text & "-" & Me .ToMonth.Text & " -1 " todate = Format (todate, "yyyy-mm -d d") End Sub Private Sub setSQ L( ) ' 设 置 SQL 语 句 If IDChec k.Valu e = vbChecked The n q uery = "select * from StuffIn fo where SID='" & Trim(Me.SID) & "'" End If If NameCh eck.Va lue = vbChecked T he n q uery = "select * fr om S tuffInfo where SN ame='" & Trim(Me.SName) & "' " End If If TimeCh eck.Va lue = vbChecked T he n q uery = "s elect * from Stuf fI nfo where SInTime b etween #" q uery = qu ery & fromdate & "# and #" & todate & "#" End If If IDC heck.Valu e = vbChecke d And Nam eCheck.Value = vbChe cked Then q uery = "se lect * from Stu ffInf o where SID=' " & Tri m(Me.SID) q uery = qu ery & "' and SNam e= '" & Trim(Me.SNam e) & "'" End If If NameCheck.V a lue = vbChecked And Ti meCheck.Value = vbChecked Then query = que r y & "# and #" & t od ate & "#" End If End Sub Private Sub cmdOK _C lick() If Tr im(Me.SID) = "" And Trim (Me.SN ame) = "" And TimeCh eck.Value <> vbChecked Then Ms gBox " 请 选 择 查 询 的 条 件 ! ", vbOKOn ly + vbExclamation, "警 告 ! " Else Call Comb ineDat e Call setS QL frmResult .creat eList (query)

42

frmResult .Show Unload Me End If End Sub Private Sub Form_ Lo ad() Dim i As Intege r Dim SQL A s Stri ng Dim rs As New A DODB.Recordset SQL = "se lect d istinct SInTime f ro m StuffInfo" Set rs = Transa ctSQL(SQL) If Not rs .EOF T hen r s.MoveFir st W hile Not rs.EOF If No t IsNull(rs.Field s( 0)) Then ' 设 置 年 M e.FromYear.AddIte m Left(rs(0), 4) M e.ToYear.AddItem Le ft(rs(0), 4) End I f rs.Mo veNext W end r s.Close M e.FromYea r.ListIndex = 0 M e.ToYear. ListIndex = 0 End If For i = 1 To 12 '设 置 月 M e.FromMon th.AddItem i M e.ToMonth .AddItem i Next i M e.FromMon th.ListIndex = 0 M e.ToMonth .ListIndex = 0 End Sub

6. 添 加 员 工 调 动 信 息

图 4-5
43

相关代码如下:
Private Sub cmdOK_Click() Dim SQL As String Dim rs As New ADODB.Recordset b a d d f l a g = F al s e Call checkinput If baddflag = True Then If flag = 1 Then '添 加 记 录 'Call checkinput SQL = "select * from AlterationInfo" Set rs = TransactSQL(SQL) rs.AddNew rs.Fields(1) = Me.AID rs.Fields(2) = Me.AName rs.Fields(3) = Me.AOldDept rs.Fields(4) = Me.ANewDept rs.Fields(5) = Me.AOldPosition rs.Fields(6) = Me.ANewPosition rs.Fields(7) = Me.AOutTime r s . F i e l d s ( 8 ) = M e . A I nT i m e rs.Fields(9) = Me.ARemark rs.Update rs.Close S Q L = " u p d a t e S t u f f I n f o s e t S D ep t = ' " & M e . A N ew D e p t & " ' , S Po s i t i o n = '" SQL = SQL & Me.ANewPosition & "' where SID='" & Me.AID & "'" TransactSQL (SQL) M s g B o x " 已 经 添 加 调 动 信 息 ! " , v b O K O n l y + v b E x c l am a t i o n, " 添 加 结 果 ! " SQL = "select * from AlterationInfo order by ID" frmAlterationResult.Adodc1.ConnectionString = " P r o v i d e r = M i c r o s o f t . J e t . O L E D B . 4 . 0 ; D a t a S o u r c e = " + A p p . P a t h + " \ P ers o n . m d b " f r m A l t e r a t i on R e s u l t . Ad o d c 1 .R e c o r dSo u r c e = SQ L If SQL <> "" Then frmAlterationResult.Adodc1.Refresh End If Set f r m A lt e r a t io n R e s u l t .D a t a G ri d 1 . D ata S o u r c e = frmAlterationResult.Adodc1.Recordset f r m A l t e r a t i o n R e s u l t . D a t a G r i d 1 . R e fre s h frmAlterationResult.Show frmAlterationResult.ZOrder 0 Call init Me.ZOrder 0 Else '修改 记 录 'Call checkinput S Q L = " u p d a t e S t u f f I n f o s e t S D ep t = ' " & M e . A N ew D e p t & " ' , S Po s i t i o n = '" SQL = SQL & Me.ANewPosition & "' where SID='" & Me.AID & "'" TransactSQL (SQL) S Q L = " u p d at e A l t er a t i o nI n f o s et A O l d De p t = ' " & M e . AO l d D e p t & "',ANewDept='" S Q L = S Q L & " ' , A N e w P o si t i o n =' " & M e. A N e w P o s it i o n & "' , A O ut T i m e = # " & Me.AOutTime SQL = SQL & "#,AInTime=#" & Me.AInTime & "# where ID=" & ID TransactSQL (SQL) MsgBox "已 经 修 改 信 息 ! ", vbOKOnly + vbExclamation, "修 改 结 果 ! " Unload Me With frmAlterationResult.Adodc1 '重 新 设 置 记 录 集 .RecordSource = SQL .Refresh End With With frmAlterationResult.DataGrid1 '重 新 绑 定 记 录 集 44

.ReBind End With End If End If End Sub Private Sub Form_Load() Dim SQL As String D i m r s A s N e w A D OD B . R e c o r ds e t Dim firstname As String If flag = 1 Then S Q L = " s e l e c t S I D , S N am e , S D ep t , S P os it i o n f r om S t uf f I n f o o r de r b y SI D " Set rs = TransactSQL(SQL) If rs.EOF = False Then rs.MoveFirst Me.AName = rs(1) Me.AOldDept = rs(2) Me.AOldPosition = rs(3) While Not rs.EOF Me.AID.AddItem rs(0) rs.MoveNext Wend rs.Close Me.AID.ListIndex = 0 End If SQL = "select distinct SDept from StuffInfo" Set rs = TransactSQL(SQL) If rs.EOF = False Then rs.MoveFirst While Not rs.EOF Me.ANewDept.AddItem rs(0) rs.MoveNext Wend rs.Close Me.ANewDept.ListIndex = 0 End If Me.AOutTime = Date Me.AInTime = Date End If End Sub Private Sub init() Dim SQL As String Dim rs As New ADODB.Recordset Dim firstname As String SQL = "select SID,SName,SDept,SPosition from StuffInfo order by SID" Set rs = TransactSQL(SQL) If rs.EOF = False Then rs.MoveFirst Me.AName = rs(1) Me.AOldDept = rs(2) Me.AOldPosition = rs(3) While Not rs.EOF Me.AID.AddItem rs(0) rs.MoveNext Wend rs.Close Me.AID.ListIndex = 0 End If

45

SQL = "select distinct SDept from StuffInfo" Set rs = TransactSQL(SQL) If rs.EOF = False Then rs.MoveFirst While Not rs.EOF Me.ANewDept.AddItem rs(0) rs.MoveNext Wend rs.Close Me.ANewDept.ListIndex = 0 End If Me.AOutTime = Date Me.AInTime = Date Me.ANewPosition = "" End Sub

§4.3 人 事 管 理 系 统 测 试
在开发人事管理系统的时候,为了使系统能够稳定 运行,对系统进行了测试: 1. 查 询 功 能 测 试 : 为 了 保 证 系 统 的 每 一 项 功 能 都 可 能 顺 利 执 行 ,尤 其 是 查 询 功 能 的 执 行 ,特 进 行 各 项 查 询 方 式 的 不 同 索 引 ,确 保 各种查询方式均可查询到正确记录。 安 全 测 试 :为 了 保 证 系 统 的 安 全 性 ,对 密 码 进 行 严 格 测 试 ,达 到 了不同权限,不同保密程度的需求。 2. 报 表 打 印 测 试 :企 业 中 报 表 是 不 可 忽 视 的 一 部 分 ,对 本 系 统 的报表打印的不同格式进行测试, 明本系统提供的打印类型合乎企 证 业不同部门的不同需要。 5、 设 置 上 下 班 时 间

图 4-6

相关代码如下:
46

Private Sub cmdCa nc el_Click() Unload Me Exit Sub End Sub Private Sub cmdOK _C lick() Dim SQL A s Stri ng Dim rs As New A DODB.Recordset SQL = "de lete f rom TimeSetting" TransactS QL (SQ L) If IsDate (Me.Be ginTime) = False Or Me.BeginTime = " " Then Ms gBox "请 正 确 地 输 入 时 间 ! ", vbOKOn ly + vbExclamation, "警 告 ! " M e.BeginTi me.SetFocus Else I f IsDate( Me.EndTime) = Fal se Or Me.EndTime = "" Then Ms gBox " 请 正 确 地 输 入 时 间 ! ", vbOKOn ly + vbExclamation, "警 告 ! " Me.En dTime.SetFocus Else S QL = "sel ect * from TimeSe tt ing" S et rs = T ransactSQL(SQL) r s.AddNew '设 置 时 间 rs.Fi elds(0) = Me.Begi nT ime rs.Fi elds(1) = Me.EndT im e rs.Up date rs.Cl ose Ms gBox " 时 间 已 经 设 置 ! ", vbOKOnly + vbExclamation, "设 置 结 果 ! " E nd If End If Unload Me End Sub Private Sub Form_ Lo ad() Dim SQL A s Stri ng Dim rs As New A DODB.Recordset SQL = "se lect * from TimeSetting " Set rs = Transa ctSQL(SQL) If rs.EOF = Tru e Then M e.BeginTi me = "" M e.EndTime = "" Else M e.BeginTi me = rs(0) M e.EndTime = rs(1) End If rs.Close End Sub

6、 修 改 调 动 信 息

47

图 4-7

在 相 应 的 记 录 上 单 击 右 键 ,弹 出 如 上 图 所 示 的 快 捷 菜 单 ,然 后 再 单 击“查询调动信息: 弹出如下图所示的界面: ”

图 4-8

本功能模块的有关代码如下:
Private Sub cmdOK _C lick() Dim SQL A s Stri ng Dim rs As New A DODB.Recordset
48

baddflag = Fals e Call chec kinput If baddfl ag = T rue Then If flag = 1 The n '添 加 记 录 ' Call chec kinput S QL = "sel ect * from Altera ti onInfo" S et rs = T ransactSQL(SQL) r s.AddNew r s.Fields( 1) = Me.AID r s.Fields( 2) = Me.AName r s.Fields( 3) = Me.AOldDept r s.Fields( 4) = Me.ANewDept r s.Fields( 5) = Me.AOldPosit io n r s.Fields( 6) = Me.ANewPosi t io n r s.Fields( 7) = Me.AOutTime r s.Fields( 8) = Me.AInTime r s.Fields( 9) = Me.ARemark r s.Update r s.Close S QL = "u pd ate StuffInfo set S Dept='" & Me .ANewDe pt & "', SPosition='" S QL = SQL & Me.ANewPositio n & "' where SID=' " & M e.AID & "'" T ransactSQ L (SQL) MsgBox "已 经 添 加 调 动 信 息 ! ", vbO KOnly + vbExclam ation, " 添 加 结 果 ! " S QL = "sel ect * from Altera ti onInfo order by I D" f rmAlterat ionResult.Adodc1. Co nnectionString = "Provider=Microso ft .Jet.OLEDB.4.0;Da ta Source=" + Ap p.Path + "\Person.mdb" f rmAlterat ionResult.Adodc1. Re cordSource = SQL I f SQL <> "" Then frmAl terationResult.Ad od c1.Refresh E nd If S et f rmAlterationResul t. DataGrid1.DataSou rc e = frmAlterationResu lt .Adodc1.Recordset f rmAlterat ionResult.DataGri d1 .Refresh f rmAlterat ionResult.Show f rmAlterat ionResult.ZOrder 0 C all init M e.ZOrder 0 Else '修 改 记 录 ' Call che c kinput S QL = "u pd ate StuffInfo set S Dept='" & Me .ANewDe pt & "', SPosition='" S QL = SQL & Me.ANewPositio n & "' where SID=' " & M e.AID & "'" T ransactSQ L (SQL) S QL = "upda te AlterationInfo se t AOldDept='" & Me. A OldDept & "',ANewDept='" S QL = S QL & Me.ANew Dept & "',AOldPo sitio n='" &
49

Me.AOldPosition S QL = SQ L & "' ,ANewPositio n='" & Me.ANewPosi tion & "',AOutTime=#" & Me .AOutTime S QL = SQL & "#,AInTime=#" & M e.AInTime & "# wher e ID=" & ID T ransactSQ L (SQL) MsgBox "已 经 修 改 信 息 ! ", vbOKOnly + v bExclamation, "修 改 结 果 ! " U nload Me S QL = "sel ect * from Altera ti onInfo order by I D" W ith frmAl terationResult.Ad od c1 '重 新 设 置 记 录 集 .Reco rdSource = SQL .Refr esh E nd With W ith frmAl terationResult.Da ta Grid1 '重 新 绑 定 记 录 集 .ReBi nd E nd With f rmAlterat ionResult.Show f rmAlterat ionResult.ZOrder 0 End If End If End Sub Private Sub Form_ Lo ad() Dim SQL A s Stri ng Dim rs As New A DODB.Recordset Dim first name A s String If flag = 1 The n S QL = "se lect SID,SName, SDep t,SPosition fro m St uffInfo order by SID" S et rs = T ransactSQL(SQL) I f rs.EOF = False Then rs.Mo veFirst Me.AN ame = rs(1) Me.AO ldDept = rs(2) Me.AO ldPosition = rs(3 ) While Not rs.EOF M e.AID.AddItem rs( 0) r s.MoveNext Wend rs.Cl ose Me.AI D.ListIndex = 0 E nd If S QL = "sel ect distinct SDep t from StuffInfo" S et rs = T ransactSQL(SQL) I f rs.EOF = False Then rs.Mo veFirst While Not rs.EOF M e.ANewDept.AddIte m rs(0) r s.MoveNext Wend rs.Cl ose
50

Me.AN ewDept.ListIndex = 0 E nd If M e.AOutTim e = Date M e.AInTime = Date End If End Sub Private Sub init( ) Dim SQL A s Stri ng Dim rs As New A DODB.Recordset Dim first name A s String SQL = "select S ID,SName,SDept,SP os ition from StuffInf o order by SID" Set rs = Transa ctSQL(SQL) If rs.EOF = Fal se Then r s.MoveFir st M e.AName = rs(1) M e.AOldDep t = rs(2) M e.AOldPos ition = rs(3) W hile Not rs.EO F Me.AI D.AddItem rs(0) rs.Mo veNext W end r s.Close M e.AID.Lis tIndex = 0 End If SQL = "se lect d istinct SDept fro m StuffInfo" Set rs = Transa ctSQL(SQL) If rs.EOF = Fal se Then r s.MoveFir st W hile Not rs.EOF Me.AN ewDept.AddItem rs (0 ) rs.Mo veNext W end r s.Close M e.ANewDep t.ListIndex = 0 End If Me.AOutTi me = D ate Me.AInTim e = Da te Me.ANewPo sition = "" End Sub

其他功能模块了限于篇幅,这里从略。

§4.3 系 统 测 试
在开发本系统时, 为了使系统能够稳定运行,对本系统进行了有针对性的全 面测试,采取的方式是: 1、菜单项测试:为了保证每一项下拉菜单能够正确实现系统设计的功能,
51

我把该企业有关人事的所有基础数据,基本上全部输入到本系统中,并对每一个 菜单项反复进行了增加、 删除、 修改等操作, 从而保证了菜单级功能的正确实现。 2、数据跟踪:完成菜单项测试后,我又对系统内的每一个数据进行了跟踪。 3、综合测试:在以上测试的基础上对系统功能进行了整体的测试,依次来 检验系统功能是否符合系统设计的要求。

§ 4.4 系 统 运 行 与 维 护
系统的运行: 1 初始数据的输入 本系统的输入采用鼠标和键盘相结合的输入方法。 2、怎样进入系统 A、将本系统所在的文件夹拷贝到硬盘,然后执行其中的人事管理系统的程 序文件即可,应注意要将全部文件的属性变以存档,消除只读属性。 B、在随后出现的登录界面上输入正确的用户名和密码即可 3、怎样使用本系统: 点击鼠标左键即可进行相应功能的选择。 系统的维护: 本系统是个较复杂的人-机系统,由于系统外部环境与内部因素的变化,不 断影响系统的运行,同时需要系统不断地适应这些变化,不断地完善系统,以提 高系统运行的效率与服务水平,这就需要自始至终进行系统的维护工作。 系统的维护主要包括四个方面: (1)程序的维护:指的是修改部分或全部程序,这种维护往往是在条件发 生变化或原系统的效率低的情况下进行的。 (2)数据文件的维护:指的是按照用户的要求对数据文件进行不定期的修 改。 (3)代码的维护:随着系统的发展和变化,可能会出现旧代码不能适应新 要求的问题,因此,有必要变更代码,予以维护。 (4)硬件的维护:指的是对系统所使用的设备进行维护。 本系统的日常维护由人事部门专人来负责,如果出现一些不能解决的问题, 则由开发者来负责。

52

§4.5 系统的转换方案: 本次开发的人事管理系统采用了并行转换方式,以保证平衡可靠的过度。即 一方面使用本系统来进行工作, 另一方面又继续沿用老的方式—手工方式,这种 状况持续了半个月的时间, 在这期间发现了一些程序中存在的漏洞和错误,用户 也提出一些修改意见,经过程序的进一步完善后,正式投入了使用,中止了以前 老的手工的操作方式。

第五章

开发总结

在 做 毕 业 设 计 以 前 ,我 对 人 事 管 理 系 统 开 发 的 理 解 还 只 是 停 留 在 理 论 知 识 的 水 平 ,没 有 实 际 经 验 ,而 通 过 这 次 毕 业 设 计 ,在 完 成 了 人 事管理系统的开发设计后, 管理系统与计算机系统的结合才有了真 对 正的了解。 首 先 ,在 这 次 毕 业 设 计 中 ,初 始 的 分 析 就 是 一 个 困 难 ,主 要 是 因 为 对 人 事 管 理 系 统 的 了 解 太 少 ,以 及 对 企 业 的 需 求 所 知 甚 少 ,但 是 通 过 阅 读 了 许 多 有 关 管 理 学 科 的 资 料 ,再 加 上 实 际 考 查 ,才 能 够 完 成 系 统的分析和设计。 其 次 ,软 件 开 发 工 具 的 选 择 也 是 一 大 困 难 ,由 于 对 软 件 开 发 工 具 的 不 熟 悉 ,所 以 通 过 一 段 时 间 的 学 习 ,以 及 向 同 学 和 老 师 的 请 教 ,才 逐 步 掌 握 VB 和 Access 工 具 。 最 后 ,在 系 统 分 析 、设 计 时 ,遇 到 了 很 多 技 术 上 的 困 难 ,但 是 经 过老师的指导和自己不断的修改与调试,基本解决了设计中的问题。 通 过 毕 业 设 计 ,达 到 了 大 学 中 所 学 课 程 与 实 际 情 况 的 结 合 ,是 在 大 学 中 所 学 知 识 的 一 次 综 合 应 用 ,虽 然 由 于 个 人 能 力 的 关 系 ,本 系 统 还 有 许 多 不 尽 如 人 意 之 处 ,但 是 在 毕 业 设 计 中 ,不 管 是 知 识 还 是 能 力 都得到了很大程度的提高, 而且对软件开发工作有了真正的理解和 认识。

53

主要参考文献
1、 《Visual Basic 6 使用指南》 田金兰等 电子工业出版社 2002 年出版

2、 《Visual Basic 6 数据库访问技术》Jeffrey

机械工业出版社 2003 年出版 3、 《软件开发技术》 潘锦平 西安电子科技大学出版社 1999 年出版 4、 《数据库系统概论》 王珊、萨师宣 高等教育出版社 2001 年出版 5、 如 何 使 用 Visu al Basic 6.0 中 文 版 》 机 械 工 业 出 版 社 200 1 年 出 版 《 6、 中 文 Visual B asi c 6.0 实 用 教 程 》 北 京 希 望 电 脑 公 司 希 望 电 子 出 版 社 《

54


网站首页 | 网站地图
All rights reserved Powered by 酷我资料网 koorio.com
copyright ©right 2014-2019。
文档资料库内容来自网络,如有侵犯请联系客服。3088529994@qq.com