版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(硕士学位论文)IC卡机房管理系统的设计与实现IC卡机房管理系统的设计与实现摘要随着近年来我国各类院校的快速发展,学校的规模越来越大,学生也越来越多,与之相适应的计算机实验机房的设备数量也迅速增加,机房的管理也越来越复杂。因此开发一个机房管理系统,用更科学、更先进的管理方法来替代原来的人工管理,己成为当前机房管理中一个迫切需要解决的问题。本文作者参加了山东交通职业学院的“IC卡机房管理系统"开发项目,并以此为例介绍了IC卡机房管理系统的设计与实现。本文针对手工管理机房的不足,提出了机房管理系统的分析和设计思路。论文分析了系统的总体结构、各模块的详细设计、以及系统设计和实现时需要考虑的有关问题和涉及的相关技术,系统地阐述了实现机房信息化管理的设计思想、方法以及过程,并详细分析了服务器和客户端主要模块。在工作中我们采用了面向对象的分析设计方法,采用UML统一模型语言为“IC卡机房管理系统"建模,用Visualc++6.0进行了编码,充分利用其提供的各种面向对象的开发工具建立系统应用原型,并对初始原型进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。该系统基本实现了项目的预定目标,在实际运行中体现了操作简单、运行效率高、易维护、安全等特点。本文最后总结了本系统的特点,并结合系统的不足提出了一系列的改进、扩充方案,并提出进一步的研究方向。Socket关键词:lC卡机房管理系统UMLofIrdbasedDesiandiIementationCcacomputergnmpIabmanagementsystemABSTRACTofandnetworkcommunicationmakesThethetechnologytechnologydevelopmentcomputeraneraoftheitforhuman'stoenterofinformation.Butpossiblesocietynowadays,mostcomputerisstillintheofmanualnotisstagemanagement.Thisonlyextremelylaboratoryprimitivemuchofandinconsistentwiththeofalsowastesscience,butmanpowerdevelopmentcomputermaterialithasbeenanfortolaboratorymanagementresources,SoemergentquestioncomputerUSeitdevelopa“ComputerLaboratoryComputerManagementSystem’’andreplacingprimarymanualmanagement.thesisbasedonthecardforroom”ofThisisproject“ICmanagementsystemcomputerthatauthorthisauthorrealizedtheVocationalShandongTransportCollegejoined.Inproject,thetheOrientedonwholeasoneofthegoalsmajordesignersbyOOAObjectAnalysis,OODOrientedlVLsualC++6.0.Modelinganguage,andcodingbyObjectDesign,UMLUnifiedtoinThehasembodiedthecontrol,efficientsystemfollowingcharacters:safe,simplerunningandtomaintain.easyistheofbycomputergoalcomputerRealizingcomputerlaboratoryauto-managementtothetheoriesofnetworkanddatabaselaboratorymodernization.Accordingmanagement,theAuthorthedefectofthemanualoutandfirstlyanalyzedmanagement,thengaveanalysisdesignof“ICcardfortheroom'’,introducedsystematicallythoughtsmanagementsystemcomputertheofinformationmethods,andrealizingcomputerlaboratorydesignideas,designproceduremodulesoftheServiceandwellastheauthorthefunctionofmainauto-management.Asanalyzedthestudentclient.itstoolsinlotsofSelectedVisualC++6.0becauSeofBylookingupdatum,Iobjectivecanashot-cuttobuildaofWins32.Itprototypegiveyouupprototypesystemapplication.ThecouldbemodifiedandtillUSersaresatisfiedwithit.developedIntheendofauthorsummarizedtheoftheoutthethesis,thestrongpointsystem,pointandoutafartherresearchdirection.thatneedbettermentproblemsextension,andgivewords:ICroomKeycard:computermanagementsystem;UML;Socket独创声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含未获得≤逵;垫遗查基丝盂墨挂别直魉的:奎拦亘窒≥或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文作者签名:驷知黟P签字日期:加71年万月;日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国海洋大学将本学位论文收录到《中国学位论文全文数据库》,并通过网络向社会公众提供信息服务。保密的学位论文在解密后适用本授权书学位论文作者签名:?长研导师签字:签字日期:砌7年易月≥日签字日期:IC卡机房管理系统的设计与实现1引言1.1课题的背景与任务1.1.1课题背景近年来,随着我国各类院校的快速发展,学校规模越来越大,学生越来越多,与之相适应的机房设备数量迅速增加,机房的管理越来越复杂。同时由于计算机的普及和网络的迅猛发展,人们也越来越离不开计算机,这就要求在校学生尽量掌握更多的计算机应用知识。因此,学校机房需要开放的时间越来越长、甚至全天开放,以满足学生上机实践的需求。经过对山东交通职业学院机房使用情况的具体调查研究后,发现学院机房在使用过程中存在以下一些问题:①值班教师需求量大:学校的机房小且多,为保证机房的有序状态,必须安排更多的教师值班,增加了教师的工作量。②课外上机计时困难:为营造良好的公共机房氛围,机房同时开放课外上机。在没有机房管理系统的时候,学生购票上机。学生进入机房时由机房管理人员按照计时单位收取纸质票据,每个计时单位收取一次,这样耗去管理人员很多时间,造成机时拥堵现象。此外,这种计费方式有其不合理的一面,而且存在“人情票”的问题,缺乏公平性。③汇总和上报机房开放量困难:每到学期末要向学校汇报学期内工作量,上报内容中有总工作量和按各系专业的工作量,这就需要机房管理人员把纸质课表整理处理,手工计算开放量,耗费了大量时间。如何合理地利用资源,提高机房的使用率,对机房管理水平提出了更高的要求。在这种情况下,学院迫切需要开发一IC卡机房管理系统来统一管理全院各个机房,实现机房的现代化管理,保证教学用机器的正常进行,开发现有计算机的潜力,提高教学水平。因此,学院组织项目组开发了这一套IC卡机房管理系统。1.1.2课题任务课题的研究内容主要包括系统的需求分析,利用统一建模语言UML对机房管理系统进行建模,整个系统模块的划分及各模块功能的设计与实现等。IC卡机房管理系统提高了机房的管理水平以及计算机与网络的利用率,方便了用户上lC卡机房管理系统的设计与实现机。该系统是一套面向计算机公共机房的管理系统,在功能上实现了上下机自动完成、上机费用自动管理、数据安全、网络监控及管理等,能够很好地解决本校机房管理的问题,具有较好的开放性和可伸展性,可以建立二级到多级服务器模式,实现校园内各机房的统一管理。它由多个模块组成,每个模块既可以单独运行,也可以通过校园网或Internet网协作运行。目前该系统已经在山东交通职业学院使用,反映良好,具有非常广泛的应用前景。1.2国内外研究现状1.2.1国内外计算机管理系统发展概况随着计算机的普及,利用计算机进行管理得到了社会各行业的认可。所谓计算机辅助管理系统,就是计算机技术设备、人和管理对象管理信息组合而成的人机系统。人机系统是当前利用计算机进行管理的主要格局,即用计算机进行数据的采集、记录、存储和处理数据及一些重复性工作,由管理人员完成对处理结果的分析、判断、决策等创造性的劳动。对社会各行业来说,加强计算机管理,建立完善的管理制度,是势在必行的。如何提高工作效率,在有限的时间内创造出更高的劳动价值,是每一个部门必须解决的问题,而将计算机尽快应用于各行业,成为刻不容缓的课题。西方发达国家有很多采用计算机辅助管理的实例:美国洛克希德公司是美国飞机制造业的巨擎,从1960年开始就执行了计算机经营利用计算机进行了管理。可以说,计算机辅助管理已深入到发达国家的方方面面,在现代管理中起到举足轻重的作用。我国采用计算机辅助管理也有很多成功的例NetraIntranet子,如上海宝钢采用SunServer软硬件解决方案建立了将国内外分公司连接在一起的宝钢Intranet信息网,能共享公司各种信息,提高经营管理总体效率和全球竞争力;中国科学院、中国工程院院士信息管理系统是利用ACCESS数据库技术,管理一年一度的院士大会及其它会议和学术活动,还有院士基本信息管理维护等n1。1.2.2机房管理系统的现状目前机房收费系统的实施方案有纯软件方式、纯硬件方式和门禁方式。2IC卡机房管理系统的设计与实现纯软件方式的机房管理系统是在服务器上建立上机者的中心数据库,包含上机者的各种信息;在每台计算机的启动程序中嵌入密码输入和校验程序,上机者开机后必须先输入其用户名和密码,通过网络与服务器端的中心数据库核对无误且其账户余额足够时,才可进入正常启动程序并开始计时;下机时必须执行特殊的关机程序并通知服务器进行结账退出。这种方式的系统优点是成本低廉,但其安全性较差且对网络的性能要求较高,一旦网络出现故障,就会导致收费系统不能正常运行。纯硬件方式的IC卡机房管理系统是在每台计算机上分别安装一个IC卡读写器,将上机人员的信息写入到IC卡中。上机时将IC卡插入IC卡读写器中,通过身份验证后才能使用机器,同时自动定时扣减IC卡中的费用,下机时拔卡。这种方式的系统投入较大,但管理简单、稳定性好,避免了集中数据库被攻击或出现故障这一最大的安全隐患,也解决了个人上机逃费的问题。它对网络的性能要求不高,可完全独立于网络,即使网络有故障,其中的单机仍可正常运行,以保证机房收费的正常进行。门禁方式的IC卡机房管理系统,硬件部分是通过IC卡来验证用户身份,核心控制技术用软件实现。主体与纯软件系统基本相同,主要特征是在机房入口处安装一个或多个与管理计算机相连的读卡器。上机时须先刷卡来验证用户身份,并查询机房空闲机器情况,再根据实际情况到相应位置上机;登录时输入用户名和密码,通过验证后使用机器,否则不能使用;下机时须在读卡器上再次刷卡结账。这种系统用IC卡进行身份认证,杜绝了使用别人账户的可能,其安全性有所增加,而且投资较少。本文基于门禁方式设计并实现了IC卡机房管理系统,主要介绍该系统的总体结构、软件实现方案以及系统的实现与设计。1.3本文研究的方法和技术路线1.3.1本文研究的方法采用软件工程的方法,利用理论研究和实践相结合的方案,通过理论研究提出具体的思路,通过实践论证机房管理系统的实用价值。3lC卡机房管理系统的设计与实现1.3.2本文研究的技术路线首先研究系统的关键技术IC卡技术;其次重点讨论以UML作为工具的计算机机房管理系统的建模以及系统分析与设计;然后介绍了基于T:P/P协议的对远程设备的控制;最后介绍了服务器端与客户端的设计与实现。机房管理系统的整体方案如图1-1所示:图1-1系统整体方案图4lC卡机房管理系统的设计与实现2IC机房管理系统的分析2.1系统的需求分析学校机房需要一套具有控制计算机自动启动、关闭、锁定、解锁功能的管理系统。该系统能在计算机有人使用时处于正常运行的状态,暂时无人使用时处于锁屏状态,长时间无人使用时自动关闭。这种策略可完成计算机的自动化管理,避免计算机的频繁开启与关闭,减少对计算机的不必要损坏,而且能节省机房的能源消耗【21。系统要具有管理人员对各种数据统计查询,以了解机房一天的总收入、机时消耗等,在产生的各类信息数据中根据一定条件查找需要了解到的那些数据【31。系统具体实现的功能有:1、机房管理人员可对机房中所有机器进行锁屏、解锁、重启动、关机等全面控制。2、机房管理人员可对指定机器或全部机器发送消息,告诉学生机房的规章制度或是准备下机、注意存盘等信息。3、机房管理人员可设定免费时段,在设定的时间段内不进行计费。4、机房管理人员可设置不同的费率标准。对不同机型,配置不一样的机器,新旧程度不同的机器等设置不同的费率,这样可做到充分、有效地利用机房中的设备。5、机房管理人员可对上机学生实名登记,记录学生的基本情况,如学号、姓名、班级等。6、机房管理人员可查询、查找某学生的基本信息、上机记录、充值记录等。7、机房管理人员可统计机房的上机人数,本机房的费用总额,某个管理员的充值总额,某机房的充值总额等,也可制作账目报表。8、为保证数据的安全性,对网络传输的数据等信息进行加密,对密码加密后存储到数据库,以防止网络窃听。5IC卡机房管理系统的设计与实现2.2系统的安全可靠性分析1、系统采用IC卡进行登录资格验证,安全且占用网络资源少。2、储存在卡内的数据,一些普通信息数据如学号、姓名、班级等采用明文方式进行存储;另外一些信息如密码、金额等采用密文方式进行存储,以防他人非法读出数据或复制卡片,保证系统的安全性【4】。3、为避免非法关闭计费程序逃费的现象,采用客户端程序防范和服务器端程序监控相结合的方式。客户端程序开机即自启动,并且在被关闭时检查和重建自启动命令,然后注销系统。服务器端程序定时扫描网络,如发现有开机运行,但没执行客户端程序的机器后,在服务器端程序界面上给出提示。4、对于用户挂失的卡,服务器端程序记录其卡号。任何一张记录过的挂失卡一登录,服务器端程序就向其登录的机器发出提示信息,并立即注销其登录。5、系统管理员分为三级:超级管理员、系统管理员、普通管理员,他们各自拥有不同的操作权限,其中超级管理员的权限最高。2.3系统可行性分析2.3.1经济可行性分析学校机房作为教学性质的场所,其经济成分比重相对较多,一般包括收入费用和支出费用。收入费用主要是学生业余上机时机房的收入;支出费用有设备的购置费、管理和维护费、管理人员的工资等。由于各机房实行统一操作,系统共享,其维护费用、人员工资相对较少,前期的资金投入主要是购置设备。2.3.2技术可行性分析技术可行性分析主要分析在现有技术条件下能否顺利完成开发工作;硬件、软件配置是否满足开发者的需求;相关技术人员的数量、水平和来源等。项目组通过分析,上述三个需求均能满足,因此该系统具有技术可行性。2.3.3社会可行性分析社会可行性也称为操作可行性,主要分析系统在企业或单位开发和运行的可能性及运行后可能对企业或单位产生的影响,即企业或单位环境是否具备接受和使用系统的条件。当前信息技术飞速发展,计算机技术和软件技术的更新使机房6IC卡机房管理系统的设计与实现管理完全有可能也有能力采用这种先进的管理技术。它对机房管理带来的影响有:冲击了传统的管理观念,引起机房管理人员的变动和调整;提高了对机房工作人员的要求,在可能的条件下精简了机房管理人员,迫使他们不断学习新的计算机知识;转变和扩充了计算机与用户之间的业务方式。7lc卡机房管理系统的设计与实现3IC机房管理系统的总体设计3.1系统整体设计思想本系统适用于普通的局域网,能够跨VLAN管理,可在每个机房设置一台机器作为服务器,运行本系统的服务器端,其余机器都装上本系统的客户端就构成了一个客朋艮系统。IC卡机房管理系统的工作过程如下g客户端向服务器端发出连接请求,服务器端不停地监听客户端的请求,若监听到就接收请求,建立连接,此时,客户端向服务器端发送用户名和密码,服务器端接收后验证其是否正确。服务器端可根据不同的情况向机房中客户端发出不同的命令,客户端接收到命令后根据要求执行不同的操作,达到远程控制的目的。3.2系统的总体框架设计机房管理系统的总体框架如图3-1所示包括IC卡管理子系统、客户端子系统以及服务器端子系统等。IC卡管理子系统包括IC卡注册、挂失、解挂、充值、退卡等部分;客户端子系统包括用户登录和计费控制两部分;服务器端子系统包括网络监控、费率设置、按费率结账、数据库备份以及统计报表等部分。IC卡机房管埋系统IIc卡管理子系统客户端子系统服务器端子系统lll上』j一_L上上上_L』j.上-LII挂I控自其网系统数费CC失C银动他绍绩计据率卡卡卡登计功监初库设注充篇退录费毹控始报备定册值挂卡化表份图3一lIC卡机房管理系统的总体框架8lc卡机房管理系统的设计与实现3.3系统的主要硬件构成系统的硬件结构如图3-2所示。系统用IC卡读卡器读取卡内的用户信息数据,服务器根据用户的信息进行一系列的管理和控制,各份服务器用来备份各种管理信息及用户信息。Q阳℃灭对1,移#,1。拶善
参蓑固3-2系统的硬件结构该系统的硬件主要有以下几部分组成:Ic卡、读卡器、服务器和网络。lC卡机房管理系统的设计与实现4IC卡机房管理系统的详细设计系统设计是问题求解及建立系统的高级策略,它包括系统的分解、系统的固有并发性、子系统分配给硬软件、数据管理、资源协调及软件控制实现等。同时还必须要有解决问题的方法。4.1系统设计的方法面向对象是本系统采用的设计方法。面向对象设计也是面向对象方法在软件设计阶段应用与扩展的结果。该设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案过程。其实也就是用面向对象观点建立求解域模型的过程。它的主要任务有数据设计、体系结构设计、接口设计和过程设计。目标就是提高生产率、提高质量和提高可维护性口1。面向对象的分析就是通过对对象的认定,确定问题空间中存在的对象和对象层次结构;面向对象的设计也是通过对对象的认定和对象层次结构的组织,确定空间中应存在的对象和对象层次结构,进而确定外部接口和主要的数据结构嘲。在面向对象设计中通常应遵循的原则阻1n们:模块化:面向对象开发方法很支持把系统分解成模块的设计原理:对象就是模块,它是把数据结构和操作这些数据的方法紧密地结合在一起而构成的模块。抽象:面向对象方法对过程抽象和数据抽象都支持。有些面向对象的程序设计语言还支持参数化抽象。信息隐蔽:在面向对象的方法中,对象的封装性实现了信息隐蔽。接口与实现通过类结构分离,从而支持了信息隐蔽。对于类用户来说,属性的表示方法和操作的实现算法都应该是隐蔽的。低耦合:在面向对象的方法中,对象也是最基本的模块,因此,不同对象之间相互关联的紧密程度通过耦合来表示。设计的一个重要标准是低耦合,因为这有助于使得系统中某一部分的变化对其他部分的影响降到最低程度。在正常状态下,对某一部分的理解、测试或修改,无须涉及系统的其他部分。高内聚:内聚主要分为操作内聚、类内聚和一般――具体内聚。10IC卡机房管理系统的设计与实现4.2系统模块总体架构本系统中所包含的主要模块介绍如下:1、发卡:经系统确认合法的管理员身份则可允许管理人员做发卡操作。该操作为卡片的个人化处理,将存入学生的个人信息,并分配给学生一个原始的上机密码学生在发卡完成后,应该尽快上机将密码修改为自己的密码做为学生上机的登录辨识。2、充值:将学生的惟一标识存储在学生的IC卡内,将各个学生的充值金额存储于系统。当学生IC卡内的余额不足某一设定值时,系统提示卡内余额不足,学生将无法刷卡上机,必须在充值后才可以继续上机使用。3、刷卡进入机房上机:学生必须在进入机房之前就进行刷卡,刷卡后系统将显示目前是否还有空闲机器可以供学生上机使用。如果有,则学生可以刷卡进入指定的机房;如果没有将无法再进入,必须等待空闲机位。4、机房管理人员也可以根据需要人为的将机房划分为几个区域,并且这种划分操作可以根据实际再做进一步的调整;这样可以指定学生到确定的区域进行上机。这样做就可以满足需要优先安排教学课程上机,而管理人员也可以预先保留机位供教学使用。学生只能到确定的区域上机,否则无法登录。学生登录后,系统将自动将学生的上机信息记录下来。5、监控学生机与远程自动关机:学生机的具体情况可以通过系统远程监视,如在管理机上查阅某学生当前正练习什么及其屏幕显示。远程控制可以关闭任何一台客户机,这种关机方式为Windows的正常关机方式,对系统无任何副作用。在下面几种情况下会利用远程自动关机的功能:①学生未到指定的机房或区域上机;②学生有违反机房上机规定的行为,警告后仍不改正时;③学生下机后,计算机依然在运行,学生则已刷卡离开,则自动关闭;④由于目前的计费系统不允许透支,那么当学生卡内的余额不足时,系统将自动远程关机。6、自动提醒:如果学生卡内的金额小于某己设定值,即余额不足时,系统自动向该学生的客户机发送相应提示。7、下机刷卡计费:要强调的是学生在离开机房时必须刷卡离开。当学生刷卡离开时系统将为学生计费,并显示学生姓名、本次下机时间、卡内余额等综合信息。若学生下机时忘记刷卡而离开,那么系统将继续计费直到当天工作结束。11IC卡机房管理系统的设计与实现8、上机安排:可以设置学生上机或业余上机。9、挂失/黑名单:学生卡片丢失后,可以凭有效证件到指定地点进行挂失。系统将原卡作废并记入黑名单,并发新卡。系统内记录的学生剩余金额将转入新卡,补办卡片的费用需要学生自己缴纳。利用卡片的惟一序列号或者自己编制的卡号作为黑名单的标识。10、销卡处理:学生毕业离校时,需要到指定地点进行结算,没有用完的卡内金额可以退还给学生。11、透支处理:为了便于校方的财务管理和结算,该系统不允许学生透支卡内金额,当学生卡内剩余金额不足时,系统将提醒该生及时进行充值,并终止学生的操作。12、密码修改:忘记了自己密码的学生,可持有效证件到指定地点做修改密码操作,管理人员在验证身份后,可帮学生修改密码。通常学生可以在任何一台Internet计算机上修改自己的密码。13、工作人员管理:操作员由管理人员根据需要增加或删除,操作员允许修改密码;管理人员也可以修改自己的密码;设置一个可以直接进入系统的密码;当然这个密码只有个别人可以掌握。机房内的所有客户机可以不设置密码,不用密码即可使用,方便管理人员统一对机器进行维护。14、系统数据备份:工作人员在结束当天工作时,应先将系统数据进行备份操作。当天的相关信息备份到数据服务器上。15、统计与查询:管理人员以系统的统计数据作为其工作安排和调整的依据,如目前机器的利用率,机器的损坏率,当前设备是否够用等。这些都以实际的数据进行科学判断。机房工作人员可以进行的查询包括:①该卡持卡人信息、卡内余额;②该卡在某段时间内的所有上机时段记录和所使用的机器号;③该卡在某段时间内的充值记录;④该台机器某段时间内的上机情况利用率;⑤某段时间内的该卡片充值记录可按不同工作人员查询;⑥当前机房使用情况。学生利用自己的学号和密码查询自己的相关的信息,这种查询可在任何一台Internet计算机上完成。1c十机房管理系统的设计与实现4.3系统功能设计4.3.1客户端功能设计客户端安装在机房每一台被管理的计算机上,上机的学生在该用户端输入自己的证件号码,然后从用户端发送到管理端,由管理员确认及进行上、下机操作。客户端在没有人上机时,将计算机锁定全屏处于置顶状态,并且通过调用WindowsAPI来禁止系统热键,以防止客户端程序被终止“o当学生输入自己的证件号码、姓名、密码后,点击“上机”按钮,这些信息会被加密,然后通过UDP协议送到管理端指定端口,由管理端的机房管理工作人员进行确认,身份一旦被确认,管理端立即发回“允许”指令,客户端自动解除锁定,自动最小化到Windows的系统托盘区。这时候学生便可以上机。图4-1学生机客户端界面当学生结束上机时,点击客户端的图标。弹出操作界面。点击“下机”按钮,将向管理端发出结束上机请求,机房管理工作人员确认后,立即向客户端发出一个“允许”指令,同时将费用结算情况发送给客户端。客户端收到后显示本次上机费用、用户账上余额等情况。然后将计算机锁定。整个客户端的工作流程如图4―2所示:IC卡机房管理系统的设计与实现开始客户端锁定二二E学生输入证件号等信息二二]发送到管理端从管理端接收信息N允许上机解除锁定,开始上机发出结束上机请求啬图4―2学生机客户端工作流程图4.3.2服务器端功能设计服务器端是机房管理工作人员用来进行上、下机登记、计费显示、查询统计等功能的操作平台,它主要负责接收客户机的上机请求,然后显示数据库中该学生的基本情况,由管理工作人员进行确认,管理工作人员认可后,向客户机发送解锁命令,然后将其加入上机名单中,开始计费。上机用户列表在服务器端维持,全部显示在一个列表框中,该列表框共分为8栏,分别显示上机学生的计算机编号、姓名、用户条码、上机起始时间、已上机的时间、每小时收费、已产生费用、余额等信息,该列表会自动定时刷新,以计算学生的实时费用。当学生账上的余额与用户已消费的金额之差小于0.2时,此行会以红色显示,以提醒管理员此学生余额即将用完,如图4-3所示。服务器端流程图如图4-4所示。当服务器端接收到客户端的上机请求后,管理工作人员会到服务端请求此用户的信息,管理工作人员核对用户信息,正确后可以进行上机确认操作。如果此14Ic卡机房臂理系统的设计与实现图4-3机房管理端界面图4―4机房管理端流程图lc卡机房f理系统的设计与实现时学生余额不足,管理工作人员可以提醒用户,进行充值。此外,学生证件如果丢失,应到管理员处挂失,以防丢失的证件被他人捡到使用。图4-5管理员进行上机确认或充值如果数据库中不存在输入的证件号码,系统自动弹出一个录入窗口,将学生的一些基本信息输入到这个窗口。因为要实名登记,所以每个上机的学生都必须真实的在数据库中存有相应的基本信息.如姓名、系别等。如图4-6所示:囝4-6管理员输入上机学生的基本信息收费标准可以由管理工作人员在设置窗口中设置,管理工作人员可根据机房Jc卡机房管理系统的设计与实现的计算机新旧程度,实行不同的收费标准,因此同一机房可以由设置三档收费标准:囤4―7管理员设置收费费率圈4增设置每一台计算机按哪个标准计费机房管理工作人员针对每一台计算机,设置它适用于哪一档的收费标准,如图4-8所示。当学生登记到这台计算机时,服务端会自动按这台计算机设定的收费标准进行计算。当设置完成后,保存修改,这样每台计算机的收费情况都会保存到一个数组中,然后发送到服务端存储到数据库。除非再次修改数据,否则不需要再重新设置。为保护信息的安全,服务器端与客户端以及服务端之间的通讯都要加密。加密的具体细节在此不再详细介绍。Ic卡机虏瞥理幕统的设计与实现系统同时还为管理员提供了丰富的查询功能,机房管理工作人员在服务器端可以进行一下三类查询:①在学生的上机历史中查询;②在学生赍料中查询;@在学生的充值记录中查询。田4-9上机历史查询功能界面在学生的上机历史中可以输入学生的证件号码,从而检索出学生的全部上机记录,可以用列表的方式,按时问顺序显示出来。同时也可以查找学生的资料姓名,系别,余额等,可以查找学生的全部充值记录并按时间顺序显示出来。幽4lO充值情况查询界面Ic卡机房管理系统的设计与实现机房管理工作人员可以对机房收费情况进行总的统计,输入统计的起止时问以后,就能统计出这一时间区域内的机房收费情况等在内的共计8个统计结果。图4―11统计机房收费情况lC卡机房管理系统的设计与实现5IC卡机房管理系统的实现在软件开发的过程中,在完成系统的分析、设计之后,下一步就是系统的实现了。本章以服务器端和客户端的关键函数为例来讨论一下机房计算机管理系统的实现。在下面的介绍中,实现代码较短的直接给出源代码,实现代码较长的则给出相应的函数流程图。5.1服务器端的实现5.1.1创建应用程序框架因为IC卡机房管理系统是基于网络通讯的,所以在第四步应选中WindowsSockets复选框,其它步骤选择默认值即可。5.1.2修改完善框架类代码要使机房管理系统的服务器应用程序的状态栏里能够显示出目前有多少在线用户,需要对框架类进行修改。首先需要创建代表学生和管理员在线人数的指示器ID,可通过使用view/ResourceSymbols菜单项添加,本系统中分别为代表学生在线人数的NUM。另外,为了能够动态ID―PEOPLE_NUM和代表管理员在线人数ID_SALESMAN更新状态栏,需添加了两个ID:代表学生在线人数的字符串格式ID_SALES_NUM_FORMAT。其次在字符串的编辑器里对StringTable进行编辑,分别给以上4个ID填写对应的默认字符串,内容如下:ID_PEOPLE_NUM的默认值为:学生在线人数:00000ID_SALESMAN_NUM的默认值为:售票员在线人数:000ID_PEOPLE_NUM_FORMAT的默认值为:“学生在线人数:%d"ID_SALESMAN_NUM_FORMAT的默认值为:“售票员在线人数:%d"第三步,修改框架实现文件中代表指示器的数组,代码段如下所示:IC卡机房管理系统的设计与实现StaticUINTindicators[]lineindicatorID_SEPARATOR,//statusID_INDICATOR_CAPS,NUM,ID__INDICATORID_INDICATOR_SCRL,//以下是添加的代码ID_PEOLE_NUM,//代表在线的学生数ID_SALESMAN_NUM,//代表在线的管理员;第四步就是给这两个指示器添加更新界面的处理函数,它们将会在文档类的部分进行介绍‘嘲。5.1.3生成和编辑ClistenSoeket类的代码0要给它添加一个文档类的指针变量,然后修改它的构造函数,最后重载OnAccept函数即可。其文档类的指针变量是CMyDoc*m_pDoc;其构造函数据的代码为:m_pDocpDoc:文档类指针变量的初始化工作在构造函数完成。0的实现代码为:其重载函数OnAcceptVoidCLinErrorCodestenSocket::OnAcceptintCSocket::OnAcceptnErrorcode:ASSERTm__pDoc:21lC卡机房管理系统的设计与实现lient0:m_pDoc--YAcceptCOnAccept0主要负责处理客户端的连接请求,通过调用文档类的成员函数0来完成对连接请求的处理。AcceptClient5.1.4生成和编辑CClicntSockct类的代码复。其重载函数OnReceive的实现代码为:VoidCClientSocket::OnReceiveintnErrorCodeCSocket::OnReceivenErrorCode:ifnErrorCodeOOnReceive00函数负责客户端发送来的信息,通过文档类的ReadMessage函数来实现具体的处理过程。5.1.5修改文档类服务器端的核心是文档类,服务器端的功能都是通过文档类来完成的,下面我们逐一说明:是打开所有的数据库、建立侦听套接字和使服务器处于侦听状态。由于它的实现代码较长,给出其流程图如图5-1所示。图5-1中打开数据库实际上是打开数据库中要使用到的数据报。初始化链表中有两个链表,一个用来存放登录学生的Socket,一个用来存放登录管理员的Socket,在线人数的显示就是通过这两个链表来实现的。2生成ReadMessage0函数文档类的核心是ReadMessage0函数,通过这个函数分析并处理所有的客户信息。其代码较长,所以在此给出它的流程图如图5-2所示。IC卡机房管理系统的设计与实现图5―1启动服务命令流程图图5-2信息处理流程图服务器端接收到的信息是不同的客户端发来的不同信息,因此必须经过分析之后才能分别进行处理。系统中包含的信息主要有客户端的登录信息、下机信息、客户端定期发来的信息每15分钟往服务器端发送一次信息,让服务器知道该机IC卡机房管理系统的设计与实现仍在正常使用、更改密码的信息、查询信息、管理员对学生端的控制信息等。服务器端对于客户端的登录信息,首先要验证卡号和密码是否正确,如果正确,再检查是否有更改密码的要求,若有则从接收到的信息中分离出新密码,并把数据库中的旧密码覆盖,然后发送一个登录正确的消息给客户端,这时学生才可正常使用计算机;如果卡号和密码有一项通不过验证,则发送登录失败的信息给客户端,并连同失败原因一起发给客户端,以便其重新登录。对于管理员的登录信息,只需验证其编号和密码,如果通过验证则发送登录正确的消息,否则发送登录错误信息,同时将错误原因一并发送过去。服务器端对于客户端发来的下机信息,首先判断它是哪种客户端,若是管理员发来的,只需将其对应的Socket从相应的链表中删除并断开连接即可;若是学生客户端发来的信息,则首先从其Socket中找出其计算机的IP地址,然后在IP地址表中查找此IP,看看对这个IP的设置,若是免费的则取出系统当前时间作为结束时间,计算出学生的上机时间,并将IP地址、学生卡号、上机开始时间和上机结束时间写入上机历史记录中,紧接着从上机记录里面删除该条记录,最后断开连接;若是收费的,首先根据IP地址在上机记录表中查找出相应的卡号,取出系统的当前时间作为结束时间,计算出学生的上机时间,然后以卡号为关键字在学生表中查找,找到后修改其卡内余额,更新学生表,接着将卡号、IP、开始时间、结束时间、上机时间写入上机历史记录中,再从上机记录里面删除此条记录,最后断开连接。学生正常登录后,每15分钟会向服务器发送一次消息,让服务器知道该机仍在使用。服务器接收到此消息时,会取出系统当前时间,用其代替上机记录中的结束时间即可。对于管理员发送的更改密码的信息,服务器只需判断出编号、旧密码和新密码,并在数据表中找到相应记录对编号和旧密码进行验证,若通过验证则用新密码代替旧密码;若通不过验证,则向其发出错误信息,并给出错误原因。对于管理员发送的查询信息,系统会从相应的数据库或链表中找到对应的信息,并将按照一定的格式封装信息,然后将其发送给查询端。对于管理端发送来的控制信息,先对它进行分析,再将它重新封装,然后将其发送到对应的计算机,以完成管理端对计算机的控制。3生成AcceptClient0函数调lC卡机房管理系统的设计与实现用,用来完成具体的连接请求操作。其实现代码为:Voidient0CMyDoc::AcceptCl//创建一新的客户套接字im_ClientSocketnewCClentSocketthis://用新创建的套接字从侦听套接字中接收请求iientSocketf!m-ListenSocket一Accept*m_ClAfxMessageBox“Socket接收出现故障!":DeletemClientsoeket:im_ClentSocketNULL:return:CStringaddr:UINTport:m_ClientSocket--GetPeerNameaddr,port;m_IpAddrRecordSet.m_strFilter"IP’一:mlterIpAddrRecordSet.m_strFilter+addr+”":m_IpAddrRecordSet.m__strFi0:m_IpAddRecordSet.Requeryifm_IpAddrRecordSet.IsBOFDeletem_ClientSocket;mC1ientSocketNULL:return://将新创建的客户端套接字添加到列表中ientSocket:m_ListTemp.AddTailm_Cl当有连接请求时,该函数首先创建一个客户套接字,然后用这个套接字从侦IC卡机房管理系统的设计与实现听套接字中接收请求。如果接收正常,则从客户套接字中取出发出请求的计算机的IP地址,并在IP地址表中查找这个IP,若找不到则说明是非法访问,断开和它的连接;若找到,则将其添加到一个临时的链表中。0函数4生成SendMessage0函数的功能主要是通过指定的Socket将信息发送到指定的SendMessage计算机。其实现代码为:Voidbuffer//依次获取列表中的套接字POSITIONposm_List.GetHeadPosition:whilepos!NULL//向接收到消息的套接字发送信息iifclentsocketclient一Sendbuffer,strlenbuffer:break:该函数首先在链表中找到指定的Socket,然后通过该Socket将指定的信息发送出去。5生成SaveData0函数在服务端,每半个小时检查一下学生上机的状态,查看是否有学生非正常下机,根据机器的状态,进行相应的处理。因其程序段较长,所以只给出其流程图如图5-3所示。建立IP地址表时,是按照IP地址由小到大的顺序来建立的,因此设置免费IP时,只需从起始IP依次设置到结束IP即可。6生成设置免费的机房函数OnSetFreeRoom0IC卡机房管理系统的设计与实现图5-3SaveData函数流程图学生上课时,因为上机学生较多,多数情况是按机房来分配计算机的,譬如:一个班级分配一个或多个机房,此时可按机房号将计算机设成免费的。OnSetFreeRoom的代码为:VoidCMyDoc::OnSetFreeRoomm_IpAddrRecordSet.m_strSort"机房号”:if!m_IpAddrRecordSet.IsopenDBm_IpAddrRecordSet.OpenAFXrdSet::skipDeletedRecords:CSetFreeRoomDlgm_SetFreeDlg:i0IDOKfm_SetFreeDlg.DoModallC卡机房管理系统的设计与实现0ifm_SetFreeDlg.m_RoomNum.IsEmptyAfxMessageBox“机房号不能为空,请重新输入!一:return:m__IpAddrRecordSet.m_strFilter"机房号’一tFreeDlg.m_RoomNum+"’":m_IpAddrRecordSet.Requery0:ifm_IpAddrRecordset.IsBOFAfxiessageBox“输入的机房号有误,请重新输入!":return:rstm_IpAddrRecordSet.MoveFi0:mlpAddrRecordSet.Edit0:m_IpAddrRecordSet.m_Charge"0”:m_IpAddrRecordSet.Update0:m_IpAddrRecordSet.MoveNext0:whi0le!m_IpAddrRecordSet.IsEOFtm__IPAddrRecordSet.Edi0:m_IpAddrRecordSet.m_Charge"0"0;m_IpAddrRecordSet.Updatem_IpAddrRecordSet.MoveNext0:该函数的主要功能是根据指定的机房号,将对应的计算机设成免费状态。7生成关闭所有在线计算机的函数OnShutAl1lC卡机房管理系统的设计与实现该函数主要通过客户链表向所有在线学生所用机器发送消息,学生用机收到此消息后,会启动本地的关机函数关闭计算机。服务器发送完关机消息后,接着l调用函数DealDataAfterShut0,对学生关机后的信息进行处理。OnShutAl的代码为:VoidCMyDoc::OnShutAllPOSITIONpos:forposm_List.GetHeadPosition0:pos!NULL:CCIientSocket,IcSendMessagePsock,"Q”:addr:CStringUINTport:psock--GetPeerNameaddr,port:m_IP--addr:DealDataAfterShut:ifposNULLdeletepSock:m--List.RemoveAll0:9生成DealDataAfterShut函数Void0CMyDoc::DealDataAfterShutlm_UseComPuterRecordSet.m_strFiFilter+m_Ip+力"一:m_UseComputerRecordSet.Requery0;0:lC卡机房管理系统的设计与实现CTimeSpant.m_StartTime:m_IpAddrRecordSet.m_strFilter刀IP’":m_IpAddrRecordSet.m_strFilter+吐Ip+"’":m_IpAddrRecordSet.Requery:ifm_IpAddrRecordSet.m_Charge!"0"m_StudentRecordSet.m_strFilter’’学号’"mStudentRecordSet.mstrFiltermStudentRecordSet.mstrFilter+m_UseComputerRecordSet.m_StudentId+"’":m_StudentRecordSet.Requery0:t:m_StudentRecordSet.EdiTime一60*m_TimeSpan.GetHours0十mJimeSpan.GetMinutes0:0:m_StudentRecordSet.Updatetm_IPAddrRecordSet.Edi0:OnLineO:m_IpAddrRecordSet.mifm_IpAddrRecordSet.m_Charge”0’’m_IpAddrRecordSet.m__Charge"1’’m_IpAddrRecordSet.Update0:m_UseComputerHistorySet.AddNew:udentId:m_UseComputerHim_UseComputerHiartTime:IC卡机房管理系统的设计与实现Ime:rySet.m_StartTime:m_UseComputerHistorySet.m00:*60+mJimeSpan.GetMinutesm_UseComputerHistorySet.Update0:m_UseComputerRecordSet.Delete:5.2客户端主要函数的实现5.2.1登录函数的实现机房管理系统中的客户分为两种:管理员和学生。管理员通过相应软件的菜单命令来实现登录。当用户使用菜单命令时,会弹出一个对话框,用户只需按照对话框的提示输入正确的用户名和密码就可以了。因为管理员客户端建立的是单文档工程,所以实现起来相对简单,因此不再赘述。而对于学生客户端,我们的设计思想是只要学生正常登录以后,该应用程序对于学生来说是不可见的,学生使用完计算机只需正常下机后刷卡即可,不需进行任何其它操作。这样不但简化了操作,而且提高了系统的安全
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2015年11月8日吉林省公务员面试真题
- 湖南申论模拟55
- 书法协定合同协议2024年
- 二手房买卖协议书2024年
- 2024年房地产抵押合同范本
- 贵州行政职业能力测验真题2022年
- 事业单位聘用合同书范本12024年
- 浙江行政职业能力20
- AZ104-Renewal assassment 2024-10 考试认证题库
- 二手房交易资金监管服务协议书2024年
- 浙教版九年级上册科学化学计算题型分析
- 国家开放大学《西方行政学说》章节测试参考答案
- 五年级上册英语课件-Unit4 What can you do Part A |人教(PEP) (共16张PPT)
- 辽宁省葫芦岛市药品零售药店企业药房名单目录
- 整本书阅读《乡土中国》导读课件-统编版高中语文必修上册
- 小学生量感培养的调查问卷(教师)
- 【高中美术课件】礼仪与教化
- 名著老人与海考题集锦带答案
- 服装企业组织架构
- A股全部上市公司统计
- 概预算审核实施方案
评论
0/150
提交评论