资源描述
摘要
随着信息时代的来临,internet和网络游戏的发展,大大小小的网吧已经遍及全国,无论是大中城市还是小城市甚至是很小的县城。但一直以来人们使用传统人工的方式管理网吧即工作人员人工记时,结算的方式来进行管理,这种管理方式存在着许多缺点,如:效率低、保密性差、容易出错,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
使用计算机对网吧收费,计帐,上机,查找管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
本文介绍了一种在JAVA平台下设计并实现智能卡网吧管理系统的全过程。通过分析比较流行的智能卡网吧管理系统的开发技术,结合网吧管理的一系列特点,java语言基础上使用Eclipse开发工具实现智能卡网吧管理系统的解决方案。
本文经过实际的需求分析,阐述了智能卡网吧管理系统支撑的相关技术,以及数据库设计,最后阐述系统的总体结构与系统的各个功能模块。
关键词:智能卡,JAVA平台,网吧管理
ABSTRACT
Along with the advent of information age and the continuous development of internet and online games, a lot of net bars have been distributed all over the whole country, not only distributed in the large cities but also in the small cities and even in the small counties. But people have always used the traditional methods to manage the net bars, which methods are that adopting the artificial remembering time way and the artificial settling accounts way to manage the net bars. Such management methods exist many shortcomings, such as low efficiency, poor security, easy to generate error, besides, after many years later will produce a large number of documents and date ,which will bring a lot of difficulties to find, update and maintain the date.
Use computer to manage net bars must be much more convenient than User the traditional methods to manage the net bars. Use computer to manage net bars is beyond compare which has a lot of advantages. Such as high efficiency, good security, low cost and so on.
This paper introduces all processes about design and implementation of the net bars smart card management system in the JAVA platform. By analyzing and comparing the popular net bars smart card management system development technology, combined net bars management System features, bringing forward achieving net bars smart card management system using of the Eclipse development tool on the basis of the java.
This paper is described the system analysis and design using the relevant technology and its features, and described the overall system structure and the function of the various system modules
Keywords: smart card,JAVA platform,net bars manage
目录
摘要 I
ABSTRACT II
第1章 绪论 1
1.1 智能卡网吧管理系统 1
1.1.1 智能卡网吧管理的概念及特点 1
1.1.2 国内网吧管理的现状 2
1.2 课题的背景及意义 3
1.3 系统简介 3
1.4 课题的主要工作及论文的组织 3
第2章 系统相关技术 4
2.1 JAVA语言的特点 4
2.2 SWT/JFace简介 4
2.2.1 SWT/JFace的特点 4
2.2.2 SWT/JFace的优缺点 5
2.3 Socket简介 5
2.4 URL与URLConnection 6
2.5 java链表的实现 7
2.6 C/S结构概述 7
2.7 本章小结 9
第3章 系统分析 10
3.1 系统分析概述 10
3.2 系统主要功能 10
3.3 数据流图 12
3.4 数据字典 13
3.5 本章小结 14
第4章 数据库设计 15
4.1 数据库设计原则 15
4.2 概念结构设计 15
4.3 逻辑结构设计 17
4.4 本章小结 19
第5章 系统实现 ..20
5.1 插件的导入 20
5.2 配置数据库 20
5.3 界面的实现 20
5.3.1 Java VE实现系统服务端主界面 20
5.3.2 Java VE实现系统客户端主界面 22
5.4 具体功能的实现 22
5.4.1 卡片管理模块 22
5.4.2 系统管理模块 26
5.4.3 服务端聊天管理模块 29
5.4.4 客户端聊天服务模块 31
5.4.5 系统其它功能模块 33
5.5 本章小结 37
第6章 结论 38
致谢 39
参考文献 40
40
- -
第1章 绪论
1.1 智能卡网吧管理系统
1.1.1 智能卡网吧管理的概念及特点
智能卡网吧管理系统,可以应用于网吧、学校、政府机关、税务、银行等领域的机房计费管理,使管理方便、快捷而取得更好的经济效益。目前,智能卡网吧管理系统主要有三种类型:主要是硬件网吧管理系统、软件网吧管理系统、硬件及软件相结合的网吧管理系统。这里主要是介绍硬件与软件相结合的智能卡网吧计费管理系统。根据网吧经营的性质,作为网吧老板,可能常遇到以下问题:例如1、手工记录时间劳动强度大而计费方式不灵活。2、顾客上完后便走,无法把握回头客。3、老板经常不在网吧,对雇员缺乏财务监控4、管理烦琐而增加人员,成本相应增加。5、老顾客应打折而不方便查询 6、每个工作人员均感繁忙而没有经济效益7、怎样均匀顾客来源,提高上机率?8、怎样树立网吧形象而有更多的回头客等等问题。 怎样更好管理网吧经营呢?使用高效率的智能卡网吧管理系统可使管理规范化、标准化、效益化。
灵活的计费方式是强化经营、吸引顾客的最好手段。智能卡网吧计费管理系统,有着很好的开放性和适应性,允许用户对不同电脑(如贵宾房电脑),不同卡型、不同的时段,定义不同的费率。允许网吧业主根据情况设定优惠条件,如金卡、银卡、普通卡、计时卡等。通过发行不同的卡型,可以满足网吧各种不同的销售推广计划和销售方案。我认为智能卡网吧管理系统的软件是为管理服务的,是为提高网吧的效益服务的。
待业主只需点击服务器端菜单,即可了解到每时、每刻、每天、每月等不同时间段的的上机情况、盈利额及销售报表等情况,查询方便快捷,提高经济效益。
智能卡网吧计费管理系统往往由服务端软件和客户端软件组成。服务端软件负责发行卡片、充值加钱、注销卡片、卡片挂失、费率管理等工作;客户端软件负责联系网吧管理人员等工作。
正如前面所述,提高管理效率、管理安全有效、提升网吧档次等等都是智能卡网吧管理系统较传统网吧管理的优点。
1.1.2 国内网吧管理的现状
目前在中国,网民数量大大超过上网计算机的数量,相当大的一部分网民是在网吧上网,所以在各个城市都有大量的网吧存在。像深圳市的网吧就有600O多家,而全国就可想而知了。北京网吧失火事件后,在全国范围内加大了对网吧管理的力度,对所有注册的网吧,全国正在进行整顿、检查。对所有无证的网吧, 也正在进行清理。对于公安部门和文化部门也确实需要一套完整的网吧管理系统来监控网吧的运行。上网实名制也正在开始在各城市推广。
对于网吧管理,由于上网人员较多,负责收款的人也往往不是老板本人,如何对收费进行管理,减少上机不付费的现象及收银员吞没上网款的现象,实时远程监测网吧的运营情况,也是摆在各个网吧老板面前的一个问题。
使用了该系统, 通过发卡,网吧能够获得大量的忠实用户,网民也可以从网吧得到打折等实惠。
因此,从网吧老板、网民到公安、文化部门对本系统都将持欢迎态度,我国经过几年的整顿和发展取得了长足的进步,网吧管理系统已经广泛的应用到学校、政府机关、银行等各个领域的机房管理中。
在未来的几十年中,网吧管理系统的应用研究将继续前所未有的速度发展。这一方面是网吧发展的需要,随着网吧规模不断的发展壮大,网民的不断增加,网吧的管理、网民与网吧管理员之间的协调等问题也越来越突出,这也就客观促使了网吧管理系统技术的发展;另一方面随着全球经济一体化进程的加速,网吧与网吧之间的交流与合作也越来越密切,Internet、电子商务蓬勃发展客观上也要求有功能更为全面的网吧管理产品的出现。展望下一代的网吧管理系统应具备如下特点:
1.完成从 C/S 模式向 B/S 模式的转换;
2.维护网吧的大量数据应该更加简单方便;
3.需要支持电子商务;
4.系统更有安全性、实用性、先进性和经济性;
1.2 课题的背景及意义
智能卡网吧管理系统是用计算机软件系统管理网吧日常经营的一种计算机应用技术的创新,它的内容对于网吧的老板和管理者来说都至关重要,所以网吧管理系统应该能够为管理者和上机人员提供方便的管理和上机。使用计算机对网吧收费,计帐,上机,查找管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高网吧管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件
1.3 系统简介
此网吧管理系统后台数据库使用MYSQL。可以实现卡片发行,卡片注销,卡片挂失,卡片充值等基本功能,此外网吧管理员还能对网吧收费信息以及网吧经营的商品信息进行管理。采用了JAVA,Socket套接字等技术实现。
开发工具使用了当前流行的Eclipse,其中加上了VE插件。
1.4 课题的主要工作及论文的组织
本文共分为五章:
第 1 章主要阐述了智能卡网吧管理的概念、特点、国内外的发展状况,介绍了本课题的来源、背景及主要研究内容。
第 2 章主要阐述了智能卡管理系统支撑的相关技术。
第 3 章对网吧管理系统进行了分析。
第 4 章论述了网吧管理系统的数据库设计。
第 5 章论述了只能卡网吧管理系统的具体实现。
第 6 章是结束语。
第2章 系统相关技术
2.1 JAVA语言的特点
Java是面向对象的编程语言。面向对象技术较好的解决了当今软件开发过程中新出现的种种传统面向过程语言所不能处理的问题,包括软件开发的规模扩大,升级加快,维护量增大以及开发分工日趋细化、专业化和标准化等[1]。面向对象的核心是以更接近于人类思维的方式建立计算机模型,它利用类和对象的机制将数据与其上的操作封装在一起,通过统一的接口与外界交互,使反映现实世界实体的各个类在程序中能够独立、自治和继承。
Java包括一个支持HTTP(超文本传输协议)和FTP(文件传输协议)等基于TCP/IP的子库[1]。因此Java应用程序可凭借URL(统一资源定位符)打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。其分布环境是一项很宏大的工程,但Java语言的语法特性可以很容易的实现这一目标。
Java语言独特的运行机制使得它具有良好的二进制可移植性,利用Java,开发人员可编写出与具体平台无关,普遍适用的应用程序,大大降低了开发、维护和管理的开销,也就是一次编译,随处运行,方便存取数据库的JDB API,CORBA、JND1、RM1技术以及能够在Internet应用中保护数据的安全模式等功能,为用户和开发人员提供一个具有高度的可移植性、兼容性和安全性的平台。
Java语言还具有动态性的特点,它的动态性是面向对象设计方法的扩展,它允许程序动态的装入运行过程中所需要的类。
2.2 SWT/JFace简介
2.2.1 SWT/JFace的特点
Eclipse不仅提供了一个优秀的Java IDE(集成开发环境),还提供了一个能够替代Java AWT和Swing的SWT和JFace库。Java AWT实现了有关GUI元素和图形操作的Java和C库,Swing则使用纯Java语言在此基础上实现更高级的GUI元素。相比较而言,SWT简化了各种针对本地窗口系统函数的调用方式。由于操作系统紧密集成,采用SWT实现的应用程序的感官效果及响应方式同本地程序几乎一样。对于Java而言,这是子桌面应用领域的一个突破。
SWT是eclipse.org提供的开发平台Eclipse中使用的一个窗口控件集和图形库,它集成于本机窗口系统,但有独立于操作系统窗口的API[3]。同SWT相比,JFace库中的组件不会直接与本地窗口系统打交道。JFace完全采用Java实现,并采用SWT中的类和方法,实现一些简单的GUI元素。
无疑,SWT/JFace像一股清新的风吹入Java的GUI开发领域,为这个沉闷的领域带来了勃勃生机。虽然SUN不接纳SWT/JFace作为Java的一种图形API标准,但它仍然借着Eclipse的优异表现,以不可阻挡之势向前发展着。借助SWT,可以轻松的开发出高效率的GUI程序,并且拥有标准的Windows外观。Eclipse软件就是基于SWT/JFace构建的。
2.2.2 SWT/JFace的优缺点
SWT的先进之处在于它能够将基于SWT开发的紧密集成到所在的环境中去,普通用户不会觉察出基于SWT的用户界面和本地用户界面有什么不同之处[3]。比如在Windows 2000 中,SWT的按钮看起来就像Windows 2000 中的按钮。在Windows XP 中就像 Windows XP 中的按钮。当转到Mac操作系统中时,按钮又与Mac操作系统中的一样了。如果使用Swing 则按钮始终保持一种样式。SWT采用了本地事件处理机制,所以从响应时间上来说,基于SWT开发的程序比基于Swing开发的程序稍微快一些,并且需要的资源要少一些。同时由于大部分基于SWT的小部件仅仅是本地窗口的适配器,所以在诸多异构的部件和各种图形子系统加速设备下,SWT可能更稳定。但是使用SWT也有它的局限性。
(1)基于SWT的应用程序只能在实现了SWT的平台上运行。
(2)一般来说,各种SWT的实现是等同的。但对于某些功能来说,GUI元素的行为可能因平台的不同而不同。因此一个软件在多个平台上进行部署的时候,最好是在各个平台上都能够测试。
(3)同AWT相比,SWT显示的进行资源管理,SWT中使用的资源,如图片、颜色等,不再需要时,必须进行释放。在这一点上,SWT有类似C/C++里面的资源动态分配方式。
2.3 Socket简介
套接字(Socket)是网络通信的基本操作单元,又被称作端口,通常用来实现客户方和服务器方的连接。网络上的两个程序通过一个双向的通信连接实现数据的交换,在实现双向通信链路的每一端都建立一个Socket,通过对Socket的读/写操作实现网络通信功能。套接字是网络通信的一个标准,它就像房中的电源插座,无论是电灯还是电脑等电器,它们只要使用220V 50Hz 的交流电压,插在电源插座上就能正常工作[4]。
套接字可以分为以下三种类型:
(1)流套接字
这是最常用的套接字类型,TCP/IP协议中的TCP协议使用此类接口,它提供面向连接的、无差错的、发送先后顺序一致的、包长度不限和非重复的网络信包传输。
(2)数据报套接字
TCP/IP协议族中的UDP协议使用此类接口,它是无连接的服务,以独立的信包进行网络传输,信包最大长度为32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个报文传输或可靠性不重复的场合。
(3)原始数据报套接字
提供对网络通信下层通信协议(如IP协议)的直接访问,它一般不是提供给普通用户的,主要用于开发新的协议或用于提取协议较隐蔽的功能。
所有Socket通信程序的基本结构都是一样的,主要有创建Socket、打开连接到Socket的输入流和输出流、按照一定的协议对Socket进行读写操作、关闭Socket这四个步骤,通过这四个步骤可以完成一般的Socket通信[4]。为了完成Socket通信,包中提供了Socket和ServerSocket这两个类,它们分别用来表示双向连接的客户端和服务端。
2.4 URL与URLConnection
URL的全称是Uniform Resource Locator,意思是统一资源定位器,表示的Internet上某一资源的地址,通过URL可以访问Internet上主机所开放的资源。URL由协议名和资源名组成,中间用“:”分隔。协议名指定获取资源所使用的传输协议,比如:ftp、http等。而资源名则是资源的完整地址,包括主机名、端口号、文件名或者文件内部的一个引用。
URLConnection是一个抽象类,代表与URL指定数据源的动态连接,URLConnection类提供比URL类更强的服务器交互控制。如果你建立了与远程服务器之间的连接,你可以在传输它到本地之前URLConnection来检查远程对象的属性。这些属性为HTTP协议的规范定义,并且仅对用HTTP的协议的URL对象有意义。同时,它还允许用POST或PUT和其他HTTP请求方法将数据送回服务器。在包中只有抽象的URLConnection类,其中的许多方法和字段与单个构造函数一样是受保护的,这些方法只可以被URLConnection类及其子类访问。
2.5 java链表的实现
线型表的链式存储结构是把线型表的数据元素存放在节点中,因此,用链式存储结构实现的线性表称为链表。节点(node)由数据元素域和一个或若干个指针域组成。指针是用来指向其他节点地址的,指向链表第一个节点的指针成为链表的头指针,一个链表由头指针指向第一个节点,每个节点的链指向其后继节点,其中一个节点的链为空(null)。在C或C++里链表可以通过指针的操作来实现,在Java中是没有指针的,但是可以通过使用对象的引用等方法实现链表。链表的节点个数称为链表的长度,长度为零时称为空表。
链表可以根据链的个数可以分为单向链表和双向链表,本文只讨论单向链表,一个单向链表包含一组节点,每个节点都包含了有关数据和指向下一个节点的指针。表的头就是一个指针,它指向第一个节点,而表的结束则用空指针表示。
2.6 C/S结构概述
C/S结构(Client/Server结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如ORACLE、SYBASE、InfORMix或 SQL Server。客户端需要安装专用的客户端软件。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。如本文介绍的智能卡网吧管理系统软件就是典型的C/S体系结构管理软件。
一、C/S结构的优点和缺点
C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。
缺点主要有以下几个:只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
二、C/S架构软件的优势与劣势
(1)、应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)、数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)、C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
2.7 本章小结
本章主要介绍了系统使用到的相关技术,包括JAVA平台和JAVA语言特点的介绍、SWT/JFace技术的特点以及它的优缺点的罗列、URL与URLConnection(统一资源定位器)的相关介绍、Java链表的整个实现过程、三种Socket套接字技术的简介,以及C/S结构的一些基本介绍。
第3章 系统分析
3.1 系统分析概述
采用自顶向下的结构化分析方法分析和表达用户需求的方法:
图3-1 需求分析图
用结构化的方法做需求分析,可以将任何一个系统可以抽象成如下图的形式:
图3-2系统抽象图
将处理功能分解成若干个子功能,再将各个子功能继续分解,直到把整个系统工作流程表达清楚为止。
3.2 系统主要功能
本系统主要功能涉及到如下部分:
卡片管理、系统设置,聊天服务管理,另外还有管理员对网吧进行上下机管理和网吧经营情况的管理。
以下是本系统的模块图:
图3-3 系统模块图
1.卡片管理功能
包括卡片发行、卡片充值、卡片注销、卡片挂失等模块。客户可以用卡片进行网吧上网消费,卡片有三种类型, 即普通卡、银卡、金卡和计时卡。每种卡片可以拥有不同的优惠方式, 例如普通卡可以不打折,银卡和金卡都可以进行打折。上网顾客在卡中储存一定数量的金额,每次上机费用从中扣除。待卡中金额用完时可以向卡中加存,继续使用。如卡片遗失就可去该网吧进行挂失。客户若不需要该网吧计费卡也可注销,拿回卡片内剩余的金额。
2.系统设置功能
系统管理是网吧管理员才具有的功能,即网吧的费率设置,智能卡计费管理系统的各项功能都是根据经营中的实际作经验及长期发展策略而提炼而成,比如为了支持网吧优惠政策,提供灵活机动的费率设置功能,让网吧管理系统真正成为网吧的管家,而不是碍手碍脚的障碍。包括网吧不同卡片不同时间段的收费设置和网吧所售商品的进售价设置,通过这两个设置可以根据当时的需求对价格进行管理。
3.聊天服务管理功能
聊天程序分为服务器端和客户端两个部分,服务器端的功能为:在特定的端口上进行侦听,等待客户端连接;客户可以配置服务端的侦听端口,默认端口为8888;向已经连接到服务端的客户发送系统消息;统计在线人数;当停止服务时断开所有的用户连接。客户端的功能为:连接到已经开启聊天服务的服务端;客户可以配置要连接服务器端的IP地址与端口号;用户可以配置连接后显示的客户名;当服务器开启的话,用户可以随时登陆和注销;用户可以向网吧管理员发送消息,提出需要解决的问题或者要求。
4.上下机情况功能
这一功能主要是管理网吧客户的上下机,客户一上机即可以对其进行计费,在上机的过程中客户可以发送消息给管理员,要求购买什么商品和购买商品的数量,网吧管理员即可对其卡片进行相应的扣费。若客户要下机了,就可以进行结帐退出。
5.网吧经营情况功能
这一功能主要是显示网吧过去到现在的营业情况,网吧产生的经济效益对网吧管理员和老板来说可以一目了然,
在这一模块中还可以根据年月来显示网吧的经营记录,通过选择需要显示的年份或者月份从而显示相关的一系列记录,方便统计比较分析,提高经济效益。
6.退出系统功能
只要点击退出按钮,就会出现提示对话框“确定要退出吗?”,点击“是”即可退出系统。
3.3 数据流图
数据流图是用来描述数据处理的过程,不反映时间的顺序,只反映数据的流向、自然的逻辑过程和必要的逻辑数据存储,即表示“做什么”,而不表示“怎么做”
我毕业设计的流图大体如下所示:
卡片管理
网吧客户
系统管理
聊天服务管理
网吧经营情况管理
网管
修改各种费率信息
数据库
联系网管
操作
操
作
联系
交换
数
据
图3-4 系统数据流图
3.4 数据字典
数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。本系统中的部分的数据字典如下:
数据项
数 据 项:卡片ID
含义说明:唯一的表示一张卡片
类 型:整型
长 度:11
取值含义:用户自定义
数据项
数 据 项:卡片类型
含义说明:唯一的表示一种卡的类型
类 型:字符型
长 度:10
数据结构
数据结构:卡片信息
含义说明:记录卡片的所有信息。
组 成:卡片ID、卡片类型、持卡人姓名、持卡人身份证号、卡内金额、卡片押金、卡内赠送金额
数据结构
数据结构:卡片费率信息表
含义说明:记录各类卡片上网消费的收费信息。
组 成:卡片类型、最低收费、最小收费单位、每单位收费、通宵计费单位、通宵每单位计费
数据存储
数据存储:上下机情况信息
说 明:记录客户上下机情况信息
存取方式:随即存取
处理过程
处理过程:上下机
说 明:客户上下机
输 入:客户上下机信息
输 出:客户下机信息
处 理:保存上下机信息到数据库
3.5 本章小结
本章主要概述了系统的各个功能模块,包括系统设置功能、卡片管理功能、聊天服务管理功能、退出系统功能、网吧经营情况功能、上下机情况功能。也分别介绍了各个功能模块的相应的功能;画出了系统的数据流图,写出了部分数据字典。为系统设计和实现的展开打好了基础。
第4章 数据库设计
数据库设计的目标是要求完全满足业务的数据存储要求。如果能够设计一个合理的数据库模型,不仅会降低程序编程和维护的难度,也会提高系统实际运行的性能,因而必须仔细的制定设计步骤方案,了解规范的设计方法和必要的规则。
4.1 数据库设计原则
一个成功的管理系统,是由:[50%的业务 + 50%的软件]所组成,而50%的成功的软件又有[25%的数据库+25%的程序]所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所需的血液,那么数据库设计就是应用中最重要的一部分。
对于智能卡网吧管理系统来说,拥有大量的上网人员需要强有力的数据库支撑,但是对于本系统来说,由于不会在实际环境中运行,所以数据库的使用可以选择容易使用,并且易于维护的、容易获取的数据库作为后台存放网吧相关信息等的数据库最终选择了MYSQL作为后台支持数据库。
4.2 概念结构设计
E-R模型和关系模型是两种对数据库不同的描述,在E-R模型中用实体集和联系表示现实世界中的事物及其相互之间的关系;而在关系模型中则用单一的结构来组织数据。所以,在这里就存在一个如何将E-R模型转化为关系模型的问题。下面介绍转化所需要遵守的几条准则:
★ E-R模型中的每一个实体都转化成一个同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。
★ E-R模型中的每一个联系也用一个关系表示,与该联系相连的各实体集的码以及联系的属性转化为关系的属性。该关系的码有三种情况:
● 若联系为1:1,则每个实体的码均是该关系的候选码。
● 若联系为1:n,则关系的码为n端实体集的码。
● 若联系为m:n,则关系的码为各实体集码的组合。
★ 具有相同码的关系模式可以合并(合并原则)。
在这里我们将要设计的是数据库的概念模式。根据对数据流图和数据字典的分析,我们可以确定该应用中的实体、属性和实体之间的关系,并画出表E-R图:
卡片
N
N
消费
设置
M
1
费率
账单
N
分析统 计
M
总营业额
图4-1实体及其联系图
cardsend
identifyPNum
um
name
cachPledge
inMoney
cardType
cardId
图4-2 卡片实体及其属性图
fees
nightunitfees
nightfeesunit
unitfees
time
cardType
lowest
图4-3 费率实体及其属性图
total
cardType
totalMoney
buyMoney
playMoney
time
图4-4 经营汇总实体及其属性图
updowncomputer
moneyIncard
computerId
computerAdress
playMoney
buyMoney
totalMoney
cardType
time
图4-5 上下机实体及其属性图
goods
buyingPrice
quntity
goodsType
sellingPrice
goodsName
unit
图4-6商品实体及其属性图
4.3 逻辑结构设计
设计逻辑结构的是和分三步进行:
1. 将概念结构(E-R图)转化为一般关系模型
2. 将转化来的关系模型向MYSQL支持下的数据模型转化
3. 对数据模型进行优化,消除冗余字段。对数据依赖进行极小化处理。
对关系模式进行必要的分解合并和优化,形成以下的逻辑结构
表4-1 cardsend信息表
字段
数据类型
大小
允许空/主键
描述
cardId
int
11
NO/主键
卡片id
cardType
varchar
20
NO
卡片类型
cachPledge
float
8
NO
卡片押金
inMoney
float
8
NO
卡内金额
givePresent
float
8
NO
卡内赠送金额
name
varchar
20
NO
持卡人姓名
identifyPNum
varchar
45
NO
持卡人身份证
表4-2 卡片fees信息表
字段
数据类型
大小
允许空/主键
描述
cardtype
varchar
10
NO/主键
卡片类型
lowest
float
8
NO
最低收费
time
int
11
NO
最小收费单位
unitfees
float
8
NO
每单位收费
nightfeesunit
int
11
NO
通宵计费单位
nightunitfees
float
8
NO
通宵每单位计费
表4-3 goods信息表
字段
数据类型
大小
允许空/主键
描述
goodsId
int
11
NO/主键
商品id
goodsType
varchar
10
NO
商品类型
goodsName
varchar
20
NO
商品名称
goodsUnit
varchar
10
NO
商品单位
goodsQuantity
int
11
NO
商品数量
sellingPrice
float
8
NO
进价
buyingPrice
float
8
NO
售价
表4-4 total汇总表
字段
数据类型
大小
允许空/主键
描述
time
varchar
20
NO/主键
经营时间
playMoney
展开阅读全文