门禁管理系统论文Word格式文档下载.docx
- 文档编号:18006274
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:32
- 大小:172.97KB
门禁管理系统论文Word格式文档下载.docx
《门禁管理系统论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《门禁管理系统论文Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
3.4.1刷卡模块的设计和实现19
Windows2000/NT19
3.5UDP协议的基本知识20
3.6界面设计21
3.7代码设计22
3.8ODBC数据源设计22
结束语24
致谢25
参考文献26
附录27
摘要
随着高科技的蓬勃发展,智能化管理已经走进了人们的社会生活,一座座智能化大厦拔地而起,适应信息的时代需要,作为跨世纪使用的建筑,必须在功能上满足当前和未来发展的需求,成为文化和经济发展的基地。
门禁系统开发作为一项先进的高科技技术防范和管理手段,在一些经济发达的国家已经广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等,特别是由于系统本身具有隐蔽性,及时性等特点,在许多领域的应用越来越广泛。
门禁系统的技术不断向前发展,用户需求也在发生变化,因此门禁系统的设计与实施应考虑到将来可扩展的实际需要,亦即:
可灵活增减或更新各个子系统,满足不同时期的需要,保持长时间领先地位,成为智能建筑的典范。
系统设计时,对需要实现的功能进行了合理配置,并且这种配置是可以改变的,设置甚至在工程完成后,这种配置的改变也是可能的和方便的.系统软件根据开发商符合不同历史时期市场的需求进行相应的升级和完善,并免费为相应的应用客户进行免费的软件升级.同时,可以扩展为考勤系统、会议签到系统、巡逻管理系统,就餐管理系统等一卡通工程。
第1章系统环境
1.1Delphi简介
本课题是在Delphi的基础上开发研制的,下面对Delphi进行简单的介绍。
Delphi是Borland公司开发的可视化软件开发系统。
Delphi系列软件的工作平台相当广泛,可以工作于Windows95、Windows98、WindowsNT、Windows2000以及WindowsXP下,编程所用的语言为结构化程度相当高的ObjectPascal语言。
用过Delphi系列软件的程序员一定都会觉得ObjectPascal语言具有高度清晰的结构,高效率的优化系统,是一种简单易学,但又不乏其作为优秀编程语言的特点。
同时,由于Delphi采用了内置高速的优化编译器,使得程序的编译、链接速度快的惊人。
在与其相类似的可视化软件开发系统MicrosoftVisualC++的比较中,我们不可否认MicrosoftVisualC++的功能相当强大,但调试程序时的编译时间过长,使很多程序员感到棘手;
而Delphi在编译时等待的时间很少。
Delphi的编译器采用了事件编译和选择链接技术,使生成的可执行文件冗余更少,运行起来速度更快。
另外,由于Delphi生成的可执行文件不需要动态链接库的支持,可以直接交付使用,这会使得使用Delphi的程序员充分享受Delphi为他们带来的方便快捷。
Delphi系列另一个广受欢迎的原因是其强大的可扩展数据库功能。
Delphi6.0不但在传统的开发能力方面持续进步,让程序员能够享有更具生产力的开发环境,对于最新的信息技术,也有非常良好的支持,让程序员能够快速地使用这些新的技术。
在对Delphi有了一个初步的了解之后,我们将进入对Delphi集成开发环境和工程管理的介绍,使大家能够进一步深入了解Delphi,并在此基础上介绍编辑器和调试器的使用方法。
IDE是提供设计、运行和测试应用程序所需的所有工具的集成环境。
Delphi的集成开发环境(IDE)包括代码编辑器、调试器、工具栏、图像编辑器以及诸多用于应用程序开发的组件(如数据库开发组件等)。
所有这些都以集成方式进行操作,极大地简化了用户编程的过程。
1.2研究背景
当前,大学内的微机机房正在朝着开放式,大型化方向发展。
一个教学实验中心里的几个机房有着几百台微机,已是很普遍的现象。
使用方式也由原来的以计划安排集体上机为主,变为以个人自由上机为主。
因此、以往那种主要针对集体上机的以机房和时间段为单位来安排机器使用的管理方式已显得不适用。
为适应新的应用和发展,结合中心自身的特点,四川大学工程设计中心和西南交通大学共同研制出了这套用于微机机房管理的集中式IC卡控制门禁系统。
该系统着眼于对大型开放式机房进行集中管理。
把原来的分机房分散管理变为单一出入口的集中管理。
变原来的人工计时计费为计算机管理的IC卡计费。
1.3特点及组成原理
该系统有如下特点:
(1)技术上充分利用机房内部局域网系统(LAN)环境。
管辖范围内只设一个出入口。
将所有投入使用的机器置于集中统一管理之下。
(2)采用多模块结构化模式设计,使用多种软件混合编程。
实现子系统内数据库管理和通讯及子系统与子系统之间的通讯。
通过相互间的通讯,把几个子系统的结合在一起。
形成一个完善的门禁管理系统。
(3)用户界面友好、操作简便、并且具有较好的可维护性。
(4)系统除强调其实用性外,还对其安全性和可靠性作了充分考虑。
该系统主要由IC卡刷卡机管理子系统、登录管理服务器及用户端登录子系统组成。
它们之间通过内部局域网交换信息以保证机房外刷卡和机房内登录能协调工作。
除此之外,还有与之相配套的数据后备系统提供电源保障的UPS系统,在门禁系统管理下,刷卡机管理子系统向机器使用者提供上机刷卡服务。
持卡用户首先在设于机房外出入口的刷卡机前刷卡,刷卡机管理管理服务器在对卡的有效性进行验证,待验证无误后使用者方可能进入机房。
进入机房后还要进行登记才能使用机器。
登录管理服务器及用户端登录子系统提供使用者刷卡后进入机房后的登录服务。
上机要进行登录是为了避免无卡上机和一人使用多台机器情况的发生而设计的。
使用者进入机房后,可以随意选定机位但必需进行登录后才能获得机器的使用权。
为了避免未经刷卡就上机,在登录管理服务器的管理下,未刷卡的人将不能通过登录验证,一个人也不能同时登录两台机器。
同样,一台已经被登录使用的机器如果未被使用者注销,它也不能再被其他人登录。
当机器使用完毕后,使用者必须先执行登录管理服务器所提供的下机注销功能,释放该机器的使用权,然后再到刷卡机前刷卡,刷卡机管理子系统根据使用时间计算并从卡上扣除相应机时金额。
如此,门禁管理系统就完成了一个上下机的管理过程。
从上面上下机的过程可以看出,门禁管理系统的核心部分主要由设在机房外的IC卡刷卡机管理子系统、登录管理服务器和装在机房内每台机器上的用户端登录子系统组成,形成内外两道防线。
使其即实现上机必须刷卡,且一人只能使用一台计算机,又能根据需要自由选定机位,调换机位。
给管理和使用都带来了方便。
下面分别介绍各子系统的功能及工作原理。
1.3.1刷卡机管理子系统
刷卡机管理子系统负责对出入机房进行计时,以及对卡的有效性进行验证。
它还兼有对当前正在上机和当日上机总人数进行统计的功能。
该子系统由IC卡刷卡机和刷卡机管理服务器组成。
IC卡刷卡机由单片机加上一个通过IC卡机构成,使其具有了和刷卡机管理服务器之间进行通讯的能力和驱动数码管显示的能力。
加上一个多用户串行通信卡与刷卡机进行通信,一台刷卡机管理服务器上的多用户卡最多可挂接8台IC卡刷卡机。
IC卡使用者刷卡后,刷卡机将IC卡信息送至刷卡机管理服务器,经校验传送信息无误后,刷卡机管理服务器查找数据库对该卡记录进行处理,判别是上机还是下机,如果是上机,就必须对该卡的有效性进行验证。
它要检查该卡是否已经超过使用期限、是否是挂失卡、卡上金额是否满足设定的要求等。
如验证有误,管理服务器送相应错误代码至IC卡刷卡机,IC卡刷卡机将显示误代码,并发声提示。
如果是下机,管理服务器首先要通过LAN从用户端登录服务器获取该卡登录信息,判断该卡是否按正常下机步骤已经注销。
如已注销,根据用机时间和设定的机时价格送至刷卡机扣出金额并清除库中相应的上机信息。
否则送“尚未注销”错误代码至IC卡刷卡机通知该卡用户返回机房注销机器以释放该机器的使用权。
一次刷卡过程在500ms内完成。
该系统还可按不同机房的不同机型设置收费标准。
根据实际应用的需要,该子系统还设置了跨日下机,不注销刷卡下机等特殊处理功能。
登录管理服务器及用户端录子系统该子系统由一个含有控制引导过程的扩展ROM卡和事先写在硬盘特殊位置的登录软件构成。
放在ROM扩展卡上的程序用来获取对系统引导过程的控制权,确保该计算机的使用者必须经过上机登录并且有效才能取得对该机器的使用权。
由于采用了硬件设计,一般用户无法绕过登录,因此,设置登录功能就有效地避免了未经刷卡就使用机器或一个使用多台机器现象的发生。
用户端登录服务通讯程序BOLABDC++编写,它的作用是用它通过LAN与登录服务器进行通讯,以完成对该机的上机登录和下机注销以及更改密码的工作。
使用者刷卡进入机房后,首先将申请该机使用权的用户的卡号,密码输入。
登录服务通讯程序将输入的卡号,密码连同本机地址一道通过LAN发送至登录管理服务器,登录管理服务器收到登录申请请求后通过LAN查询刷卡机管理服务器。
通过卡号查询检查该卡用户是否已经刷卡。
如果找到该卡的刷卡信息并且核对密码无误,则返回登录成功信息到用户终端机。
用户终端机收到返回的登录成功信息后将控制权交本机WIN98引导系统。
进入正常使用状态。
否则,如果在刷卡机管理服务器未查到该用户的刷卡信息或核对密码有误,则返回一登录失败以及相应的错误信息到用户终端机。
用户终端机收到返回错误信息后将在计算机屏幕上显示“无此卡号”或“密码错误”的信息,让使用者确定是否刷卡,或是输入了错误的卡号或密码而作出相应处理,直至登录正确。
同样,使用者在机器使用完后要使用户端登录服务提供的注销功能进行注销,才能释放该机的使用权,才能正常通过刷卡机管理子系统刷卡下机。
在登录管理服务器端运行的登录软件,不仅负责对用户登录和注销的及时处理,还对登录后的使用情况进行管理和监控。
它记录并保存用户上机的起始时间和使用者机位变更情况。
以备需要时查询。
它还负责对集体上机这类不需登录的情况进行处理。
登录管理服务器端可以把某些机位设置为不检测卡号和登录。
因此集体上机的用户在指定机位上无须登录即可使用计算机。
1.3.2数据后备系统
在整个门禁系统运行过程中,数据的可靠性和安全性是非常重要的,数据一但丢失或遭到破坏将会造成巨大损失。
因此,从系统及数据的安全考虑。
专门为各子系统软件设计了一个自动备份模块。
该自动备份模块确保各子系统不仅要将自己的数据保存一段时间,在每天关机前退出相应的管理程序时,各子系统还会启动自己的自动备份模块,自动将当日的所有数据通过LAN传送到一个专门的数据后备服务器予以保存。
这样,即使发生意外,最多只能影响到当日数据。
从而把损失降到最少。
1.3.3UPS系统
为保证因意外事故导致突然停电后,所有的登录及刷卡信息不被丢失和使用者能刷卡下机。
门禁系统专门配备了50KW/UPS不间断电源,在电网停电时能为各子系统提供不少于30分钟的供电。
保证正在上机的使用者都能在这段时间内能利用刷卡机子系统提供的“不注销下机”功能正常刷卡下机。
管理人员也能在所有使用者刷卡退出后按正常步骤关闭各子系统并在退出过程中自动备份当日的相关数据。
第2章总体概要设计
2.1系统需求分析
在此实例中,我们要开发一个实现局域网门禁系统功能的客户/服务器(C/S)数据库应用系统,下面是用户对系统需求功能的陈述。
系统应用在一个各台PC均安装WINDOWSNT/2000操作系统的局域网内,且此网由一台域控制器(服务器)和多台域成员PC组成。
此局域网的用户为某学校的学生与教职员,分成Teacher、Master和Graduate三组。
他们每人均有一张机读卡,对学生而言标识其学号,对教职员而言则标识其员工代号,在此我们系统称为ID。
每个ID均由数字和英文字母组成,长度不大于16位。
现在要对该网进行管理,实现刷卡上机,自动计费。
因此,该系统应有刷卡和实时监控两个模块。
在刷卡端能够使用刷卡器读取用户卡上的ID并发送给服务器,然后显示用户信息及刷卡成功或失败等反馈消息;
在实时监控端,要求设立管理员,能够实时显示已刷卡用户、进行自动计费以及输出查询统计报表。
管理员可以维护上机用户的数据,实现增加、删除用户及修改用户信息。
下表2-1显示了系统模块划分情况。
表2-1局域网门禁系统模块划分情况
模块名
所在机器
功能
刷卡模块
专门用于刷卡的PC上
刷卡及显示反馈信息
实时监控模块
域控制器上(服务器)
实时显示、自动计费、用户管理和输出查询统计报表
刷卡模块主要完成刷卡功能,同时显示从服务器上反馈回来的信息,包括:
用户ID、用户姓名、用户班级、用户刷卡登记时间、用户刷卡注销时间、当前的上机余款、刷卡是否成功。
为了防止用户使用键盘关闭刷卡模块,必须实现只能通过服务器端的实时监控模块制刷卡模块退出的功能。
实时监控模块主要完成实时监控功能,随时监听从刷卡端发来的刷卡消息,叛断是刷卡登录还是刷卡注销,随后进行相应的数据处理,再向刷卡端返回反馈消息。
用户管理主要分为用户帐号的增加、删除,用户信息的修改。
每一个欲上机的用户必须首先在实时监控模块端进行注册,然后在刷卡端刷卡,方可使用局域网内的任一台机器。
系统对用户进行了分类,分成老师、研究生、本科生三类,分别有不同的计费标准。
统计查询功能要求有登录日志查询、用户信息查询、组信息查询和用户上机情况统计。
登录日志查询要求显示某段日期内某个用户的登录记录;
用户信息查询要求显示某用户的具体信息如金额等;
组信息查询要求显示某组的计费标准和成员列表;
用户上机情况统计要求统计用户的总上机小时数以便核查。
所有查询统计结果均为只读信息,不可以进行任何修改。
在用户管理和查询统计前,均要求使用者输入管理员帐号和密码。
由于实时临近模块端可以对用户数据库进行操作,考虑到安全性,必须在启动的时候对使用者的身份进行认证,由使用者输入管理员帐号和密码,同数据库中的记录进行核对,核对正确后方可进入系统。
这样确保了只有管理员才可以运行实时监控模块,也保证了用户资料不受恶意修改。
管理员进入实时监控模块后,可以维护自己的密码,以满足自己的需要。
2.2系统设计
在以上的系统功能分析中,我们确定了系统的模块划分和所需要具有的功能。
然而用户需求还不能直接指导我们进行开发,作为开发人员,我们必须根据用户需求进行详细的系统分析和设计,形成相应的数据模型,包括数据库的表结构、数据在各表及各模块之间的传递关系、网络通信所使用的自定义协议等。
只有事先确定了这些,我们才能在开发时做到心中有数,游刃有余。
2.2.1画出数据流图
数据流图(DataFlowDiagram,简称DFD图)是用一些规定的图标和符号来描述数据在系统中的流动和处理的情况。
数据流图在表示系统时,采用自上而下逐步细化的结构化方法表示。
顶层一级的功能在下一级中加以细化。
根据系统分析,我们可以画出如图2-1所示的顶层数据流图。
图2-1顶层数据流图
上面的顶层数据流图经过细化后,得到图2-2所示的监控模块第二层数据流图与图2-3所示的刷卡模块第二层数据流图。
反退刷
馈出卡
消命消
息令息
刷卡消息量验证信息
身份验证
处理结果验身
证份
调用信息调用信息调用信息信验
查询要求统计要求修改要求息证
查询结果统计结果修改结果
图2-2实时监控模块第二层数据流
显示信息刷卡消息
刷卡反馈消息
刷卡ID系统退出命令
图2-3刷卡模块第二层数据流
2.2.2编写数据项
根据数据项的含义,我们将数据项的定义分为以下几个方面:
数据项名、类型、长度、附加说明。
主要数据项定义如表2-2至表2-3所示。
表2-2数据项定义(登录日志)
数据项名
类型
长度
说明
用户ID(id)
字符型
16
英文字符和数字的组合
类型(type)
4
固定为“刷卡”,为以后功能扩充使用
登录时间(intime)
日期型
形式:
2005-3-412:
00
注销时间(outtime)
形式同上
IP
15
以后功能扩充使用
表2-3数据项定义(组计费标准)
组类别(type)
英文字符和数字的组合(主码),为Teacher|Master|Graduate
计费标准(criteria)
浮点型
Single类型
表2-4数据项定义(用户列表)
用户卡上的标识码(主码)
同组类别
姓名(name)
20
密码(pwd)
金额(money)
附加信息(info)
100
其他信息
2.3数据库设计
1.数据库概念设计
根据对数据流图和数据字典的分析,我们可以确定该应用中的实体、属性和实体之间的关系,并画出如图所示的用户E-R图。
1
1n
11nm
n
m
图2-4数据流程图
2.数据库逻辑结构设计
转换后的关系模型如下所示,关系主码用下划线标出.
登录日志Log(id,type,intime,outtime,ip)
计费标准Rule(type,criteria)
用户列表Users(id,type,class,name,pwd,money,info)
下面我们将利用SQL语言的CREATE语句建立上述关系,并定义好完整性约束.
CRAETETABLELog登录日志
(idVARCHAR(16),
typeVARCHAR(16),
intimeDATETIME,
outtimeDATETIME,
ipVARCHAR(15)
);
CREATETABLERule计费标准
(typeVARCHAR(16)CONSTRAINTCONDNOPRIMARYKEY,
criteriaFLOAT
CREATETABLEUsers
(idVARCHAR(16)CONSTRAINTCONDNOPRIMARYKEY,
classVARCHAR(16),
nameVARCHAR(20),
pwdVARCHAR(20),
moneyFLOAT,
infoVARCHAR(100)
具体到建立数据库,需要手工建立一个数据库LGSys.mdb.
第3章分子模块的设计
3.1C/S基本概念
什么是C/S?
如果你是一位DELPHI开发人员,那你一定要把这个概念弄清楚。
因为实际上,DELPHI本身就是一个客户/服务器开发环境。
典型的客户/服务器结构总是包括一个前端程序,也叫客户。
其作用于是向远程服务器上的程序发送数据,并接收来自服务器的数据并进行一定的处理,再根据情况进行反馈。
即远程服务器是服务的提供者,它可以从内部访问服务器上的数据库;
而客户总是向服务器请求服务,并不能直接访问数据库内的数据。
在这种情况下,服务器尽可能详尽地定义业务规则和实现尽可对强大的功能,因为它往往是更新比较缓慢的,而客户往往比较“瘦小”,因为它往往是频繁更新和分发的对象。
一般情况下,客户/服务器方案可以解决以下几个问题:
●允许将不同客户进行分类,每类客户只允许处理它负责的数据。
●以一种更为有效的方式为决策者提供决策支持。
●在MIS中加强对数据的集中控制,而在数据分析和使用的集中控制上只需要花费比较少的精力。
●在服务器端可以对整个业务数据库进行数据完整性验证。
●更灵活的业务划分,客户端和服务器端业务功能分离,各司其职。
●服务器向客户端传递的数据是经过筛选的,可以减轻网络负担。
1.客户/服务器模型
客户/服务器模型通常分两层模型和三层模型两类。
下面我们分别进行介绍。
●两层模型
两层模型的应用十广泛,基本上,它是由桌面数据库应用系统演变而来的。
在此模型中,数据库位于服务器端,客户应用程序位于客户机上,业务逻辑放在客户或服务器上。
如图3-1所示。
●三层模型
如图3-2所示,客户仅仅起显示数据的作用,业务规则(处理逻辑)放在服务器上,而实际的数据库则放在另外一台机器上。
由于三者处于不同的机器,开发人员可以更灵活高效地划分系统功能,优化数据访问及维护数据的完整性。
图3-1两层客户/服务器模型
图3-2三层客户/服务器模
2.客户/服务器模型与桌面数据库应用系统的比较
客户/服务器器模型与桌面模型应用系统的比较:
面向集合与面向记录。
对客户端而言,它面向的是记录。
对桌面数据库而言,它直接面对数据集合;
而在C/S模型中,客户面对的只是数据集合的一个子集。
通过SQL语句,客户可以从服务器端获取到符合一定要求的一组记录,而不需要把整个数据表格全部下载到本地再进行处理。
而一个桌面数据库要从网络数据库中获取数据时,它得到的是整个数据表格。
如果数据表格很大,那网络传输所需要的时间是很长的。
相比之下,通过SQL,只需要通过网络传输符合记录的部分记录集,这就大大减轻了网络传输的负担,也使系统的响应速度得到了很大的提高。
3.3.1刷卡模块
刷卡模块主要有2个子模块组成,如图3-3所示。
图3-3刷卡模块系统结构图
下面是各模块的主要功能:
●背景框架子模块
该子模块是刷卡模块的背景界面,通过覆盖整个桌面起到模拟的效果。
同时,它起到禁止用户关闭系统的作用。
通过在内部设定一个开关,使得用户无法通过键盘和鼠标关闭刷卡应用程序,而只能通过接收来自服务器的命令才能够自动关闭。
●刷卡消息处理子模块
该子模块是刷卡模块的逻辑核心部分。
在这个子模块中,能够实现自动读取用户刷卡信息、向服务器传送刷卡信息和接收并显示服务器反馈信息的功能。
通过这个模块,用户可以刷卡,实时看到自己刷卡的处理结果以及自己的姓名、班级、刷卡登录时间、注销时间和当前余额信息。
如果用户余额不足,该子模块将显示拒绝用户登录的提示。
3.3.2实时监控模块
该模块主要由四个子模块组成,如图3-4所示
图3-4实时监控子模块系统结构图
●实时监控子模块
该子模块是实时监控模块的主界面,也是系统的惟一进入和退出端。
通过此子模块,用户可以调用查询统计子模块和用户管理子模块,同时,此子模块还自动调用刷卡消息处理子模块处理来自刷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 门禁 管理 系统 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)