毕业设计(论文)-KTV点歌系统设计.doc_第1页
毕业设计(论文)-KTV点歌系统设计.doc_第2页
毕业设计(论文)-KTV点歌系统设计.doc_第3页
毕业设计(论文)-KTV点歌系统设计.doc_第4页
毕业设计(论文)-KTV点歌系统设计.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 绪论11选题背景迅速发展的计算机科学技术应用越来越广泛,已经渗透到了人类社会生产和生活的各个领域。数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学。近年来,人们利用数据库技术对海量的数据进行处理,然后结合其他技术开发出了各种软件,为人类生产生活提供了便利。娱乐是人的一生中不可或缺的部分。随着现如今经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。同时,随着生活节奏的加快,每个人都处于忙碌繁乱的社会当中,不论是在家庭,工作场所,或是学校中,无时无刻充满着生活和学习上的压力。在工作之余,找到一种能够缓解压力,释放疲劳的娱乐方式,已成为大家共同的愿望。因此娱乐业在服务行业中占有越来越重要的地位。然而,受到工作条件和时间的限制,越来越多的人们选择了去ktv唱唱歌,跳跳舞或者在自己家中自娱自乐。ktv点歌系统也因此有了广阔的发展前景。随着ktv行业的迅猛发展,点歌系统在ktv里的重要性越来越大,特别是在面向普通消费者的量贩式ktv,投资方在选系统的时候无不练就一双金睛火眼,千挑万选,而且更是在配套设备上重金投入,确保为消费者营造出一个更好的消费环境。ktv点歌系统被广泛应用于ktv、酒店、酒吧等娱乐场所中。我们一起来看看ktv点歌系统的相关知识。12主要内容及研究意义ktv点歌系统以满足用户需求为宗旨,主要实现以下几个功能目标:(1)可以按不同方式选择想要点选的歌曲,如歌星名、歌名、拼音等;(2)实现自主地视频点播。经压缩的视频和音频频信号储存在服务器硬盘中,播放时由windows media player将视频和音频信号解压后输出到显示设备。此ktv点歌系统完全取代了传统的播放设备,无需影碟机及取碟和放碟等人工操作,既避免了人为的错误,又降低了经营成本。 (3)实现原唱,不同程度的伴唱功能,还可以自主的进行音量控制。本ktv点歌系统是基于sql server 2005的优点,并结合实际工作需求编制的应用软件。它具有功能强,便于操作、管理等优点,同时节约了很大的成本。13论文组织结构第一部分:绪论。介绍了论文的选题背景、主要内容和研究意义。第二部分:系统的整体设计。对整个系统结构和各模块功能的介绍。第三部分:系统登录页面的设计。对系统登录模块功能。第四部分:管理员模块的设计。对管理员可以实现的功能的介绍。第五部分:普通用户模块的设计。对普通用户使用系统的介绍。第六部分:数据库模块的设计。对与数据库有关的操作的介绍。第七部分:系统安装与测试。对系统整个功能的测试。第八部分:总结和体会。对整个系统总结并分析不足。2 系统的总体设计21功能需求描述 本系统界面开发工具采用 microsoft visual stadio 2005,后台数据库系统采用 sql server 2005,系统的运行平台为windows。ktv点歌系统主要由两个模块组成,分别为管理员模块和普通用户模块。管理员有单独的安全认证入口,此管理模块具有添加、修改和删除歌手和歌曲信息的功能。系统为普通用户提供了常用的查询功能,用户可以根据自己的喜好在纷繁复杂的信息中快速查找到自己想要的信息。用户通过查询方式点选歌曲之后,歌曲信息将自动添加到播放列表,并调用播放器进行播放。22目标系统要求1、管理员能够实现对系统内歌曲的添加、删除等操作;普通用户直接进入。2、点歌方式分为拼音(歌名)点歌、歌名点歌和明星点歌三种。3、选中歌曲后能调用windows media player播放,支持avi格式的视频歌曲。4、数据库存放视频歌曲的地址,播放器调用地址播放。3 系统登录页面的设计31登录功能实现的设计登录页面截图如下:登陆页面分为两部分组成,管理员需要通过用户名和密码验证才能进入后台管理,普通用户则能直接进入主页面。管理员登陆模块部分主要代码如下:int count=0; if (cboboxform.text = ) messagebox.show(请选择登陆界面!, 登陆提示, messageboxbuttons.ok, messageboxicon.information); else if (cboboxform.text = 系统点歌) mainform mainform = new mainform(); mainform.show(); this.hide(); if (cboboxform.text = 后台数据维护) string sql = string.format(select count (*) from admin where username=0 and userpassword=1, txtboxname.text, txtboxpassword.text); try sqlcommand command = new sqlcommand(sql, dbhelper.connection); dbhelper.connection.open(); count = (int)command.executescalar(); if (count = 1) dataset dataset = new dataset(); dataset.show(); this.visible = false; else messagebox.show(用户名或密码不存在!, 登陆提示, messageboxbuttons.ok, messageboxicon.error); catch (exception ex) messagebox.show(ex.message); console.writeline(ex.message); finally dbhelper.connection.close(); 3.1.1 ado.net访问数据库的方法c#使用ado技术访问数据库。ado全名为active data object,是microsoft为了企业数据整体存取需求所提出的解决方案uda(universal data access)之一。在c#中使用ado对象存取数据库主要是使用其connection,recordset以及command三个对象。connection对象:负责开启与链接到数据源的对象,通过connection对象也可以执行命令.command对象:负责传送能被数据源所执行的命令的对象,命令是一文本字符串,通常是一个sql语句。命令的参数是以parameter对象表示。command对象是一选择项(optional)对象,并不是一定要使用,也就是说可根据数据源的特性选择是否提供。例如:一些非结构性数据提供者(unstructured data providers,如电子邮件系统),可能无法处理文字形态命令,就可以选择不提供command对象。command对象除了能下达sql语句的命令外,也可以执行后端数据库所提供的预储程序(store procedure)。recordset对象:负责存取数据库内容的对象,为一数据记录集。command对象的命令执行结果如果是数据记录集,也是以recordset对象来表示。它可以依照查询条件获取或显示所要的数据列与记录。recordset对象会保留每项查询返回的记录所在的位置,以便逐项查看结果。常用到的recordset对象的属性和函数为: recordset.fields.count:返回recordset中的字段数。recordset(i).name:返回recordest中第i个字段的名称,i是由0开始计算的,因此i的最大数目应为recordset.fields.count-1。recordset.rcordcound:返回recordset中数据记录的数目。recordset(i):返回recordset目前记录中的第i个字段的数据。recordset.eof:判断指针是否已超过recordset的末端,如果是则返回ture,否则返回false。asp系统中采用sql数据库时,可通过oledb连接sql server数据库,连接语句的一般形式如下:“provider=sqloledb;data source=数据库服务器名称;”&“initial catalog=数据库名称;user id=登录名称;password=密码;”其中,data source表示数据库服务器名称,如果是本地机器,可以设置为“(local)”。initial catalog为默认的数据库名称,因为sql server同时管理多个数据库,因而需要指定具体的数据库。如:dim conn 定义数据库连接对象dim connstr 定义数据库连接字符串connstr =provider=sqloledb;persist security info=false;datsource=(local);initial catalog=job;user id=sa;password=; set conn=server.createobject(adodb.connection) conn.open connstr4 管理员模块的设计41管理员后台管理的设计4.1.1 管理员对明星信息管理的设计:管理员登陆后主页面如图:登陆后系统直接从数据库中调用明星信息、歌曲信息等数据显示到列表框内。单击添加按钮,弹出添加明星信息页面,此处需注意所添加信息的格式,否则不能准确地保存到数据库中。填好各项信息后,单击保存按钮后,添加的明星信息就会保存到已经创建好的数据库中。4.1.2 管理员对歌曲信息的操作界面:具体操作步骤参考4.1.1。4.1.3 管理员对用户的操作界面:后台管理部分不可能只能有一个人完成,所以该选项卡可以添加新的后台管理者,或删除闲置的管理员以达到最大限度节约资源的目的。5 普通用户模块的设计51歌曲查询功能的设计5.1.1 拼音点歌功能的设计单击拼音点歌按钮,弹出拼音点歌的面板。此处并不是弹出一个窗体,而是一个面板,使用该面板能省去一些不必要的窗体,从而达到简化代码的目的。拼音点歌功能,实际上就是对数据库的查询的操作,点击查询后,查询结果。具体查询代码请看附录。5.1.2 歌手点歌功能的设计5.1.3 歌名点歌功能的设计关于歌手点歌和歌名点歌功能的设计,请参照5.1.1所示。52歌曲播放功能的设计如果歌曲查询结果不止为一条,那么此时点击播放按钮就会提示你先选择一首歌曲,选中一条后再单击播放按钮,视频歌曲就会自动播放了。此播放器的制作,是使用vs 2005自带的windows media player控件,具体代码请参考附件。6 数据库模块的设计61 数据库的创建工作在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。使用sql server2005创建一个名为ktvdb的数据库,然后添加3张表,第一张表用于保存管理员的登录信息,第二张表用于保存歌手信息,第三章表用于保存歌曲信息。三张表的详细信息如下图所示:表名:admin表名:singers表名:songs注:歌曲信息存放在数据库中的只是它们的物理路径,播放器通过调用数据库中的路径进行歌曲的播放。7 系统安装与测试71 系统的运行环境7.1.1 系统运行环境:1. 网络环境:windows xp sp22. 工作站:microsoft windows 2000、windows xp persional3. 数据库服务器:microsoft sql server 20054. 开发工具:microsoft vistal stadio 2005系统的运行:双击bin目录下的exe文件,路径为:ktvsystembindebugktvsystem.exe72 系统的测试系统测试是系统完成前的一项重要的工作,应该尽可能完整地测试自己的系统,检查所有的代码是否正确规范,文字是否准确,效果是否恰当,功能是否完善。测试要注意的问题:整个系统风格是否一致,包括色彩、字体、链接、菜单等等,单击某一按钮不能有似乎换了一个系统的感觉;编码规范是对一个程序员的基本要求,要尽量使系统的代码规范,还要避免冗余,释放系统资源。同时要考虑服务器的承受能力。测试身份验证和点歌功能通过输入不同的数据来测试是否出错,另外还要测试该模块是否能够实现身份验证。下面就是针对该模块的测试方法和测试数据:点歌系统,普通用户是可以直接进入主页面,即点歌页面的。如果登录时选择后台数据维护模式,此时如果用户名和密码为空,单击“登录”按钮,测试是否不输入用户名也能够进入该系统,以防止没有该口令的人进入该系统。此时系统会自动弹出一个“用户名或密码错误”的对话框。接着再进行点歌功能的测试,如果不输入歌名直接查询,测试是否会提示你“请输入歌名!” 。8 总结和体会对于任何一个软件系统都不可能说是完美的系统,只能说该软件系统是否满足当时的大部分需求,是否能够提高工作效率。而做出来的系统是不是符合用户的需求,有时候也由于个人的能力和当时的技术限制,使得做出来的系统不可能做到面面俱到。每个系统都是投入使用后,发现其缺点,继而在使用的过程中要根据需要不断的进行修改与维护,增加新的功能,删除不必要的功能,使系统变得更加完善、更加完美。81 系统的不足和改进对于本系统来说,也有很多的缺点和不足之处。总结起来,主要有以下几点:1. 设计界面的不足具体涉及到界面颜色的搭配和布局的设计,在本系统中稍微显得有点单调,但是又不知道该怎么去搭配这个颜色,怎样来调整布局,所以以后还要慢慢学习,争取做到既个性又不招摇。2. 后台脚本语言的不足发现本设计中的语言显得有些繁杂,特别是在冗余代码上有点麻烦,造成一些操作和代码出现冗余,系统处理速度稍显过慢,有些在系统中已经作了改进,但是还有很多需要学习的地方。3. 系统优化的不足4. 普通用户模块的功能不够完善5. 对于突发性事件考虑不足本系统并不是一个完美的系统,在以后的学习和工作中,还需要不断的完善和改进。比如在系统中加入以下的功能:在管理员登录的时候能够加入验证信息,使其传递信息更加的安全。播放器的功能相对较少,点歌时声道切换并不能实现,视频效果也不太清晰。在歌曲的查询方面做的还不够好,现在的消费者都追求简单时尚,如果把查询功能做的更智能、更简练,如只输入歌名的首字母,符合条件的歌曲都罗列出来,供用户选择,相信系统会变得更加完美。致谢首先感谢本人的导师张正本老师,他对我的仔细审阅了本文的全部内容并对我的毕业设计内容提出了许多建设性建议。张正本老师渊博的知识,诚恳的为人,使我受益匪浅,在毕业设计的过程中,特别是遇到困难时,他给了我鼓励和帮助,在这里我向他表示真诚的感谢!感谢母校河南机电高等专科学校的辛勤培育之恩!感谢计算机科学系给我提供网络实验室很好的一个实验环境,使我学到了许多新的知识和操作技能。感谢和我在一起进行课题研究的所有同学,和他们在一起讨论、研究使我受益非浅。还要衷心感谢计算机科学与技术系全体老师三年来对本人的教诲,他们不仅使本人的知识、能力得到提高,更重要的是教会了本人怎样提高自己的自学能力,怎样去适应社会。愿母校明天更辉煌,全体老师身体健康、心想事成。参考文献1 accp.使用c#开发数据库应用程序 北京:科学技术文献出版社,20082 accp.sql server数据库设计和高级查询 北京:科学技术文献出版社,20083 尚俊杰.net 程序设计m北京:清华大学出版社,北京交通大学出版社20044 朱如龙sql server数据库应用系统开发技术m机械工业出版社20045 童爱红visual c#.net应用教程m清华大学出版社北京交通大学出版社20046 (美)内格尔等编著,李敏波 翻译c高级编程(第4版)m清华大学出版社20027 李昆sqlserver 2000课程设计案例精编m水利水电出版社20068 邹建中文版sql server2000开发与管理应用实例m人民邮电出版社9 kouresh ardestani 著,张哲峰 译高效掌握ado.netc#编程篇北京:清华大学出版社200310戴宗友,张伍容,杨辉.c#程序设计实训m. 清华大学出版社,200911伍俊良.c#程序应用与开发教程. 机械工业出版社,2009附录:各个功能模块的主要代码1. 用于连接数据库的dbhelper类: class dbhelper private static string connstring = data source=.;initial catalog=ktvdb;user id=sa;pwd=sa; public static sqlconnection connection = new sqlconnection(connstring); 2.对歌曲进行查询的部分代码,以歌名点歌为例:private void btnsearch_click(object sender, eventargs e) if (txtboxname.text = ) messagebox.show(请输入歌名!, 输入提示, messageboxbuttons.ok, messageboxicon.information); txtboxname.focus(); else filllistview(); public void filllistview() string id; string name; string singer; string type; string path; try string sql = string.format(select sid,sname,singer,stype,spath from songs where sname like %0%,txtboxname.text); sqlcommand command = new sqlcommand(sql, dbhelper.connection); dbhelper.connection.open(); sqldatareader datareader = command.executereader(); listview1.items.clear(); if (!datareader.hasrows) messagebox.show(抱歉,没有您要找的歌曲, 查询结果, messageboxbuttons.ok, messageboxicon.information); else while (datareader.read() id = (string)datareadersid; name = (string)datareadersname; singer = (string)datareadersinger; type = (string)datareaderstype; path = (string)datareaderspath; songpath = path; listviewitem lvi = new listviewitem(id); lvi.tag = (string)datareadersid; listview1.items.add(lvi); lvi.subitems.addrange(new string name, singer, type ); plbyname.visible = false; datareader.close(); catch (exception ex) messagebox.show(ex.message); finally dbhelper.connection.close(); 3.添加明星信息部分代码如下所示:private void btnsave_click(object sender, eventargs e) string singername = (string)txtname.text; string singersex = (string)txtsex.text; string singercountry = (string)txtcountry.text; string singertype = (string)txtsingertype.text; string singerbirthday = (string)txtsingerbirthday.text; string sql = string.format(insert into singers (singername,singersex,singercountry,sing

温馨提示

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

评论

0/150

提交评论