公司考勤管理系统设计及实现_本科毕业论文(设计) .doc_第1页
公司考勤管理系统设计及实现_本科毕业论文(设计) .doc_第2页
公司考勤管理系统设计及实现_本科毕业论文(设计) .doc_第3页
公司考勤管理系统设计及实现_本科毕业论文(设计) .doc_第4页
公司考勤管理系统设计及实现_本科毕业论文(设计) .doc_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文(设计) 公司考勤管理系统设计及实现 院 (系) 信息学院 专 业 软件工程 学 号 学生姓名 指导教师 提交日期 内容摘要 公司考勤管理系统能够为客户提供考勤报到及信息查询和统计的工 作,系统的功能与效率对于管理者来说都是至关重要的,是公司对人员 管理的重要手段。本文先从实际出发,考察了部分公司的考勤管理系统, 详细分析了系统目前存在的不足,并从公司考勤系统的现状和未来的发 展趋势入手,使用 java 与 sql 等相关的技术,对这一系统进行编程开发, 进而实现系统的各种功能。其中在通过具体的详细分析之后,主要设计 了用户管理模块、员工考勤模块、员工管理模块与考勤信息模块四个大 的模块来对系统进行编码,并根据模块对数据库和界面进行设计。同时, 文章给出了各个关键模块的功能说明、实现代码,最后对系统进行了功 能测试,并就开发过程中存在的问题进行了总结。 关键词: j ava 模块 数据库 公司考勤管理系统设计及实现 abstract the attendance management system can provide attendance report and information query and statistics for the customers work is essential, function and efficiency of the system for managers of the company, is an important means of personnel management. this article first embarks from the reality, the attendance management system is part of the company, a detailed analysis of the shortcomings of the current system, and from the present situation of the company attendance system and the future development trend, the use of java and sql and other related technologies, programming of the system, so as to realize the various functions of the system. the through detailed analysis of concrete, the main design of the user management module, employee attendance module, staff management module and the attendance information module four big modules to code system, and based on the database and interface design module. at the same time, the paper gives the description of the function of each key module, the realization of the code, finally has carried on the system function test, and summarizes the problems existing in the development process. key words: java module database the compant attendance management system 目 录 1.引言 1 2公司考勤管理系统需求分析 .2 2.1 系统概述 2 2.2 系统运行环境 2 2.2.1 硬件环境 2 2.2.2 软件环境 2 2.3 开发工具 2 2.3.1 java 2 2.3.2 eclipse .2 2.3.3 sql server 2012 .3 2.4 系统需求分析 3 2.4.1 系统数据流图 3 2.4.2 系统功能需求 .4 2.4.3 系统功能需求用例图 .5 3公司考勤管理系统的总体设计 .6 3.1 开发和设计的总体思想 6 3.2 系统模块结构设计 6 3.3 系统功能模块划分 6 3.3.1 用户管理模块 6 3.3.2 员工考勤模块 7 3.3.3 员工管理模块 7 3.3.4 考勤信息模块 7 3.4 系统流程描述 7 3.5 数据结构设计 8 3.5.1 数据库的 e-r 图设计 8 3.5.2 数据库表结构 .9 3.6 界面设计 .10 3.6.1 登录模块界面 .10 3.6.2 系统主界面 .11 3.6.3 员工考勤界面 .11 3.6.4 员工管理界面 .12 3.6.5 关于本系统界面 .12 3.6.6 管理员界面 13 3.6.7 成员信息管理界面 .14 3.6.8 通讯录界面 17 3.6.9 备忘录界面 .18 3.6.10 音乐管理界面 .19 3.6.11 退出对话框 19 4. 公司考勤管理系统详细设计 20 4.1 连接数据库模块 .20 4.1.1 模块描述 .20 4.1.2 主要程序清单 .20 4.2 登录模块 .21 4.2.1 模块描述 21 4.2.2 主要程序清单 21 4.3 主界面模块 .23 4.3.1 模块描述 .23 4.3.2 主要程序清单 .23 4.4 考勤模块 .33 4.4.1 模块描述 .33 4.4.2 主要程序清单 .33 4.5 信息统计模块 .37 4.5.1 模块描述 .37 4.5.2 主要程序清单 .38 4.6 管理员模块 .44 4.6.1 模块描述 .44 4.6.2 主要程序清单 .44 4.7 音乐管理模块 .52 4.7.1 模块描述 .52 4.7.2 主要程序清单 .52 5系统测试和应用 54 5.1 系统测试 .54 5.1.1 关于软件测试 .54 5.1.2 黑盒测试 .54 5.2 系统应用 .55 6结语与展望 56 参 考 文 献 57 致 谢 58 广东商学院学士学位论文 家族信息管理系统设计与实现 1 1.引言 随着社会的发展,人民生活水平的提高,人民对生活的质量要求越 来越高,也就导致了房地产事业的快速发展。而城市化的进程使得传统 的四合院家族越来越少,随之而来的是,各地的高楼大厦拔地而起。为 了满足生活要求和精神需求,越来越多的人选择了离开家族, “自力更生” 。从而导致的结果是,家族之间的交流沟通,以及家族成员之间的信息 管理变得更加地困难。 计算机软件和硬件等技术的高速发展,使得计算机在全世界的应用 越来越广泛,遍及各个行业各个角落,人们普遍使用计算机来提高工作 效率,计算机成为现代人不可缺少的一部分。在信息横飞的当今社会, 我们应该懂得如何利用计算机来对这些信息加以管理,从而更有效地为 管理部门提供现代化日常办公条件及丰富的综合信息服务,实现档案管 理自动化和办公事务处理自动化,以提高办公效率和管理水平。 在现代社会发展和计算机出现的双重影响下,用户对家族软件的需 求也越来越高,家族信息管理系统的开发也就不可避免地成为当前软件 开发的又一热点。目前,我国的家族信息管理系统还处在萌芽阶段,尚 未普及,但是,它确确实实已经出现在现代的一些家族和城中村,而且 作为管理事业的一部分发挥着越来越重要的作用。家族信息管理系统能 够为用户进行成员管理、基本信息管理以及统计查询等工作提供便捷的 服务,有利于实现对家族事业的现代化管理,有利于协调配合城中村的 各项工作,有利于促进家族成员的沟通与联系,对构建社会主义以人为 广东商学院学士学位论文 家族信息管理系统设计与实现 2 本的和谐社会具有重要的现实意义,已是现代家族事业管理必不可少的 一部分。 本项目提出的家族信息管理系统是基于 vc 平台,使用 vc 中基于 mfc 的 windows 应用程序进行开发的,并且运用了 odbc 数据访问技术。 visual c+不 仅 是 一 个 c+编 译 器 , 而 且 是 一 个 基 于 windows 操 作 系 统 的 可 视 化 集 成 开 发 环 境 。因此,基于 vc 平台的开发,可以使软件具 有较好的可操作性,并且帮助实现界面的友好性等。由于家族信息管理 系统涉及的功能和用途在不同的地方有所不同,因此,设计并实现具有 基本功能并有效合理的家族信息管理系统是本项目开发过程中着重考虑 的问题。 另外,本项目除了实现家族信息管理系统的基本功能之外,还重点考 虑了信息管理系统界面的易用性和友好性等问题。 2家族信息管理系统需求分析 2.1 系统概述 本项目主要是设计并实现了公司考勤管理系统,该系统主要的功能 包括系统员工管理、员工基本信息管理、员工考勤管理、统计查询,例 如新增员工、查找员工、查找某员工信息、员工考勤信息统计情况等。 广东商学院学士学位论文 家族信息管理系统设计与实现 3 2.2 系统运行环境 2.2.1 硬件环境 处理器:inter pentium ii 266 mx 或更高 内存:64mb 硬件空间:2gb 显卡:svga 显示适配器 2.2.2 软件环境 操作系统:window xp/7/8 数据库:sql server2012 2.3 开发工具 2.3.1 visual c+ 6.0 及 c+语言 visual c+的 简 介 visual c+1是 一 个 功 能 强 大 的 可 视 化 软 件 开 发 工 具 。 自 1993 年 microsoft 公 司 推 出 visual c+1.0 后 , 随 着 其 新 版 本 的 不 断 问 世 , visual c+已 成 为 专 业 程 序 员 进 行 软 件 开 发 的 首 选 工 具 。 虽 然 微 软 公 司 推 出 了 visual c+.net(visual c+7.0), 但 它 的 应 用 的 很 大 的 局 限 性 , 只 适 用 于 windows 2000,windows xp 和 windows nt4.0。 所 以 实 际 中 , 更 多 的 是 以 visual c+6.0 为 平 台 。 visual c+6.0 不 仅 是 一 个 c+编 译 器 , 而 且 是 一 个 基 于 windows 操 作 系 统 的 可 视 化 集 成 开 发 环 境 ( integrated development environment,ide) 。 visual c+6.0 由 许 多 组 件 组 成 , 包 括 编 辑 器 、 调 试 器 以 及 程 序 向 导 广东商学院学士学位论文 家族信息管理系统设计与实现 4 appwizard、 类 向 导 class wizard 等 开 发 工 具 。 这 些 组 件 通 过 一 个 名 为 developer studio 的 组 件 集 成 为 和 谐 的 开 发 环 境 。 visual c+ 它 大 概 可 以 分 成 三 个 主 要 的 部 分 : developer studio , mfc, platform sdk。 visual c+包含了两套完整的 windows 应用程序开发系统,既可以 使用 win32 api 来开发用 c 编写的 windows 应用程序,也可以开发基于 mfc 的 windows 应用程序,此外,visual c+也包括 activex 模板库 (activex template library,atl) ,可以用它来开发在 internet 上使 用的 activex 控件,还可以制作基于 mfc 的 activex 控件,还可以设计 基于 c 或 c+的动态链接库(dll) 。 visual c+具有面向对象程序设计的功能,visual c+的核心是 microsoft 基础类库(microsoft foundation class library,mfc) ,采 用的是消息映射机制进行程序设计。 c+语言的简介 c+2是 一 种 使 用 非 常 广 泛 的 计 算 机 编 程 语 言 。 c+是 一 种 静 态 数 据 类 型 检 查 的 , 支 持 多 重 编 程 范 式 的 通 用 程 序 设 计 语 言 。 它 支 持 过 程 化 程 序 设 计 、 数 据 抽 象 、 面 向 对 象 程 序 设 计 、 制 作 图 标 等 等 泛 型 程 序 设 计 等 多 种 程 序 设 计 风 格 。 一 开 始 c+是 作 为 c 语 言 的 增 强 版 出 现 的 , 从 给 c 语言 增 加 类 开 始 , 不 断 的 增 加 新 特 性 。 虚函数( virtual function) 、 运算符重载( operator overloading) 、 多重继承 ( multiple inheritance) 、 模板( template) 、 异 常 ( exception) 、 名 字 空 间 ( name space) 等 逐 渐 被 加 入 c+标 准 。 但 是 , c+是 一 门 独 广东商学院学士学位论文 家族信息管理系统设计与实现 5 立 的 语 言 , 它 并 不 依 赖 于 c 语 言 。 2.3.2 microsoft access 2003 microsoft access3是由微软发布的关联式数据库管理系统。它结合 了 microsoft jet database engine 和 图形用户界面两项特点,是 microsoft office 的成员之一。access 是微软公司推出的基于 windows 的桌面关系数据库管理系统(rdbms) ,是 office 系列应用软件之一。它 提供了表、查询、窗体、报表、页、宏、模块 7 种用来建立数据库系统 的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界 面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提 供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理 的任务。 2.4 系统需求分析 软件需求分析 4是软件定义时期的最后一个阶段,它的基本任务是准 确地回答“系统必须做什么”的问题,需求分析师发现、求精、建模和 规约的过程。需求分析的方法有结构化分析方法和其他分析方法。其中, 结构化分析方法是面向数据流进行需求分析的一种方法。它使用数据流 图(dfd,data flow diagram) 、数据字典(dd,data dictionary)等 工具进行分析。 2.4.1 系统数据流图 系统数据流图 4是描述数据处理过程的工具,它具有抽象性、概括性 和层次性的三个特性。本系统的数据流图如图 2.4.1 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 6 用户 检验 帐号 存储 数据库 帐户 、 密码 提示 密码错误 修改信息 图 2.4.1 系统数据流图 2.4.2 系统功能需求 新建家谱,打开已有家谱文件,对家谱成员进行排序,增加成员, 查找成员,确定某两个成员之间的关系,查找某代人的信息等功能,如 图 2.4.2 所示。 家 族 信 息 管 理 系 统增加系统 用户 新建家谱系统管理员 增减家谱成员系统信息录入员 用户密码修改 音乐选择确定两人关系 通讯录管理对家谱成员排序 查找家谱成员 查找某代人信息 广东商学院学士学位论文 家族信息管理系统设计与实现 7 图 2.4.2 功能需求图 在使用该系统软件时,能够供系统用户在电脑上任意选择自己喜 欢的 mp3 文件进行播放。音乐的选择能够增强该系统的艺术感,并且在 用户使用软件时,利用音乐可以达到放松心境的效果。 在使用该软件的过程中,系统管理员可以设置其他的系统用户, 如信息录入员、系统管理员等,不同的系统用户拥有不同的系统功能。 因为有了不同的系统用户,所以不同的用户可以通过通讯录了解其 他用户的信息,并且通过电子邮件联系其他系统用户,又或者利用备忘 录给其他系统用户留言。 本系统提供了清晰友好的界面,用户可以根据自己的需要和喜好 进行选择,在选择的过程中,系统还会出现一些提示信息,引导用户正 确进行操作。 2.4.3 系统功能需求用例图 用例图 5显示系统中的用例与角色及其相互关系。用例是系统提供的 高级功能块,角色是与所建系统交互的对象。用例图由参与者(actor) 、 用例(use case) 、系统边界、箭头组成。其中,用例之间一般有三种关 系:泛化关系,扩展关系,包含关系。本系统的功能需求用例图如图 2.4.3 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 8 图 2.4.3 用例图 广东商学院学士学位论文 家族信息管理系统设计与实现 9 3家族信息管理系统的总体设计 3.1 开发和设计的总体思想 本系统采用 visual c+ 6.0 为开发工具与 access 作为后台数据库相 结合实现,总体思想基于面对对象的程序设计。应用高级语言程序设计 中的循环、选择等控制结构实现家族信息管理系统的增、删、改和查等 经典功能,大量信息的存储和操作用 access 数据库来实现。在软件开发 过程中应用了软件工程以及二叉树 6的基本理论。基于成本以及安全性考 虑,假设本系统是一个相对封闭的单机运行系统,不提供与其他系统的 实时数据交互。 系统基本的流程是:用户登录主界面选择各项功能。 3.2 系统模块结构设计 本家族信息管理系统主要分为 4 个子模块,其系统结构设计图如图 3.2.1 所示。 家 族 信 息 管 理 系 统系统用户管理 家族信息管理基本信息管理 统计查询模块 修改帐户密码 系统管理员 增减用户系统信息录入员 用户密码修改 音乐选择 删除记录新建家谱 增加孩子 确定两人关系 更改资料 保存家谱通讯录管理 家族成员统计查询 系统用户统计查询 广东商学院学士学位论文 家族信息管理系统设计与实现 10 图 3.2.1 系统结构图 3.3 系统功能模块划分 根据上述系统总体设计思想的分析,该系统的主要模块的设计如下: 3.3.1 系统用户管理模块 用户使用该系统之前需要进行登录验证,系统会提示用户选择用户和 输入密码,从而调用数据库中存储的该用户信息进行校验,如果未能通 过校验,则会提示用户密码错误,用户将有三次登陆到系统的机会,三 次机会还没有登陆系统的话,系统将自动退出。用户登录到系统后允许 使用的与权限相对应的系统功能,主要有系统管理员、系统维护员、以 及系统信息录入员。 3.3.2 基本信息管理模块 包括对家族信息进行管理、对系统用户进行管理、音乐选择等功能。 其中,对系统用户管理的模块中,主要包括新增各类系统新用户,包括 广东商学院学士学位论文 家族信息管理系统设计与实现 11 用户名称、用户权限、用户密码、密码确认,同时还可以对系统用户进 行注销以及密码修改等操作;而音乐选择功能可以选择硬盘中的各类格 式的音乐文件。 3.3.3 家族信息管理模块 包括新建家谱,然后可以对家谱进行管理,包括姓名、父亲姓名、 出生日期、家庭地址、健在否(包括死亡日期) 、婚否等信息。在该家谱 的基础上,可以进行删除记录、增加孩子、确定两人关系、更改资料等 操作。该系统可以对多个家谱进行管理,并且分别进行保存文件。也可 以对已经做好的家谱进行保存,并随时进行管理操作。 3.3.4 统计查询模块 包括对系统用户的统计查询以及对家族成员的统计查询两大模块、 其中对系统用户的统计查询包括从姓名、生日、手机号码进行查找,同 时可以查看系统用户的属性,创建新的用户、给新用户发电子邮件等。 而对家族成员的统计查询模块中,主要包括对家族成员表进行统计查询, 包括按出生日期排序、按姓名查找成员、按生日查找成员、查询某一代 的信息等操作。 3.4 系统流程描述 运行系统后,首先看到登录窗体,对用户的身份进行认证。 在本系统中,应该首先增加家谱信息,之后才能对家谱成员进行操 作。基本信息管理模块包括节基本信息设置模块包括对家族信息进行管 理、对系统用户进行管理、音选择乐等功能。其中,对系统用户管理的 模块中,主要包括新增各类系统新用户,包括用户名称、用户权限、用 广东商学院学士学位论文 家族信息管理系统设计与实现 12 户密码、密码确认,同时还可以对系统用户进行注销以及密码修改等操 作;而音乐选择功能可以选择硬盘中的各类格式的音乐文件。 添加家谱信息之后,就可以对家族中的成员进行各类的操作了。家 族信息管理设置模块包括新建家谱,然后可以对家谱进行管理,包括姓 名、父亲姓名、出生日期、家庭地址、健在否(包括死亡日期) 、婚否等 信息。在该家谱的基础上,可以进行删除记录、增加孩子、确定两人关 系、更改资料等操作。该系统可以对多个家谱进行管理,并且分别进行 保存文件。也可以对已经做好的家谱进行保存,并随时进行管理操作。 统计查询模块包括对系统用户的统计查询以及对家族成员的统计查 询两大模块、其中对系统用户的统计查询包括从姓名、生日、手机号码 进行查找,同时可以查看系统用户的属性,创建新的用户、给新用户发 电子邮件等。而对家族成员的统计查询模块中,主要包括对家族成员表 进行统计查询,包括按出生日期排序、按姓名查找成员、按生日查找成 员、查询某一代的信息等操作。 本系统流程分析如图 3.4.1 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 13 开始 结束 登陆界面 密码是否正确 密码错误 连续三次密 码错误 密码正确 系统管理 家谱管理 通讯录管 理 注销用户 新增用户 音乐管理 修改密码 新建家谱 打开家谱 保存家谱 增加孩子 删除孩子 更改资料 查找某代人 确定两人关系 音乐选择 修改资料 创建卡片 查找用户 备忘录管理 新备忘录 保存备忘录 打开备忘录 图 3.4.1 系统流程图 3.5 数据结构设计 3.5.1 数据库的 e-r 图设计 家族信息管理系统采用 access2003 数据库存储通讯录用户的有关信 广东商学院学士学位论文 家族信息管理系统设计与实现 14 息,而对于系统用户是通过自动程序自动保存设置,家族成员是通过文 件进行保存。其 e-r 图 7如下: 系统用户 管理 家族成员 密码 帐户名 姓名 出生日期 婚否 地址 健在否 死亡日期 通讯录成 员 管理 孩子数 排行 姓名 电子邮件 q q 手机号码 生日 电话号码 工作单位 个人主页 备注 用户权限 3.5.2 数据库表结构 系统用户数据表,如表 1 所示。其中,系统用户信息表的各数据项 详细说明如表 2 所示。 表 1 用户 登陆密码 amy信息录入员 0000000 system系统管理员 0000000 图 3.5.1 系统 e-r 图 广东商学院学士学位论文 家族信息管理系统设计与实现 15 表 2 数据字段 数据类型 user 文本 password 文本 在数据库中,系统通讯录用户信息存在 bookdata 表中,其基本信息 如表 3 所示。其中,系统用户信息表的各数据项详细说明如表 4 所示。 表 3 name email qq mobile phone birthd ay workuni t hom epa ge demo 杨丽金 ylijin2 2126.c om 483 777 08 136314 64763 020840 94779 198610 31 广东商 学院 李涛 litao1 63.com 131457 27530 076323 12569 198505 12 表 4 数据字段 数据类型 name 文本 广东商学院学士学位论文 家族信息管理系统设计与实现 16 3.6 界面设计 家族信息管理系统要为用户提供一个易于操作的人机界面,在界面 设计过程中充分考虑界面的一致性和简洁性、要求方便易用,界面友好, 具体设计如下。 3.6.1 登录界面 用户登录界面设计充分考虑到用户实际应用系统时可能出现误操作 的情况,如果用户输入的用户名和密码不符,则提示用户重新输入。 为保证用户输入密码不会被窃取,用户进入系统时输入的密码采 email 文本 qq 文本 mobile 文本 phone 文本 birthday 文本 workunit 文本 homepage 文本 demo 文本 广东商学院学士学位论文 家族信息管理系统设计与实现 17 用不回显的方式从屏幕获取用户输入的字符,从而保证顾客登录系统时 密码的安全性。 当用户输入的用户名与密码相符,则会直接进入系统主界面。 根据不同的权限,调用相应的系统界面。 图 3.6.1 登录界面 3.6.2 系统主界面 系统管理员默认名为 system,密码为 0000000;信息录入用户名为 amy,0000000 为密码,确认登录后进入主界面,如图 3.6.2 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 18 图 3.6.2 系统主界面 3.6.3 系统用户管理界面 用户登录到系统后允许使用的与权限相对应的系统功能,主要有系统 管理员以及系统信息录入员。系统用户管理的模块中,主要包括新增各 类系统新用户,包括用户名称、用户权限、用户密码、密码确认,同时 还可以对系统用户进行注销以及密码修改等操作。密码修改成功后,系 统将会提示“密码修改成功,请牢记新密码” 。用户管理界面如图 3.6.3 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 19 图 3.6.3 用户管理界面 3.6.4 帮助界面 图 3.6.4 帮助界面 3.6.5 关于本系统界面 该界面采用 flash 动画形式对系统进行介绍,并且可直接点击 e- 广东商学院学士学位论文 家族信息管理系统设计与实现 20 mail 直接开启 ooutlook 联系作者。如图 3.6.5 所示。 图 3.6.5 关于本系统界面 3.6.6 家族信息管理界面 家族信息管理设置模块包括新建家谱,然后可以对家谱进行管理, 包括姓名、父亲姓名、出生日期、家庭地址、健在否(包括死亡日期) 、 婚否等信息。在该家谱的基础上,可以进行删除记录、增加孩子、确定 两人关系、更改资料等操作。该系统可以对多个家谱进行管理,并且分 别进行保存文件。也可以对已经做好的家谱进行保存(必须输入后缀 “.ftf”,否则文件不能打开) ,并随时进行管理操作。界面如图 3.6.6 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 21 图 3.6.6 家族信息管理界面 图 3.6.7 增加孩子 3.6.7 成员信息管理界面 在家族信息管理模块下,可以进行删除记录、增加孩子、确定两人 广东商学院学士学位论文 家族信息管理系统设计与实现 22 关系、更改资料、按生日进行排序等操作。成员信息管理界面如图 3.6.8 所示。 图 3.6.8 点击“出生日期排序”后系统界面 图 3.6.9 可填入任一代人的信息 图 3.6.10 系统提示 广东商学院学士学位论文 家族信息管理系统设计与实现 23 图 3.6.11 右边表格出现该代人的信息 图 3.6.12 输入要查询的名字“杨蕾” 图 3.6.13 系统提示 广东商学院学士学位论文 家族信息管理系统设计与实现 24 图 3.6.14 右边表格出现“杨蕾”的相关信 息 图 3.6.15 输入查询的生日“10.31” 图 广东商学院学士学位论文 家族信息管理系统设计与实现 25 3.6.16 系统提示 图 3.6.17 出现生日为 “10.31” 的成员的信 息 图 3.6.18 输入“杨招娣”及“华文亿”两人的名字 广东商学院学士学位论文 家族信息管理系统设计与实现 26 图 3.6.19 系统提示并显示两人之间的关系 3.6.8 通讯录界面 在通讯录中,我们可以进行增加、修改、删除用户资料,查看用户 属性,查找用户,通过电子邮件联系用户等操作。界面自动调用数据库 中 bookdata 表信息。查找用户的查找项有:姓名、手机号码、电话号码、 qq、生日、工作单位、个人主页、email、备注等。而删除用户时,应点 击通讯录中某人的信息,再点击“删除” 可删除该系统用户的资料,系 统会自动提示“是否真的要删除” 。具体界面如图 3.6.20 所示。 图 3.6.20 通讯录界面 3.6.9 备忘录界面 在通讯录界面中,用户可以通过备忘录进行留言。备忘录文件存储 在文件夹中,以“.dat”为后缀,可以随时调出备忘录文件进行查看, 修改等,同时也可新建新备忘录,新建时,可以指定当天的日期、天气 广东商学院学士学位论文 家族信息管理系统设计与实现 27 等信息,以便以后查看和确认。界面如图 3.6.21 所示。 图 3.6.21 备忘录界面 3.6.10 音乐管理界面 用户可以在使用该软件的时候,播放电脑中的任意 mp3 播放文件, 在工作的同时享受音乐的熏陶。播放过的文件,其路径会保留,以便下 次直接播放。该界面如图 3.6.22 所示。 广东商学院学士学位论文 家族信息管理系统设计与实现 28 图 3.6.22 音乐界面 3.6.11 退出对话框 退出时,正在进行的音乐会同时退出,并且会显示一下界面,如图 3.6.23 图 3.6.23 退出界面显示 广东商学院学士学位论文 家族信息管理系统设计与实现 29 4. 家族信息管理系统详细设计 4.1 连接数据库模块 4.1.1 模块描述 本系统采用 odbc 技术访问数据库,在类的类型中生成 familytree.cpp,默认文件为 familytree.cpp. 4.1.2 主要程序清单 bool cfamilytreeapp:initodbc() char strcurfile256; char * p; cfilefind file; :getmodulefilename(m_hinstance,strcurfile,sizeof(strcurf ile); p = strcurfile; while(strchr(p,) p = strchr(p,); p+; *p = 0; strcat(strcurfile,“bookdata.mdb“); if(!file.findfile(strcurfile) 广东商学院学士学位论文 家族信息管理系统设计与实现 30 afxmessagebox(“找不到 bookdata.mdb 数据库文件,请保证该 文件和本程序在同一个目录中!“,mb_ok|mb_iconstop); return false; if(getprofileint(“数据源“,“isfirstrun“,0) cstring strkeydir = getprofilestring(“数据源“,“curdir“); if(strkeydir.compare(strcurfile) writeprofilestring(“数据源“,“curdir“,strcurfile); return(loadodbc(cstring(“carsdatabase“),cstring(strcurfile), cstring(“数据源“); else userinfo sysuser; strcpy(,“system“); sysuser.oper = 1; strcpy(sysuser.password,“system“); afxgetapp()-writeprofilebinary(“用户 “,“user0000“,(lpbyte) afxgetapp()-writeprofileint(“用户“,“lastid“,1); 广东商学院学士学位论文 家族信息管理系统设计与实现 31 writeprofileint(“数据源“,“isfirstrun“,1); writeprofilestring(“数据源“,“curdir“,strcurfile); return(loadodbc(cstring(“carsdatabase“),cstring(strcurfile), cstring(“数据源“); return true; 4.2 登录模块 4.2.1 模块描述 身份认证分为以下两个过程:首先确认用户是否有效的系统用户, 其次确认用户的类型。第一个过程决定用户能否进入系统,第 2 个过程 根据用户的类型决定用户的操作权限。如果还要创建其他用户,则使用 system系统管理员用户登录,可以在用户管理模块中创建和管理;否 则建议使用信息录入员身份登录,此时不能创建新用户,只能进行其他 功能操作。在创建系统用户时,需要输入要创建的用户名、用户权限、 密码以及密码确认。system系统管理员用户还可以添加和注销其他用 户数据。 登录对话框为 idd_login,为其创建一个类 clogindlg。当用户单击 确定按钮时,将发送 bn_clicked 消息,在 classwizard 窗口中为其添加 函数 clogindlg:onok()。 广东商学院学士学位论文 家族信息管理系统设计与实现 32 4.2.2 主要程序清单 bool clogindlg:oninitdialog() cdialog:oninitdialog(); userinfo theuser; char * stroper = “信息录入员“,“系统管理员“ ; uint size = sizeof(userinfo); lpbyte bt = new unsigned charsizeof(theuser); cstring strid; strid.format(“user%04u“,0); int lastid; lastid = afxgetapp()-getprofileint(“用户“,“lastid“,0); for(int i=0;igetprofilebinary(“用户 “,strid,i+) memcpy( cstring strinfo; strinfo.format(“%s %s“,theu,stropertheuser.oper); m_ulist.addstring(strinfo); strid.format(“user%04u“,i+1); if(lastid 0) m_ulist.setcursel(0); 广东商学院学士学位论文 家族信息管理系统设计与实现 33 delete bt; m_btnbutton2.subclassdlgitem(idok, this); m_btnbutton2.seticon(idi_icon2); m_btnbutton3.subclassdlgitem(idcancel, this); m_btnbutton3.seticon(idi_icon3); return true; void clogindlg:onok() updatedata(); userinfo theuser; uint size = sizeof(theuser); lpbyte bt = new unsigned charsizeof(theuser); cstring strid; int id = m_ulist.getcursel(); strid.format(“user%04u“,id); if(afxgetapp()-getprofilebinary(“用户“,strid, delete bt; if(!m_pas.compare(theuser.password) m_dwuser = theuser.oper; cdialog:onok(); return; 广东商学院学士学位论文 家族信息管理系统设计与实现 34 else delete bt; messagebox(“没有该用户的信息,请与系统管理员联系。“,“读取 用户数据错误“,mb_ok|mb_iconstop); return; if(m_times) m_times-; messagebox(“用户密码不正确!请再次尝试!“,“登陆失败! “,mb_ok|mb_iconstop); getdlgitem(idc_dlog_cpasword)-setfocus(); else messagebox(“用户密码不正确!n 您的登陆失败次数已达三次, 程序将退出。n 请与系统管理员联系。“,“登陆失败! “,mb_ok|mb_iconstop); cdialog:oncancel(); 广东商学院学士学位论文 家族信息管理系统设计与实现 35 4.3 主界面模块 4.3.1 模块描述 用户成功登录后进入系统主界面,根据不同权限完成相应的功能操 作。主界面的类为 familytreedlg.cpp。 4.3.2 主要程序清单 ondelete()函数 ondelete()函数功能是将家谱中的某成员进行删除操作,代码如下: void cfamilytreedlg:ondelete() / todo: add your command handler code here if(operfamilytree.getroot()=0) return; htreeitem hitem,hchilditem; hitem=m_petree.getselecteditem(); hchilditem=m_petree.getnextitem(hitem,tvgn_child); char namemax_charnum; strcpy(name,m_petree.getitemtext(hitem); int answer; if(hchilditem=0) answer=:messagebox(this-m_hwnd,“你确实想删除 “+cstring(name)+“吗?“,“警告“,mb_yesno|mb_iconwarning); else answer=:messagebox(this-m_hwnd,cstring(name)+“还有孩子, 广东商学院学士学位论文 家族信息管理系统设计与实现 36 如果你删除了他,其孩子也一并被删除。你确实想删除此人及其孩子吗? “,“警告“,mb_yesno|mb_iconwarning); if(answer=idno) return; person oneself=0; operfamilytree.find(operfamilytree.getroot(),oneself,name); if(oneself) operfamilytree.delete(oneself); m_petree.deleteitem(hitem); refreshtree(); refreshlist(); isfamilytreemodified=true; /置家谱修改标记为 真 onadd()函数 当对话框 idc_add 启动时触发 cfamilytreedlg:onadd()函数。增加孩 子,需要检查家谱中是否有重名的孩子,并且要对其出生日期以及死亡 日期(如果有的话) 。对应的代码如下: void cfamilytreedlg:onadd() / todo: add your command handler code here caddinfodlg dlg; htreeitem hitem; 广东商学院学士学位论文 家族信息管理系统设计与实现 37 hitem=m_petree.getselecteditem(); if(operfamilytree.getroot()=0) dlg.m_parentname=“-1“; else dlg.m_parentname=m_petree.getitemtext(hitem); if(dlg.domodal()=idcancel) /弹出对话框 return; updatedata(false); person addnode; addnode=new personnode; /新申请一结点 if(addnode=0) afxmessagebox(“内存不足!“); return; addnode-parent=0; addnode-child=0; addnode-sibling=0; /把有关结点信息加入到结点中去 strcpy(,dlg.m

温馨提示

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

最新文档

评论

0/150

提交评论