KTV管理系统论文.docx

上传人:b****4 文档编号:4411831 上传时间:2022-12-01 格式:DOCX 页数:27 大小:297.09KB
下载 相关 举报
KTV管理系统论文.docx_第1页
第1页 / 共27页
KTV管理系统论文.docx_第2页
第2页 / 共27页
KTV管理系统论文.docx_第3页
第3页 / 共27页
KTV管理系统论文.docx_第4页
第4页 / 共27页
KTV管理系统论文.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

KTV管理系统论文.docx

《KTV管理系统论文.docx》由会员分享,可在线阅读,更多相关《KTV管理系统论文.docx(27页珍藏版)》请在冰豆网上搜索。

KTV管理系统论文.docx

KTV管理系统论文

****

毕业论文(设计)

KTV管理系统

KTVmanagementsystem

摘要

随着社会的发展,人类的进步,21世纪人们的生活的水平有所提高,为了满足人们对生活的需要,丰富业余生活,娱乐KTV等行业蓬勃发展,在数字化的今天,我们已经离不开计算机,为了加强对包厢和点歌的管理,我们必须使用计算机来对大量的歌曲以及对包厢进行处理,使KTV管理员对歌曲点播和分配包厢等操作的管理更加有序、到位,基于上述种种原因,开发一套KTV管理系统迫在眉捷,我们结合本次毕业设计开发以下的KTV管理系统方案。

关键词:

KTV;管理;点歌

Abstract

Withthedevelopmentofsociety,theprogressofmankind,the21stcentury,thepeoplelifelevelimproved,inordertomeettheneedsofpeople'slife,richamateurlife,KTVentertainmentindustriestoflourish,indigitaltoday,wecannotdowithoutthecomputer,inordertostrengthentheboxandthesongmanagement,wemustusethecomputertoalotofsongsaswellastoboxprocessing,makeKTVmanagertosongsondemandanddistributionboxandoperationmanagementmoreorderlyandreachthedesignatedposition,basedontheabovereasons,thedevelopmentofasetofKTVmanagementsystemalooming,wecombinedthegraduationdesignanddevelopmentthefollowingKTVmanagementsystemsolutions.

Keywords:

KTV,Management;Thesong

3.2存储过程设计(11)

4.2包厢管理模块(16)

4.3顾客消费管理模块(17)

4.4点歌模块(19)

参考文献(28)

1引言

1.1项目开发背景

随着人们生活水平的提高,人们的业余生活也发生了巨大变化,为了满足人们对生活的需要,丰富业余生活,娱乐KTV等行业蓬勃发展。

近些年来,人们的业余生活变得越来越丰富多彩,去练歌房练歌,成为人们在生活之余的主要休闲方式。

传统的卡拉OK一直用关盘来喂顾客播放歌曲,由于光盘存放歌曲数量有限,很多时候,顾客都找不到自己想唱的歌,并且用光盘播放歌曲不方便。

在数字化的今天,我们已经离不开计算机,为了加强对包厢和点歌的管理,我们必须使用计算机来对大量的歌曲以及对包厢进行处理,使KTV管理员对歌曲点播和分配包厢等操作的管理更加有序、到位。

系统采用先进开发工具,通过本系统,顾客可通过多种方式点播自己喜爱的歌曲,管理员可向系统中添加、修改和删除歌曲信息。

基于上述种种原因,开发一套KTV管理系统迫在眉捷,,基于这些优点,在本次毕业设计之际,我作为一名计算机专业的毕业生,着手开发以下的KTV管理系统方案[1]。

1.2项目提出的意义

“KTV管理系统”是娱乐场所点歌为适应标准化、快捷化的需要而发展起来的。

它是光盘播放的一种发展与革新,它是计算机应用于娱乐产业的成果。

2项目分析设计

2.1需求分析

从顾客使用点歌系统的角度挖掘需求,点歌系统应当具备多种途径的歌曲查询点播功能,普通点歌系统一般会提供一个纸质的歌单,通常其上的曲目按歌名的首字母进行排序并对每个曲目设定有一个特定的编号,也有部分点歌系统以歌名的字数进行排序,顾客在查找到相应的曲目之后再通过遥控器输入该曲目的编号完成点歌功能。

而本系统追求的是全电子化的系统,因此对曲目的查询要求采用无纸化的操作,通过输入即可查询所有曲目,并且需要提供更为丰富的查询方式。

基于方便性与习惯,首先本系统应当提供传统点歌系统的查询方式,即以歌曲名首字母为依据的查询方式和以歌曲名字数多少为依据的查询方式,此外,需要增加以歌手名为依据的查询方式和以歌曲语种为依据的查询方式。

事实上,这些查询方式并没有什么奇特的地方,但是因为可以让不同的顾客选择自己习惯与适应的查询方式,它必将会让用户在消费时感觉更愉快些。

从经营者使用点歌系统的角度挖掘需求,点歌系统应当具备基本的按消费时间计算的计费功能。

此外,点歌系统还应当可以方便地增加新的曲目,也应提供对现有曲目的修改、删除功能,并且,对曲目的管理应当是各包房统一的,而不是必须一个一个包房地进行设置与操作。

另外,因为曲目的管理会影响到整个系统提供的服务,所以这些管理功能应当只能由具有相应权限的管理人员完成,因此,点歌系统中还应提供相应管理人员管理功能及权限控制功能

2.2可行性分析

也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、操作等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

该系统的可行性分析包括以下几个方面的内容。

1 .技术可行性:

开发此KTV管理系统需要的硬件环境要求不高,操作系统为windows2000以上系列即可,系统的开发软件为ecliose,数据库管理系统为SQL2000。

除专业技术人员外,普通操作人员无需掌握ecliose及SQL的使用,易于学习和使用。

因此从技术方面讲开发此KTV管理系统是可行的[2]。

2.经济可行性分析

本KTV管理系统主要面向娱乐场所的,所需的硬件和软件环境均不高,所需的专业技术人员也不多,大部分人员在系统的演示完毕之后就可以亲自操作了,并且可以利用娱乐场所已有的工具,所以开发此系统成本低、经济效益高、实用性高,因此从经济方面讲开发此KTV管理系统是可行的[3]。

3.操作可行性分析

根据现有的技术设备条件和准备充实的技术力量和设备,系统在技术上的实现是可行的。

在设备方面,计算机内存容量、外存容量输入输出设备等都可在原有的基础上满足需要[4]。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。

因此系统的开发是完全可行的[5]。

2.3系统开发所用的技术准备

2.3.1JDK简介

JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。

JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库[6]。

JDK是学好Java的第一步。

而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。

从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高[7]。

2.3.2Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)[8]。

2.3.3sqlserver2000

SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。

SQL语言的主要功能就是同各种数据库建立联系,进行沟通。

按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。

SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。

目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。

2.4系统整体框架和模块功能说明

图2-2系统整体框架图

1.用户登录模块

前台身份登录:

可查询和分配包厢信息、赋予顾客查询权限;不可添加、修改、删除

服务员身份登录:

开启点歌系统,让顾客进行点歌;

管理员身份登录:

可进行包厢、歌手和歌曲的添加、修改、查询、删除信息;

2.包厢管理模块

空房查询:

查询没被使用的包厢

分配包厢:

根据空房查询的结果把可用包厢分配给顾客

时间记录:

记录包厢开始使用和结束使用的时间

3.顾客消费管理模块

费用管理:

记录顾客消费的费用

会员管理:

记录会员信息

4.点歌模块

歌手名称点歌:

根据演唱歌手的名字来查询选择歌曲。

歌曲名称点歌:

按照歌曲名称进行查询选择歌曲。

歌曲拼音点歌:

根据歌曲名称的每个字的首字母来选歌。

歌曲字数点歌:

根据歌曲字数来检索歌曲。

歌曲语种点歌:

根据不同语种检索歌曲。

5.数据维护模块

歌曲信息维护:

对歌手信息进行添加、修改、删除及查询操作。

歌手信息维护:

对歌曲信息进行添加、修改、删除及查询操作。

包厢信息维护:

对用户信息进行添加、修改、删除及查询操作。

3数据库实现

3.1数据表设计

3.1.1数据库表总体关系

数据库各个表之间的关系如图3-1所示:

图3-1数据库表之间的关系图

3.1.2数据表详细结构

本系统用SQL2000作为数据库,数据库命名为KTV,各表设计如下[9]:

表1UserForm:

用来记录用户名和密码

数据项名称

类型

长度

username

char

4

Primarykey

Password

char

10

Notnull

Usertype

char

4

Notnull

用户信息实体所包含的属性E-R图如图

表2Singer:

用来记录歌手信息

数据项名称

类型

长度

SingerNo

char

5

Primarykey

SingerName

varchar

30

Notnull

Sex

char

2

Notnull

Nation

char

8

Notnull

歌手信息实体所包含的属性E-R图如图

表3Song:

用来记录歌曲信息

数据项名称

类型

长度

SongNo

char

8

Primarykey

SongName

varchar

30

Notnull

WordCount

int

4

Notnull

Spell

varchar

10

SongLan

varchar

8

Notnull

SingerNo

char

5

Notnull

歌曲信息实体所包含的属性E-R图如图

表4selected:

用来记录已选歌曲信息

数据项名称

类型

长度

recordno

char

8

Primarykey

SongNo

char

8

Notnull

SongName

varchar

30

Notnull

SingerName

varchar

30

Notnull

SongLan

varchar

8

Notnull

已选歌曲信息实体所包含的属性E-R图如图

表5Room:

用来记录包厢信息

数据项名称

类型

长度

RoomNo

char

3

Primarykey

RoomType

char

4

Notnull

RoomPrice

int

4

Notnull

State

tinyint

1

Notnull

包厢信息实体所包含的属性E-R图如图

表6Register:

用户登记表

数据项名称

类型

长度

CustomerName

varchar

10

Primarykey

RoomNo

char

3

Notnull

OpenTime

datetime

8

Notnull

LeaveTime

datetime

4

Notnull

CardId

char

8

登记用户信息实体所包含的属性E-R图如图

表7record:

历史记录表

数据项名称

类型

长度

recordid

int

4

Primarykey

CustomerName

varchar

10

Notnull

RoomNo

char

3

Notnull

OpenTime

datetime

8

Notnull

LeaveTime

datetime

8

Notnull

CardId

char

8

历史记录信息实体所包含的属性E-R图如图

表8charge:

用来记录用户账单

数据项名称

类型

长度

CustomerName

Varchar

10

Notnull

Charge

float

8

Notnull

Discount

float

8

Pay

float

8

Notnull

RoomNo

Char

3

Notnull

RecordId

int

4

Primarykey

用户账单信息实体所包含的属性E-R图如图

表9Vip:

用来记录会员信息

数据项名称

类型

长度

CardId

char

8

Primarykey

CustomerName

Varchar

10

Notnull

CardType

varchar

8

Notnull

Phone

char

11

Notnull

会员信息实体所包含的属性E-R图如图

表10CARD:

用来记录会员卡信息

数据项名称

类型

长度

CardType

Varchar

8

Primarykey

Discount

float

8

Notnull

会员卡信息实体所包含的属性E-R图如图

3.2存储过程设计

3.2.1点歌的5个存储过程

1.按字数查找

CREATEproc按字数查找@字数char(10)

asselectSongNo,SongName,SingerName,SongLan

from歌曲信息

whereWordcount=@字数

GO

2.按拼音查找

CREATEproc按拼音查找@拼音char(10)

asselectSongNo,SongName,SingerName,SongLan

from歌曲信息

whereSpell=@拼音

GO

3.按歌手查找

CREATEproc按歌手查找@歌手名char(30)

asselectSongNo,SongName,SingerName,SongLan

from歌曲信息

wheresingername=@歌手名

GO

4.按歌曲名称查找

CREATEproc按歌曲名称查找@歌曲名称char(30)

asselectSongNo,SongName,SingerName,SongLan

from歌曲信息

whereSongName=@歌曲名称

GO

5.按语种查找

CREATEproc按语种查找@语种char(10)

asselectSongNo,SongName,SingerName,SongLan

from歌曲信息

wheresonglan=@语种

GO

3.2..2维护的5个存储过程

1.修改歌手信息

CREATEproc歌手修改@singernochar(5),@singernamevarchar(30),@sexchar

(2),

@nationchar(8)

asupdatesinger

setsingerno=@singerno,singername=@singername,sex=@sex,nation=@nation

wheresingerno=@singerno

GO

2.修改包厢信息

CREATEproc包厢修改@roomnochar(3),@roomtypechar(4),@roompriceint,

@statetinyint

asupdateroom

setroomno=@roomno,roomtype=@roomtype,roomprice=@roomprice,state=@state

whereroomno=@roomno

GO

3.修改歌曲信息

CREATEproc维护修改@songnochar(8),@songnamevarchar(30),@wordcountchar(4),

@spellvarchar(10),@songlanvarchar(8),@singernochar(5)

asupdatesong

setsongno=@songno,songname=@songname,wordcount=@wordcount,spell=@spell,songlan=@songlan,singerno=@singerno

wheresongno=@songno

GO

4.插入歌曲

CREATEproc维护插入@songnochar(8),@songnamevarchar(30),@wordcountchar(4),

@spellvarchar(10),@songlanvarchar(8),@singernochar(5)

asinsertintosong

values(@songno,@songname,@wordcount,@spell,@songlan,@singerno)

GO

5.显示歌曲信息

CREATEproc维护显示

asselectsongno,songname,singername,songlan,wordcount,spell,Singerno

from歌曲信息

GO

3.2..3顾客登记和结账的1个存储过程

1.在顾客登记部分用了1个存储过程来插入顾客信息

CREATEproc顾客登记@customernamevarchar(10),@roomnochar(3),@opentimedatetime,

@leavetimedatetime,@cardidchar(3),@IsCalchar(4)

asinsertintoregister

values(@customername,@roomno,@opentime,@leavetime,@cardid,@IsCal)

GO

2.在结账部分用了1个存储过程来插入账单信息

CREATEproc账单插入@roomnochar(3),@customernamevarchar(10),@chargefloat(8),@discountfloat(8),

@payfloat(8)

asinsertintocharge

values(@roomno,@customername,@charge,@discount,@pay)

GO

3.3视图设计

创建了2个视图,一个用视图来建立完整的歌曲信息,包括歌曲表中的信息和歌手表中的信息;一个视图用来显示vip顾客结账时需要的信息

3.3.1歌曲信息视图

CREATEVIEWdbo.歌曲信息

AS

SELECTdbo.Song.SongNo,dbo.Song.SongName,dbo.Singer.SingerName,

dbo.Song.SongLan,dbo.Song.WordCount,dbo.Song.Spell,dbo.Singer.SingerNo,

dbo.Singer.Nation,dbo.Singer.Sex

FROMdbo.SongINNERJOIN

dbo.SingerONdbo.Song.SingerNo=dbo.Singer.SingerNo

3.3.2VIP结账视图

CREATEVIEWdbo.结账

AS

SELECTdbo.Register.CustomerName,dbo.Register.RoomNo,dbo.Room.RoomPrice,

dbo.Register.OpenTime,dbo.Register.LeaveTime,dbo.CARD.Discount,

dbo.Vip.CardId

FROMdbo.RegisterINNERJOIN

dbo.RoomONdbo.Register.RoomNo=dbo.Room.RoomNoINNERJOIN

dbo.VipONdbo.Register.CardId=dbo.Vip.CardIdINNERJOIN

dbo.CARDONdbo.Vip.CardType=dbo.CARD.CardType

3.4触发器设计

1.这个触发器是用来修改包厢状态的,当向register表插入信息时,将room表对应的state(状态)改成1,表示该包厢已使用

CREATETrigger登记

Ondbo.Register

forinsert,delete

As

declare@RoomNochar(3)

begin

updateroom

setstate='1'

fromroom,inserted

whereroom.roomno=inserted.roomno

end

2.这个触发器的作用是当从register删除信息时,将room表对应的state(状态)改成0,表示该包厢为空,并将删除的信息添加到record表

CREATETrigger注销

Ondbo.Register

fordelete

As

declare@Customernamevarchar(10)

declare@RoomNochar(3)

declare@OpenTimedatetime

declare@LeaveTimedatetime

declare@CardIdchar(8)

begin

select@Customername=Customernamefromdeleted

select@RoomNo=RoomNofromdeleted

select@OpenTime=OpenTimefromdeleted

select@LeaveTime=LeaveTimefromdeleted

select@CardId=CardIdfromdeleted

updateroom

setstate='0'

fromroom,deleted

whereroom.roomn

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1