网吧计费管理系统的设计与实现_第1页
网吧计费管理系统的设计与实现_第2页
网吧计费管理系统的设计与实现_第3页
网吧计费管理系统的设计与实现_第4页
网吧计费管理系统的设计与实现_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

〈砖,HeilongjiangInt*rnationalUniversity毕业论文(设计)基于java技术的网吧管理计费系统的设计与实现学生姓名**火学号BC1033**火*指导教师赵磊副教授年级2010级专业计算机科学与技术系别信息科学系摘要随着科学技术的不断提高,计算机科学与技术日趋成熟,计算机应用到生产和生活的各个领域,发挥了越来越重要的作用.作为计算机应用的一部分,使用计算机对网吧信息进行管理,具有手工操作无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等,因此研究开发网吧计费系统具有可行的实际意义。本系统是一个功能比较强大的网吧计费系统。该系统信息来源主要由管理员添加,方便网站管理员的查询和管理。该系统的任务是方便,灵活的管理网吧的各项信息,包括对每台电脑配置管理、会员用户管理、上机时间计算、金额计算等。系统主要有添加,查找,删除,统计等功能模块组成。本系统会做到满足网吧管理日常工作的需要,使用方便,界面亲切,安全可靠.关键词:网吧计费系统;信息管理;安全AbstractWiththecontinuousimprovementofscienceandtechnology,computerscienceandtechnologymatures,computerapplicationtotheproductionandinallspheresoflife,hasplayedanincreasinglyimportantrole。Aspartofcomputerapplications,theuseofcomputerstothecommunityinformationmanagement,withmanualunmatchedadvantages,suchas:therapidretrieval,findconvenient,highreliabilityandlargestoragecapacity,longlife,lowcost,soresearchanddevelopmentofInternetcafesfeesystemisfeasible,practicalsignificanceoThesystemisamorepowerfulcybercafebillingsystem.Thesystemisthemainsourceofinformationaddedbytheadministratortofacilitateinquirieswebmasterandmanagement.Thesystem’smissioniscorwefexiblemanagementoftheInternetcafes,includingoneachcomputerconfigurationmanagement,usermanagementmembers,thetimemachine,theamountofcalculationoSystemmainlyadd,find,delete,statisticalandotherfunctionsmodule.ThissystemwillensurethemanagementofInternetcafestomeettheneedsoftheirdailywork,easytouse,friendlyinterface,safeandreliableoKeywords:cybercafebillingsystem;management;safe目录TOC\o"1-5"\h\z\o"CurrentDocument"摘要1ABSTRACT2\o"CurrentDocument"目录1\o"CurrentDocument"第1章绪论4\o"CurrentDocument"1。1课题背景4\o"CurrentDocument"1。1。1课题来源4\o"CurrentDocument"1。2目的和意义4\o"CurrentDocument"1。2.1意义4\o"CurrentDocument"1.2。2目的5\o"CurrentDocument"1.3运行环境5\o"CurrentDocument"1.3。1服务器端配置需求5\o"CurrentDocument"1.3。2客户端配置需求5\o"CurrentDocument"1。4本章小结5\o"CurrentDocument"第2章系统需求分析及可行性研究6\o"CurrentDocument"2。1系统可行性研究6\o"CurrentDocument"2.1.1技术可行性6\o"CurrentDocument"2。1.2系统安全可行性6\o"CurrentDocument"2。1.2系统实用可行性6\o"CurrentDocument"2。2需求分析7\o"CurrentDocument"2。3业务流程分析8\o"CurrentDocument"2。3.1业务流程分析的目的8\o"CurrentDocument"2.3。2业务流程分析8\o"CurrentDocument"2。3数据流程分析9\o"CurrentDocument"2.3.1数据流程分析9\o"CurrentDocument"2.3。2数据流程顶层图分析10\o"CurrentDocument"2。3.3数据流程一层图分析10\o"CurrentDocument"2。3.4数据流程二层图分析11\o"CurrentDocument"2・4数据字典11\o"CurrentDocument"2。5本章小结14\o"CurrentDocument"第3章系统功能分布153.1电脑信息管理15\o"CurrentDocument"3・2会员信息管理153。3记事信息管理163.4计费信息管理173。5系统设置管理163。6本章小结18\o"CurrentDocument"第4章系统设计19\o"CurrentDocument"4.1设计原则及具体功能划分19\o"CurrentDocument"4.1。1设计原则19\o"CurrentDocument"4.1。2软件设计原则19\o"CurrentDocument"4.2构架概述20\o"CurrentDocument"4.3计界面设计21\o"CurrentDocument"4.4数据库概念设计21\o"CurrentDocument"4.5数据库逻辑设计23\o"CurrentDocument"4.6数据库物理设计23\o"CurrentDocument"4.7本章小结24第5章系统实现25\o"CurrentDocument"5.1登录功能的实现25\o"CurrentDocument"5.2添加电脑功能的实现28\o"CurrentDocument"5.4用户信息修改功能的实现36\o"CurrentDocument"5.5远程遥控关机功能的实现37\o"CurrentDocument"5。6连接功能的实现40\o"CurrentDocument"5。7本章小结43\o"CurrentDocument"第6章系统测试44\o"CurrentDocument"6.1系统功能测试方法概述44\o"CurrentDocument"6。2功能测试44\o"CurrentDocument"6.3本章小结45\o"CurrentDocument"结论46\o"CurrentDocument"参考文献47\o"CurrentDocument"致谢50基于java技术的网吧管理计费系统的设计第1章绪论1。1课题背景随着科学技术的不断提高,计算机科学与技术日趋成熟,计算机应用到生产和生活的各个领域,发挥了越来越重要的作用。作为计算机应用的一部分,使用计算机对网吧信息进行管理,具有手工操作无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等,因此研究开发网吧计费系统具有可行的实际意义。1.1。1课题来源由于大四的时间在校企合作的企业培训学习,没有在学校里面学习,故毕业设计的题目不是由学校命题的,而是由所在培训机构的培训教师戚爱斌命题的。1。2目的和意义1.2.1意义具有一定的规模的网吧为了给网民营造明亮、宽敞、舒适的上网环境,树立网吧的自身的新形象,改进一向给人“小、散、舌L、差”印象的网吧行业形象。所以管理规范化,是网吧发展的趋势所在.“打造新视听,创造新享受。打造新娱乐,创造新体验。打造新教育,创造新理念。打造新网吧创造新形象.”这是第二届中国国际网络文化博览会根据我国网络文化市场的发展特点,以及国内外网络文化市场的现状和发展趋势,得出的我国网吧行业未来发展的四个核心内容。利用网吧本身具有的网络优势,实施网络化管理,将是网吧管理的主要形式。1.2。2目的为了适应当前网吧管理无人化的需求,本人试图利用自己大学所学专业知识并结合教学管理中的实际情况和其它类似计费软件的优点,开发了一套网吧收费系统软件。本系统可以解决网吧管理中存在的几个实际问题:减少值班人员、维护人员,降低管理人员费用。增加网吧的开放时间,提高设备的利用率。解决目前网吧管理中的人情免费上机、脱逃费问题。1.3运行环境1.3.1服务器端配置需求操作系统:Windows2003server、Windows7数据库:SQLServer2008、Oracle、MySQLCPU:P42.8G以上内存:1G以上剩余硬盘空间:20G以上网卡:1000MB/S网卡1。3.2客户端配置需求操作系统:Windows7CPU:P41.7G以上内存:256M以上剩余硬盘空间:1G以上网卡:10/100MB网卡1。4本章小结本章记述的是课题研究的背景,研究的意义和目的有哪些。这个毕业设计的出发点是什么。论文题目的来源以及原因,还有就是毕业设计的软件系统运行所需要的运行环境的配置需求,分别是客户端的还有服务器端的需求。第2章系统需求分析及可行性研究2.1系统可行性研究2。1。1技术可行性本系统采用Windows7系统的底层架构,采用Java作为开发语言,数据库采用Oracle。严格按照软件开发流程进行设计.采用先进科学和广为流行的设计方法简化设计流程。模块化的设计方法,有助于管理,因为科学合理的划分多个功能,单独设计,用助于降低设计难度及减少错误程序的影响范围,又使整个界面间易于衔接和修改2。1.2系统安全可行性该网吧计费系统使用的安全性实施主要包括以下几个方面:(1)基于系统平台的安全措施:防止系统被破坏和盗窃;防止非法数据输入;防止非法使用;防止非法文件操作;防止非法访问信息:防止非法窃听信息。基于系统平台的可靠性:硬件故障对策;软件故障对策;操作错误对策:数据错误对策。(2)操作系统安全性:在操作系统方面.应用操作系统具有的日志功能,记载运行及用户的使用情况,发生系统错误时具有自恢复能力;同时加强系统文件和用户访问控制管理,严格限制用户权限,根据访问控制的要求,对用户采取一些控制措施.如:校验注册用户的合法性和口令的有效性,校验用户权限,控制对系统资源的使用权限等。2.1。2系统实用可行性该网吧计费系统具有很多操作上的简化,如:该系统中各功能模块可以从其他相关的模块中直接获取所需的数据,同时也可以将该模块内产生的数据自动传递给其他相关模块,减少了重复录入,提高了工作效率。又如:系统中有大量的组合条件模糊查询,即查询的限定条件是多个,查询的结果也可能有多条记录。这种查询可以帮助用户从大量的记录中划定一个较小的范围,从而容易得找到想要的记录。在设计界面时,力求使界面给使用者带来视觉的美感,以及简洁、大方的感觉,注意了各个页面的界面一致性问题。相信该系统模块的界面一定可以给用户留下深刻的印象.由于该网吧计费系统在设计开发是本着简洁、实用、高效等思想进行的,所以在完成之后,对各种用户尤其是对计算机系统并不能很好掌握的管理的人员来说是非常有帮助的,加大了该网吧计费系统的实用性。2。2需求分析该系统模块应该可以实现对计费信息、电脑信息、会员信息、记事信息的管理与查询;另外还可以对系统设计信息(操作员信息以及个人密码信息)进行管理。下面是对这几部分进行的说明和分析:(1)电脑信息管理:管理员进入电脑信息管理界面中,可以选择添加计算机信息以及管理现有的计算机信息.添加计算机包括计算机名、显示器、主板、内存、CPU、硬盘、视频、键盘、鼠标、单价等计算机相关信息,在提交之后,系统会给出相应的提示信息.选择浏览进入计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。选择编辑是对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作。(2)在会员信息管理界面中,管理员通过填写用户名、密码、真实姓名、性别等用户的一些相关信息进行用户信息的登记,在提交之后,如果系统需要的信息为空,系统会给出相应的错误提示信息。管理员可以对会员进行查询、修改、删除操作。(3)在记事信息管理界面中,管理员通过填写记事的标题和内容信息进行对记事信息的添加,提交后,系统做出简单判断并给出相应的提示信息。记事管理也为管理员提供了查询、修改以及删除的操作。(4)计费信息管理:该模块是对网吧收费情况进行管理.在计费管理界面中,管理员选择添加记录是添加上机记录。添加记录包括上机金额、上机类型、计算机编号、用户编号,管理员填写相应的信息后提交,系统会给出相应的提示信息。管理员可以通过记录列表对记录信息进行管理.(5)系统设置管理:该模块包括操作员信息管理以及个人密码管理两个功能部分,在操作员信息管理模块中,可以查看所有操作员信息,并可以对操作员信息进行修改和添加,在修改和添加之后,系统会给出相应的提示信息。在个人密码管理模块中,操作员通过填写原有密码与新的密码进行密码的修改,密码修改之后,操作员需要使用新的密码进行登陆。2。3业务流程分析2.3。1业务流程分析的目的运用业务流程图可以为用户进行方便的操作进行指导,另外系统模块的业务流程图在管理员或是程序员在进行系统的维护以及系统升级是会有很大的帮助,当然,在进行业务流程分析的同时会对一些系统的数据流进行分析,进而为系统的数据库设计进行分析作了准备.2。3。2业务流程分析管理员通过填写用户名和密码进行登陆,如果用户名或密码错误或为空,系统会给出相应的提示信息,操作员可以重新填写密码信息.进入系统后,管理员通过导航选择要进行管理或者查询的模块。电脑信息管理:管理员进入电脑信息管理界面中,可以选择添加计算机信息以及管理现有的计算机信息。添加计算机包括计算机名、计算机状态、显示器、主板、内存、CPU、硬盘、视频、键盘、鼠标、单价等计算机相关信息,在提交之后,系统会给出相应的提示信息。选择浏览进入计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。选择编辑是对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作.在会员信息管理界面中,管理员通过填写用户名、密码、真实姓名、性别等用户的一些相关信息进行用户信息的登记,在提交之后,如果系统需要的信息为空,系统会给出相应的错误提示信息。管理员可以对会员进行查询、修改、删除操作。在记事信息管理界面中,管理员通过填写记事的标题和内容信息进行对记事信息的添加,提交后,系统做出简单判断并给出相应的提示信息。记事管理也为管理员提供了查询、修改以及删除的操作。计费信息管理:该模块是对网吧收费情况进行管理.在计费管理界面中,管理员选择添加记录是添加上机记录。添加记录包括上机金额、上机类型、计算机编号、用户编号,管理员填写相应的信息后提交,系统会给出相应的提示信息。管理员可以通过记录列表对记录信息进行管理。系统设置管理:该模块包括操作员信息管理以及个人密码管理两个功能部分,在操作员信息管理模块中,可以查看所有操作员信息,并可以对操作员信息进行修改和添加,在修改和添加之后,系统会给出相应的提示信息。具体流程如图2—1业务流程图。

2.3数据流程分析2。3。1数据流程分析对系统数据流程进行分析,分析系统内部数据流来源、流向以及数据流携带的基本信息。可以对系统的功能模块有一个更加深刻的了解,在进行层层深入的分析后得出的系统数据字典,对系统数据库的设计也有着非同一般的作用和指导意义.从另外的角度来说,系统数据库设计在很大程度上是参考数据字典给出的。

2。3.2数据流程顶层图分析在进行了网吧计费系统的需求分析以及业务流程的分析之后,对系统内部的数据流的基本信息有了一定的了解,在此基础上给出了分析出的该网吧计费系统的数据流程顶层图如下图2-2数据流程顶层图:—[PO]管理员网吧计费系统LJAW—图2-2数据流程顶层图2。3。3数据流程一层图分析在网吧计费系统的数据流程顶层图的基础上,进行了进步的分析,得到了该系统的数据流程一层图,在一层图中涉及到的系统的功能更加具体,数据流的信息更加全面,使用到的文件也更加清晰,如下面的图2-3数据流程一层图:fP1[-会员信息会员管理J———厂P2-►,…►-机器信息机器管理y—fP3)—管理员》—A记录信息七记录管理/—厂P4「———►—i-管理信息、、一系统管理JfP5]-►I…►-开发信息L资料'———图2—3数据流程一层图

2。3。4数据流程二层图分析在数据流程顶层图、一层图的基础上,为了对系统的更加详细的设计,使设计出的系统的功能更加全面,进行了网吧计费系统的数据流程二层图的分析,得到如下的数据流程图,图2-4数据流程二层图:P6计费信息会员信总P7、会员信总PS・会会信m%J新罚信息P9会员信息否削计费信息查询新也苗管理员电脑信息新也苗新诂事信恩厂PL?•讪事信息ph电脑侑新诂事信恩厂PL?•讪事信息ph电脑侑息直计0图2-4数据流程二层图2.4数据字典网吧计费系统的数据字典是在进行了该系统模块的需求分析、数据流程顶层图、一层图以及二层图的基础上进行的该模块的一些具体的处理过程、功能模块、

存储信息表以及外部实体的概括和描述,使得对该模块的设计更加具体,为系统的设计提供了一个详细的参考。下面就是该网吧计费系统的数据字典:表2-1外部实体定义名称:管理员总编号:1—001说明:管理该系统信息的人编号:001输入数据流:管理信息输出数据流:系统中的信息表2—2数据流定义名称:管理员信息总编号:2—001别名:管理员信息编号:F1数据流来源:管理员修改数据流去向:管理员信息管理模块名称:用户信息总编号:2—002别名:用户信息编号:F2数据流来源:管理员添加用户信息模块数据流去向:用户信息查询模块名称:用户信息总编号:2—003别名:用户信息编号:F3数据流来源:管理员修改用户信息模块数据流去向:用户信息查询模块名称:记录信息总编号:2—004别名:记录信息编号:F4数据流来源:管理员添加记录信息模块数据流去向:记录信息查询模名称:记录信息总编号:2—005别名:记录信息编号:F5数据流来源:管理员修改记录信息模块数据流去向:记录信息查询模块名称:计算机信息总编号:2—006别名:计算机信息编号:F6数据流来源:管理员添加计算机信息模块数据流去向:计算机信息查询模块

名称:计算机信息总编号:2—007别名:计算机信息编号:F7数据流来源:管理员修改计算机信息模块数据流去向:计算机信息查询模块表2-3处理过程定义名称:用户信息管理总编号:3—001功能:对用户信息进行添加、修改、删除编号:P1输入数据流:用户编号、用户名、密码、余额、状态.输出数据流:名称:用户信息查询总编号:3—002功能:对用户信息进行查询编号:P2输入数据流:查询条件输出数据流:用户信息名称:记录信息管理总编号:3—003功能:对记录信息进行添加、修改、删除编号:P3输入数据流:记录编号、计算机编号、用户编号、上机时间、下机时间、花费金额。输出数据流:名称:记录信息查询总编号:3—004功能:对记录信息进行查询编号:P4输入数据流:查询条件输出数据流:记录信息名称:计算机信息管理总编号:3—005功能:对计算机信息进行添加、修改、删除编号:P5输入数据流:计算机编号、状态、基本信息。输出数据流:名称:计算机信息查询总编号:3—006功能:对计算机信息进行查询编号:P6输入数据流:查询条件输出数据流:计算机信息名称:个人密码信息管理总编号:3—007功能:对个人密码进行修改编号:P7输入数据流:新的密码信息输出数据流:用户信息表2-4数据存储定义名称:用户信息表总编号:4—001别名:Card编号:D1数据流来源:管理员添加结构:用户编号、用户名、密码、余额、状态。关键字:用户编号名称:记录信息表总编号:4—002别名:Record编号:D2数据流来源:管理员添加结构:记录编号、计算机编号、用户编号、上机时间、下机时间、花费金额。关键字:记录编号名称:计算机信息表总编号:4—003别名:Computer编号:D3数据流来源:管理员添加结构:计算机编号、计算机状态、基本信息。关键字:计算机编号2。5本章小结对系统的可行性进行分析,其中包括技术可行性、系统安全可行性、系统实用可行性这三方面进行分析.对系统的需求进行了分析,业务的流程、数据的流程也进行了相关的分析,还有数据字典创建.第3章系统功能分布3。1机器管理1、选择添加计算机信息以及管理现有的计算机信息.2、添加计算机包括计算机名、状态、计算机相关信息,在提交之后,系统会给出相应的提示信息。3、计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。4、对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。5、在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作.操作流程如图3-1机器管理操作图:图3—1机器管理操作图3.2会员管理1、管理员登记用户信息需要填写用户名、密码等用户的一些相关信息。2、管理员可以对会员进行查询、修改、删除操作。操作流程如图3—2会员管理操作图:

图3-2会员管理操作图3。3记录管理1、管理员可以查询、修改以及删除的操作。2、管理员可以通过记录列表对记录信息进行管理.3、管理员填写记事的标题和内容信息进行对记事信息的添加,系统出现相应的提示信息。4、添加记录包括上机金额、计算机编号、用户编号,上机时间,下机时间,系统会给出相应的提示信息,计算出消费多少钱.操作流程如图3-3记录管理操作图:

3.4系统管理盗号处理,远程关闭机器。操作流程如图3—4系统管理操作图:3。5操作上机,下机,退出。操作流程如图3—5操作功能流程图:3.6材料信息查看开发者的信息。操作流程如图3-6材料信息操作图:管理员资料开发者信息图3-6材料信息操作图3.7本章小结本章是给出系统所具有的的管理模块,以及每个管理模块所对应的功能有哪些.第4章系统设计4。1设计原则及具体功能划分4。1。1设计原则和C/S结构相比,B/S结构受限于网络带宽不利于进行大数据量的统计分析,网络传输存在潜在的安全问题,还有用户界面不及C/S结构友好等等,但随着网络带宽和网络应用的发展,加上AJAX技术的流行,使得现在越来越多的MIS系统或基于MIS系统的专业化应用系统都开始倾向于采用B/S结构进行设计,充分利用B/S结构的优点.但是,要充分发挥Web应用的内在潜力,挖掘应用深度和扩大适应能力,需要采用先进的应用架构和以实用为根本准则,使得系统既能满足业务需求,又能适应将来发展需要。因此,在开发Web应用系统时需要尽量遵循Web应用系统设计原则。4.1。2软件设计原则实用性原则:这是所有应用软件最基本的原则,直接衡量系统的成败,每一个提交到用户手中的系统都应该是实用的,能解决用户的实际问题,否则该设计就是垃圾。适应性和可扩展性原则:系统需要具备一定的适应能力,特别是Web应用要能适应于多种运行环境,来应对未来变化的环境和需求。可扩展性主要体现在系统易于扩展,例如可以采用分布式设计、系统结构模块化设计,系统架构可以根据网络环境和用户的访问量而适时调整,从某种程度上说,这也是系统的适应性。可靠性原则:系统应该是可靠的,在出现异常的时候应该有人性化的异常信息方便用户理解原因,或采取适当的应对方案,在设计业务量比较大的时候可采用先进的嵌入式技术来保证业务的流畅运行。可维护性和可管理性原则:系统应该有一个完善的管理机制,而可维护性和可管理性是重要的两个指标。安全性原则:系统必须具备高可靠性,对使用信息进行严格的权限管理,技术上,应采用严格的安全与保密措施,保证系统的可靠性、保密性和数据一致性等.总体规划、分层实施原则:在开始设计之前应该对系统进行总体设计,然后

在总体设计指导下分步开发。基于java技术的应用系统是一个融合了多元信息的集成系统,现在一般都采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等,在适应系统需求的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。4。2构架概述n费管JI1IUH管a会员-U-I1!.图4-1系统架构图4。3计界面设计n费管JI1IUH管a会员-U-I1!.图4-1系统架构图在进行该网吧计费系统界面设计时遵循下面的原则:用户原则。人机界面设计首先要确立用户类型.划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应.这就要从多方面设计分析.信息最小量原则.人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案.帮助和提示原则。要对用户的大作命令作出反应,帮助用户处理问题.系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户.媒体最佳组合原则.多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。下面就是该系统的界面的举例图4-2电脑管理页面图:图4-2电脑管理页面图4。4数据库概念设计网吧计费系统的数据库概念设计是基于需求分析的基础之上的,在进行概念设计时应用实体关系图进行,在实体关系图中主要分为实体、属性以及实体间的

关系。通过对该图的分析,可以将该网吧计费系统的功能理解得更加深刻,以及对数据库进行进一步设计。下面是该系统的实体关系图,图4-3用户实体信息图、图4—3用户实体信息图、图4—4记录实体信息图、图4—5计算机实体信息图、图4—6实体关系图:图4-3用户实体信息图图4—4记录实体信息图:机器号:图4-3用户实体信息图图4—4记录实体信息图:机器号:机器电脑状态%.一一一一/V7图4-5计算机实体信息图

4。5数据库逻辑设计在进行了该网吧计费系统的数据库概念设计之后,根据给出的实体结构图进行了分析,得到该系统的数据库逻辑设计如下:(1)Card用户信息表(用户编号、用户名、密码、余额、用户状态);(2)Record记录信息表(记录编号、上机金额、计算机编号、用户编号、创建时间、更新时间);(3)Computer计算机信息表(计算机编号、计算机状态、其他信息)。4。6数据库物理设计表4-1用户信息字段类型位数主键备注cardIDint字段类型位数主键备注cardIDint用户编号userNamevarchar50用户名PassWordvarchar50密码Balanceint余额Stateint状态Balanceint余额Stateint状态表4—2记录信息字段类型位数主键备注recordIDint4▲记录编号Feeint4消费金额computerIDint4计算机编号cardIDint4用户编号Begintimevarchar8创建时间Endtimevarchar8更新时间表4—3机器信息字段类型位数主键备注computerIDint4▲机器编号Stateint4机器状态Remarkvarchar500其他信息4.7本章小结本章是对系统的设计进行了详细的描述,本系统设计的原则是哪些,具体的功能又有哪些。对其中的部分设计的介绍,这些设计主要包括页面的设计、数据库概念的设计、数据库逻辑设计、数据库物理设计。对这些是怎样设计的进行详细的描述概括。第5章系统实现5.1上机功能的实现输入管理员帐号和密码,点击登录。其中用户名和密码必须输入正确。如果输入错误,则系统自动提示输入错误。页面如图:图5-1上机页面图。图5-1上机页面图下面是上机功能的主要代码:classInDialogextendsJDialog{privateJLabelnumberLabel=newJLabel("卡号:")privateJLabelpasswordLabel=newJLabel("密码:")privateJLabeltimeLabel=newJLabel(”上机时间:”);privateJLabelcomputeridLabel=newJLabel("机器号:");privateJTextFieldcardidText=newJTextField(11);privateTextFieldpasswordText=newTextField(13);privateJTextFieldtimeText=newJTextField(11);privateJComboBoxcombobox=newJComboBox();privateJButtonsubmit=newJButton("确定");privateJButtonafresh=newJButton("重置");privateJPanelnumberPanel=newJPanel();privateJPanelpasswordPanel=newJPanel();privateJPaneltimePanel=newJPanel();privateJPanelbtnPanel=newJPanel();privateJPanelcomboboxPanel=newJPanel();CardDaoImpcdi=newCardDaoImp();ComputerDaoImpcpdi=newComputerDaoImp();RecordDaoImprdi=newRecordDaoImp();publicInDialog(JFrameframe){super(frame,”网吧计费系统”,true);thisoinit();this.addComponent();thisopack();thisoaddListener();}privatevoidinit(){thisosetLocation(300,200);this.setLayout(newGridLayout(5,1));}privatevoidaddComponent(){this.add(numberPanel);thisoadd(passwordPanel);thisoadd(comboboxPanel);this.add(timePanel);this.add(btnPanel);passwordText.setEchoChar('*');timeTextosetText(Utils°dealCalendar(CalendarogetInstance()));numberPanel.add(numberLabel);numberPaneloadd(cardidText);passwordPaneloadd(passwordLabel);passwordPanel.add(passwordText);timePanel.add(timeLabel);timePaneloadd(timeText);btnPanel.add(submit);btnPaneloadd(afresh);comboboxoaddItem("请输入机器号”);createComboBox();comboboxPaneloadd(computeridLabel);comboboxPaneloadd(combobox);}〃重置TOC\o"1-5"\h\zprivatevoidaddListener(){afreshoaddActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){cardidText.setText(null);passwordTextosetText(null);timeText.setText(Utils.dealCalendar(Calendar。getInstance()));//把文本域里的值设置为空comboboxosetSelectedIndex(0);}});〃验证登入的卡号和密码,更改卡状态,更改机器状态,添加记录submit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(cdioverifyCard(cardidText.getText(),passwordText.getText())){rdioinsert(cardidTextogetText(),(String)(combobox.getSelectedItem()),Calendar.getInstance());cdioupdateState(cardidText.getText(),1);cpdi.update((String)(comboboxogetSelectedItem()),1);InDialog.thisodispose();}});}privatevoidcreateComboBox(){ArrayList〈Computer〉list=(newComputerDaoImp()).getComputerByState(0);for(Computerc:list){combobox.addItem(c。getComputerid());comboboxPanel。add(combobox);}}}5O2添加电脑功能的实现管理员登录成功后,进入电脑信息管理界面中,通过填写计算机名机器状态、相关信息。例如显示器、主板、内存、CPU、硬盘、视频、键盘、鼠标等电脑信息。页面如图:图5-2添加电脑信息页面图.图5-2添加电脑信息页面图下面是添加电脑信息功能的主要代码:classCreateComputerDialogextendsJDialog{privateJLabelnumberLabel=newJLabel("机器号:");privateJLabelstateLabel=newJLabel(”状态:");privateJLabelremarkLabel=newJLabel(”描述:”);privateJTextFieldcomputeridText=newJTextField(11);privateJTextFieldremarkText=newJTextField(11);privateJTextFieldstateText=newJTextField(”0");privateJButtonsubmit=newJButton("确定”);privateJButtonafresh=newJButton("重置”);privateJPanelnumberPanel=newJPanel();privateJPanelstatePanel=newJPanel();privateJPanelremarkPanel=newJPanel();privateJPanelbtnPanel=newJPanel();ComputerDaoImpcdi=newComputerDaoImp();RecordDaoImprdi=newRecordDaoImp();publicCreateComputerDialog(JFrameframe){super(frame,”网吧计费系统”,true);this。init();this。addComponent();this。pack();this.addListener();}privatevoidinit(){this.setLocation(300,200);this.setLayout(newGridLayout(6,1));}privatevoidaddComponent(){this.add(numberPanel);this。add(statePanel);this.add(remarkPanel);this.add(btnPanel);numberPaneloadd(numberLabel);numberPaneloadd(computeridText);statePanel.add(stateLabel);statePanel.add(stateText);remarkPaneloadd(remarkLabel);remarkPaneloadd(remarkText);btnPanel.add(submit);btnPanel.add(afresh);}privatevoidaddListener(){afreshoaddActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){computeridTextosetText(null);remarkText.setText(null);stateTextosetText(null);}});submitoaddActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringa=computeridText.getText();Stringc=remarkText.getText();intf=Integer.parseInt(stateText.getText());Computercomputer=newComputer();computer.setComputerid(a);computerosetRemark(c);computerosetState(f);if(cdi.presence(computeridText。getText())==0){rdi。deleteReCord(computer.getComputerid());cdi。insertComputer(computer);Utils.showDialog(”创建成功”);CreateComputerDialog.this。dispose();}else{Utils.showDialog(”创建失败");CreateComputerDialog.this.dispose();}}});}}5.3用户下机功能的实现用户在使用完计算机之后去管理员处下机,提示自己所上的机器号。由管理员为其下机。下机成功后提示相应的基本信息.页面如图:图5-2用户下机页面图、图5-3用户下机详细信息页面图。图5—2用户下机页面图下面是用户下机详细信息功能的主要代码:publicclassDownDialogextendsJDialog{privateJLabeltimeLable=newJLabel("下机时间:");privateJTextFieldtimeText=newJTextField(11);priateJLabelcomputeridLabel=newJLabel("机器号:");privateJComboBoxcombobox=newJComboBox();privateJButtonsubmit=newJButton("确定”);privateJButtoncancel=newJButton("取消”);privateJPaneltimeJPanel=newJPanel();privateJPanelbtnJPanel=newJPanel();privateJPanelcomboboxPanel=newJPanel();CardDaoImpcdi=newCardDaoImp();ComputerDaoImpcpdi=newComputerDaoImp();RecordDaoImprdi=newRecordDaoImp();publicDownDialog(JFrameframe){super(frame,”网吧计费系统”,true);thisoinit();this.addComponent();thisopack();thisoaddListener();}privatevoidaddComponent(){this.add(comboboxPanel);thisoadd(timeJPanel);thisoadd(btnJPanel);timeJPaneloadd(timeLable);timeJPanel.add(timeText);btnJPanel.add(submit);btnJPaneloadd(cancel);comboboxPanel.add(computeridLabel);comboboxPanel.add(combobox);combobox.addItem(”请输入机器号”);createComboBox();timeText.setText(UtilsodealCalendar(Calendar.getInstance()));}//取消privatevoidaddListener(){canceloaddActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){try{DownDialogothis.dispose();}catch(Throwablee1){e1oprintStackTrace();}}});}privatevoidinit(){thisosetLocation(300,200);this.setLayout(newGridLayout(3,1));this.setSize(500,500);}privatevoidcreateComboBox(){ArrayList〈Computer〉list=(newComputerDaoImp()).getComputerByState(1);for(Computerc:list){combobox.addItem(c。getComputerid());comboboxPanel.add(combobox);}}}图5—3用户下机详细信息页面图下面是用户下机详细信息功能的主要代码:importjava。awt。GridLayout;importjava.awtoevent。ActionEvent;importjava.awt.event.ActionListener;importjavaoutiloMap;importjavax.swing。JButton;importjavaxoswingoJDialog;importjavaxoswing.JFrame;importjavaxoswingoJLabel;importjavax.swing.JPanel;importjavax.swingoJTextField;importcom.qhy。dao。impl.CardDaoImp;importcom。qhy.dao.impl。ComputerDaoImp;importcom.qhy.dao.impl.RecordDaoImpimportcom。qhy。entity.Record;importcom.qhy。utils.Utils;classInfoDialogextendsJFrame{publicString]]labels=newString[]{”卡号”,”机器号",”上机时间”,”下机时间”,”余额”,”消费”};publicString]]contents=newString[6];privateJButtonbtn=newJButton("退出”);privateJPanelbtnJPanel=newJPanel();CardDaoImpcdi=newCardDaoImp();ComputerDaoImpcpdi=newComputerDaoImp();RecordDaoImprdi=newRecordDaoImp();privateintrecordid;publicInfoDialog(JDialogdialog,intrecordid){this.recordid=recordid;this.init();thisoaddCompoment();this.addActionListener();}privatevoidinit()(this.setLocation(500,400);thisosetLayout(newGridLayout(7,1));thisosetSize(300,300);thisosetDefaultCloseOperation(JDialogoDISPOSE_ON_CLOSE);thisosetVisible(true);setTitle(”网吧计费系统”);}privatevoidaddCompoment()(contents=getContent(recordid);for(inti=0;i〈6;i++)(this.add(createJPanel(labels[i],contents[i]));}this.add(btnJPanel);btnJPanel.add(btn);}privatevoidaddActionListener(){btnoaddActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente)(InfoDialogothis.dispose();}});}privateJPanelcreateJPanel(Stringinlabel,Stringincontent)(JPanelpanel=newJPanel();JLabellabel=newJLabel(inlabel);JLabelcontent=newJLabel(incontent);paneloadd(label);panel.add(content);returnpanel;}publicString]]getContent(intrecordid)(String[]content=newString[6];Recordrecord=rdi.getRecordByRecordid(recordid);content[0]=record.getCardid();content[1]=recordogetComputerid();content[2]=Utils.dealCalendar(record.getBegintime());content[3]=Utils.dealCalendar(record。getEndtime());content[4]=((Double)cdi。getBalanceByCardid(content[0]))。toString();content[5]=((Double)recordogetFee()).toString();;returncontent;}}5.4用户信息修改功能的实现管理员在登录页面中,选择修改密码则进入修改密码页面、进入修改账户名页面。修改密码需填写用户编号、密码。修改用户名需填写用户编号、用户名。在提交之后,用户名或密码修改成功.页面如图:图5—5修改密码页面图、图5—5修改密码页面图。'囹网吧计■蒙统卡号上南码:瞒定鞅消图5-5修改密码页面图r囹网吧计蓬妾统卡孚用户名:确定职消a图5-5修改密码页面图下面是修改代码功能的主要代码:〃修改密码@OverridepublicvoidchargeCardPass(Stringcardid,Stringfee){Stringsql=''selectpasswordfromcardwherecardid=?”;Object[]params=newObject[]{cardid};sql='updatecardsetpassword=?wherecardid=?";params=newObject[]{fee,cardid};jtl。update(sql,params);}〃修改用户名@OverridepublicvoidchargeCardName(Stringcardid,Stringfee){Stringsql="selectusernamefromcardwherecardid=?";Object[]params=newObject[]{cardid};sql='updatecardsetusername=?wherecardid=?";params=newObject[]{fee,cardid};jtl。update(sql,params);}5。5远程遥控关机功能的实现管理员在登录后,选择系统管理则进入远程关机页面。点击点击远程关机按钮会关闭相应的计算机。页面如图:图5—6远程关闭页面图。图5—6远程关闭页面图下面是远程关闭功能的主要代码:classWindowOperationsextendsJFrameimplementsActionListener{JRadioButtonshut;publicWindowOperations(){super("Window”);setSize(200,200);setResizable(false);setVisible(true);JPanelp1=newJPanel();p1.setLayout(newBoxLayout(p1,BoxLayout。Y_AXIS));p1。setBorder(newTitledBorder(newEtchedBorder(),"Operations”));ButtonGroupgroup=newButtonGroup();shut=newJRadioButton("远程关闭(F1)”);group.add(shut);shutoaddActionListener(this);p1.add(shut);getContentPane().add(p1,BorderLayout。CENTER);JPanelp2=newJPanel();JButtonok=newJButton("OK");okoaddActionListener(this);p2oadd(ok);getContentPane。oadd(p2,BorderLayout.SOUTH);addKeyListener(newKeyAdapter(){publicvoidkeyPressed(KeyEventke){try{switch(ke.getKeyCode()){caseKeyEvent.VK_F1:Shutdown();break;}}catch(IOExceptione){}}});requestFocus();DimensionscreenSize=Toolkit。getDefaultToolkit()。getScreenSize();setLocation((screenSize.width—getWidth())/2,(screenSize。height-getHeight())/2);pack();setDefaultCloseOperation(EXIT_ON_CLOSE);}publicvoidShutdown()throwsIOException{Stringcommand="cmd/cshutdown—m\\192.168。1.144—f-s—t1000”Processp=Runtime.getRuntime()。exec("command”);}publicvoidactionPerformed(ActionEventae){Stringstr=ae。getActionCommand();if(str.equals("OK”)){try{if(shut.getText()=="远程关闭(F1)"){Shutdown();}}catch(lOExceptione){}}}}returndbConnection;}5。6登陆功能的实现管理员进入登录界面,输入正确的用户名、密码成功登录进去功能面板。登录页面如图:图5-7登录页面图.图5—7登录页面图下面是登录功能的主要代码:publicclassLoginFrameextendsJFrame{privatestaticfinallongserialVersionUID=—3374450823823567437L;privatestaticfinalJLabelusernameLabel=newJLabel("账号:");privatestaticfinalJTextFieldusernameInput=newJTextField();privatestaticfinalJLabelpasswordLabel=newJLabel("密码:");privatestaticfinalJTextFieldpasswordInput=newJPasswordField();privatestaticfinalJButtonloginButton=newJButton("登陆”);privatestaticfinalJButtonexitButton=newJButton("退出”);privateJLabeljl1;publicLoginFrame(){setSize(newDimension(280,180));setTitle(”登陆");setLayout(null);initUI();setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);setVisible(true);loginButton。addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){StringuserName=usernameInput.getText().trim();StringuserPass=passwordInput.getText()。trim();if(userName。equals("")){JOptionPane.showMessageDialog(LoginFrame.this,”请输入账号”);return;}elseif(userName。equals("scott”)&&userPass。equals(”nihao”)){dispose();JFrameframe=newMainFrame();frame。setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}else{JOptionPane.showMessageDialog(LoginFrame。this,”账号或密码不正确");return;}}});exitButton。addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Systemoexit(0);}});}privatevoidinitUI(){//TODOAuto—generatedmethodstubusernameLabel.setBounds(30,10,100,21);usernameInputosetBounds(100,10,140,21);passwordLabel.setBounds(30,40,100,21);passwordInputosetBounds(100,40,140,21);loginButton。setBounds(70,100,60,21);exitButtonosetBounds(160,100,60,21);add(usernameLabel);add(usernameInput);add(passwordLabel);add(passwordInput);add(loginButton);add(exitButton);jl1=newJLabel();Imageimagel=newImageIcon("image\\2.jpg”。getImage();jl1.setIcon(newImageIcon(image1));jl1。setBounds(0,0,355,265);thisosetResizable(false);this.setLocationRelativeTo(null);}publicstaticvoidmain(String[]args){newLoginFrame();}}5.7本章小结本章是对系统功能的实现,在这里讲述了部分功能实现的源代码.主要是针对这系统的上机、下机功能的代码实现,添加电脑资源的功能的代码实现,用户对自己信息修改的功能的代码实现,管理员远程关闭他人机器功能的代码的实现以及管理员登记的功能的代码实现。第6章系统测试6.1系统功能测试方法概述在对系统进行测试之前进行了测试方法的讨论,挑选出最适合的软件测试方法对该系统模块进行测试。主要的测试方法有:(1)等价类划分该方法不仅仅对系统进行无效的输入数据进行系统的纠错能力的测试,而且也给出正确的输入来对系统是否能进行正确的输出来进行分析。根据网吧计费系统的功能说明,对每一个输入条件确定若干个有效的等价类和若十个无效的等价类进行测试。(2)数据和数据库完整性测试在网吧计费系统的测试中,数据库和数据库进程应作为一个子模块来进行测试。在数据库的存储容量及安全性来进行测试。(3)集成测试集成测试的主要目的是检测系统是否达到需求,对业务流程技术的处理是否符合规范,检测系统对业务流的处理是否存在逻辑不严谨即错误,检测需求是否存在不合理的标准计要求。6.2功能测试根据上面所提到的网吧计费系统的测试方法,对该系统进行了比较详细的功能测试,具体的测试如下:(1)对登录进行功能测试:管理员填写用户名和密码,如果用户名或密码错误,系统是否会给出正确的错误提示信息,管理员填写用户名和密码时,将用户名或密码置空,系统是否会给出相应的提示信息。管理员填写正确的用户名和密码之后,用户是否可以进入系统界面进行操作。(2)对添加操作进行功能测试:管理员将要填写的表单中带有星号的对话框置空提交,系统是否会给出错误提示要求用户进行填写,将所有带有星号的必要信息填写之后进行提交,信息时候记录到数据库中。(3)对查询操作进行功能测试:管理员填写查询条件后提交,系统给出的信息是否符合查询条件,查看给出的信息是否有不符合条件的,是否有符合条件的信息,但是系统并没有给出。6。3本章小结因为系统测试

温馨提示

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

评论

0/150

提交评论