基于Java/Swing技术的KTV包间管理系统的设计与实现

Posted dejyyhg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Java/Swing技术的KTV包间管理系统的设计与实现相关的知识,希望对你有一定的参考价值。

获取项目源文件,技术交流与指导联系Q:1225467431

摘  要

 

KTV包房管理系统的设计必须考虑众多因素及其相互之间的关联,因此如何选择有效的设计模式是非常重要的。在本系统中,基于Java/Swing技术设计并实现了客户端。

它由模型-视图-控制器(MVC)模式设计而成。

本项目基于Java Swing的窗体布局技术进行软件的窗体布局。

KTV管理系统是一个功能强大的、可靠的、方便的平台处理KTV包房管理业务。

该系统不仅能提高KTV包房管理的工作效率,另一方面也为客人在预订时提供一种较为方便的渠道。

本系统主要功能:

1 管理系统:用于打开会员管理、包房管理、预定包房、查看营业额、员工管理的功能

2 包房管理:用于对各型包房的开包、续包管理

3 会员管理:用于对会员的管理,具有会员注册、会员删除、修改会员个人信息的功能

4 员工管理:用于对员工的管理,具有增加、删除、修改、查看功能。

5 查看营业额:用于按照季度或月份进行统计查看营业额。

6 预定包房:用于为顾客提前预定包房,做出统计,提前对包房进行安排。

 

 

 

 

关键词:管理系统;swingGUI


ABSTRACT

 

 

KTV rooms management system design must consider many factors and their mutual association, so how to choose effective design patterns is very important. In this system, and Java / Swing-based technology designed to achieve the client.

It consists of the Model - View - Controller (MVC) pattern designed.

This project is based on Java Swing form layout software, form layout.

This KTV Management System is a powerful, reliable and convenient platform to deal with KTV rooms management business.

The system can not only improve the efficiency of the management of KTV rooms, on the other hand, at the time of booking to provide a more convenient channel for the guests.

The system main functions:

(1) management system: for open membership management, private rooms, pre-rooms, to see the turnover, staff management functions

(2) private rooms Management: used to package various types of private rooms, continued the package management

(3) membership management: for the management of members, with member registration, member delete, modify the function of member personal information

(4) staff management: the management of staff, with an increase, delete, modify, view function.

(5) View Sales: statistics used in accordance with the quarter or month to view the turnover.

(6) pre-private room: for customers booked in advance the private dining room, make the statistics in advance of the VIP arrangements.

 

 

Key words: management system; swing; the GUI

 

 

目  录

 

第一章  KTV包房管理系统概述1

1.1 项目开发背景及现状 1

1.1.1 KTV在国内发展的背景 1

1.1.2 KTV在国内发展的现状 1

1.2 项目开发关键技术 1

1.2.1 Java简介 1

1.2.2 Swing技术简介 3

1.2.3 Swing技术优势 3

1.2.4 图形用户界面(GUI)技术简介 4

1.3 运行环境和开发工具 4

第二章  系统分析 5

2.1 可行性分析 5

2.1.1 技术上的可行性分析 5

2.1.2 操作上的可行性分析 5

2.1.3 硬件环境上的可行性分析 5

2.2 系统功能分析 5

2.3 系统功能结构分析 6

2.3.1 系统功能详细分析 7

第三章  系统设计 8

3.1 数据库详细设计 8

3.1.1 客房(house)表详细设计 8

3.1.2 营业额(consume)表详细设计 8

3.1.3 会员信息(memberinfo)详细设计 8

3.1.4 工作人员信息(workerinfo)详细设计 8

3.1.5 预订信息(bookinfo)详细设计 9

3.1.6 用户信息(userinfo)详细设计 9

3.2 系统功能模块 9

  第四章  主要功能实现 9

4.1 登录界面 10

4.1.1 功能描述 10

4.1.2 功能实现 10

4.1.3 界面截图 10

4.2 管理系统界面 10

4.2.1 功能描述 10

4.2.2 功能实现 10

4.2.3 界面截图 11

4.3 包房管理界面 11

4.3.1 功能描述 11

4.3.2 功能实现 12

4.3.3 界面截图 12

4.3.4 主要实现代码 12

4.4 会员管理界面 12

4.4.1 功能描述 12

4.4.2 功能实现 12

4.4.3 界面截图 12

4.4.4 主要实现代码 13

4.5 员工管理界面 15

4.5.1 功能描述 15

4.5.2 功能实现 15

4.5.3 界面截图 16

4.5.4 主要实现代码 16

4.6 查看营业额界面 18

4.6.1 功能描述 18

4.6.2 功能实现 18

4.6.3 界面截图 18

4.6.4 主要实现代码 18

4.7 预订界面 20

4.7.1 功能描述 20

4.7.2 功能实现 20

4.7.3 界面截图 20

4.7.4 主要实现代码 21

第五章 系统测试 23

5.1 软件测试原则和技术 23

5.2 测试实例 24

5.2.1 登陆安全性测试 24

5.2.2 宾客开单登记测试 24

5.3 系统的不足及进一步设想 24

5.4 测试环境 24

参考文献 25

 

 

 

 

第一章  KTV包房管理系统概述

 

1.1 项目开发背景及现状

1.1.1 KTV在国内发展的背景

量贩KTV源自日本,很快便经由台湾转入内地,凭借着高品质的服务、优良的硬件环境、灵活的价位经营、文明健康的新面貌,受到了社会各阶层消费者,特别是广大工薪阶层的欢迎。

历史回到19951月,台湾钱柜量贩KTV进驻内地--上海静安店,从此量贩KTV产业正式在中国内地萌芽。

业内人士分析,在我国经济高速发展的大背景下,KTV娱乐业在未来的35年仍将处于高速发展期。

量贩KTV是一个易于学习和模仿的行业。从装修、设备等硬件到服务模式、管理模式等软件都可被快速模仿。在业内,通常被效仿学习的运营模式有三种:钱柜模式、好乐迪模式和温莎模式。不难发现,这三家KTV都是连锁企业,且服务对象均为中高端人士。而模仿者不必全盘模仿,只要接收到部分内容就可以把一家KTV经营得非常好。之所以会出现这种情况,根源在于KTV市场空白大,入行门槛低。很多业内人士声称,只要有资金,随便一个人都可以进入并且在一两年内回收成本。

虽然诸多的量贩KTV仅凭借其装修设计和促销手段便能吸引一大批顾客,并且多半都能实现短期内回收资本的目的,但若想把KTV当作一项事业来做,并将其做大做强,却是极难的。到目前为止,KTV老大哥好乐迪在内地也才不过四十多家店,娱乐行业想要实现全国大范围连锁,还有很长一段路要走。

1.1.2 KTV在国内发展的现状

近两年,各KTV连锁品牌不约而同地采取扩张计划,随着企业的不断壮大,行业也正在迈入成熟阶段,部分一线城市已经出现行业整合。以南京为例,各大KTV连锁品牌相继入驻后,本地的散兵团支撑不住纷纷倒闭,有些老牌子也只能通过团购等方式勉强维持基本运营。在这种洗牌动作下,淘汰一批不擅长运营的商家的同时,也使量贩KTV真正地量贩了起来,店内商品价格不断降低,KTV越来越平民化。

使得专业的KTV包房管理软件应运而生。

1.2 项目开发关键技术

1.2.1 Java简介

它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

Java 编程语言的风格十分接近CC++语言。Java是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。

与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java C#语言。

1.1 

1.2 

1.2.1.1 Java语言是简单的

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方 面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集, 使得程序员不必为内存管理而担忧。

1.2.1.2 Java语言是一个面向对象的

Java语言提供类、接口和继承等原语,为 了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言 全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

1.2.1.3 Java语言是可移植的

这种可移植性来源于体系结构中立性。另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用 ANSI C实现的。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的 API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本 方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

1.2.2 Swing技术简介

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

图形用户接口( GUI )库最初的设计目的是让程序员构建一个通用的 GUI ,使其在所有的平台上都能够正常的显示。但是比较遗憾的是 AWT 产生的是在各系统看来都同样欠佳的图形用户接口, JAVA1.2 为老的 java1.0 AWT 添加了 java 基础类( JFC ),这是一个被称为 “Swing” 的 GUI 的一部分。 Swing 是第二代 GUI 开发工具集, AWT 采用了与特定平台相关的实现,而绝大部分 Swing 组件却不是。 Swing 是构筑在 AWT 上层的一组 GUI 组件的集合,为了保证可移植性,它完全用 Java 语言编写,与 AWT 相比, Swing 提供了更完整的组件,引入了许多新的特性和能力。 Swing 提供了更多的组件库,如: JTable JTree Jcombox Swing 也增强了 AWT 中组件的功能。正是因为 Swing 具备了如此多的优势所以我们以后在开发中都使用 Swing JComponent 类是 Swing 组件的基类,而 JComponent 继承自 Container 类,因此,所有的 Swing 组件都是 AWT 的容器。 Swing 采用了 MVC 设计模式。

1.2.3 Swing技术优势

Swing胜过AWT的主要优势在于MVC体系结构的普遍使用。在一个MVC用户界面中,存三个通讯对象:模型、视图和控件。模型是指定的逻辑表示法,视图是模型的可视化表示法,而控件则指定了如何处理用户输入。当模型发生改变时,它会通知所有依赖它的视图,视图使用控件指定其相应机制。

为了简化组件的设计工作,在Swing组件中视图和控件两部分合为一体。每个组件有一个相关的分离模型和它使用的界面(包括视图和控件)。比如,按钮JButton有一个存储其状态的分离模型 ButtonModel对象。组件的模型是自动设置的,例如一般都使用JButton 而不是使用ButtonModel 对象。另外,通过Model类的子类或通过实现适当的接口,可以为组件建立自己的模型。把数据模型与组件联系起来用setModel( )方法。

MVC是现有的编程语言中制作图形用户界面的一种通用的思想,其思路是把数据的内容本身和显示方式分离开,这样就使得数据的显示更加灵活多样。比如,某年级各个班级的学生人数是数据,则显示方式是多种多样的,可以采用柱状图显示,也可以采用饼图显示,也可以采用直接的数据输出。因此在设计的时候,就考虑把数据和显示方式分开,对于实现多种多样的显示是非常有帮助的。

可存取性支持

所有Swing组件都实现了Accessible接口,提供对可存取性的支持,使得辅助功能如屏幕阅读器能够十分方便的从Swing组件中得到信息。

支持键盘操作

Swing组件中,使用JComponent类的registerKeyboardAction()方法,能使用户通过键盘操作来替代鼠标驱动GUISwing组件的相应动作。有些类还为键盘操作提供了更便利的方法。

其实这就相当于热键,使得用户可以只用键盘进行操作。

设置边框

Swing组件可以设置一个和多个边框。Swing中提供了各式各样的边框供用户选用,也能建立组合边框或自己设计边框。一种空白边框可以增大组件,协助布局管理器对容器中的组件进行合理的布局。

使用图标(Icon

AWT的部件不同,许多Swing组件如按钮、标签,除了使用文字外,还可以使用图标修饰自己。

1.2.4 图形用户界面(GUI)技术简介

Java中创建最简单的图形窗口就是使用JOptionPane类中的方法,属于javax.swing包。

一个图形用户界面(GUI)包含一个含有按钮,文本区域,其他屏幕显示组件的窗口框架

JOptionPane类是一个简单的GUI类,它可以被用来显示信息和提示用户进行输入,支持图形 输入和输出。

最常见的图形组件有按钮(JButton对象),文本域(JTextField对象),以及文本标签(JLable对象)等。

1.3 运行环境和开发工具

1-1  运行环境和开发工具

开发环境

CPU

Inter (R) Pentium (R) Dual-Core CPU E5300 @ 2.60GHz  2.59GHz

内存

1016 MB RAM

适用分辨率

 

开发IDE

Eclipse

使用语言

Java

类库支持

 

数据库

Oracle 11g

三方插件

Java-Oracle-Connector-JDBC

 


  第二章  系统分析

2.1 可行性分析

可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

系统的可行性分析主要包括经济上的可行性,技术上的可行性和操作上的可行性,下面将分别介绍三种技术上的可行性:

2.1.1 技术上的可行性分析

酒店管理系统是采用Java语言编写的,具有Java的“一次编写,到处运行

”的优点,所以此系统在不同的操作系统上都可以运行,具有很强的移植性、健全性和安全性。并且酒店管理系统要求要求应具备功能完备、易于使用、易于维护等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。基于以上的要求,本系统采用Eclipse作为开发工具,使得代码编写的过程大大的简化。而数据库则是采用目前较为流行的Oracle 11gJavaOracle 11g具有很好的支持并且在经历了多年的发展Oracle 11g很好的口碑。此系统在技术上是可行的。

2.1.2 操作上的可行性分析

KTV管理系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户只需熟练操作计算机,和对此系统使用做简单的了解即可方便使用,而且使用此系统可以大大减少管理人员的负担。因此从使用操作方面看,此系统的开发是可行的。

2.1.3 硬件环境上的可行性分析

KTV管理系统对于前台电脑的硬件环境要求并不高,仅需Inter (R) Pentium (R) Dual-Core CPU E5300 @ 2.60GHz  2.59GHzCPU,1M的内存即可。对于一般的中小型KTV来说都是很小的成本支出。

因此此系统在经济上、技术上、操作上开发都是可行的。

2.2 系统功能分析

KTV管理系统是一个功能强大的、可靠的、方便的平台处理KTV包房管理业务。

该系统不仅能提高KTV包房管理的工作效率,另一方面也为客人在预订时提供一种较为方便的渠道。

本系统主要功能:

1 管理系统:用于打开会员管理、包房管理、预定包房、查看营业额、员工管理的功能

2 包房管理:用于对各型包房的开包、续包管理

3 会员管理:用于对会员的管理,具有会员注册、会员删除、修改会员个人信息的功能

4 员工管理:用于对员工的管理,具有增加、删除、修改、查看功能。

5 查看营业额:用于按照季度或月份进行统计查看营业额。

6 预定包房:用于为顾客提前预定包房,做出统计,提前对包房进行安排。

2.3 系统功能结构分析

 

2-1  系统功能结构分析(大堂经理权限)

 

2-1  系统功能结构分析(工作人员权限)

 

2.3.1 系统功能详细分析

2-1  系统功能详细分析

登陆界面

登陆

用于用户的登录

管理系统界面

所有功能的总菜单

用于打开会员管理、包房管理、预定包房、查看营业额、员工管理的功能界面

包房管理界面

管理包房

用于对各型包房的开包、续包管理

倒计时

用于记录正在使用包房距离结束的时间

会员增删改查界面

会员管理

用于对会员的管理,具有增加、删除、修改、查看功能

员工增删改查界面

员工管理

用于对员工的管理,具有增加、删除、修改、查看功能

查看营业额界面

营业额

用于按照季度或月份进行统计查看营业额

预定界面

预定包房

用于为顾客提前预定包房,做出统计,提前对包房进行安排

 
  第三章  系统设计

 

3.1 数据库详细设计

3.1.1 客房(house)表详细设计

3-1  客房(house)

编号

名称

类型

约束

说明

1

house_no

number(2)

主键

包房编号

2

house_size

varchar2(2)

非空

包房规模

3

house_open

Date

 

开包时间

4

house_over

Date

 

结束时间

5

house_use

number(1)

只能01

是否使用

6

house_price

number(2)

 

临时单价

7

house_mem

number(2)

 

会员单价

设置“客房”表:客房表主要为检测包房开启的状态而设置。用户可以通过程序,检测到客房是否开启,以进行“开包房”-“关包房”等操作。

本表中,“house_no”为自增长主键

3.1.2 营业额(consume)表详细设计

3-2  营业额(consume)

编号

名称

类型

约束

说明

1

consume_no

number(2)

主键

消费单编号

2

consume_over

Date

 

结束时间

3

consume_price

number(3,2)

 

消费金额

4

consume_meno

number(2)

 

会员编号

5

house_no

number(2)

房间编号

 

设置“营业额”表:营业额表主要为了记录包房开启后,记录产生的经济收入而设置。只有大堂经理用户,可以通过访问程序,观察营业额的变化。普通级别的用户是无法通过程序访问这张表的。这是一种保护公司机密的措施,防止窥探营业额。

本表中,“consume_no”为自增长主键。

 

3.1.3 会员信息(memberinfo)详细设计

3-3  会员信息(memberinfo)

编号

名称

类型

约束

说明

1

member_no

number(2)

主键

会员编号

2

member_score

number(4)

默认为0

会员积分

3

member_name

varchar2(4)

 

会员姓名

4

member_sex

varchar2(2)

‘男’或‘女’

会员性别

5

member_tel

number(11)

 

会员电话

设置“会员信息”表:会员信息表主要为了记录本KTV的会员信息而设立。会员是KTV消费的主要人群,记录会员信息,能更好的拓展会员在KTV的用户体验。

“开包房”的时候,如果出示会员卡,将卡上的会员编号输入开包房界面,在开包房结束时,会显示会员价格。如果会员编号与数据库中会员信息的编号不符合时,将仅显示普通价格。普通价格略高于会员价格。

会员信息可以被所有的管理员进行访问。在主界面上,可以选择增加新会员,修改老会员信息,删除冗余的会员信息,查看某一个会员的详细信息的操作。

本表中,“member _no”为自增长主键。

 

3.1.4 工作人员信息(workerinfo)详细设计

3-4  工作人员信息(workerinfo)

编号

名称

类型

约束

说明

1

worker_no

number(2)

主键

工作人员编号

2

worker_name

varchar2(4)

非空

员工姓名

3

worker_sex

varchar2(2)

‘男’或‘女’

员工性别

4

worker_kind

varchar2(8)

非空

工种

设置“工作人员信息”表:工作人员信息表主要为了记录在KTV工作的工作人员信息而设立。仅有“大堂经理”级别的用户,可以通过程序访问本表,来了解工作人员的工作状态。

若有新员工进入KTV工作,大堂经理可以进行新增加工作人员。也可修改工作人员信息,如有人事调整,比如某员工的工作种类变更,也可通过大堂经理级别的用户进行调整。若有人事变动,如某员工离职等,也可通过大堂经理级别的用户进行删除

3.1.5 预订信息(bookinfo)详细设计

3-5  预订信息(bookinfo)

编号

名称

类型

约束

说明

1

book_no

number(2)

主键

预订信息编号

2

book_time

Date

非空

预订时间

3

book_name

varchar2(4)

 

预订人姓名

4

book_tel

number(11)

 

预订人电话

 

3.1.6 用户信息(userinfo)详细设计

3-6  用户信息(userinfo)

编号

名称

类型

约束

说明

1

用户名

varchar2(15)

主键

用户名,主键

2

密码

varchar2(15)

非空

密码

3

用户身份

varchar2(12)

非空

用户身份信息

 

3.2 系统功能模块

备注:


  第四章  主要功能实现

 

4.1 登录界面

4.1.1 功能描述

用户可以根据用户名和密码登入系统。读取数据库数据,验证用户信息。成功登陆会进入管理系统界面。

4.1.2 功能实现

1.用户填写登录信息

2.经数据库读数据进行验证

3.信息无误,点击登录

4.进入管理系统界面

4.1.3 界面截图

 

4-1  登录界面截图

 

4.1 

4.2 管理系统界面

4.2.1 功能描述

此界面是本系统操作的主界面,各项功能全由此界面实现打开。此界面分为两个权限界面,可实现的功能不同。

系统管理界面主要分为两个部分:普通用户登录部分和超级用户登录部分。

普通用户登录时,界面的功能少,仅能管理会员以及开闭包房(如图)。这个权限是给予一般工作人员使用的。

超级用户登录时,界面功能多。与普通会员登录相比,还可以查看营业额以及进行员工管理。这个权限一般是给予经理使用的。可以方便的查询每一次的消费记录。

 

4.2.2 功能实现

1.浏览首行的菜单

2.选择需要应用的功能的菜单项

3.进入所需功能的界面

4.2.3 界面截图

 

4-2  超级用户管理界面截图

 

 

4-2  普通用户管理界面

4.3 包房管理界面

4.3.1 功能描述

用于对各型包房的开包、续包管理并查看。

每个包房的开启和关闭。

并在开启包房后,将消费金额写入营业额中。

方便超级用户的查询。

4.3.2 功能实现

  1. 查看包房的使用情况
  2. 点击未使用包房,进行开包的信息填入
  3. 点击已开包的包房,进行续包的信息填入
  4. 包房使用情况倒计时的显示

4.3.3 界面截图

 

4.3.4 主要实现代码

4.4 会员管理界面

4.4.1 功能描述

对会员的管理,具有增加、删除、修改、查看功能

4.4.2 功能实现

  1. 增加会员:填写会员信息姓名、性别、电话,会员积分为0,会员号自动生成
  2. 删除会员:根据会员的会员号删除该会员的基本信息
  3. 修改会员:根据会员的会员号修改该会员的基本信息
  4. 查看会员:根据会员的会员号查看该会员的基本信息

4.4.3 界面截图

 

4.4.4 主要实现代码

4.5 员工管理界面

4.5.1 功能描述

对员工的管理,具有增加、删除、修改、查看功能

4.5.2 功能实现

  1. 增加员工:填写员工的姓名、性别、工种,自动生成员工编号
  2. 删除员工:根据员工号删除该员工的基本信息
  3. 修改员工:根据员工号修改该员工的基本信息
  4. 查看员工:查看现有所有员工的基本信息

4.5.3 界面截图

 

4.5.4 主要实现代码

 

4.6 查看营业额界面

4.6.1 功能描述

根据季度或者月份进行营业额的查看

4.6.2 功能实现

4.6.3 界面截图

 

4.6.4 主要实现代码

4.1 

4.2 

4.3 

4.4 

4.5 

4.6 

4.7  预订界面

4.7 

4.7.1 功能描述

为顾客提前预定包房,做出统计,提前对包房进行安排

4.7.2 功能实现

1.通过电话或其他方式向KTV前台预定包房

2.由KTV前台工作人员填写预订信息(时间、姓名、电话、规模)

3.预定只保留预定时间之后15分钟,超过时间未到视为过期,不再给于保留

4.7.3 界面截图

 

4.7.4 主要实现代码


第五章 系统测试

 

5.1 软件测试原则和技术

系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。目前软件测试是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试的基本层次如图6.1所示。

 

5.1 测试的基本层次

 

1、 单元测试:单元测试的目的是保证每个模块作为一个单元能正确运行。单元测试的用例从单元详细设计中导出,在这个测试步骤中所发现的往往是编码和详细设计的错误。在单元测试中可以采用功能性测试和结构性测试两种。

2、集成测试:在这个测试步骤中所发现的往往是概要设计的错误。

3、系统测试:在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。

软件测试技术有黑盒测试技术和白盒测试技术。黑盒测试就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。本系统采用的是黑盒测试方法,主要是测试系统系统输入的数据是否正确的处理和系统的功能是否符合酒店管理的要求。

5.2 测试实例

5.2.1 登陆安全性测试

测试分两步,先输入错误的密码或者错误的账号,正确的验证码后登陆,如果不能登陆说明密码安全性测试成功。然后输入错误的验证码,正确的密码后登陆,如果不能登陆说明验证码安全性测试成功。

经过多次测试,登录系统一切正常。

测试结果:能够实现以上目标,系统安全性好,可以正常登录。

5.2.2 宾客开单登记测试

5.3 系统的不足及进一步设想

上述系统和模块的测试,虽然没有出现问题,但是这些可能出现的问题都只是些能够预知的问题。系统的不足除了在系统本身的功能还不是很全面,需要加强系统功能更加全面的设计。在许多方面的设计考虑的还不是很细致。例如客户预定的房间达到预定的时间不能自动的提醒;另外系统增加财务报表的输出功能才算得上是完善的KTV管理系统。希望能够在以后的设计中更加全面的考虑问题。为更多的中小型KTV提供更加便捷的管理。

5.4 测试环境

硬件:

PC机(奔腾2.4GHz CPU1G内存,独立显卡,160G硬盘)

软件:

操作系统:Windows XP/Windows 2000

数据库: Oracle 11g数据库

IDE工具: Eclipse 7.0

Java环境:JDK 1.6


参考文献

 

[1] [] Bruce Eckel. Thinking In Java英文第4[M].北京:机械工业出版社,2007

[2] 张海藩.软件工程导论.第三版[M].北京:清华大学出版社,1998.1.

[3] 陈春玲,李频,陈丹伟.软件工程与数据库概论[M].西安:西安电子科技大学出版社,2002

[4] 冯玉琳,赵保华.软件工程:方法·工具和实践方法[M].合肥:中国科学技术大学出版社,       1988.12.

[5] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,1991.4.

[6] Borland International, Inc..数据库应用程序开发指南[M].北京:石油工业出版社,1996.5.

[7] 杨昭编著.二级Java语言程序设计教程[M]. 北京:中国水利水电出版社,2006

[8] 王路群.Java高级程序设计[J].北京:中国水利水电出版社,2006

[9] 柳西玲.许斌编著.Java语言应用开发基础[M].北京:清华大学出版社,2006

[10] []Herbert Schidt.Java参考大全[M].鄢爱兰.鹿江春译.北京:清华大学出版社,2006

[11] 陈国君等编著.Java2程序设计基础[M].北京:清华大学出版社,2006

宛延闿等编著.实用Java程序设计教程[M].北京:机械工业出版社,2006

以上是关于基于Java/Swing技术的KTV包间管理系统的设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

Java实现注册登录系统——基于Java Swing实现

毕业设计 基于C#的KTV点歌管理系统毕设论文源码+论文+数据库+使用说明|寻找C站宝藏

适配器和外观模式

小型系统抽奖系统-使用Java Swing完成

抽奖系统-使用Java Swing完成

Java课程设计基于Java Swing 的图书管理系统