网吧计费管理系统的设计与实现.doc

网吧计费管理系统的设计与实现.doc

ID:59267798

大小:1.68 MB

页数:64页

时间:2020-09-08

上传者:pyhnxz63
网吧计费管理系统的设计与实现.doc_第1页
网吧计费管理系统的设计与实现.doc_第2页
网吧计费管理系统的设计与实现.doc_第3页
网吧计费管理系统的设计与实现.doc_第4页
网吧计费管理系统的设计与实现.doc_第5页
资源描述:

《网吧计费管理系统的设计与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

.......毕业论文(设计)基于java技术的网吧管理计费系统的设计与实现学生***学号BC1033****指导教师磊副教授年级2010级专业计算机科学与技术系别信息科学系S....... .......摘要随着科学技术的不断提高,计算机科学与技术日趋成熟,计算机应用到生产和生活的各个领域,发挥了越来越重要的作用。作为计算机应用的一部分,使用计算机对网吧信息进行管理,具有手工操作无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等,因此研究开发网吧计费系统具有可行的实际意义。本系统是一个功能比较强大的网吧计费系统。该系统信息来源主要由管理员添加,方便管理员的查询和管理。该系统的任务是方便,灵活的管理网吧的各项信息,包括对每台电脑配置管理、会员用户管理、上机时间计算、金额计算等。系统主要有添加,查找,删除,统计等功能模块组成。本系统会做到满足网吧管理日常工作的需要,使用方便,界面亲切,安全可靠。关键词:网吧计费系统;信息管理;安全S....... .......AbstractWiththecontinuousimprovementofscienceandtechnology,computerscienceandtechnologymatures,computerapplicationtotheproductionandinallspheresoflife,hasplayedanincreasinglyimportantrole.Aspartofcomputerapplications,theuseofcomputerstothecommunityinformationmanagement,withmanualunmatchedadvantages,suchas:therapidretrieval,findconvenient,highreliabilityandlargestoragecapacity,longlife,lowcost,soresearchanddevelopmentofInternetcafesfeesystemisfeasible,practicalsignificance.Thesystemisamorepowerfulcybercafebillingsystem.Thesystemisthemainsourceofinformationaddedbytheadministratortofacilitateinquirieswebmasterandmanagement.Thesystem'smissionisconvenient,flexiblemanagementoftheInternetcafes,includingoneachcomputerconfigurationmanagement,usermanagementmembers,thetimemachine,theamountofcalculation.Systemmainlyadd,find,delete,statisticalandotherfunctionsmodule.ThissystemwillensurethemanagementofInternetcafestomeettheneedsoftheirdailywork,easytouse,friendlyinterface,safeandreliable.S....... .......Keywords:cybercafebillingsystem;management;safeS....... .......目录摘要1ABSTRACT1目录1第1章 绪论41.1课题背景41.1.1课题来源41.2目的和意义41.2.1意义41.2.2目的41.3运行环境51.3.1服务器端配置需求51.3.2客户端配置需求51.4本章小结5第2章系统需求分析及可行性研究62.1系统可行性研究62.1.1技术可行性62.1.2系统安全可行性62.1.2系统实用可行性62.2需求分析72.3业务流程分析8S....... .......2.3.1业务流程分析的目的82.3.2业务流程分析82.3数据流程分析92.3.1数据流程分析92.3.2数据流程顶层图分析102.3.3数据流程一层图分析102.3.4数据流程二层图分析112.4数据字典122.5本章小结15第3章系统功能分布163.1电脑信息管理163.2会员信息管理163.3记事信息管理163.4计费信息管理163.5系统设置管理163.6本章小结17第4章系统设计184.1设计原则及具体功能划分184.1.1设计原则184.1.2软件设计原则184.2 构架概述19S....... .......4.3 计界面设计204.4数据库概念设计204.5数据库逻辑设计224.6数据库物理设计224.7本章小结23第5章系统实现245.1登录功能的实现245.2添加电脑功能的实现285.4用户信息修改功能的实现365.5远程遥控关机功能的实现375.6连接功能的实现395.7本章小结39第6章系统测试406.1系统功能测试方法概述406.2功能测试406.3本章小结41结论42参考文献43致44S....... .......基于java技术的网吧管理计费系统的设计第1章 绪论1.1课题背景随着科学技术的不断提高,计算机科学与技术日趋成熟,计算机应用到生产和生活的各个领域,发挥了越来越重要的作用。作为计算机应用的一部分,使用计算机对网吧信息进行管理,具有手工操作无法比拟的优点,例如:检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等,因此研究开发网吧计费系统具有可行的实际意义。1.1.1课题来源由于大四的时间在校企合作的企业培训学习,没有在学校里面学习,故毕业设计的题目不是由学校命题的,而是由所在培训机构的培训教师戚爱斌命题的。1.2目的和意义1.2.1意义具有一定的规模的网吧为了给网民营造明亮、宽敞、舒适的上网环境,树立网吧的自身的新形象,改进一向给人“小、散、乱、差”印象的网吧行业形象。所以管理规化,是网吧发展的趋势所在。“打造新视听,创造新享受。打造新娱乐,创造新体验。打造新教育,创造新理念。打造新网吧,创造新形象。”S....... .......这是第二届中国国际网络文化博览会根据我国网络文化市场的发展特点,以及国外网络文化市场的现状和发展趋势,得出的我国网吧行业未来发展的四个核心容。利用网吧本身具有的网络优势,实施网络化管理,将是网吧管理的主要形式。1.2.2目的为了适应当前网吧管理无人化的需求,本人试图利用自己大学所学专业知识并结合教学管理中的实际情况和其它类似计费软件的优点,开发了一套网吧收费系统软件。本系统可以解决网吧管理中存在的几个实际问题:1.减少值班人员、维护人员,降低管理人员费用。2.增加网吧的开放时间,提高设备的利用率。3.解决目前网吧管理中的人情免费上机、脱逃费问题。1.3运行环境1.3.1服务器端配置需求操作系统:Windows2003server、Windows7数据库:SQLServer2008、Oracle、MySQLCPU:P42.8G以上存:1G以上剩余硬盘空间:20G以上网卡:1000MB/S网卡S....... .......1.3.2客户端配置需求操作系统:Windows7CPU:P41.7G以上存:256M以上剩余硬盘空间:1G以上网卡:10/100MB网卡1.4本章小结本章记述的是课题研究的背景,研究的意义和目的有哪些。这个毕业设计的出发点是什么。论文题目的来源以及原因,还有就是毕业设计的软件系统运行所需要的运行环境的配置需求,分别是客户端的还有服务器端的需求。第2章系统需求分析及可行性研究2.1系统可行性研究2.1.1技术可行性本系统采用Windows7系统的底层架构,采用Java作为开发语言,数据库采用Oracle。严格按照软件开发流程进行设计。采用先进科学和广为流行的设计方法简化设计流程。模块化的设计方法,有助于管理,因为科学合理的划分多个功能,单独设计,用助于降低设计难度及减少错误程序的影响围,又使整个界面间易于衔接和修改。S....... .......2.1.2系统安全可行性该网吧计费系统使用的安全性实施主要包括以下几个方面:(1)基于系统平台的安全措施:防止系统被破坏和盗窃;防止非法数据输入;防止非法使用;防止非法文件操作;防止非法访问信息:防止非法窃听信息。基于系统平台的可靠性:硬件故障对策;软件故障对策;操作错误对策:数据错误对策。(2)操作系统安全性:在操作系统方面。应用操作系统具有的日志功能,记载运行及用户的使用情况,发生系统错误时具有自恢复能力;同时加强系统文件和用户访问控制管理,严格限制用户权限,根据访问控制的要求,对用户采取一些控制措施。如:校验注册用户的合法性和口令的有效性,校验用户权限,控制对系统资源的使用权限等。2.1.2系统实用可行性该网吧计费系统具有很多操作上的简化,如:该系统中各功能模块可以从其他相关的模块中直接获取所需的数据,同时也可以将该模块产生的数据自动传递给其他相关模块,减少了重复录入,提高了工作效率。又如:系统中有大量的组合条件模糊查询,即查询的限定条件是多个,查询的结果也可能有多条记录。这种查询可以帮助用户从大量的记录中划定一个较小的围,从而容易得找到想要的记录。在设计界面时,力求使界面给使用者带来视觉的美感,以及简洁、大方的感觉,注意了各个页面的界面一致性问题。相信该系统模块的界面一定可以给用户留下深刻的印象。由于该网吧计费系统在设计开发是本着简洁、实用、高效等思想进行的,所以在完成之后,对各种用户尤其是对计算机系统并不能很好掌握的管理的人员来说是非常有帮助的,加大了该网吧计费系统的实用性。2.2需求分析该系统模块应该可以实现对计费信息、电脑信息、会员信息、记事信息的管理与查询;另外还可以对系统设计信息(操作员信息以及个人密码信息)进行管理。下面是对这几部分进行的说明和分析:(1)S....... .......电脑信息管理:管理员进入电脑信息管理界面中,可以选择添加计算机信息以及管理现有的计算机信息。添加计算机包括计算机名、显示器、主板、存、CPU、硬盘、视频、键盘、鼠标、单价等计算机相关信息,在提交之后,系统会给出相应的提示信息。选择浏览进入计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。选择编辑是对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作。(2)在会员信息管理界面中,管理员通过填写用户名、密码、真实、性别等用户的一些相关信息进行用户信息的登记,在提交之后,如果系统需要的信息为空,系统会给出相应的错误提示信息。管理员可以对会员进行查询、修改、删除操作。(3)在记事信息管理界面中,管理员通过填写记事的标题和容信息进行对记事信息的添加,提交后,系统做出简单判断并给出相应的提示信息。记事管理也为管理员提供了查询、修改以及删除的操作。(4)计费信息管理:该模块是对网吧收费情况进行管理。在计费管理界面中,管理员选择添加记录是添加上机记录。添加记录包括上机金额、上机类型、计算机编号、用户编号,管理员填写相应的信息后提交,系统会给出相应的提示信息。管理员可以通过记录列表对记录信息进行管理。(5)系统设置管理:该模块包括操作员信息管理以及个人密码管理两个功能部分,在操作员信息管理模块中,可以查看所有操作员信息,并可以对操作员信息进行修改和添加,在修改和添加之后,系统会给出相应的提示信息。在个人密码管理模块中,操作员通过填写原有密码与新的密码进行密码的修改,密码修改之后,操作员需要使用新的密码进行登陆。2.3业务流程分析2.3.1业务流程分析的目的运用业务流程图可以为用户进行方便的操作进行指导,另外系统模块的业务流程图在管理员或是程序员在进行系统的维护以及系统升级是会有很大的帮助,当然,在进行业务流程分析的同时会对一些系统的数据流进行分析,进而为系统的数据库设计进行分析作了准备。S....... .......2.3.2业务流程分析管理员通过填写用户名和密码进行登陆,如果用户名或密码错误或为空,系统会给出相应的提示信息,操作员可以重新填写密码信息。进入系统后,管理员通过导航选择要进行管理或者查询的模块。电脑信息管理:管理员进入电脑信息管理界面中,可以选择添加计算机信息以及管理现有的计算机信息。添加计算机包括计算机名、计算机状态、S....... .......显示器、主板、存、CPU、硬盘、视频、键盘、鼠标、单价等计算机相关信息,在提交之后,系统会给出相应的提示信息。选择浏览进入计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。选择编辑是对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作。在会员信息管理界面中,管理员通过填写用户名、密码、真实、性别等用户的一些相关信息进行用户信息的登记,在提交之后,如果系统需要的信息为空,系统会给出相应的错误提示信息。管理员可以对会员进行查询、修改、删除操作。在记事信息管理界面中,管理员通过填写记事的标题和容信息进行对记事信息的添加,提交后,系统做出简单判断并给出相应的提示信息。记事管理也为管理员提供了查询、修改以及删除的操作。计费信息管理:该模块是对网吧收费情况进行管理。在计费管理界面中,管理员选择添加记录是添加上机记录。添加记录包括上机金额、上机类型、计算机编号、用户编号,管理员填写相应的信息后提交,系统会给出相应的提示信息。管理员可以通过记录列表对记录信息进行管理。系统设置管理:该模块包括操作员信息管理以及个人密码管理两个功能部分,在操作员信息管理模块中,可以查看所有操作员信息,并可以对操作员信息进行修改和添加,在修改和添加之后,系统会给出相应的提示信息。具体流程如图2-1业务流程图。图2-1业务流程图S....... .......2.3数据流程分析2.3.1数据流程分析对系统数据流程进行分析,分析系统部数据流来源、流向以及数据流携带的基本信息。可以对系统的功能模块有一个更加深刻的了解,在进行层层深入的分析后得出的系统数据字典,对系统数据库的设计也有着非同一般的作用和指导意义。从另外的角度来说,系统数据库设计在很大程度上是参考数据字典给出的。2.3.2数据流程顶层图分析在进行了网吧计费系统的需求分析以及业务流程的分析之后,对系统部的数据流的基本信息有了一定的了解,在此基础上给出了分析出的该网吧计费系统的数据流程顶层图如下图2-2数据流程顶层图:图2-2数据流程顶层图2.3.3数据流程一层图分析在网吧计费系统的数据流程顶层图的基础上,进行了进一步的分析,得到了该系统的数据流程一层图,在一层图中涉及到的系统的功能更加具体,数据流的信息更加全面,使用到的文件也更加清晰,如下面的图2-3数据流程一层图:S....... .......图2-3数据流程一层图2.3.4数据流程二层图分析在数据流程顶层图、一层图的基础上,为了对系统的更加详细的设计,使设计出的系统的功能更加全面,进行了网吧计费系统的数据流程二层图的分析,得到如下的数据流程图,图2-4数据流程二层图:S....... .......©图2-4数据流程二层图2.4数据字典网吧计费系统的数据字典是在进行了该系统模块的需求分析、数据流程顶层图、一层图以及二层图的基础上进行的该模块的一些具体的处理过程、功能模块、存储信息表以及外部实体的概括和描述,使得对该模块的设计更加具体,为系统的设计提供了一个详细的参考。下面就是该网吧计费系统的数据字典:表2-1外部实体定义名称:管理员总编号:1-001S....... .......说明:管理该系统信息的人编号:001输入数据流:管理信息输出数据流:系统中的信息表2-2数据流定义名称:管理员信息总编号:2-001别名:管理员信息编号:F1数据流来源:管理员修改数据流去向:管理员信息管理模块名称:用户信息总编号:2-002别名:用户信息编号:F2数据流来源:管理员添加用户信息模块数据流去向:用户信息查询模块名称:用户信息总编号:2-003别名:用户信息编号:F3数据流来源:管理员修改用户信息模块数据流去向:用户信息查询模块名称:记录信息总编号:2-004别名:记录信息编号:F4数据流来源:管理员添加记录信息模块数据流去向:记录信息查询模名称:记录信息总编号:2-005别名:记录信息编号:F5数据流来源:管理员修改记录信息模块数据流去向:记录信息查询模块名称:计算机信息总编号:2-006别名:计算机信息编号:F6数据流来源:管理员添加计算机信息模块数据流去向:计算机信息查询模块名称:计算机信息总编号:2-007别名:计算机信息编号:F7数据流来源:管理员修改计算机信息模块S....... .......数据流去向:计算机信息查询模块表2-3处理过程定义名称:用户信息管理总编号:3-001功能:对用户信息进行添加、修改、删除编号:P1输入数据流:用户编号、用户名、密码、余额、状态。输出数据流:名称:用户信息查询总编号:3-002功能:对用户信息进行查询编号:P2输入数据流:查询条件输出数据流:用户信息名称:记录信息管理总编号:3-003功能:对记录信息进行添加、修改、删除编号:P3输入数据流:记录编号、计算机编号、用户编号、上机时间、下机时间、花费金额。输出数据流:名称:记录信息查询总编号:3-004功能:对记录信息进行查询编号:P4输入数据流:查询条件输出数据流:记录信息名称:计算机信息管理总编号:3-005功能:对计算机信息进行添加、修改、删除编号:P5输入数据流:计算机编号、状态、基本信息。输出数据流:名称:计算机信息查询总编号:3-006功能:对计算机信息进行查询编号:P6输入数据流:查询条件输出数据流:计算机信息名称:个人密码信息管理总编号:3-007功能:对个人密码进行修改编号:P7输入数据流:新的密码信息输出数据流:用户信息S....... .......表2-4数据存储定义名称:用户信息表总编号:4-001别名:Card编号:D1数据流来源:管理员添加结构:用户编号、用户名、密码、余额、状态。关键字:用户编号名称:记录信息表总编号:4-002别名:Record编号:D2数据流来源:管理员添加结构:记录编号、计算机编号、用户编号、上机时间、下机时间、花费金额。关键字:记录编号名称:计算机信息表总编号:4-003别名:Computer编号:D3数据流来源:管理员添加结构:计算机编号、计算机状态、基本信息。关键字:计算机编号2.5本章小结对系统的可行性进行分析,其中包括技术可行性、系统安全可行性、系统实用可行性这三方面进行分析。对系统的需求进行了分析,业务的流程、数据的流程也进行了相关的分析,还有数据字典创建。第2章S....... .......系统功能分布3.1机器管理1、选择添加计算机信息以及管理现有的计算机信息。2、添加计算机包括计算机名、状态、计算机相关信息,在提交之后,系统会给出相应的提示信息。3、计算机配置的详细信息,在该页面中,系统给出计算机的详细信息。4、对现有计算机信息进行修改的操作,在提交修改信息之后,系统会给出相应的提示信息。5、在电脑信息管理页面中也可以输入计算机名进行计算机的查询操作。操作流程如图3-1机器管理操作图:图3-1机器管理操作图3.2会员管理1、管理员登记用户信息需要填写用户名、密码等用户的一些相关信息。2、管理员可以对会员进行查询、修改、删除操作。操作流程如图3-2会员管理操作图:S....... .......图3-2会员管理操作图3.3记录管理1、管理员可以查询、修改以及删除的操作。2、管理员可以通过记录列表对记录信息进行管理。3、管理员填写记事的标题和容信息进行对记事信息的添加,系统出现相应的提示信息。4、添加记录包括上机金额、计算机编号、用户编号,上机时间,下机时间,系统会给出相应的提示信息,计算出消费多少钱。操作流程如图3-3记录管理操作图:S....... .......图3-3记录管理操作图3.4系统管理盗号处理,远程关闭机器。操作流程如图3-4系统管理操作图:图3-4系统管理操作图S....... .......3.5操作上机,下机,退出。操作流程如图3-5操作功能流程图:图3-5操作功能流程图3.6材料信息查看开发者的信息。操作流程如图3-6材料信息操作图:S....... .......图3-6材料信息操作图3.7本章小结本章是给出系统所具有的的管理模块,以及每个管理模块所对应的功能有哪些。S....... .......系统设计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应用要能适应于多种运行环境,来应对未来变化的环境和需求。可扩展性主要体现在系统易于扩展,例如可以采用分布式设计、系统结构模块化设计,系统架构可以根据网络环境和用户的访问量而适时调整,从某种程度上说,这也是系统的适应性。可靠性原则:系统应该是可靠的,在出现异常的时候应该有人性化的异常信息方便用户理解原因,或采取适当的应对方案,在设计业务量比较大的时候可采用先进的嵌入式技术来保证业务的流畅运行。可维护性和可管理性原则:系统应该有一个完善的管理机制,而可维护性和可管理性是重要的两个指标。S....... .......安全性原则:系统必须具备高可靠性,对使用信息进行严格的权限管理,技术上,应采用严格的安全与措施,保证系统的可靠性、性和数据一致性等。总体规划、分层实施原则:在开始设计之前应该对系统进行总体设计,然后在总体设计指导下分步开发。基于java技术的应用系统是一个融合了多元信息的集成系统,现在一般都采用分层开发:表现层、控制层、业务逻辑层、模型层、数据访问层等,在适应系统需求的准则下,设计低耦合的分层结构,利于团队成员的分工协作,提高开发效率,降低项目风险,实现各个模块的功能设计,完成整个系统的开发。  S....... .......4.2 构架概述图4-1系统架构图4.3 计界面设计在进行该网吧计费系统界面设计时遵循下面的原则:(1)S....... .......用户原则。人机界面设计首先要确立用户类型。划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。(2)信息最小量原则。人机界面设计要尽量减少用户记忆负担,采用有助于记忆的设计方案。(3)帮助和提示原则。要对用户的*作命令作出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统部处理工作要有提示,尽量把主动权让给用户。(4)媒体最佳组合原则。多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。下面就是该系统的界面的举例图4-2电脑管理页面图:图4-2电脑管理页面图4.4数据库概念设计网吧计费系统的数据库概念设计是基于需求分析的基础之上的,在进行概念设计时应用实体关系图进行,在实体关系图中主要分为实体、属性以及实体间的关系。通过对该图的分析,可以将该网吧计费系统的功能理解得更加深刻,以及S....... .......对数据库进行进一步设计。下面是该系统的实体关系图,图4-3用户实体信息图、图4-3用户实体信息图、图4-4记录实体信息图、图4-5计算机实体信息图、图4-6实体关系图:图4-3用户实体信息图图4-4记录实体信息图图4-5计算机实体信息图S....... .......图4-6实体关系图4.5数据库逻辑设计在进行了该网吧计费系统的数据库概念设计之后,根据给出的实体结构图进行了分析,得到该系统的数据库逻辑设计如下:(1)Card用户信息表(用户编号、用户名、密码、余额、用户状态);(2)Record记录信息表(记录编号、上机金额、计算机编号、用户编号、创建时间、更新时间);(3)Computer计算机信息表(计算机编号、计算机状态、其他信息)。4.6数据库物理设计表4-1用户信息字段类型位数主键备注cardIDint4▲用户编号userNamevarchar50用户名PassWordvarchar50密码Balanceint4余额S....... .......Stateint5状态表4-2记录信息字段类型位数主键备注recordIDint4▲记录编号Feeint4消费金额computerIDint4计算机编号cardIDint4用户编号Begintimevarchar8创建时间Endtimevarchar8更新时间表4-3机器信息字段类型位数主键备注computerIDint4▲机器编号Stateint4机器状态Remarkvarchar500其他信息4.7本章小结本章是对系统的设计进行了详细的描述,本系统设计的原则是哪些,具体的功能又有哪些。对其中的部分设计的介绍,这些设计主要包括页面的设计、数据库概念的设计、数据库逻辑设计、数据库物理设计。对这些是怎样设计的进行详细的描述概括。S....... .......第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();S....... .......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);this.init();this.addComponent();this.pack();this.addListener();}privatevoidinit(){this.setLocation(300,200);this.setLayout(newGridLayout(5,1));}S....... .......privatevoidaddComponent(){this.add(numberPanel);this.add(passwordPanel);this.add(comboboxPanel);this.add(timePanel);this.add(btnPanel);passwordText.setEchoChar('*');timeText.setText(Utils.dealCalendar(Calendar.getInstance()));numberPanel.add(numberLabel);numberPanel.add(cardidText);passwordPanel.add(passwordLabel);passwordPanel.add(passwordText);timePanel.add(timeLabel);timePanel.add(timeText);btnPanel.add(submit);btnPanel.add(afresh);combobox.addItem("请输入机器号");createComboBox();comboboxPanel.add(computeridLabel);comboboxPanel.add(combobox);}S....... .......//重置privatevoidaddListener(){afresh.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){cardidText.setText(null);passwordText.setText(null);timeText.setText(Utils.dealCalendar(Calendar.getInstance()));//把文本域里的值设置为空combobox.setSelectedIndex(0);}});//验证登入的卡号和密码,更改卡状态,更改机器状态,添加记录submit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(cdi.verifyCard(cardidText.getText(),passwordText.getText())){rdi.insert(cardidText.getText(),(String)(combobox.getSelectedItem()),Calendar.getInstance());cdi.updateState(cardidText.getText(),1);S....... .......cpdi.update((String)(combobox.getSelectedItem()),1);InDialog.this.dispose();}}});}privatevoidcreateComboBox(){ArrayListlist=(newComputerDaoImp()).getComputerByState(0);for(Computerc:list){combobox.addItem(c.getComputerid());comboboxPanel.add(combobox);}}}5.2添加电脑功能的实现管理员登录成功后,进入电脑信息管理界面中,通过填写计算机名机器状态、相关信息。例如显示器、主板、存、CPU、硬盘、视频、键盘、鼠标等电脑信息。页面如图:图5-2添加电脑信息页面图。S....... .......图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();S....... .......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);numberPanel.add(numberLabel);numberPanel.add(computeridText);statePanel.add(stateLabel);S....... .......statePanel.add(stateText);remarkPanel.add(remarkLabel);remarkPanel.add(remarkText);btnPanel.add(submit);btnPanel.add(afresh);}privatevoidaddListener(){afresh.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){computeridText.setText(null);remarkText.setText(null);stateText.setText(null);}});submit.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Stringa=computeridText.getText();Stringc=remarkText.getText();intf=Integer.parseInt(stateText.getText());Computercomputer=newComputer();S....... .......computer.setComputerid(a);computer.setRemark(c);computer.setState(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用户下机详细信息页面图。S....... .......图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);S....... .......this.init();this.addComponent();this.pack();this.addListener();}privatevoidaddComponent(){this.add(comboboxPanel);this.add(timeJPanel);this.add(btnJPanel);timeJPanel.add(timeLable);timeJPanel.add(timeText);btnJPanel.add(submit);btnJPanel.add(cancel);comboboxPanel.add(computeridLabel);comboboxPanel.add(combobox);combobox.addItem("请输入机器号");createComboBox();timeText.setText(Utils.dealCalendar(Calendar.getInstance()));}//取消privatevoidaddListener(){S....... .......cancel.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){try{DownDialog.this.dispose();}catch(Throwablee1){e1.printStackTrace();}}});}privatevoidinit(){this.setLocation(300,200);this.setLayout(newGridLayout(3,1));this.setSize(500,500);}privatevoidcreateComboBox(){ArrayListlist=(newComputerDaoImp()).getComputerByState(1);for(Computerc:list){combobox.addItem(c.getComputerid());comboboxPanel.add(combobox);S....... .......}}}图5-3用户下机详细信息页面图下面是用户下机详细信息功能的主要代码:importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.util.Map;importjavax.swing.JButton;importjavax.swing.JDialog;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;import.qhy.dao.impl.CardDaoImp;import.qhy.dao.impl.ComputerDaoImp;import.qhy.dao.impl.RecordDaoImp;import.qhy.entity.Record;S....... .......import.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();this.addCompoment();this.addActionListener();}privatevoidinit(){this.setLocation(500,400);this.setLayout(newGridLayout(7,1));this.setSize(300,300);this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);this.setVisible(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);S....... .......}privatevoidaddActionListener(){btn.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){InfoDialog.this.dispose();}});}privateJPanelcreateJPanel(Stringinlabel,Stringincontent){JPanelpanel=newJPanel();JLabellabel=newJLabel(inlabel);JLabelcontent=newJLabel(incontent);panel.add(label);panel.add(content);returnpanel;}publicString[]getContent(intrecordid){String[]content=newString[6];Recordrecord=rdi.getRecordByRecordid(recordid);content[0]=record.getCardid();content[1]=record.getComputerid();content[2]=Utils.dealCalendar(record.getBegintime());content[3]=Utils.dealCalendar(record.getEndtime());content[4]=((Double)cdi.getBalanceByCardid(content[0])).toString();content[5]=((Double)record.getFee()).toString();;returncontent;}}5.4用户信息修改功能的实现管理员在登录页面中,选择修改密码则进入修改密码页面S....... .......、进入修改账户名页面。修改密码需填写用户编号、密码。修改用户名需填写用户编号、用户名。在提交之后,用户名或密码修改成功。页面如图:图5-5修改密码页面图、图5-5修改密码页面图。图5-5修改密码页面图图5-5修改密码页面图下面是修改代码功能的主要代码://修改密码OverridepublicvoidchargeCardPass(Stringcardid,Stringfee){Stringsql="selectpasswordfromcardwherecardid=?";Object[]params=newObject[]{cardid};sql="updatecardsetpassword=?wherecardid=?";params=newObject[]{fee,cardid};jtl.update(sql,params);}//修改用户名S....... .......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(){S....... .......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);shut.addActionListener(this);p1.add(shut);getContentPane().add(p1,BorderLayout.CENTER);JPanelp2=newJPanel();JButtonok=newJButton("OK");ok.addActionListener(this);p2.add(ok);getContentPane().add(p2,BorderLayout.SOUTH);addKeyListener(newKeyAdapter(){publicvoidkeyPressed(KeyEventke){S....... .......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";S....... .......Processp=Runtime.getRuntime().exec("command");}publicvoidactionPerformed(ActionEventae){Stringstr=ae.getActionCommand();if(str.equals("OK")){try{if(shut.getText()=="远程关闭(F1)"){Shutdown();}}catch(IOExceptione){}}}}returndbConnection;}5.6登陆功能的实现管理员进入登录界面,输入正确的用户名、密码成功登录进去功能面板。登录页面如图:图5-7登录页面图。S....... .......图5-7登录页面图下面是登录功能的主要代码:publicclassLoginFrameextendsJFrame{privatestaticfinallongserialVersionUID=-37L;privatestaticfinalJLabelusernameLabel=newJLabel("账号:");privatestaticfinalJTextFieldusernameInput=newJTextField();privatestaticfinalJLabelpasswordLabel=newJLabel("密码:");privatestaticfinalJTextFieldpasswordInput=newJPasswordField();privatestaticfinalJButtonloginButton=newJButton("登陆");privatestaticfinalJButtonexitButton=newJButton("退出");privateJLabeljl1;publicLoginFrame(){setSize(newDimension(280,180));setTitle("登陆");S....... .......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();S....... .......frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}else{JOptionPane.showMessageDialog(LoginFrame.this,"账号或密码不正确");return;}}});exitButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});}privatevoidinitUI(){//TODOAuto-generatedmethodstubS....... .......usernameLabel.setBounds(30,10,100,21);usernameInput.setBounds(100,10,140,21);passwordLabel.setBounds(30,40,100,21);passwordInput.setBounds(100,40,140,21);loginButton.setBounds(70,100,60,21);exitButton.setBounds(160,100,60,21);add(usernameLabel);add(usernameInput);add(passwordLabel);add(passwordInput);add(loginButton);add(exitButton);jl1=newJLabel();Imageimage1=newImageIcon("image\2.jpg").getImage();jl1.setIcon(newImageIcon(image1));jl1.setBounds(0,0,355,265);this.setResizable(false);this.setLocationRelativeTo(null);}publicstaticvoidmain(String[]args)S....... .......{newLoginFrame();}}5.7本章小结本章是对系统功能的实现,在这里讲述了部分功能实现的源代码。主要是针对这系统的上机、下机功能的代码实现,添加电脑资源的功能的代码实现,用户对自己信息修改的功能的代码实现,管理员远程关闭他人机器功能的代码的实现以及管理员登记的功能的代码实现。S....... .......系统测试6.1系统功能测试方法概述在对系统进行测试之前进行了测试方法的讨论,挑选出最适合的软件测试方法对该系统模块进行测试。主要的测试方法有:(1)等价类划分该方法不仅仅对系统进行无效的输入数据进行系统的纠错能力的测试,而且也给出正确的输入来对系统是否能进行正确的输出来进行分析。根据网吧计费系统的功能说明,对每一个输入条件确定若干个有效的等价类和若干个无效的等价类进行测试。(2)数据和数据库完整性测试在网吧计费系统的测试中,数据库和数据库进程应作为一个子模块来进行测试。在数据库的存储容量及安全性来进行测试。(3)集成测试集成测试的主要目的是检测系统是否达到需求,对业务流程技术的处理是否符合规,检测系统对业务流的处理是否存在逻辑不严谨即错误,检测需否存在不合理的标准计要求。6.2功能测试根据上面所提到的网吧计费系统的测试方法,对该系统进行了比较详细的功能测试,具体的测试如下:(1)对登录进行功能测试:管理员填写用户名和密码,如果用户名或密码错误,系统是否会给出正确的错误提示信息,管理员填写用户名和密码时,将用户名或密码置空,系统是否会给出相应的提示信息。管理员填写正确的用户名和密码之后,用户是否可以进入系统界面进行操作。(2)对添加操作进行功能测试:管理员将要填写的表单中带有星号的对话框置空提交,系统是否会给出错误提示要求用户进行填写,将所有带有星号的必要信息填写之后进行提交,信息时候记录到数据库中。S....... .......(3)对查询操作进行功能测试:管理员填写查询条件后提交,系统给出的信息是否符合查询条件,查看给出的信息是否有不符合条件的,是否有符合条件的信息,但是系统并没有给出。6.3本章小结因为系统测试时不可缺少的一部分,经过系统测试我可以找出系统的不足之处进行修改。使系统更加完美化,更加趋向于成功,更好的为社会服务。本章主要讲述的是对系统进行测试,首先描述的是我测试时所使用的测试方法。然后讲述了我对哪些功能进行了测试。S....... .......结论随着网络的迅速发展,网民的不断增多,网吧已经成为经济发展的不可缺少的一部分。而网吧管理系统也随之成为系统管理员不可缺少的好帮手。将繁琐的网吧计费管理全交给计算机来做,计算机有着人工无法比拟的精确度,所以极提高了计费的准确性,同时通过对网吧拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理成各种信息资料及时提供给管理人员,以便进行正确的决策。网吧计费管理系统作为一种管理信息系统,利用现代计算机及网络通讯技术加强网吧的日常信息管理,建立正确的数据,不断提高企业的管理水平和经济效益,必将为网吧业带来巨大的经济效益,网吧的日常管理都将朝着高效、快速、无纸化的方向发展。本网吧计费系统在整个开发过程中采用了面向过程的开发方法,利用Java技术对整个的网吧计费工作流程进行了模拟,设计与实现。体现了面向过程开发方法的优越性,以及可视化编程的方便快捷。另外,该网吧计费系统采用的后台数据库为Orcale,该数据库在设计与开发的过程中也起到了至关重要的作用,体现了该数据库系统的强大功能。S....... .......参考文献[1]王建虹,Java程序设计[M].:高等教育,2007.[2]明俊,Oracle11g数据库与应用开发教程[M].:工业大学,2013.[3]蔡剑,景楠,Java网络程序设计[M].:清华大学,2003.[4]RonPatton,软件测试[M].:机械工业,2006.[5]Donahue,Java数据库编程宝典[M].:电子工业,2003.[6]洁.网吧论证计费管理系的设计与实现[D].:经贸大学计算机中心,时间不详.[7]庞永庆.JavaScript网页编程从入门到精通.科学.2008[8]王春超.基于J2EE架构的SSH组合框架的研究[D].理工大学.2010[9]贺晓敏,基于J2EE的高校毕业生就业信息管理系统的开发[D].大学.2010[10]闻涛.Struts网络编程例学与实践.:清华大学,2006.09[11]郝安林,王伟平,明亮.JSP从入门到精通[M].:电子工业,2008.01[12]林锐.软件工程与项目管理解析[M].:电子工业,2009.10.[13]一林,波.JAVA数据库编程实例[M].:清华大学,2009.11.[14]赛奎春.JSP应用与项目实践[M] .机械工业.2005.4.[15]芝兴,瑞龙.Java EE Web 编程[M] .机械工业.2008.5.[16]晓华.JSP应用开发详解[M].电子工业.2007.5. [17]沃尔斯.Spring in Action [M].人民邮电.2005.6.[18]斯瓦尼.MySQL 完全手册[M].电子工业.2005.2.[19]邱哲,马斗.Struts设计开发大全[M].清华大学.2006.2.[20]MartyHall.JavaSerletJavaServerPages.04.2002r.S....... .......[1]JBall,DCarson,1Evans,5Fordin,KHaaee,EJendroek.TheJavaEE5Tutorial.Mierosvsts.Ine.2006[2]IiuusseinAbdel.WahabInteractivedistancelearninnoverintranet[J]IEEEInternetcomputing.1997,(I);60-71.[3]Perry,GeorgeL.W.SppackspatialpointpattemanalysisinExcelusingVisualBasicforapplication(VBA)[J],EnvironmentalModellinganSoftware2004,19(6):559-569.[4]JimArlowLiaNeustadt.UML2andtheUNifiedProeessPraetiealobjeet-orientedAnalysisandDesign(SecondEdition).ChinaMachinePress,2006.13-26[5]ItzikBen-gan,DejanSarka,RogerWolter.MicrosoftSQLServer2005:T-SQLProgramming.MicrosoftPress,2006.35-66[6]D.Abramson.ConstructingSchoolTimetableulatedAnnealingSequenceandarallelAlgorithm.ManagementScience,1991.[7]FouldsLR,JohnsonD.G.SlotManager.amicrocomper-baseddecisionnSupportsystemforuniversitytimetabling.DecisionSupportSystems,2000[8]ColorniA,Dorigomarco,ManiezzoV.Metaheuristicsforhighschooltimetabling.ComputationalOptimizationandApplications,1998(9):275-29.[9]TodNielsen.ThefutureofJ2EE.devZdev,2004,25(I):35-37[10]Craigwhlls,RyanBreidenbach.SpringinS....... .......Action.US:Manning,2006.4.10-15[1]MartyHall.JavaSerletJavaServerPages.04.2002r.S....... .......致论文从开题到最终完成历时几个月时间。在此过程中,我经历了各种心酸历程从最初的不知所措到逐渐的找到写论文和做程序的关键,到最后论文的最终完成的喜悦和满足,期间很多老师、同学和朋友给了我莫大的帮助,在此表示我衷心的感。特别要感的为我的论文研究和写作付出最多的是我的论文指导教师磊老师,他对我的论文从选题、研究到论文写作的全过程都给予了非常有效的具体指导,经常给我们打,要求我们修改论文,并且告诉我们如何修改,添加什么样的容,是她使我的研究能力和写作水平的到了本质的提高。为此,特向他致以衷心的意。感外国语学院信息科学系提供和创造的良好的学习氛围,让我学到了软件工程的先进理念和方法。感学院的各个领导、老师给我们提供了知识和帮助,让我们能从容的完成毕业设计和论文。在此特别感学院在各方面所作的工作和无微不至到关怀。感学院的同学们,他们在我平时的学习和生活中给了我很大的帮助,尤其是寝室的同学们,他们在我的论文研究过程中给我提供了许多宝贵的信息、意见和帮助!使得我们的毕业设计更加完备。最后,向百忙之中进行论文审查的老师与专家们致以深深的敬意,你们辛苦了!S.......

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭