网吧管理系统论文-无忧无虑毕设网_第1页
网吧管理系统论文-无忧无虑毕设网_第2页
网吧管理系统论文-无忧无虑毕设网_第3页
网吧管理系统论文-无忧无虑毕设网_第4页
网吧管理系统论文-无忧无虑毕设网_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 第一章 绪 论 1 1 前言 随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活,一座座智能化大厦拔地而起,适应 信息的时代需要 ,作为跨世纪使用的建筑 ,必须在功能上满足当前和未来发展的需求 ,成为文化和经济发展的基地。 门禁系统开发作为一项先进的高科技技术防范和管理手段,在一些经 济发达的国家已经广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等,特别是由于系统本身具有隐蔽性,及时性等特点,在许多领域的应用越来越广泛。 门禁系统的技术不断向前发展 , 用户需求也在发生变化 , 因此门禁系统的设计与实施应考虑到将来可扩展的实际需要 , 亦即 : 可灵活增减或更新各个子系统 , 满足不同时期的需要 , 保持长时间领先地位 , 成为智能建筑的典范。系统设计时 ,对需要实现的功能进行了合理配置 ,并且这种配置是可以改变的 ,设置甚至在工程完成后 ,这种配置的改变也是可能的和方便的 .系统软件根据开发商 符合不同历史时期市场的需求进行相应的升级和完善 ,并免费为相应的应用客户进行免费的软件升级 .同时,可以扩展为考勤系统、会议签到系统、巡逻管理系统,就餐管理系统等一卡通工程。 1 2 Delphi 简介 本课题是在 Delphi 的基础上开发研制的,下面对 Delphi进行简单的介绍。Delphi是 Borland 公司开发的可视化软件开发系统。 Delphi系列软件的工作平台相当广泛,可以工作于 Windows 95、 Windows98、 Windows NT、 Windows2000以及 Windows XP下,编程所用的 语言为结构化程度相当高的 Object Pascal 语言。用过 Delphi 系列软件的程序员一定都会觉得 Object Pascal 语言具有高度清晰的结构,高效率的优化系统,是一种简单易学,但又不乏其作为优秀编无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 程语言的特点。同时,由于 Delphi采用了内置高速的优化编译器,使得程序的编译、链接速度快的惊人。在与其相类似的可视化软件开发系统 Microsoft Visual C+的比较中,我们不可否认 Microsoft Visual C+的功能相当强大,但调试程序时的编译时间过长,使很多程序员感到棘手;而 Delphi 在编译时等待的时间很少。 Delphi 的编译器采用了事件编译和选择链接技术,使生成的可执行文件冗余更少,运行起来速度更快。另外,由于 Delphi生成的可执行文件不需要动态链接库的支持,可以直接交付使用,这会使得使用 Delphi 的程序员充分享受 Delphi 为他们带来的方便快捷。 Delphi 系列另一个广受欢迎的原因是其强大的可扩展数据库功能。 Delphi6.0 不但在传统的开发能力方面持续进步,让程序员能够享有更具生产力的开发环境,对于最新的信息技术,也有非常良好的支持,让程序员能够快速地使用这些新的技术。 在对 Delphi 有了一个初步的了解之后,我们将进入对 Delphi 集成开发环境和工程管理的介绍,使大家能够进一步深入了解 Delphi,并在此基础上介绍编辑器和调试器的使用方法。 IDE是提供设计、运行和测试应用程序所需的所有工具的集成环境。 Delphi的集成开发环境( IDE)包括代码编辑器、调试器、工具栏、图像编辑器以及诸多用于应用程序开发的组件(如数据库开发组件等)。所有这些都以集成方式进行操作,极大地简化了用户编程的过程。 1 3 研究背景 当前 ,大学内的微机机房正在朝着开放式 ,大型化方向发展。一个 教学实验中心里的几个机房有着几百台微机 ,已是很普遍的现象。使用方式也由原来的以计划安排集体上机为主 ,变为以个人自由上机为主。因此、以往那种主要针对集体上机的以机房和时间段为单位来安排机器使用的管理方式已显得不适用。为适应新的应用和发展 ,结合中心自身的特点 ,四川大学工程设计中心和西南交通大学共同研制出了这套用于微机机房管理的集中式 IC 卡控制门禁系统。该系统着眼于对大型开放式机房进行集中管理。把原来的分机房分散管理变为单一出入口的集中管理。变原来的人工计时计费为计算机管理的 IC 卡计费。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 1 4 特点及组成原 理 该系统有如下特点 : (1)技术上充分利用机房内部局域网系统 (LAN)环境。管辖范围内只设一个出入口。将所有投入使用的机器置于集中统一管理之下。 (2)采用多模块结构化模式设计 ,使用多种软件混合编程。实现子系统内数据库管理和通讯及子系统与子系统之间的通讯。通过相互间的通讯 ,把几个子系统的结合在一起。形成一个完善的门禁管理系统。 (3)用户界面友好、操作简便、并且具有较好的可维护性。 (4)系统除强调其实用性外 ,还对其安全性和可靠性作了充分考虑。 该系统主要由 IC 卡刷卡机管理子系统、登录管理服务器及用户端登 录子系统组成。它们之间通过内部局域网交换信息以保证机房外刷卡和机房内登录能协调工作。除此之外 ,还有与之相配套的数据后备系统提供电源保障的 UPS 系统,在门禁系统管理下 ,刷卡机管理子系统向机器使用者提供上机刷卡服务。持卡用户首先在设于机房外出入口的刷卡机前刷卡 ,刷卡机管理管理服务器在对卡的有效性进行验证 ,待验证无误后使用者方可能进入机房。进入机房后还要进行登记才能使用机器。登录管理服务器及用户端登录子系统提供使用者刷卡后进入机房后的登录服务。上机要进行登录是为了避免无卡上机和一人使用多台机器情况的发生而设计的。 使用者进入机房后 ,可以随意选定机位但必需进行登录后才能获得机器的使用权。为了避免未经刷卡就上机 ,在登录管理服务器的管理下 ,未刷卡的人将不能通过登录验证 ,一个人也不能同时登录两台机器。同样 ,一台已经被登录使用的机器如果未被使用者注销 ,它也不能再被其他人登录。当机器使用完毕后 ,使用者必须先执行登录管理服务器所提供的下机注销功能 ,释放该机器的使用权 ,然后再到刷卡机前刷卡 ,刷卡机管理子系统根据使用时间计算并从卡上扣除相应机时金额。如此 ,门禁管理系统就完成了一个上下机的管理过程。从上面上下机的过程可以看出 ,门禁管理系 统的核心部分主要由设在机房外的 IC 卡刷卡机管理子系统、登录管理服务器和装在机房内每台机器上的用户端登录子系统组成 ,形成内外两道防线。使其即实现上机必须刷卡 ,且一人只能使用一台计算机 ,又能根据需要自由选定机位 ,调换机位。给管理和使用都带来了方无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 便。下面分别介绍各子系统的功能及工作原理。 1 4 1 刷卡机管理子系统 刷卡机管理子系统负责对出入机房进行计时 ,以及对卡的有效性进行验证。它还兼有对当前正在上机和当日上机总人数进行统计的功能。该子系统由 IC 卡刷卡机和刷卡机管理服务器组成。 IC 卡刷卡机由单片机加上一个 通过 IC 卡机构成 ,使其具有了和刷卡机管理服务器之间进行通讯的能力和驱动数码管显示的能力。加上一个多用户串行通信卡与刷卡机进行通信 ,一台刷卡机管理服务器上的多用户卡最多可挂接 8 台 IC 卡刷卡机。 IC 卡使用者刷卡后 ,刷卡机将 IC 卡信息送至刷卡机管理服务器 ,经校验传送信息无误后 ,刷卡机管理服务器查找数据库对该卡记录进行处理 ,判别是上机还是下机 ,如果是上机 ,就必须对该卡的有效性进行验证。它要检查该卡是否已经超过使用期限、是否是挂失卡、卡上金额是否满足设定的要求等。如验证有误 ,管理服务器送相应错误代码至 IC 卡刷卡机 ,IC 卡刷卡机将显示误代码 ,并发声提示。如果是下机 ,管理服务器首先要通过 LAN 从用户端登录服务器获取该卡登录信息 ,判断该卡是否按正常下机步骤已经注销。如已注销 ,根据用机时间和设定的机时价格送至刷卡机扣出金额并清除库中相应的上机信息。否则送“尚未注销”错误代码至 IC 卡刷卡机通知该卡用户返回机房注销机器以释放该机器的使用权。一次刷卡过程在 500ms 内完成。该系统还可按不同机房的不同机型设置收费标准。根据实际应用的需要 ,该子系统还设置了跨日下机 ,不注销刷卡下机等特殊处理功能。登录管理服务器及用户端录子系统该子系统由一 个含有控制引导过程的扩展 ROM 卡和事先写在硬盘特殊位置的登录软件构成。放在 ROM 扩展卡上的程序用来获取对系统引导过程的控制权 ,确保该计算机的使用者必须经过上机登录并且有效才能取得对该机器的使用权。由于采用了硬件设计 ,一般用户无法绕过登录 ,因此 ,设置登录功能就有效地避免了未经刷卡就使用机器或一个使用多台机器现象的发生。用户端登录服务通讯程序 BOLABDC+编写 ,它的作用是用它通过 LAN 与登录服务器进行通讯 ,以完成对该机的上机登录和下机注销以及更改密码的工作。使用者刷卡进入机房后 ,首先将申请该机使用权的用户的 卡号 ,密码输入。登录服务通讯程序将输入的卡号 ,密码连同本机地址一道通过 LAN 发送至登录管理服务器 ,登无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 录管理服务器收到登录申请请求后通过 LAN 查询刷卡机管理服务器。通过卡号查询检查该卡用户是否已经刷卡。如果找到该卡的刷卡信息并且核对密码无误 ,则返回登录成功信息到用户终端机。用户终端机收到返回的登录成功信息后将控制权交本机 WIN98 引导系统。进入正常使用状态。否则 ,如果在刷卡机管理服务器未查到该用户的刷卡信息或核对密码有误 ,则返回一登录失败以及相应的错误信息到用户终端机。用户终端机收到返回错误信息后将在计算机屏 幕上显示“无此卡号”或“密码错误”的信息 ,让使用者确定是否刷卡,或是输入了错误的卡号或密码而作出相应处理 ,直至登录正确。同样 ,使用者在机器使用完后要使用户端登录服务提供的注销功能进行注销 ,才能释放该机的使用权 ,才能正常通过刷卡机管理子系统刷卡下机。在登录管理服务器端运行的登录软件 ,不仅负责对用户登录和注销的及时处理 ,还对登录后的使用情况进行管理和监控。它记录并保存用户上机的起始时间和使用者机位变更情况。以备需要时查询。它还负责对集体上机这类不需登录的情况进行处理。登录管理服务器端可以把某些机位设置为不检测卡 号和登录。因此集体上机的用户在指定机位上无须登录即可使用计算机。 1 4 2 数据后备系统 在整个门禁系统运行过程中 ,数据的可靠性和安全性是非常重要的 ,数据一但丢失或遭到破坏将会造成巨大损失。因此 ,从系统及数据的安全考虑。专门为各子系统软件设计了一个自动备份模块。该自动备份模块确保各子系统不仅要将自己的数据保存一段时间 ,在每天关机前退出相应的管理程序时 ,各子系统还会启动自己的自动备份模块 ,自动将当日的所有数据通过 LAN 传送到一个专门的数据后备服务器予以保存。这样 ,即使发生意外 ,最多只能影响到当日数据。从而把损失降到最少。 1 4 3 UPS 系统 为保证因意外事故导致突然停电后 ,所有的登录及刷卡信息不被丢失和使用者能刷卡下机。门禁系统专门配备了 50KW/UPS 不间断电源 ,在电网停电时能为各子系统提供不少于 30 分钟的供电。保证正在上机的使用者都能在这段时间无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 内能利用刷卡机子系统提供的“不注销下机”功能正常刷卡下机。管理人员也能在所有使用者刷卡退出后按正常步骤关闭各子系统并在退出过程中自动备份当日的相关数据。 第二章 总体概要设计 2 1 系统需求分析 在此实例中,我们要开发一个实现局域网门禁系统功能的 客户 /服务器( C/S)数据库应用系统,下面是用户对系统需求功能的陈述。 系统应用在一个各台 PC 均安装 WINDOWS NT/2000 操作系统的局域网内,且此网由一台域控制器(服务器)和多台域成员 PC 组成。此局域网的用户为某学校的学生与教职员,分成 Teacher、 Master 和 Graduate 三组。他们每人均有一张机读卡,对学生而言标识其学号,对教职员而言则标识其员工代号,在此我们系统称为 ID。每个 ID 均由数字和英文字母组成,长度不大于 16 位。现在要对该网进行管理,实现刷卡上机,自动计费。因此,该系统应有刷卡 和实时监控两个模块。在刷卡端能够使用刷卡器读取用户卡上的 ID 并发送给服务器,然后显示用户信息及刷卡成功或失败等反馈消息;在实时监控端,要求设立管理员,能够实时显示已刷卡用户、进行自动计费以及输出查询统计报表。管理员可以维护上机用户的数据,实现增加、删除用户及修改用户信息。下表1-1 显示了系统模块划分情况。 模块名 所在机器 功能 刷卡模块 专门用于刷卡的 PC 上 刷卡及显示反馈信息 实时监控模块 域控制器上(服务器) 实时显示、自动计费、用户管理和输出查询统计报表 表 1-1 局域网门禁系统模块划分情况 刷卡模块主要完成刷卡功能,同时显示从服务器上反馈回来的信息,包括:用户 ID、用户姓名、用户班级、用户刷卡登记时间、用户刷卡注销时间、当前无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 的上机余款、刷卡是否成功。为了防止用户使用键盘关闭刷卡模块,必须实现只能通过服务器端的实时监控模块制刷卡模块退出的功能。 实时监控模块主要完成实时监控功能,随时监听从刷卡端发来的刷卡消息,叛断是刷卡登录还是刷卡注销,随后进行相应的数据处理,再向刷卡端返回反馈消息。 用户管理主要分为用户帐号的增加、删除,用户信息的修改。每一个欲上机的用户必须首先在实时监控模块端进行注册, 然后在刷卡端刷卡,方可使用局域网内的任一台机器。系统对用户进行了分类,分成老师、研究生、本科生三类,分别有不同的计费标准。 统计查询功能要求有登录日志查询、用户信息查询、组信息查询和用户上机情况统计。登录日志查询要求显示某段日期内某个用户的登录记录;用户信息查询要求显示某用户的具体信息如金额等;组信息查询要求显示某组的计费标准和成员列表;用户上机情况统计要求统计用户的总上机小时数以便核查。所有查询统计结果均为只读信息,不可以进行任何修改。在用户管理和查询统计前,均要求使用者输入管理员帐号和密码。 由于实时临 近模块端可以对用户数据库进行操作,考虑到安全性,必须在启动的时候对使用者的身份进行认证,由使用者输入管理员帐号和密码,同数据库中的记录进行核对,核对正确后方可进入系统。这样确保了只有管理员才可以运行实时监控模块,也保证了用户资料不受恶意修改。管理员进入实时监控模块后,可以维护自己的密码,以满足自己的需要。 2 2 系统设计 在以上的系统功能分析中,我们确定了系统的模块划分和所需要具有的功能。然而用户需求还不能直接指导我们进行开发,作为开发人员,我们必须根据用户需求进行详细的系统分析和设计,形成相应的数 据模型,包括数据库的表结构、数据在各表及各模块之间的传递关系、网络通信所使用的自定义协议等。只有事先确定了这些,我们才能在开发时做到心中有数,游刃有余。 2 2 1 画出数据流图 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 刷 卡 消息处理 实时监控 P1 管理员 查询统计 用户维护 登录日志D1 组计费标准 D2 用户列表 D3 P4 P2 P3 数据流图( Data Flow Diagram,简称 DFD 图)是用一些规定的图标和符号来描述数据在系统中的流动和处理的情况。数据流图在表示系统时,采用自上而下逐步细化的结构化方法表示。顶层一级的功能在下一级中加以细化。 根据系统分析,我们可以画出如图 1-5 所示的顶层数据流图。 图 1-5 顶层数据流图 上面的 顶层数据流图经过细化后,得到图 1-6 所示的监控模块第二层数据流图与图 1-7 所示的刷卡模块第二层数据流图。 反 退 刷 馈 出 卡 消 命 消 息 令 息 刷卡消息量 验证信息 身份验证 处理结果 验 身 证 份 调用信息 调用信息 调用信息 信 验 查询要求 统计要求 修改要求 息 证 查询结果 统计结果 修改结果 图 1-6 实时监控模块第二层数据流 局域网门禁系统 刷卡消息 刷卡反馈消息 系统退出命令 刷卡模块 实时监控模块 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 显示信息 刷卡消息 刷卡反馈消息 刷卡 ID 系统退出命令 图 1-7 刷卡模块第二层数据流 2 2 2 编写数据项 根据数据项的含义,我们将数据项的定义分为以下几个方面:数据项名、类型、长度、附加说明。主要数据项定义如表 5-14 至表 5-16 所示。 数据项名 类型 长度 说明 用户 ID( id) 字符型 16 英文字符和数字的组合 类型( type) 字符型 4 固定为“刷卡”,为以后功能扩充使用 登录时间( intime) 日期型 形式: 2005-3-4 12: 00 注销时间( outtime) 日期型 形式同上 IP 字符型 15 以后功能扩充使用 表 1-14 数据项定义(登录日志) 数据项名 类型 长度 说明 组类别( type) 字符型 16 英文字符和数字的组合(主码),为Teacher|Master|Graduate 计费标准 (criteria) 浮点型 Single 类型 表 1-15 数据项定义(组计费标准) 数据项名 类型 长度 说明 用户 ID(id) 字符型 16 用户卡上的标识码(主码) 类型( type) 字符型 16 同组类别 姓名( name) 字符型 20 密码( pwd) 字符 型 20 英文字符和数字的组合 金额( money) 浮点型 Single 类型 刷卡器 刷卡信息处理 P5 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 附加信息( info) 字符型 100 其他信息 表 1-16 数据项定义(用户列表) 2 3 数据库设计 1 数据库概念设计 根据对数据流图和数据字典的分析,我们可以确定该应用中的实体、属性和实体之间的关系,并画出如图所示的用户 E-R 图。 1 1 n 1 1 n m n m 2数据库逻辑结构设计 转换后的关系模型如下所示 ,关系主码用下划线标出 . 登录日志 Log( id, type, intime, outtime,ip ) 计费标准 Rule( type, criteria ) 用户列表 Users( id, type, class, name, pwd, money, info ) 下面我们将利用 SQL 语言的 CREATE 语句建立上述关系 ,并定义好完整性约束 . CRAETE TABLE Log 登录日志 ( id VARCHAR(16), type VARCHAR(16), intime DATETIME, outtime DATETIME, 组 属于 用户 对应 金额 对应 ID 对应 计费 标准 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: ip VARCHAR(15) ); CREATE TABLE Rule 计费标准 (type VARCHAR(16) CONSTRAINT CONDNO PRIMARY KEY , criteria FLOAT ); CREATE TABLE Users (id VARCHAR(16) CONSTRAINT CONDNO PRIMARY KEY , type VARCHAR(16), class VARCHAR(16), name VARCHAR(20), pwd VARCHAR(20), money FLOAT, info VARCHAR(100) ); 具体到建立数据库 ,需要手工建立一个数据库 LGSys.mdb. 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第三章 分子模块的设计 3 1 C/S 基本概念 什么是 C/S?如果你是一位 DELPHI 开发人员,那你一定要把这个概念弄清楚。因为实际上, DELPHI 本身就是一个客户 /服务器开发环境。典型的客户 /服务器结构总是包括一个前端程序,也叫客户。其作用于是向远程服务器上的程序发送数据,并接收来自服务器的数据并进行一定的处理,再根据情况进行反馈。即远程服务器是服务的提供者,它可以从内部访问服务器上的数据库;而客户总是向服务器请求服务 ,并不能直接访问数据库内的数据。在这种情况下,服务器尽可能详尽地定义业务规则和实现尽可对强大的功能,因为它往往是更新比较缓慢的,而客户往往比较“瘦小”,因为它往往是频繁更新和分发的对象。 一般情况下,客户 /服务器方案可以解决以下几个问题: 允许将不同客户进行分类,每类客户只允许处理它负责的数据。 以一种更为有效的方式为决策者提供决策支持。 在 MIS 中加强对数据的集中控制,而在数据分析和使用的集中控制上只需要花费比较少的精力。 在服务器端可以对整个业务数据库进行数据完整性验证。 更灵活的业务划分,客户端和服务 器端业务功能分离,各司其职。 服务器向客户端传递的数据是经过筛选的,可以减轻网络负担。 1 客户 /服务器模型 客户 /服务器模型通常分两层模型和三层模型两类。下面我们分别进行介绍。 两层模型 两层模型的应用十广泛,基本上,它是由桌面数据库应用系统演变而来的。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 在此模型中,数据库位于服务器端,客户应用程序位于客户机上,业务逻辑放在客户或服务器上。如图 1-5 所示。 三层模型 如图 1-6 所示,客户仅仅起显示数据的作用,业务规则(处理逻辑)放在服务器上,而实际的数据库则放在另外一台机器上。由于三者处于不同的机器,开发人 员可以更灵活高效地划分系统功能,优化数据访问及维护数据的完整性。 图 1-5 两层客户 /服务器模型 图 1-6 三层客户 /服务器模 2 客户 /服务器模型与桌面数据库应用系统的比较 客户 /服务器器模型与桌面模型应用系统的比较:面向集合与面向记录。 对客户端而言,它面向的是记录。对桌面数据库而言,它直接面对数据集合;而在 C/S 模型中,客户面对的只是数据集合的一个子集。通过 SQL 语句,客户可以从服务器端获取到符合一定要求 的一组记录,而不需要把整个数据表格全部下载到本地再进行处理。而一个桌面数据库要从网络数据库中获取数据时,它得到的是整个数据表格。如果数据表格很大,那网络传输所需要的时间是很数据 业务规则 客户 1 客户 2 客户 3 数据库 业务规则 客户 1 客户 2 客户 3 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 长的。相比之下,通过 SQL,只需要通过网络传输符合记录的部分记录集,这就大大减轻了网络传输的负担,也使系统的响应速度得到了很大的提高。 3 3 1 刷卡模块 刷卡模块主要有 2 个子模块组成,如图 1-7 所示。 图 1-7 刷卡模块系统结构图 下面是各模块的主要功能: 背景框架子模 块 该子模块是刷卡模块的背景界面,通过覆盖整个桌面起到模拟的效果。同时,它起到禁止用户关闭系统的作用。通过在内部设定一个开关,使得用户无法通过键盘和鼠标关闭刷卡应用程序,而只能通过接收来自服务器的命令才能够自动关闭。 刷卡消息处理子模块 该子模块是刷卡模块的逻辑核心部分。在这个子模块中,能够实现自动读取用户刷卡信息、向服务器传送刷卡信息和接收并显示服务器反馈信息的功能。通过这个模块,用户可以刷卡,实时看到自己刷卡的处理结果以及自己的姓名、班级、刷卡登录时间、注销时间和当前余额信息。如果用户余额不足,该子模块 将显示拒绝用户登录的提示。 3 3 2 实时监控模块 该模块主要由四个子模块组成,如图 1-8 所示 背景框架子模块 刷卡消息处理模块 实时监控 子模块 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 1-8 实时监控子模块系统结构图 下面是各模块的主要功能: 实时监控子模块 该子模块是实时监控模块的主界面,也是系统的惟一进入和退出端。通过此子模块,用户可以调用查询统计子模块和用户管理子模块,同时,此子模块还自动调用刷卡消息处理子模块处理来自刷卡模块的消息。由于只有管理员才可以访问这四个子模块,因此,在进入此模块时必须进行身份验证,确保只有管理员才能运行实时监控应用程序。 在此模块中,管理员还可以实时看到当前刷卡上机的用户列表及每个用户的详细信息。 刷卡消息处理子模块 该子模块是实时监控模块实现门禁功能和自动计费功能的核心部分。这个子模块由实时监控子模块自动调用,以刷卡消息为处理对象,自动维护已刷卡用户列表和域用户列表,并向数据库中写入登录住处和更新用户金额。由于采用了多线程模型和临界区域对象,可以处理同时到达的多个刷卡信息。 用户管理子模块 该子模块是管理员维护域用户列表和用户信息的界面。管理员可以浏览并修改三个用户组的成员列表,组计费标准和各用户的详细信息。可以为各个用户 组添加新用户和删除无用的用户。由于用户信息同时存在于域用户(操作系统数据结构)和数据库(系统自带数据表单),如图 1-9 所示,因此管理员要修改用户清单必须使用此子模块,而不能单独使用操作系统自带的管理工具来维护用户列表。 刷卡消息处理子模块 用户管理子模块 查询统计子模块 用户管理子模块 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 一一对应 同步更新 图 1-9 用户管理子模块内部结构说明 查询统计子模块 该子模块允许管理员就登录、用户信息和组成员列表进行查询。允许对查询设定关键字进行模糊查询,对登录记录的查询还允许设定查询的 时间段。统计功能分为用户上机清单和用户上机总时两部分,前者给出用户每一天的上机时间,后者给出用户总上机时间。统计前,可以设定统计的用户 ID 进行模糊查询,还可以设定统计的时间段。最后生成的数据集体传递给报表及输出子模块进行显示和输出。 报表及输出子模块 该子模块显示查询统计模块生成的数据集,并以 Microsoft Word XP 的形式自动输出到固定的目录下,供用户浏览、修改和打印。 3 4 系统功能实现 通过上面对本局域网门禁系统的功能的简单介绍,我们把此系统分割成两个单独的模块,刷卡模块和实时监控模 块,两者之间通过网络进行通信。下面将介绍系统的详细设计和具体的实现细节。 3 4 1 刷卡模块的设计和实现 本模块采用 MDI 结构,背景窗口为 MDI 框架窗口,刷卡窗口为 MDI 子窗口。系统启动后背景窗口将以全屏显示 ,重点突出刷卡窗口。 MDI 结构即多文档结构,是从 Windows2.0 下的 Microsoft Excel 电子表格程序开始引入的,与它相对应的是 SDI(单文档结构)。 一个 MDI 应用程序包含如下窗口: 框架窗口:框架窗口虽应用程序的主要窗口。此窗口一般含有标题栏、菜单条和系统菜单。右上角为最小化、最 大化和关闭按钮。 数据库 各用户组计费 标准 Rule表单用户列表 Users表单 Windows2000/NT 域全局组 域用户列表 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 客户窗口: MDI 程序的窗口管理器,是框架窗口吕间的空白区域。用来管理和显示 MDI 子窗口。 MDI 子窗口:显示在客户窗口内的窗口,不能移出客户区。 由于 Delphi6.0 会自动管理 MDI 窗口元素。因此对我们来说,只需要记住对框架窗口而言,必须把 FormStyle 属性设置成 fsMDIForm;对子窗口而言,必须把 FormStyle 属性设置成 fsMDIChild。如果子窗口是自动建立的,那么在程序启动的时候会自动显示在客户窗口内。缺省地,每一个窗口都有是自动建立的,这可以在 Project 菜单的 Options 内的 Forms 卡内观察。 Auto-create forms列表里的窗口 Form1v 和 Form2 都是在程序运行的时候自动建立的,如果不是MDI 子窗口,则处于隐藏状态。如果把某个 Form 如 Form3 放进 Available forms列表下,那在调用这个窗口前必须手工建立它。 3 5 UDP 协议的基本知识 UDP 协议( User Datagram Protocol),即用户数据报协议,广泛使用在计算机间传输数据的网络应用上,如网络视频会议系统、语音传播等众多的客户 /服务器模式。 UDP 协议从问世至今 已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使在今天, UDP 协议仍然在一项非常衫和有效的网络传输层协议。与我们所熟知的 TCP 协议一样, UDP 协议位于 IP( Internet Protocol)协议的顶层。根据 OSI (Open System Interconnect )参考模型, UDP 和TCP 同属于传输层协议。 UDP 协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报是一个二进制数据的传输单位。每一个数据报的前 8 个字节用来包含报头号信息,剩余字节则用来包含具体的传输数据 。 UDP 协议是一种无连接协议。它与 TCP 操作不同,计算机间进行通信时并不需要事先建立一个连接。而且,一个 UDP 的接受方可以同时作为一个发送方,相比 TCP 协议,它的应用方法也非常简单。因此,在我们的系统中,使用 UDP协议作为我们进行网络通信的网络协议。 3 6 界面设计 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 刷卡消息处理子模块的界面布局如图 1-17 所示。 图 1-17 刷卡消息处理子模块界面布局 从图中我们可以看到刷卡界面的基本布局。对此窗口,我们需要把FormStyle 属性设置为 fsMDIChild,命名为 fmScanForm,Caption 为“ LGYSY-刷卡窗口”。 窗口内最上面是刷卡用的 Tedit 控件,命名为 editCardNo。下面是个人信息界面,分别显示了用户姓名、班级、登录时间、注销时间和当前上机余额,分别命名为 editName,editClass,editInTime,editOutTime,editMoney。由于只起显示作用,因此这五个 Tedit 控件的 ReadOnly 属性需要设置为 False。对于设置多个组件的同一属性,有一个简单的方法,即按住键盘 Shift 键分别点选各个 Tedit 组件,然后在 Object Inspector 里选择 ReadOnly 项,设置为 True 即可。最下面是状态栏,左边的 Panel 用于显示刷卡成功 /失败的信息,右边的 Panel 显示当前日期。 最关键的 TNMUDP 控件我们命名为 nuScanCard,LocalPort 属性设置为无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 2171, RemotePort 属性设置为 2173, ReportLevel 属性为 1。 3 7 代码设计 首先,在窗口创建时需要将个人信息下的各个输入框设置为只读。其次,我们在此需要用到 UDP 的广播功能,这样只需要把 RemoteIP 设置为广播地址,发送的数据就可以被局域网内的所有 机器所接收。这样,我们就没必要单独设置服务器的 IP ,否则,当服务器 IP 改变的时候,还必须重新设置nuScanCard.RemoteHost 属性值。对于广播的详细信息,请参阅其他专业文献,在这里只需要指出,如果本机 IP 为 3 而子网掩码为 ,则广播地址即为 55。因此,在窗口创建时需要获取广播地址并赋给RemoteIP 属性。如果获取 IP 失败,则应该退出系统。另外,由于下面的代码用到了 WinSock.pas 单元,而这个单元并没有缺省包含在引用列表中 ,所以必须手工在接口部分的引用列表中添加此单元。 3 8 ODBC 数据源 设计 所有的模块及界面做好以后,最后就要进行数据库连接了。打开开始设置控制面板管理工具 ODBC 数据源,选择系统 DNS,如下图所示: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 选择添加创建新数据源如下图所示: 点击完成。填写数据源名称网吧管理系统,选择数据库,如下图所示: 点击确定完成。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第四章 总结与展望 通过本次毕业设计,我们基本明确了一个局域网门禁系统从构思到设计再到实现的一般步骤以及需要注意的方面,这也是一个让我 们自己学习知识和运用知识的大好机会。 我们最大的遗憾就是由于能力和设备的限制没有能够把一整套网络管理系统做出来。还有部分功能还有待进一步加强。严格的来说,我们的系统还不是真正意义上的局域网门禁系统,而是一个单机测试版。原因就是缺乏很强专业技术水平以及没有很高的技术含量。 由于在校内课程中没有涉及到很深 Delphi 程序,以及我个人学习能力的限制,系统也没有能够实现很强的功能。 还有就是各组员间联系不够紧密,缺乏团队合作精神。由于与指导教师缺乏默契的合作和密切的联系,为后期的时间紧迫埋下了隐患。而作为组长,我负 有不可推卸的责任。 但是在各位领导和老师对我们的关心和指导之下,我们克服了困难,经过调试,系统已基本达到我们初步制定的目标,完成简单登录、查询、管理等功能,并能顺利通过单机环境测试。 我相信,在不久的将来,局域网门禁系统将提供更为简单,同时也是更为精细和完善的实现手段。到那时,使用局域网门禁系统管理网络,将更加简单! 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 致 谢 在这几个月的毕业设计过程中,学校领导和老师对我们表达了深切的关心和严格的督促;尤其是在课题设计的初始阶段,专业老师对我进行了悉心的教导并提出了许多宝贵的意见 ;在系统开发过程中,指导教师在百忙之中抽出时间为我们的设计提供参考书目和专业指导;在课题研究过程中,其他老师也为我们提供了许多的宝贵意见和帮助;班主任老师更是一遍一遍不厌其烦地督促我们完成设计工作。 参 考 文 献 1、江毅等 .DELPHI6.0 数据库实例编程 . 北京:中国水利水电出版社, 2002 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 2、苗雪兰,刘瑞新,王怀峰 .数据库系统原理及应用教程 . 北京:机械工业出版社, 2001 3、袁培根 ,杨东艳 ,肖仁琴 ,何明儒 .开放式机房门禁系统研制与实践 . 北京:实验室研究与探索第 20卷 第 5期, 2001 4、贾成宇 ,李树秋 ,王世刚 .智能门禁系统门控部分硬件设计 . 吉林:长春邮电学院学报第 18卷第 3期, 2000 5、贾成宇 ,李树秋 ,王世刚 .智能门禁系统门控部分软件设计 . 吉林:长春邮电学院学报第 19卷第 1期, 2001 附 录 部分重要代码详解 unit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Menus, Mask, DBCtrls, Buttons; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; Edit1: TEdit; Label1: TLabel; DBGrid1: TDBGrid; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N4: TMenuItem; N6: TMenuItem; N5: TMenuItem; PC1: TMenuItem; DBEsdjg: TDBEdit; DBEshangji: TDBEdit; DBExiaji: TDBEdit; DBEsj: TDBEdit; DBExj: TDBEdit; Label2: TLabel; Timer1: TTimer; Splitter1: TSplitter; Label3: TLabel; Label4: TLabel; Panel3: TPanel; DBGrid2: TDBGrid; Panel4: TPanel; N7: TMenuItem; DBEmrjg: TDBEdit; DBEyhm: TDBEdit; N8: TMenuItem; N9: TMenuItem; DBEqx: TDBEdit; DBText1: TDBText; N3: TMenuItem; Label5: TLabel; function sswu(yuanshi:string):real; function jgjs(shangji:string;xiaji:string;MM:string):string; procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure N5Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure PC1Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure N3Click(Sender: TObject); private Private declarations public Public declarations end; var Form1: TForm1; implementation uses D_M, sd_gl, dd_gl, mr_jg, deng_lu, dl_gl, shan_chu; $R *.dfm function Tform1.sswu(yuanshi:string):real; var dd:string; begin if pos(.,yuanshi)0 then 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: begin dd:=copy(yuanshi,pos(.,yuanshi)+1,3); if (strtofloat(dd)=0)and(strtofloat(dd)25)and(strtofloat(dd)75)and(strtofloat(dd)=99) then result:=strtofloat(copy(yuanshi,1,pos(.,yuanshi)-1)+1; end else result:=strtofloat(yuanshi); end; function Tform1.jgjs(shangji:string;xiaji:string;MM:string):string; var tt,xiaoshi,fenzhong,allmoney:string; begin tt:=; xiaoshi:=; fenzhong:=; allmoney:=; /tt:=timetostr(now()-strtodatetime(DM.ADOTgltemp.Lookup( 卡编号 ,edit1.Text, 上机时间); tt:=timetostr(strtodatetime(xiaji)-strtodatetime(shangji); xiaoshi:=copy(tt,1,2); if copy(xiaoshi,2,2)=: then xiaoshi:=copy(xiaoshi,1,1); xiaoshi:=floattostr(strtofloat(xiaoshi)*strtofloat(MM);/小时位的计算 if copy(tt,3,1)=: then fenzhong:=copy(tt,4,2) else fenzhong:=copy(tt,3,2); fenzhong:=copy(floattostr(strtofloat(fenzhong)/60*strtofloat(MM),1,4);/ 分钟位的计算 result:=floattostr(strtofloat(xiaoshi)+strtofloat(fenzhong);/总金额的计算 end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var moneyall:double; ok,ss,xx:string; begin ss:=; xx:=; if key=#13 then if (DM.ADOTgltemp.Lookup(卡编号 ,edit1.Text,卡编号 )=Null) then begin DM.ADOTgl.Append; DM.ADOTgl.FieldByName(卡编号 ).AsString:=edit1.Text; DM.ADOTgl.FieldByName(上机时间 ).AsString:=datetimetostr(now(); DM.ADOTgl.FieldByName(操作员 ).AsString:=DBEyhm.Text; DM.ADOTgl.Post; DM.ADOTgltemp.Append; DM.ADOTgltemp.FieldByName(卡编号 ).AsString:=edit1.Text; DM.ADOTgltemp.FieldByName(上机时间 ).AsString:=datetimetostr(now(); DM.ADOTgltemp.Post; edit1.Text:=; DBText1.Caption:=inttostr(strtoint(DBtext1.Caption)-1); 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: DM.ADOQuery1.Close; DM.ADOQuery1.Open; DM.ADOQuery2.Close; DM.ADOQuery2.Open; end else begin dm.ADOTgl.Locate( 卡编号 ; 上机时间 ,vararrayof(DM.ADOTgltemp.Lookup( 卡编号,edit1.Text,卡编号 ),DM.ADOTgltemp.Lookup(卡编号 ,edit1.Text,上机时间 ),); dm.ADOTgl.Edit; DM.ADOTgl.FieldByName(下机时间 ).AsString:=datetimetostr(now(); DM.ADOTgl.UpdateBatch; DM.ADOTgl.Edit; DM.ADOTjggl.First; ok:=; repeat begin if strtodatetime(DBEsj.Text)=strtodatetime(datetostr(now()+ +DBEshangji.Text)and(strtodatetime(DBExj.Text)=strtodatetime(datetostr(now()+ +DBExiaji.Text) then begin moneyall:=0; moneyall:=sswu(jgjs(DBEsj.Text,datetostr(now()+ +DBEshangji.Text,DBEmrjg.text); while okok do begin DM.ADOTjggl.Next; if DM.ADOTjggl.eof then begin DM.ADOTgl.FieldByName( 结算).AsFloat:=moneyall+sswu(jgjs(datetostr(now()+ +DBEshangji.Text,datetostr(now()+ +DBExiaji.Text,DBEsdjg.Text)+sswu(jgjs(datetostr(now()+ +DBExiaji.Text,DBExj.Text,DBEmrjg.Text); ok:=ok; break; end; if (strtodatetime(DBExj.Text)=strtodatetime(datetostr(

温馨提示

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

评论

0/150

提交评论