KTV电脑点歌系统软件开发 - 图文
更新时间:2024-06-02 02:55:01 阅读量: 综合文库 文档下载
毕业设计(论文)
题 目 KTV电脑点歌系统软件开发 专 业 计算机科学与技术 班 级 计094 学 生 指导教师
2013 年
2013届计算机科学与技术专业毕业设计论文
摘 要
随着互联网和宽带上网的普及,Internet音乐网站在中国异军突起,并日益渗透到人们的日常生活中。音乐网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网满足人们对音乐的需求。本课题所研究的音乐网站主要是为个人提供搜索,欣赏和下载的一个平台,从而给个人带来方便。
课题目标是设计并实现一个B/S体系结构的KTV电脑点歌系统。结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站系统建设的过程,熟练掌握网络数据库编程方法。本系统用JSP语言来编写本系统,数据库用MYSQL来连接系统。本论文主要涉及软件,数据库与网络技术等。系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。歌星点歌,根据演唱歌星的名字来查询选择歌曲。歌曲名点歌,按照歌曲名称编号进行查询选择歌曲。拼音点歌,根据歌曲名称的拼音名点歌等,系统最大限度地实现了易维护性和易操作性。
关键词:音乐,查询,系统,JSP,系统设计
I
:KTV电脑点歌系统软件开发
ABSTRACT
Along with the Internet and the wide band surfer's popularization, the Internet music website is sudden appearance in China, and seeps day by day to people's daily life. Music website is one kind of form of society which using the Modern Communication Technology, the computer and the networking carries on, its goal is satisfies the people through the Internet to music demand. This topic studies music website is mainly to provide the search personally, the appreciation and a downloading platform, thus for brings conveniently personally.
The topic goal is designs and realizes a B/S architecture music website. The union practice, understood that the homepage development technology and the database elementary knowledge, the study related development kit and the application software, the familiar website construction's process, masters the network database programming method skilled. This system with JSP language compilation society this system, the database uses the MYSQL connected systems. The present paper mainly involves the software, the database and the networking and so on. system is the way human-computer interaction, interface, beautiful and friendly, information inquiry and flexible, convenient, safe and reliable data storage. Singer song, concert singer under the name, to obtain the song. Digital song, according to the song name to select a song number for inquiries. Alphabet song, every song under the song title song, according to the song name to retrieve the songs. System to maximize the ease of maintenance and easy to operate.
KEY WORDS: music,JSP, system ,design
II
2013届计算机科学与技术专业毕业设计论文
目 录
前 言 ................................................................................................................................................. 1 第一章 概述 ..................................................................................................................................... 2
1.1 选题背景及设计意义 ........................................................................................................ 2 1.2 目前点歌系统的主流方式及特点 .................................................................................... 2 1.3 本课题主要设计内容 ........................................................................................................ 4 第二章 系统分析 ............................................................................................................................. 5
2.1 功能需求分析 .................................................................................................................... 5 2.2 本系统采用的关键技术 .................................................................................................... 7
2.2.1 JSP技术 ................................................................................................................ 7 2.2.2 JavaBean技术 ...................................................................................................... 8 2.2.3 JDBC技术 .............................................................................................................. 9 2.2.4 Java Servlet技术 ............................................................................................ 11 2.3 可行性分析 ..................................................................................................................... 13 第三章 系统设计与实现 ............................................................................................................... 14
3.1 系统总体功能设计 .......................................................................................................... 14 3.2 后台数据库设计 .............................................................................................................. 15
3.2.1 MYSQL 介绍 ......................................................................................................... 15 3.2.2用JDBC访问数据库 ............................................................................................ 15 3.2.3数据库表结构设计 .............................................................................................. 18 3.3系统处理流程设计 ........................................................................................................... 21
3.3.1系统操作流程 ...................................................................................................... 21 3.3.2数据增加流程 ...................................................................................................... 21 3.3.3数据修改流程 ...................................................................................................... 22 3.3.4数据删除流程 ...................................................................................................... 24 3.4系统模块详细设计与实现 ...................................................................................... 25 3.4.1首页 ...................................................................................................................... 25 3.4.2注册会员 .............................................................................................................. 27 3.4.3歌曲搜索 .............................................................................................................. 30 3.4.4会员登陆 .............................................................................................................. 31 3.4.5 管理员登陆 ......................................................................................................... 33 3.4.6 歌曲信息模块 ..................................................................................................... 37
第四章 系统调试与测试 ............................................................................................................... 40
4.1 程序调试 ......................................................................................................................... 40 4.2程序调试所用到的方法 .................................................................................................. 40 4.3 程序的测试 ..................................................................................................................... 40
4.3.1 测试的重要性及目的 ......................................................................................... 40
III
:KTV电脑点歌系统软件开发
4.3.2 测试的步骤 ........................................................................................................ 41 4.3.3 测试的主要内容 ................................................................................................ 42
第五章 总论 .................................................................................................................................. 44
5.1 系统评价 ........................................................................................................................ 44 5.2 安全性问题 .................................................................................................................... 45 第六章 小结 .................................................................................................................................. 46 致谢 ................................................................................................................................................ 48 参考文献 ........................................................................................................................................ 49
IV
2013届计算机科学与技术专业毕业设计论文
前 言
随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。同时,随着生活节奏的加快,每个人都处于忙碌烦乱的社会当中,不论是在家庭,工作场所,或是学校中,无时无刻不充满着生活和学习上的压力。在工作之余,找到一种能够缓解压力,释放疲劳的娱乐方式,已成为大家共同的愿望。因此娱乐业在服务行业中占有越来越重要的地位。
为了满足音乐爱好者,明星崇拜者,各种专辑痴迷着的需求,一批以音乐为主题的应用系统也应运而生。由于以往的静态网页存在单调,维护任务大,缺乏和用户的交互,随着计算机软件知识的推广,动态网页正在走向普通的网页设计师的生活。
本站设计目标就是设计一个以音乐试听的动态交互系统,用户可以在浏览过程中,实现和本站信息的交互。
随着计算机技术的发展,网络技术对我们生活和工作显得越来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。
本系统用JSP技术编写,数据库用MYSQL来连接系统。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高学生综合运用所学知识分析解决问题的能力,增强学生对事物的理解与掌握能力,培养学生掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。
1
:KTV电脑点歌系统软件开发
第一章 概述
1.1选题背景及设计意义
迅速发展的计算机科学技术应用越来越广泛,已经渗透到了人类社会生产和生活的各个领域。数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学。近年来,人们利用数据库技术对海量的数据进行处理,让后结合其他技术开发出了各种软件,为人类生产生活提供了便利。
娱乐是人的一生中不可或缺的部分。随着现如今经济文化水平显著提高,人们对生活质量及工作环境的要求也越来越高。同时,随着生活节奏的加快,每个人都处于忙碌繁乱的社会当中,在工作之余,找到一种能够缓解压力,释放疲劳的娱乐方式,已成为大家共同的愿望。因此娱乐业在服务行业中占有越来越重要的地位。然而,受到工作条件和时间的限制,越来越多的人们选择了去KTV唱唱歌,或者在自己家中自娱自乐。KTV点歌系统也因此有了广阔的发展前景。
随着KTV行业的迅猛发展,点歌系统在KTV里的重要性越来越大,特别是在面向消费者的量贩式KTV,投资方在选系统的时候无不练就一双火眼金睛,千挑万选,而且更是在配套设备上重金投入,确保为消费者营造出一个更好的消费环境。KTV点歌系统被广泛应用于KTV,酒店,酒吧等娱乐场所中。
1.2 目前点歌系统的主流方式及特点
目前,可以实现的KTV系统的点歌方式很多,但是可以主要归类为以下两大方式:
2
2013届计算机科学与技术专业毕业设计论文
(1)点歌机方式:就是没有网络支持,用独立的一台电脑或者一台类似于家电类的电子产品来完成的点歌放歌的系统,我们一般称之为点歌机或者单机版。
点歌机的一般特点具有连接方便,使用方便,维护方便,歌曲自动更新方便等特点,其中,家庭点歌机可以放到客厅里,亲朋好友 聚会娱乐的主要方式,快捷,方便,操作简单,所以一般很受人们的青睐;商业点歌机适合商业场所及大型KTV使用 ,自有操作系统,可任意开关机,商业场所可自行购买版权音乐,内置其中播放,采用主从架构设计,分为服务器端和客户端,系统稳定可靠,通过触摸屏简单操作,具有按歌星点歌、按拼音点歌、按笔划点歌等功能,同时更具有边唱边点功能,目前国内很多KTV场所采用的是此系统。
(2) VOD方式:VOD是英文 VIDEO ON DEMAND 的首字头字母的简称,意思是按照需求播放视频节目,意译为视频点播。实际上就是利用计算机网络,通过服务器存放歌曲,通过各种有盘包房电脑、无盘包房电脑、有盘机顶盒、无盘机顶盒等终端设备来完成的点歌和放歌的系统,我们一般称之为网络版。
目前VOD系统是KTV经营场所里面点歌系统的最主流方式。全套系统是架构在计算机网络上的,由电脑来自动管理点歌和放歌的过程,无需人员操作,极大地提高了经营效率。该系统从歌曲录制编辑、歌曲库的自动生成、点歌软件的功能、界面的多样性和美观性、客人的使用人性化、前后台管理的多样性和方便性、与各种外围点歌设备的结合等方面,形成了完整的解决方案,是一套集大成的全面先进的系统。由于采用数字方式,所以在视、音频传送中不会有任何的失真、衰减及干扰,在采用多服务器安全方案时会使系统更安全、更可靠。
3
:KTV电脑点歌系统软件开发
1.3本课题主要设计内容
KTV点歌系统以满足客户需求为宗旨,主要实现以下几个功能目标: (1)可以按不同方式选择想要点选的歌曲,如歌星名,歌曲名,拼音等; (2)实现自主地视频点播。经压缩的视频和音频信号储存在服务器硬盘中,播放时由windows media player 将视频和音频信号解压后输出到显示设备。此KTV点歌系统完全取代了传统的播放设备,无需影碟机及取碟和放碟等人工操作,既避免了人为的错误,又降低了经营成本。 (3)实现原唱,不同程度的伴唱功能,还可以自主的进行音量控制。本KTV点歌系统是基于Java和MySql的优点,并结合实际工作需求编制的应用软件。它具有功能强,便于操作,管理等优点,同时节约了很大的成本。
4
2013届计算机科学与技术专业毕业设计论文
第二章 系统分析
2.1 功能需求分析
随着计算机技术的发展,网络技术对我们生活和工作显得越来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布具有迫切的需要和及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够通过网页实现系统内容的网上多用户发布,多栏目管理,实时的为用户提供所需的基本服务以及对用户进行行为统计和记录的交互系统。
本系统设计目标是一个以点歌为主的JAVA软件,用户可以在浏览本系统过程中尽情享受音乐带来的无限乐趣以及系统的人性化设计也极大的满足了用户的需求
1. 系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
2. 选择歌曲,用户可以根据歌曲名称、歌手名称、歌曲类别、语言进行查询。
3. 用户可以将自己选择的歌曲收藏到用户的记录中去。当用户选择好了歌曲后就可以打开自己的歌曲库,选择自己喜欢的歌曲进行K歌。 4. 用户进入歌曲信息模块选择对应歌曲就会弹出播放器播放对应的歌曲,用户就可以唱歌了,或者进入用户登陆查看收藏的歌曲也能播放相应的歌曲。
5. 管理员登陆,可以实现让指定的系统管理人员登陆到系统中来对系统进行管理的模块,主要包括对歌曲的增、删、改以及对用户信息和管理员信息的管理。该模块设置了管理员名与密码,不是指定的人员不能进入。
5
:KTV电脑点歌系统软件开发
系统采用三层结构设计,如图2-1所示。在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。本系统使用JSP技术作为表现手段,服务器采用Tomcat 6.0.13作为JSP引擎,系统业务逻辑由JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用Mysql数据库作为数据库服务器。
JSP网页 Browser 表示逻辑 WWW服务器/业务逻辑服务器 JavaBean组件 中间件 JDBC Mysql 数据库服务器 Browser 表示逻辑 Client 业务服务器 事务逻数据逻数据库 数据库服务器 图2-1 系统结构模式设计图
6
2013届计算机科学与技术专业毕业设计论文
2.2 本系统采用的关键技术
2.2.1 JSP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。它主要有如下几个方面的特点:
1) 将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐号信息或者一本书的价格)。生成内容的代码被封装在Servlet和JavaBean组件中,并且结合在脚本中,所有的脚本在服务器端运行。
JSP引擎解释JSP标识和脚本程序,生成所请求的内容(例如,通过访问JavaBean组件,使用JDBC技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2) 强调组件的重用
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBean或者Enterprise JavaBean组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行组件,或者使得这些组件为更多的使用者或者客户团体所使用。此方法加速了总体开发进程。
3) 采用标识简化页面开发
Web页面人开发人员不都是熟悉脚本语言的编程人员。JSP技术封装了许多功能:访问和实例化JavaBean组件、设置和检索组件的属性、下载Applet以及执行用其他方法更难于编码和耗时的功能。
7
:KTV电脑点歌系统软件开发
JSP技术可以通过开发定制的标识库进行扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的组件来工作。
当与Java2平台、J2EE和Enterprise JavaBean(EJB)技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在企业中部署基于Web的应用是必需的。
与微软公司的ASP技术相比,JSP具有如下优点:
(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。
(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。
(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。
(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。
(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。 2.2.2 JavaBean技术
JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP + JavaBean的组合成为了一种事实上最常见的JSP程序的标准. JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,
8
2013届计算机科学与技术专业毕业设计论文
另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。
一个JavaBean有三个部分组成: 1) 属性(Property)
Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。
2) 方法(Method)
由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。这样,方法调用的是接触Bean的唯一途径。
3) 事件(Event)
Bean与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消息通信类似。
JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。 2.2.3 JDBC技术
JDBC是Java的开发者——Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态
9
:KTV电脑点歌系统软件开发
连接结构,它使得系统模块化。使用JDBC来完成对数据库的访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事:
(1)同一个数据库建立连接; (2)向数据库发送SQL语句; (3)处理数据库返回的结果。 JDBC
是一种可用于执行
SQL
语句的
JavaAPI
(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!”
Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
10
2013届计算机科学与技术专业毕业设计论文
2.2.4 Java Servlet技术
Servlet是用Java编写的Server端程序,它与协议和平台无关。
Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。
? Servlet可以和其他资源(文件、数据库、Applet、Java应用程序
等)交互,以生成返回给客户端的响应内容。如果需要,还可以保
1.Java Servlet的优势:
? 采用Servlet,服务器可以完全授权对本地资源的访问(如数据? Servlet可以是其它服务的客户端程序,例如,它们可以用于分布
式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活库),并且Servlet自身将会控制外部用户的访问数量及访问性。
存请求-响应过程中的信息。
? Servlet可被链接(chain)。一个Servlet可以调用另一个或一系? 采用Servlet Tag技术,可以在HTML页面中动态调用Servlet。
Servlet API与协议
无关。它并不对传递它的协议有任何假设。 列Servlet,即成为它的客户端。
Servlet。
. Servlet提供了Java应用程序的所有优势——可移植、稳健、易开
发。使用Servlet 的Tag技术,Servlet能够生成嵌于静态HTML
. 一个Servlet被客户端发送的第一个请求激活,然后它将继续运行于
后台,等待以后的请求。每个请求将生成一个新的线程,而不是一个完整的进程。多个客户能够在同一个进程中同时得到服务。一般来说,Servlet进程只是在Web Server卸载时被卸载。
11
页面中的动态内容。
:KTV电脑点歌系统软件开发
2.Servlet的工作原理: 2.1 Servlet的请求与响应
最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web Server开始支持标准的Servlet API。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
(1)客户端发送请求至服务器端; (2)服务器将请求信息发送至Servlet;
(3)Servlet生成响应内容并将其传给Server。响应内容动态生成,通
常取决于客户端的请求; (4)服务器将响应返回给客户端;
Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java Servlet API的包。
因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于 Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为Faceless Object。 2.2 Servlet生命周期:
装载Servlet,这项操作一般是动态执行的。然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet,这个过程为:
(1)Server创建一个Servlet的实例; (2)Server调用Servlet的init()方法; (3)一个客户端的请求到达Server; (4)Server创建一个请求对象; (5)Server创建一个响应对象;
12
2013届计算机科学与技术专业毕业设计论文
(6)Server激活Servlet的service()方法,传递请求和响应对象作为参数;
(7)service()方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息;
(8)service()方法使用响应对象的方法,将响应传回Server,最终到达客户端;
(9)service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法;
对于更多的客户端请求,Server创建新的请求和响应对象,仍然
激活此Servlet的service()方法,将这两个对象作为参数传递给它。如此重复以上的循环,但无需再次调用init()方法。一般Servlet只初始化一次 ,当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
2.3 可行性分析
首先,技术可行性。本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。
其次,经济可行性。由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。
第三,操作可行性。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容
13
:KTV电脑点歌系统软件开发
易扩充。
第三章 系统设计与实现
3.1 系统总体功能设计
该系统分为前台界面展示和后台数据处理,前台主要功能分为两类:用户模块和管理员模块,后台使用MySql数据库进行数据存储管理和输入输出。在整个系统中,前台相关模块具有不同的功能和权限。
如下图所示:
KTV点歌系统 用户 管理员 试听 注册 收藏音乐 搜索 音乐管理 会员管理 歌曲管理 用户管理
图3-1系统总体功能设计图
14
2013届计算机科学与技术专业毕业设计论文
3.2 后台数据库设计
3.2.1 MYSQL 介绍
Mysql是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 Mysql近年来不断更新版本,1996年,Microsoft 推出了Mysql 6.5版本;1998年,Mysql 7.0版本和用户见面;Mysql 2000是Microsoft公司于2000年推出的版本。 Mysql 特点: 1.真正的读者机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。 3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4.Mysql与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。Mysql也可以很好地与Microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.Mysql提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
3.2.2用JDBC访问数据库
所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。
Class.forName(\这是JDBC-ODBC 的驱动程序。
15
:KTV电脑点歌系统软件开发
要想连接一个指定的数据库,必须创建Connection类的一个实例。 String url = \
Connection con = DriverManager.getConnection(url);
注意在此用到的数据库名称是在ODBC设置控制面板中输入的数据资源名。URL语法对于不同类型的数据库会很不一样。 语法是这样的: jdbc:subprotocol:subname 开头都是JDBC,后面是子协议,然后是ODBC名称。
若要使用纯JDBC驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库的官方网站上可以找到这里不做讨论。
本系统采用JDBC-ODBC的驱动程序连接数据库,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:
package exam; import java.sql.*; public class ExamBean { String
//JDBC-ODBC驱动程序
String strDBUrl=\ private Connection conn=null; private Statement stmt=null; ResultSet rs=null;
// public ExamBean() { try {
Class.forName(strDBDriver); }
//
catch(java.lang.ClassNotFoundException e){
16
strDBDriver=\
2013届计算机科学与技术专业毕业设计论文
System.err.println(\ } }
// public ResultSet executeQuery(String sql){ rs=null; try{
conn=DriverManager.getConnection(strDBDriver); //创建数据库
连
接
对
象
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//支持数据回滚
rs=stmt.executeQuery(sql); }catch(SQLException ex){
System.err.println(\ } return rs; }
//
public void executeUpdate(String sql){ stmt=null; try{
conn=DriverManager.getConnection(strDBDriver); stmt=conn.createStatement(); stmt.executeUpdate(sql); stmt.close();
}catch(SQLException ex){
System.err.println(\
17
:KTV电脑点歌系统软件开发
} }
// public void closeStmt(){ try{
stmt.close();
}catch(SQLException e){ e.printStackTrace(); } }
public void closeConn(){ try{
conn.close();
}catch(SQLException e){ e.printStackTrace(); } }
3.2.3数据库表结构设计
表3-1 管理员表(admin)
列名 Id Username Password Creattime Flag
数据类型 Int Nvarchar Nvarchar Datetime Int 18
长度 4 50 50 8 4 允许空 否 否 否 否 否 2013届计算机科学与技术专业毕业设计论文
Isuse Logintimes Quanxian
Int Int Nvarchar 4 4 1000 否 否 否 表3-2 公告信息表(news)
列名 Id Title Pic Content Addtime Adder Ifhide Visit Up 数据类型 Int Nvarchar Nvarchar Text Datetime Nvarchar Int Int Int
长度 4 150 150 16 8 50 4 4 4 允许空 否 否 否 否 否 否 否 否 否 表3-3 用户信息表(member)
列名 Id 数据类型 Int nvarchar Nvarchar Nvarchar Datetime Int 19
长度 4 50 100 50 8 4 允许空 否 否 否 否 否 否 Username Password Type Regtime Ifuse
:KTV电脑点歌系统软件开发
Logintimes Lasttime Lastip
Int Datetime Nvarchar 4 8 50 否 否 否 表3-4 音乐信息表(music)
列名 Id Title Type url Singer Time Cd Context Addtime Sc St Xz Df 数据类型 Int nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Text Nvarchar Int Int Int Int 长度 4 50 200 200 50 50 50 16 50 4 4 4 4 允许空 否 是 是 是 是 是 是 是 是 是 是 是 是 表3-5 系统用例表(system)
列名 Id Sitename 数据类型 Int Nvarchar 20
长度 4 100 允许空 否 否
2013届计算机科学与技术专业毕业设计论文
url Keyword Description Email State Reasons Dir Record Copyright Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Text 100 500 500 100 50 100 100 50 16 否 否 否 否 否 否 否 否 否 21
:KTV电脑点歌系统软件开发
3.3系统处理流程设计
3.3.1系统操作流程
系统主界面 系统登录界面 系统管理 输入操作员用户名和密码 否 数据库 验证用户名及密码 是 功能界面 功能处理 图3-2系统操作流程图
3.3.2数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。
数据增加流程图如下所示:
22
2013届计算机科学与技术专业毕业设计论文
开始 自动生成编号 输入数据 否 是否合法 是 写入数据库 结束 图3-3 数据增加流程图
3.3.3数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则修改前台页面上的数据,同时数据库中用户原来保存的数据也被修改,输入的数据不合法则弹出页面对话框提示用户重新输入。
数据修改流程图如下所示:
23
:KTV电脑点歌系统软件开发
开始 选择需要修改记录 输入数据 否 是否合法 是 写入数据库 结束
图3-4 数据修改流程图
3.3.4数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,用户点击确认按钮后会删除页面中用户相应的数据,同时调用后台数据库删除用户表中的数据。
数据删除流程图如下所示:
24
2013届计算机科学与技术专业毕业设计论文
结束 图3-5 数据删除流程图
更新数据库 是否删除 是 选择需要删除记录 否 开始
3.4系统模块详细设计与实现
3.4.1首页
当进入系统时,首先出现的是本系统的首页,首页包括本系统前台用户的所有功能菜单,界面美观。界面如下图所示:
25
:KTV电脑点歌系统软件开发
图3-6 系统首页图
主要代码如下:
package util;
import java.sql.*;
public class DBConn { static{ try{ Class.forName(\// Class.forName(\
// Class.forName(\ }catch(Exception ex){ ex.printStackTrace(); }
}
public static Connection getConn(){ try{ Connection
conn=DriverManager.getConnection(\name=hshygl\// conn = DriverManager.getConnection(\// Connection conn=DriverManager.getConnection(\
26
2013届计算机科学与技术专业毕业设计论文
return conn;
}catch(Exception ex){ ex.printStackTrace(); return null; } }
public static void close(Connection conn,Statement st,ResultSet rs){ if(rs!=null){ try{
rs.close();
}catch(SQLException ex){ } }
if(st!=null){ try {
st.close();
}catch(Exception ex){ } }
if(conn!=null){ try{
conn.close(); }catch(Exception ex){ }
3.4.2注册会员
输入:用户的姓名,密码,身份证,密码,年龄、性别、出生日期,备注。
处理:添加会员信息。在这里可以添加会员。添加信息有:用户的姓名,密码,身份证,密码,年龄、性别、出生日期,备注,所填入的信息将被录入用户信息表中。
输出:添加成功,提示成功信息,不成功则显示错误的信息页面。 界面如下图所示:
27
:KTV电脑点歌系统软件开发
图3-7 注册会员图
主要代码如下:
package util;
import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date;
public class Validate { /** * 是否为数字和英文验证 * */ public int getIntAndChar(String str){ char c; int i; for (i = 0; i
28
2013届计算机科学与技术专业毕业设计论文
} /**
* 是否为整数验证 * */
public int getInt(String str){ char c; int i; for (i = 0; i
* 是否为非法字符验证 * */
public boolean getLawlessChar(String str){ boolean flag = false; char c; for(int i = 0;i < str.length();i++){ c = str.charAt(i); switch(c){ case '<' : flag = true; break; case '>' : flag = true; break; case '\ case '&' : flag = true; break; case ' ' : flag = true; break; }
29
:KTV电脑点歌系统软件开发
}
}
return flag;
3.4.3歌曲搜索
歌曲搜索分为精确查询和模糊查询。精确查询分为歌曲名称查询,歌手名称查询,歌曲语言查询;模糊查询分为流行音乐查询,古典音乐查询,摇滚音乐查询和爵士音乐查询。用户可以按照自己选择保存的歌曲进行相应的查询。
界面如下图所示:
图3-8 歌曲搜索图
主要代码如下:
package util;
import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date;
public class Validate { /** * 是否为数字和英文验证 * */ public int getIntAndChar(String str){ char c;
30
2013届计算机科学与技术专业毕业设计论文
int i; for (i = 0; i
* 是否为非法字符验证 * */
public boolean getLawlessChar(String str){ boolean flag = false; char c; for(int i = 0;i < str.length();i++){ c = str.charAt(i); switch(c){ case '<' : flag = true; break; case '>' : flag = true; break; case '\ case '&' : flag = true; break; case ' ' : flag = true; break; } }
31
:KTV电脑点歌系统软件开发
}
return flag;
3.4.4会员登陆
用户可以使用注册到的账号以会员的身份登陆系统,登陆以后可以修
改自己的登陆密码和对自己的详细信息进行修改,以及对自己收藏的音乐进行管理。
界面如下图所示:
图3-9 会员登陆图
主要代码如下:
//检查是否重名
public int checkRegName(String username){ String sql = \ DBO dbo = new DBO(); dbo.open(); try{ rs = dbo.executeQuery(sql); if(rs.next()){
32
2013届计算机科学与技术专业毕业设计论文
return Constant.SAME_NAME; } else{ return Constant.SUCCESS; } }catch(Exception e){ e.printStackTrace(); return Constant.SYSTEM_ERROR; }finally{ dbo.close(); } }
// 会员登陆 public int memberLogin(String username,String password,String type){ password=MD5.MD5(password); String sql = \password from fz_member username='\ //String sql2 = \
logintimes=logintimes+1,lasttime='%username='\ DBO dbo = new DBO(); dbo.open(); try{ rs = dbo.executeQuery(sql); if(rs.next()){//如果有该用户名 String str = rs.getString(\ if(str.trim().equals(password)){ //dbo.executeUpdate(sql2); return Constant.SUCCESS; } else{ return Constant.PASSWORD_ERROR; } } else{//如果没有 return Constant.NAME_ERROR; }
33
where
:KTV电脑点歌系统软件开发
}
}catch(Exception e){ return Constant.SYSTEM_ERROR; }finally{ dbo.close(); }
3.4.5 管理员登陆
此模块只支持管理员登陆,管理员输入相应的用户名和口令进入系
统。此模块的功能包括系统账号管理、系统公告设置、音乐信息管理、音乐分类管理以及个人用户管理五大子模块,可以对音乐信息和会员信息进行管理,具体包括对音乐库中的歌曲进行增、删、改,删除会员等功能。 界面如下图所示:
图3-10 管路员登陆图
主要代码如下:
// 删除会员
public int delMember(int id[]){ DBO dbo=new DBO();
34
2013届计算机科学与技术专业毕业设计论文
dbo.open(); try{ for(int i = 0;i