网吧计费管理系统本科 毕业设计

上传人:沈*** 文档编号:77955605 上传时间:2022-04-20 格式:DOC 页数:37 大小:1.01MB
收藏 版权申诉 举报 下载
网吧计费管理系统本科 毕业设计_第1页
第1页 / 共37页
网吧计费管理系统本科 毕业设计_第2页
第2页 / 共37页
网吧计费管理系统本科 毕业设计_第3页
第3页 / 共37页
资源描述:

《网吧计费管理系统本科 毕业设计》由会员分享,可在线阅读,更多相关《网吧计费管理系统本科 毕业设计(37页珍藏版)》请在装配图网上搜索。

1、本科毕业设计(论文)题 目 网吧计费系统 指导教师 职称 讲师 学生姓名 学号 专 业信息管理与信息系统班级05信管1班院 (系)电子信息工程学院 完成时间 09年4月25日 II目 录中文摘要1英文摘要21 绪 论31.1选题的背景和意义31.2 研究目的31.3 研究内容31.3.1 服务器端41.3.2 客户端41.4 系统开发技术与工具简介41.4.1 C/S结构简介51.4.2 Java语言61.4.3 SQL Server 2000数据库71.4.5 开发工具JBuilder982 系统分析102.1 可行性分析102.1.1 经济可行性102.1.2 时间可行性102.1.3 技

2、术可行性112.1.4 社会可行性112.2 系统需求分析112.2.1 系统非功能性需求122.2.2 功能性需求132.3系统模块分析143 数据库设计193.1 数据库的需求分析193.2 数据库E-R图和数据库表193.3 数据库连接204 系统的设计和实现235 系统调试与安装295.1 网吧计费系统登录测试295.2 用户进入测试结果截图296 总结326.1 系统的不足与前景32致 谢33参考文献34网吧计费管理系统摘 要本课题研究的网吧计费系统是一款基于C/S结构,采用SQL Server2000 数据库,利用Java设计开发的网吧计费系统。文中主要介绍了系统的基本功能和系统结

3、构组成情况,内容包括系统需求分析、系统设计原则、系统设计思想、系统功能模块描述、数据库设计、系统通信过程、通信协议等,同时还对开发环境JBuilder9 ,SQLServe2000数据库、Java技术的使用进行简单介绍,并列出了一些程序代码以说明该系统应用程序设计的实现过程。本系统要求由服务器端、客户端2个模块组成,它们分别实现不同的功能,服务器端的功能有卡号管理、信息管理、帮助、退出系统等4个主要功能。各个功能有分别实现不同的子功能。客户端的功能与其雷同。 关键字 C/S 结构/SQL Server 2000 /Java FEE-CHARGING AND MANAGEMENT SYSTEMO

4、N NET BARABSTRACTThe research of the Internet is a billing system based on C / S structure, using SQL Server2000 database, using Java design and development of the Internet billing system. The article introduces the basic functions of the system structure and composition of the system, including sys

5、tem requirements analysis, system design principles, system design, system function module description, database design, system communication, communication protocols, etc., but also on the development environment JBuilder9, SQL Serve2000 database, Java technology, the use of a brief introduction an

6、d a list of some code to illustrate the application of the system design process to achieve. This paper introduces an internet cafe charging system based on java. By analyzing the java technology of socket, thread, vector, JDBC and the function and characteristic of the system, we propose designing

7、thought and designing model and designing method. Thus, the system is more secure and fault tolerant.KEYWORDS C/S structure,SQL Server2000,Java1 绪 论1.1选题的背景和意义网吧的存在既然有如此重要的意义,通过网络扩大网吧的对外宣传,树立网吧的自身的新形象,改进一向给人“小、散、乱、差”印象的网吧行业形象,有着非同寻常的意义。飞扬网吧是现今主流网吧的一个缩影,具有一定的规模,网吧为网民营造明亮、宽敞、舒适的上网环境,管理规范化,是网吧发展的趋势所在。“

8、打造新视听,创造新享受。打造新娱乐,创造新体验。打造新教育,创造新理念。打造新网吧,创造新形象。”这是第二届中国国际网络文化博览会根据我国网络文化市场的发展特点,以及国内外网络文化市场的现状和发展趋势,得出的我国网吧行业未来发展的四个核心内容。利用网吧本身具有的网络优势,实施网络化管理,将是网吧管理的主要形式。1.2 研究目的随着计算机技术的日月更新,越来越多的人们注重加强对计算机知识的学习,为了满足学校学生或者社会学员的需求,许多网吧都纷纷对外开放,实行计时收费。但随着上机人数的增多,网吧的管理成了一个非常困难的问题。首先,人工计时收费是非常繁琐的一项工作,耗费人力物力,而且极容易出错;最后

9、的统计工作更是一项费时费力的苦差事,甚至不能统计。其次,上机过程中,每个网吧都需要值班人员值班,耗费了管理人员的很多时间。随着计算机各种外围设备技术的发展,以上工作通过计算机就可以很方便地实现。 为了适应当前网吧管理无人化的需求,本人试图利用自己大学所学专业知识并结合教学管理中的实际情况和其它类似计费软件的优点,开发了一套网吧收费系统软件。本系统可以解决网吧管理中存在的几个实际问题: 1. 减少值班人员、维护人员,降低管理人员费用,甚至可以做到网吧无需人员值守管理。 2. 增加网吧的开放时间,提高设备的利用率。 3. 解决目前网吧管理中的人情免费上机、脱逃费问题。 1.3 研究内容利用JBui

10、lder9、SQL Server 2000 等开发工具开发一套基于c/s框架结构的网吧计费管理系统软件, 该系统要求由服务端、客户端2个部分组成。各部分主要实现以下功能:1.3.1服务器端:1.卡号管理主要包括:新建卡号、修改密码、用户充值。这其中大部分是标准数据的维护,包括新增、修改等;2.信息管理主要包括:删除用户信息、修改用户信息、查询用户信息、费率调整等。这里对是对用户全部信息进行管理的主要模块,以及对网吧费率的调整。3.退出系统主要用于管理员安全退出系统,让服务端系统安全退出,保持系统稳定性。4.帮助主要提示网吧系统版权,开发等相关信息。1.3.2客户端首先要求将客户端的桌面、任务管

11、理器、系统状态栏等系统功能锁定,桌面上只有客户登录程序界面,要求用户输入用户名和下机注销后,系统自动结算用户消费,更新数据库,并在桌面上显示登录窗口,等待下密码进行登录。登录信息发送到“服务器端”,由“服务器端”来判断其合法性,并反馈一个信息给客户端,如果一切合法的话,再将桌面、任务管理器等功能解锁,让用户正常使用,转入用户主界面。用户可以在用户主界面进行余额查询,密码修改等操作,用户一位用户登陆。1.4系统开发技术与工具简介系统涉及Java语言,数据库知识以及C/S结构,运用JBuilder9,SQL Server 2000等开发工具进行开发。Java是目前最流行的编程语言之一,SUN基于J

12、ava语言推出的SunOne和微软基于VB/VC+/C#语言推出的.NET是当今世界软件领域的两大阵营,所以,掌握Java就等于掌握了软件开发的半壁河山。JBuilder是Borland公司出品的开发Java应用的集成开发环境,它是业力量最流行的,也是最好的集成开发环境之一,下面将对以上技术进行详细介绍。1.4.1 C/S结构简介在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。 不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。

13、采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。 本系统采用了C/S结构进行开发,C/S结构主要应用于构造数据库系统,它包括连接在一个网络中的多台计算机。处理应用程序并请求另一台计算机服务的计算机为客户机(Client),处理数据库的计算机称为服务器(Server).C/S结构的特点是客户端只装载应用程序,而把数据库放在服务器上,这样就可以使客户端不存储

14、数据,从而简化客户端软件。JDBC支持两层模型。两层模型中,一个Java Applet或者一个应用程序直接同数据库连接,这就需要有能直接连接数据库的JDBC驱动器。用户的SQL语句被传送给数据库,而这些语句执行的结果将被传回给用户。数据库可以再同一机器上,也可以在另外机器上通过网络连接(本系统数据库在同一机器上)。这就是C/S结构,用户的计算机作为Client,运行数据库的计算机作为Server。这个网络可以是intranet,比如连接全体雇员的企业内部网,当然也可以是Internet。C/S架构软件的优势:应用服务器运行数据负荷较轻;数据的储存管理功能较为透明;能充分发挥客户端PC的处理能力

15、,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。C/S体系结构可以如图1.4.1-1:图1.4.1-1 C/S结构1.4.2 Java语言Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java主要特性:1.Java语言是简单的,Java语言的语法与C语言和C+语言很接近, Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的

16、Java应用编程接口中有一个网络应用编程接口(J)4、Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。Java的安全检查机制使得Java更具健壮性。5、Java语言是安全的。Java提供了一个安全机制以防恶意代码的攻击。 6、Java语言是体系结构中立的。Java程序在Java平台上被编译为体系结构中立的字节码格式,可以在实现这个Java平台的任何系统中运行。7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性, 8、Java是解释型,高性能的。与那些解释型的高级脚本

17、语言相比,Java的确是高性能的。 9、Java语言是多线程的。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。10、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息

18、的低成本方式。1.4.3 SQL Server 2000数据库SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。 SQL Server 2000 的特性包括: 1、Internet 集成SQL Server 2000 数据库引擎提供完整的 XML 支持

19、。 2、可伸缩性和可用性 同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。 3、企业级数据库功能 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。4、易于安装、部署和使用 SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 200

20、0 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。5、数据仓库 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。 SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版,本系统开发采用的是SQL Server2000开发版。1.4.4 JDBC简介JDBC是一种可用于执行SQL语句的Java API。它由一些

21、Java语言写的类,界面组成。JDBC给数据库应用开发人员,数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。通过JDBC,开发人员可以很方便地将SQL语句传送给几乎任何数据库,不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行.由于该系统采用Java语言实现,所以选择JDBC连接将使程序更健壮,移植性高。现在需要找到一种能使Java应用与各种不同数据库对话的方式,而JDBC正是实现这种对话的一种机制。JDBC扩充了Java的应用范围。IMS管理员希望Java与JDBC结合,因为这有助于更容易、更经济地发布企业信

22、息。而各个公司可以不断地使用已安装的数据库,方便地存取信息,不必顾及这些数据库是在何种DBMS系统下存储的。有助于缩短新应用的开发时间,并可大大简化数据库的安装与版本控制。另外,在商业销售信息服务领域,Java与JDBC则可以更好地向外界客户提供最新信息。 1.4.5 开发工具JBuilder9JBuilder9是Borland公司开发的,功能强大的可视化Java集成开发工具,可以快速开发包括复杂企业级应用系统的各种Java程序,包括独立运行程序、Applet程序、Servlet、JSP、EJB、Web Service等,最新的JBuilder 9版本支持Sun的J2SE 1.4和J2EE 1

23、.4。 使用可视化工具开发程序有很多好处,其中最显著的是能够快速生成程序框架、设计图形界面、调试程序等,此JBuilder 9内置了对一些企业级服务器的支持,包括Borland服务器、Bea公司的WebLogic服务器、IBM的WebSphere服务器和iPlanet服务器。JBuilder 9在以前版本的基础上,增强和增加了许多功能。JBuilder 9 之图形使用者接口是以标准 JFC/Swing 为基础开发而成,Swing 框架中允许开发人员客制化外观 ( look and feel ) 以符合各图形使用者接口系统之风格。过去版本中 JBuilder 已经支持标准 Windows、CDE

24、./Motif 与 Metal 三种外观,由于自 2003 年起 JBuilder 整合开发环境中核心部分将被用于 Borland 公司其它跨平台工具中,因此 JBuilder 9 中增添 Borland 特有之外观,以便于未来各跨平台工具中能保有统一之风格。在JBuilder9中提供了大量GUI控件和类,例如AWT和Swing控件等。用户可以直接对控件拖放,以及通过控件实现事件的处理,开发程序所见即所得,节省了大量的开发时间,让开发者的开发过程更加轻松。这正好适合本系统界面的开发工作。2 系统分析根据软件工程设计的高内聚、低耦合的原则确定系统的层次结构,具体可描述如下:服务端:(1). 操作

25、员管理 主要包括:操作用户管理、操作员登录、修改密码、设置上机费用 。这其中大部分是标准数据的维护,包括新增、修改、删除、查询等; (2). 用户信息管理 主要包括:用户充值、查询用户费用、删除用户信息、添加用户信息、修改用户信息。这里区分不同的用户类型,按照不同用户类型设置上机费用等;客户端:首先要求将客户端的桌面、任务管理器、系统状态栏等系统功能锁定,桌面上只有客户登录程序界面,要求用户输入用户代码和密码进行登录。登录信息要求以网络数据包的形式发送到“服务器端”,由“服务器端”来判断其合法性,并反馈一个信息给客户端,如果一切合法的话,再将桌面、任务管理器等功能解锁,让用户正常使用。客户端程

26、序要求正常停靠在系统托盘中,用户下机时要求点击此图标进行下机,客户端将下机信息发送到“服务器端”,然后重新弹出登录界面,等待下一个用户登录。2.1 可行性分析任何一个系统或一项工程在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少损失。下面从三方面来讨论:2.1.1 经济可行性主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此 ,在经济上是可行的。2.1

27、.2 时间可行性主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。本系统对网吧日常的管理比较全面,可长期使用。2.1.3 技术可行性利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。关系型数据库的高速发展使管理信息系统具备了良好的开发环境。本系统使用的Java普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。2.1.4 社会可行性人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。开发本系统的目标不仅是提高工作效率,减轻劳动强

28、度,而且减少出错率,具有很好的社会意义。2.2 系统需求分析需求分析是指开发人员要准确理解用户的要求进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。需求分析虽然处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。近几年来已提出许多软件需求分析与说明的方法(如结构化分析方法和面向对象分析方法),结构化分析(Structured Analysis,简称SA)是面向数据刘进行需求分析的方法。SA也是一种建模活动,该方法使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘出

29、满足功能要求的软件模型。结构化分析步骤:1. 了解当前系统的工作流程,获得当前系统的物理模型。当前系统是指目前正在运行的系统,可能是需要改进的正在计算机上运行的软件系统,也可能是人工处理系统。抽象出当前系统的逻辑模型。物理模型反映了系统“怎样做”的具体实现,去掉物理模型中非本质的因素,归纳出本质的因素。本质因素是指系统固有的、不依赖运行环境变化而变化的因素,任何实现均可这样做。非本质因素不是固有的,随环境不同而不同,随实践不同而不同。建立目标系统的逻辑模型。目标系统指待开发的系统。分析、比较目标系统与当前系统逻辑上的差别,然后对“变化的部分”重新分解,分析人员根据自己的经验,采用自顶向下逐步求

30、精的分析策略,逐步确定变化部分的内部结构,从而建立目标系统的逻辑模型。作进一步补充和优化。为了完整描述目标系统,还要做一些补充:说明目标系统的人机界面;说明至今尚未详细考虑的细节。根据本系统的实现功能,分为以下几方面来进行讨论。2.2.1 系统非功能性需求1.用户需求由于网吧日常管理需要很繁琐的操作,如果人工进行的话,容易导致工作效率低下,用户消费计算不正确甚至错误,同时也不能进行有效地统计用户的上网情况,管理者不能正确的作出决策,这使网吧的经营管理混乱。要改变这种落后低下的管理状况,把工作人员从枯燥乏味的重复劳动中解脱出来,用计算机系统进行管理是一个明智的选择。利用计算机这一工具,不但能成百

31、倍地提高工作效率,还能及时准确地得到有关信息,有效排除人为造成的失误,避免许多不必要的损失。让网吧计费管理更精确省时。2.性能要求 在性能方面要求系统核算准确,使每日的实收金额与用户的消费金额相吻合,管理员能够在服务器端对机器的开关,用户的注销,修改查询,删除用户信息进行操作,并能及时存入数据库;用户能及时查看自己的消费情况,修改相关信息,下机时候自动计算余额等。 3.运行要求1)服务器要求:(安装服务器版) CPU:奔腾166以上; 显示器分辨率:1024*768以上; 显示器色彩解析度:256色以上; 指定固定IP地址,与客户机及Internet能硬盘可用空间100兆以上;内存:32兆以上

32、2)客户机要求:(安装客户版)CPU:奔腾166以上;内存:32兆以上;显示其色彩解析度:256色以上;指定固定IP地址,与客户机及Internet能正常联网;3)软件要求:操作系统:WIN98/WIN2000/WINXP数据库:SQL Server2.2.2 功能性需求在实际开发中,系统功能分析需要开发小组的系统分析及设计人员与用户进行全面、深入的交流,切实了解用户期望整个系统所应具有的功能,并分析用户行业营运特点,与用户共同决定系统的具体功能。我们按照上述过程分析得出以下结论:本系统的功能模块主要包括一下功能:1.卡号管理:管理员可以新建用户信息,完成对用户密码进行修改等操作,能够对用户的

33、卡号进行充值。2.信息管理:管理员对用户相关信息修改,查询与删除等,也可对网吧上网的费率进行调整,以满足当时的需要。3.用户消费信息:系统允许的用户操作,例如密码操作,余额查询等 4.注销退出:用于用户注销退出系统结算等图2.2.2-1表示了网吧计费管理系统的功能需求,网吧计费管理系统主要包括:服务器端和客户端,期中服务器端又包括以下功能:网吧费率调整、用户充值相关、修改用户相关信息、删除用户信息、新建用户信息等;客户端则主要包括:用户消费查询、用户密码修改、用户注销登录等图2.2.2-1 功能需求2.3系统模块分析1.功能模块图2.3-1:以下用例表示系统有两个主要角色管理员和用户。管理员主

34、要对系统进行:卡号管理、信息管理、用户消费信息、注销退出。用户也能对系统进行:用户消费信息、注销退出。图2.3-1功能模块2.子模块介绍1)卡号管理设计:该模块主要管理员新建用户,修改密码,以及给用户充值,调用该模块进行操作,并将结果存入数据库。管理员要对系统进行卡号管理可以进行:新建卡号、修改密码、充值等操作。系统与服务器进行连接,进行信息操作,即对信息进行充值和修改。数据库进行验证,并将信息反馈回去。该模块流程图如下图2.3.2:图2.3-2卡号管理2)信息管理:该模块实现管理员对用户信息进行修改,删除与查询,并且可以设置网吧费率,通过该模块将自动调用数据库相关操作,检查输入合法性,将结果

35、显示给管理员或更新数据库。管理员要对系统进行信息管理主要包括:删除卡号、修改信息、查询信息、设置费率等。系统与服务器连接后,对信息进行:查询、修改、删除、设置等操作。数据库要对用户以及输入进行验证,并将信息反馈回去,同时对数据库进行更新。该模块的流程图如下2.3-3:图2.3-3信息管理 3)用户消费信息:该模块主要实现用户对自己信息的管理,包括查询余额消费信息,修改密码等,用户进行信息管理,首先输入用户信息和相关请求,系统对用户信息进行验证;系统与服务器进行连接,系统将用户信息:密码、卡号,输入数据库,数据库对上述客户信息进行验证,反馈验证信息,并将结果显示给用户该模块的流程图如下2.3-4

36、;图2.3-4用户消费信息 4)注销退出:该模块实现用户下机自动结账,并将新的余额存入数据库,同时删除此次用户上机记录,然后转到用户登陆框。该模块流程图如下2.3-5:用户向系统提出注销申请,系统与数据库进行连接,发送注销信息,数据库删除上次上机记录,更新数据。图2.3-5注销退出2.4 业务流程分析本小组在调查网吧的管理业务流程中,本着实事求是的精神,按照原有信息流动过程,逐个地调查所有环节的处理业务、处理内容、计算方法、提供信息的时间和信息形态等。经过调查分析,我们初步了解网吧计费管理的基本业务流程,并绘制了详细的业务流程图。流程图是软件开发者比较熟悉的一种系统表达方式,它独立于程序,可以

37、比较直观和清晰的描述过程的控制流程。网吧计费管理系统的服务器端系统流程图如图2.4-1:启动本系统程序后,管理员进行系统登录,管理员输入管理口令,系统对其输入信息进行验证,如果口令不正确则重新进入登陆界面,提示口令错误;口令输入正确后进入系统本界面,对系统进行管理。主要包括:卡号管理、信息管理、退出、帮助。卡号管理主要是:新建卡号、修改密码、充值;信息管理包括:删除信息、查询信息、修改信息、费率调整。图2.4-1服务器业务流程图网吧计费管理系统客户端流程图如图2.4-2:客户端使用流程为,客户要使用本系统首先要进行登录,打开终端电脑后会出现客户端登陆界面,并提示用户输入口令,用户输入口令后,系

38、统对其进行验证。如果口令错误返回登录界面重新登录;如果验证通过,则进入用户界面。用户可以使用本系统进行:用户信息管理、寻求系统帮助、退出系统。其中用户信息管理中用户可以进行修改密码和查询余额。 图2.4-2客户端业务流程图3 数据库设计3.1数据库的需求分析本系统的数据库管理是核心业务,管理员登陆管理系统,用户登陆都要到数据库中进行验证,合法才允许进入系统或使用机器。新增用户信息时需要到数据库中验证用户是否存在并合法,验证通过后新建成功并存入数据库相关用户信息表中;同样在删除,修改用户信息时要通过数据库来验证用户信息判断操作合法性;通过数据库用户能及时查询自己相关信息,以及充值,上下机结算。3

39、.2数据库E-R图和数据库表根据数据库的设计需求,主要考虑用户信息,上网业务,这里设计了数据库的E-R图,如图3.2-1:图3.2-1数据库E-R图数据库表的设计:在本系统设计了3张数据库表,分别是管理员口令表,用户信息表,用户上机记录表。系统所需要的表格设计如下:1.保存管理员登陆口令以及系统费率的表Admin如图3.2-2,表中数据如图3.2-3字段名数据类型是否为空备注AdminIDChar(10)否管理员号,关键字AdminPWChar(10)是管理员密码RateFloat(8)是费率2.保存用户信息的表UserIn,该表设计了5个字段:UserID(用户卡号),UserPw(用户密码

40、),UserName(用户名字),UserD(用户身份证),LeaveMoney(余额)。该表的具体数据库表描述如下:表3.3-3用户信息表字段名数据类型是否为空备注UserIDChar(10)否用户卡号,主关键字UserPwChar(10)是用户密码UserNameChar(10)是用户姓名UserDVarchar(50)是用户身份证LeaveMoneyFloat(8)是余额3.记录用户上机信息的表Pay,该表设计了两个字段:UserID(用户卡号),BeginTime(开始时间),用来临时保存用户上机信息的,便于用户下机自动结算。具体的数据库表描述如下:表3.3-4上机信息表字段名数据类型

41、是否为空备注UserIDChar(10)是用户卡号BeginTimeSmalldatetime(4)是开始时间3.3 数据库连接在利用JBuilider9进行开发应用程序时,不可避免的要用到数据库的连接,Java连接数据库主要有两种方式:方式一:使用jdbc-odbc桥连接:这种方式是不需要jdbc驱动程序的,只需在控制面板中建立一个ODBC数据源就可以了。注意的是,建立数据源是系统DSN中进行的,但请切记所建立的数据源的名称。方式二:使用sql-server专用的驱动程序(即SQL Server 2000 driver for JDBC)进行连接,或称非jdbc-odbc桥连接方式。还需下载

42、SQL Server 2000的补丁SQL2000-KB884525-SP4-x86- CHS.EXE和SQL Server 2000 driver for JDBC。使用专用连接方式访问速度比较快一些,而且不需要再控制面板中添加数据源。本系统采用的是JDBC驱动来连接数据库。在连接数据库前,我们需要配置安装Microsoft SQL Server 2000 Driver for JDBC,在开发工具JBuilder9配置库里导入JDBC驱动(msbase.jar,mssqlserver.jar,msutil.jar),配置测试成功后可以在开发中直接通过JDBC直接连接数据库。由于系统各个模块

43、都需要连接数据库,所以按照面向对象思想,我们可以在服务器端和客户端各建立一个建立数据库连接类(barConnect,barConnect2),此类提供一个静态方法getconn()用来得到数据库对象,所有访问数据库的操作,都必须通过此类得到一个连接,这样做可以很好的实现封装性和可维护性,当以后需要用别的数据库或者采用数据库连接时,只需要修改getconn()方法即可。下面给出服务器端数据库连接类barConnect类部分代码:服务器端数据库连接模块(barConnect)实现代码如下:public class barConnect public barConnect() try/加载数据库驱动

44、 Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); catch(ClassNotFoundException ee) public static Connection getconn() throws SQLException String url = jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=Admin; String username= sa; String password= sa; return DriverManager.getConnection

45、(url,username,password); public static void close(ResultSet rs) try rs.close(); catch(Exception ex) public static void close(Statement stmt) try stmt.close(); catch(Exception ex) public static void close(Connection conn) tryconn.close(); catch(Exception ex) /建立一个连接类对象private static barConnect dbconn

46、 = new barConnect();4 系统的设计和实现该模块实现验证用户登陆信息。系统验证输入不为空,通过数据库查询用户合法且输入密码正确,则允许用户进入系统开始上机,并将用户卡号通过变量传给主界面相关模块使用,将此刻用户登陆时间存入用户记录Pay表,以便用户结算使用,然后显示用户主界面,用户可以进行消费以及相关操作。该模块为客户端的密码修改和余额查询两个模块,主要实现代码(ClientLoginFrame.java,ClientLogin.java)如下:1. 客户端登录验证代码实现如下: Connection con=barConnect2.getconn(); loginQuery

47、=Select * from UserIn where UserID=? and UserPw=?; loginStmt=con.prepareStatement(loginQuery); useID=jTextField1.getText(); loginStmt.setString(1,useID); String usePW=; for(int i=0;ijPasswordField1.getPassword().length;i+) usePW+=jPasswordField1.getPassword()i; loginStmt.setString(2,usePW); rs=login

48、Stmt.executeQuery(); 2. 密码错误系统发出警告的实现:jTextField1.setText(卡号或密码错误);jPasswordField1.setText();3. 用户登陆成功后转入该页面,用户在该页面可以进行余额查询,密码修改,注销等操作。客户输入合法进入客户主界面的代码成功实现: ClientMainFrame cmm=new ClientMainFrame(useID); cmm.setSize(new Dimension(600,600); this.dispose(); Dimension screenSize=Toolkit.getDefaultTool

49、kit().getScreenSize(); Dimension frameSize=cmm.getSize(); cmm.setState(cmm.NORMAL); cmm.setLocation(screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2); cmm.show();4该模块实现用户对自己密码修改的功能,首先系统验证用户输入是否为空以及两次新密码输入是否一致,若通过验证,则修改成功,将该用户的新密码代替旧密码存入数据库。客户修改密码的代码实现/确定按钮事件 void jButton1_

50、actionPerformed(ActionEvent e) String s2=; String s3=;/获取新密码for (int i = 0; i jPasswordField2.getPassword().length; i+) s2+= jPasswordField2.getPassword()i;/确认新密码for (int i = 0; i jPasswordField3.getPassword().length; i+) s3+= jPasswordField3.getPassword()i;/判空if (s2= null | s2.length() = 0) &(s3= n

51、ull | s3.length() = 0) ) JOptionPane.showMessageDialog(this,密码不能为空,警告,JOptionPane.WARNING_MESSAGE);else if (!(s2.equals(s3) JOptionPane.showMessageDialog(this,新密码与确认密码输入不一致!,错误,JOptionPane.ERROR_MESSAGE); else try Connection conn=barConnect2.getconn(); Statement stt=conn.createStatement(); String st

52、r=update UserIn set UserPw=+s2; stt.executeUpdate(str); JOptionPane.showMessageDialog(this,密码修改成功,警告,JOptionPane.WARNING_MESSAGE); catch(SQLException ex) System.out.println(系统错误); 5. 根据用户登陆时传的用过来的用户卡号变量,在数据库中查询用户登陆时的上机时间,根据当前时间和费率来计算用户消费,利用用户原来余额减去上机消费得出当前余额,存入数据库。并在界面中显示相关信息。客户查看上机状态的代码实现 useID=ID;

53、 con=barConnect2.getconn(); jbInit();/获得上机时间与当前时间 try Connection conq=barConnect2.getconn(); Statement sttt=conq.createStatement(); String strq=select BeginTime from Pay where UserID=+useID; ResultSet rsq=sttt.executeQuery(strq); rsq.next(); String begin=rsq.getString(BeginTime); /时间格式化 jLabel9.setT

54、ext(begin); SimpleDateFormat HMFromat = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss); java.util.Date endtime = new java.util.Date(); String dispalyNowTime = HMFromat.format(endtime); /String begintime = HMFromat.format(begin); jLabel7.setText(dispalyNowTime);/获取当前时间并添加至 jLabel7 jLabel1.setFont(new java

55、.awt.Font(Dialog, 0, 20); jLabel1.setHorizontalAlignment(SwingConstants.CENTER); jLabel1.setText(欢迎光临SIAS网吧); jLabel1.setBounds(new Rectangle(-1, 1, 400, 47); this.getContentPane().setBackground(Color.orange); this.getContentPane().setLayout(null); jLabel2.setFont(new java.awt.Font(Dialog, 0, 15); j

56、Label2.setBorder(BorderFactory.createEtchedBorder(); jLabel2.setHorizontalAlignment(SwingConstants.CENTER); jLabel2.setText(卡号); jLabel2.setBounds(new Rectangle(37, 82, 75, 34); jLabel3.setBorder(BorderFactory.createEtchedBorder(); /jLabel3.setText(); jLabel3.setBounds(new Rectangle(183, 78, 198, 31

57、); jLabel4.setFont(new java.awt.Font(Dialog, 0, 15); jLabel4.setBorder(BorderFactory.createEtchedBorder(); jLabel4.setHorizontalAlignment(SwingConstants.CENTER); jLabel4.setText(余额); jLabel4.setBounds(new Rectangle(38, 253, 76, 28); jLabel5.setBorder(BorderFactory.createEtchedBorder(); jLabel5.setBo

58、unds(new Rectangle(188, 252, 199, 30); jLabel6.setFont(new java.awt.Font(Dialog, 0, 15); jLabel6.setBorder(BorderFactory.createEtchedBorder(); jLabel6.setHorizontalAlignment(SwingConstants.CENTER); jLabel6.setText(当前时间); jLabel6.setBounds(new Rectangle(37, 196, 77, 32); jLabel7.setBorder(BorderFacto

59、ry.createEtchedBorder(); / jLabel7.setText(); jLabel7.setBounds(new Rectangle(184, 194, 200, 31); jLabel8.setFont(new java.awt.Font(Dialog, 0, 15); jLabel8.setBorder(BorderFactory.createEtchedBorder(); jLabel8.setHorizontalAlignment(SwingConstants.CENTER); jLabel8.setText(上机时间); jLabel8.setBounds(new Rectangle(35, 140, 78, 34); jLabel9.setBorder(BorderFactory.createEtchedBorder(); / jLabel9.setText(); jLabe

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!