畢業(yè)設(shè)計(論文)KTV點歌系統(tǒng)設(shè)計_第1頁
畢業(yè)設(shè)計(論文)KTV點歌系統(tǒng)設(shè)計_第2頁
畢業(yè)設(shè)計(論文)KTV點歌系統(tǒng)設(shè)計_第3頁
畢業(yè)設(shè)計(論文)KTV點歌系統(tǒng)設(shè)計_第4頁
畢業(yè)設(shè)計(論文)KTV點歌系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1 緒論11選題背景迅速發(fā)展的計算機科學技術(shù)應(yīng)用越來越廣泛,已經(jīng)滲透到了人類社會生產(chǎn)和生活的各個領(lǐng)域。數(shù)據(jù)庫技術(shù)是計算機科學技術(shù)的一個重要分支,是現(xiàn)代化管理的重要手段,是研究數(shù)據(jù)共享的一門科學。近年來,人們利用數(shù)據(jù)庫技術(shù)對海量的數(shù)據(jù)進行處理,然后結(jié)合其他技術(shù)開發(fā)出了各種軟件,為人類生產(chǎn)生活提供了便利。娛樂是人的一生中不可或缺的部分。隨著現(xiàn)如今經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。同時,隨著生活節(jié)奏的加快,每個人都處于忙碌繁亂的社會當中,不論是在家庭,工作場所,或是學校中,無時無刻充滿著生活和學習上的壓力。在工作之余,找到一種能夠緩解壓力,釋放疲勞的娛樂方式,已成為大

2、家共同的愿望。因此娛樂業(yè)在服務(wù)行業(yè)中占有越來越重要的地位。然而,受到工作條件和時間的限制,越來越多的人們選擇了去ktv唱唱歌,跳跳舞或者在自己家中自娛自樂。ktv點歌系統(tǒng)也因此有了廣闊的發(fā)展前景。隨著ktv行業(yè)的迅猛發(fā)展,點歌系統(tǒng)在ktv里的重要性越來越大,特別是在面向普通消費者的量販式ktv,投資方在選系統(tǒng)的時候無不練就一雙金睛火眼,千挑萬選,而且更是在配套設(shè)備上重金投入,確保為消費者營造出一個更好的消費環(huán)境。ktv點歌系統(tǒng)被廣泛應(yīng)用于ktv、酒店、酒吧等娛樂場所中。我們一起來看看ktv點歌系統(tǒng)的相關(guān)知識。12主要內(nèi)容及研究意義ktv點歌系統(tǒng)以滿足用戶需求為宗旨,主要實現(xiàn)以下幾個功能目標:(

3、1)可以按不同方式選擇想要點選的歌曲,如歌星名、歌名、拼音等;(2)實現(xiàn)自主地視頻點播。經(jīng)壓縮的視頻和音頻頻信號儲存在服務(wù)器硬盤中,播放時由windows media player將視頻和音頻信號解壓后輸出到顯示設(shè)備。此ktv點歌系統(tǒng)完全取代了傳統(tǒng)的播放設(shè)備,無需影碟機及取碟和放碟等人工操作,既避免了人為的錯誤,又降低了經(jīng)營成本。 (3)實現(xiàn)原唱,不同程度的伴唱功能,還可以自主的進行音量控制。本ktv點歌系統(tǒng)是基于sql server 2005的優(yōu)點,并結(jié)合實際工作需求編制的應(yīng)用軟件。它具有功能強,便于操作、管理等優(yōu)點,同時節(jié)約了很大的成本。13論文組織結(jié)構(gòu)第一部分:緒論。介紹了論文的選題背景

4、、主要內(nèi)容和研究意義。第二部分:系統(tǒng)的整體設(shè)計。對整個系統(tǒng)結(jié)構(gòu)和各模塊功能的介紹。第三部分:系統(tǒng)登錄頁面的設(shè)計。對系統(tǒng)登錄模塊功能。第四部分:管理員模塊的設(shè)計。對管理員可以實現(xiàn)的功能的介紹。第五部分:普通用戶模塊的設(shè)計。對普通用戶使用系統(tǒng)的介紹。第六部分:數(shù)據(jù)庫模塊的設(shè)計。對與數(shù)據(jù)庫有關(guān)的操作的介紹。第七部分:系統(tǒng)安裝與測試。對系統(tǒng)整個功能的測試。第八部分:總結(jié)和體會。對整個系統(tǒng)總結(jié)并分析不足。2 系統(tǒng)的總體設(shè)計21功能需求描述 本系統(tǒng)界面開發(fā)工具采用 microsoft visual stadio 2005,后臺數(shù)據(jù)庫系統(tǒng)采用 sql server 2005,系統(tǒng)的運行平臺為windows。

5、ktv點歌系統(tǒng)主要由兩個模塊組成,分別為管理員模塊和普通用戶模塊。管理員有單獨的安全認證入口,此管理模塊具有添加、修改和刪除歌手和歌曲信息的功能。系統(tǒng)為普通用戶提供了常用的查詢功能,用戶可以根據(jù)自己的喜好在紛繁復(fù)雜的信息中快速查找到自己想要的信息。用戶通過查詢方式點選歌曲之后,歌曲信息將自動添加到播放列表,并調(diào)用播放器進行播放。22目標系統(tǒng)要求1、管理員能夠?qū)崿F(xiàn)對系統(tǒng)內(nèi)歌曲的添加、刪除等操作;普通用戶直接進入。2、點歌方式分為拼音(歌名)點歌、歌名點歌和明星點歌三種。3、選中歌曲后能調(diào)用windows media player播放,支持avi格式的視頻歌曲。4、數(shù)據(jù)庫存放視頻歌曲的地址,播放器

6、調(diào)用地址播放。3 系統(tǒng)登錄頁面的設(shè)計31登錄功能實現(xiàn)的設(shè)計登錄頁面截圖如下:登陸頁面分為兩部分組成,管理員需要通過用戶名和密碼驗證才能進入后臺管理,普通用戶則能直接進入主頁面。管理員登陸模塊部分主要代碼如下:int count=0; if (cboboxform.text = ) messagebox.show(請選擇登陸界面!, 登陸提示, messageboxbuttons.ok, messageboxicon.information); else if (cboboxform.text = 系統(tǒng)點歌) mainform mainform = new mainform(); mainfor

7、m.show(); this.hide(); if (cboboxform.text = 后臺數(shù)據(jù)維護) 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.

8、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.clos

9、e(); 3.1.1 ado.net訪問數(shù)據(jù)庫的方法c#使用ado技術(shù)訪問數(shù)據(jù)庫。ado全名為active data object,是microsoft為了企業(yè)數(shù)據(jù)整體存取需求所提出的解決方案uda(universal data access)之一。在c#中使用ado對象存取數(shù)據(jù)庫主要是使用其connection,recordset以及command三個對象。connection對象:負責開啟與鏈接到數(shù)據(jù)源的對象,通過connection對象也可以執(zhí)行命令.command對象:負責傳送能被數(shù)據(jù)源所執(zhí)行的命令的對象,命令是一文本字符串,通常是一個sql語句。命令的參數(shù)是以parameter對象表

10、示。command對象是一選擇項(optional)對象,并不是一定要使用,也就是說可根據(jù)數(shù)據(jù)源的特性選擇是否提供。例如:一些非結(jié)構(gòu)性數(shù)據(jù)提供者(unstructured data providers,如電子郵件系統(tǒng)),可能無法處理文字形態(tài)命令,就可以選擇不提供command對象。command對象除了能下達sql語句的命令外,也可以執(zhí)行后端數(shù)據(jù)庫所提供的預(yù)儲程序(store procedure)。recordset對象:負責存取數(shù)據(jù)庫內(nèi)容的對象,為一數(shù)據(jù)記錄集。command對象的命令執(zhí)行結(jié)果如果是數(shù)據(jù)記錄集,也是以recordset對象來表示。它可以依照查詢條件獲取或顯示所要的數(shù)據(jù)列與記錄

11、。recordset對象會保留每項查詢返回的記錄所在的位置,以便逐項查看結(jié)果。常用到的recordset對象的屬性和函數(shù)為: recordset.fields.count:返回recordset中的字段數(shù)。recordset(i).name:返回recordest中第i個字段的名稱,i是由0開始計算的,因此i的最大數(shù)目應(yīng)為recordset.fields.count-1。recordset.rcordcound:返回recordset中數(shù)據(jù)記錄的數(shù)目。recordset(i):返回recordset目前記錄中的第i個字段的數(shù)據(jù)。recordset.eof:判斷指針是否已超過recordset的

12、末端,如果是則返回ture,否則返回false。asp系統(tǒng)中采用sql數(shù)據(jù)庫時,可通過oledb連接sql server數(shù)據(jù)庫,連接語句的一般形式如下:“provider=sqloledb;data source=數(shù)據(jù)庫服務(wù)器名稱;”&“initial catalog=數(shù)據(jù)庫名稱;user id=登錄名稱;password=密碼;”其中,data source表示數(shù)據(jù)庫服務(wù)器名稱,如果是本地機器,可以設(shè)置為“(local)”。initial catalog為默認的數(shù)據(jù)庫名稱,因為sql server同時管理多個數(shù)據(jù)庫,因而需要指定具體的數(shù)據(jù)庫。如:dim conn 定義數(shù)據(jù)庫連接對象dim c

13、onnstr 定義數(shù)據(jù)庫連接字符串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 管理員模塊的設(shè)計41管理員后臺管理的設(shè)計4.1.1 管理員對明星信息管理的設(shè)計:管理員登陸后主頁面如圖:登陸后系統(tǒng)直接從數(shù)據(jù)庫中調(diào)用明星信息、歌曲信息等數(shù)據(jù)顯示到列表框內(nèi)。單擊添加按鈕,彈出添加明星信息頁

14、面,此處需注意所添加信息的格式,否則不能準確地保存到數(shù)據(jù)庫中。填好各項信息后,單擊保存按鈕后,添加的明星信息就會保存到已經(jīng)創(chuàng)建好的數(shù)據(jù)庫中。4.1.2 管理員對歌曲信息的操作界面:具體操作步驟參考4.1.1。4.1.3 管理員對用戶的操作界面:后臺管理部分不可能只能有一個人完成,所以該選項卡可以添加新的后臺管理者,或刪除閑置的管理員以達到最大限度節(jié)約資源的目的。5 普通用戶模塊的設(shè)計51歌曲查詢功能的設(shè)計5.1.1 拼音點歌功能的設(shè)計單擊拼音點歌按鈕,彈出拼音點歌的面板。此處并不是彈出一個窗體,而是一個面板,使用該面板能省去一些不必要的窗體,從而達到簡化代碼的目的。拼音點歌功能,實際上就是對數(shù)

15、據(jù)庫的查詢的操作,點擊查詢后,查詢結(jié)果。具體查詢代碼請看附錄。5.1.2 歌手點歌功能的設(shè)計5.1.3 歌名點歌功能的設(shè)計關(guān)于歌手點歌和歌名點歌功能的設(shè)計,請參照5.1.1所示。52歌曲播放功能的設(shè)計如果歌曲查詢結(jié)果不止為一條,那么此時點擊播放按鈕就會提示你先選擇一首歌曲,選中一條后再單擊播放按鈕,視頻歌曲就會自動播放了。此播放器的制作,是使用vs 2005自帶的windows media player控件,具體代碼請參考附件。6 數(shù)據(jù)庫模塊的設(shè)計61 數(shù)據(jù)庫的創(chuàng)建工作在信息世界中,信息從客觀事物出發(fā)流經(jīng)數(shù)據(jù)庫,通過決策機構(gòu)最后又回到客觀世界,信息的這一循環(huán)經(jīng)歷了三個領(lǐng)域:信息世界,數(shù)據(jù)世界,

16、現(xiàn)實世界?,F(xiàn)實世界的事物反映到人的頭腦中,人的大腦對它有個認識過程,經(jīng)過分析(選擇、命名、分類等)進入信息世界。這些信息再進一步加工、編碼,然后進入數(shù)據(jù)世界,而軟件系統(tǒng)的開發(fā)工作需要考慮這兩個方面的問題,也就是要考慮系統(tǒng)開發(fā)所需要的數(shù)據(jù),以及如何對這些數(shù)據(jù)進行操作。這兩個問題貫穿了整個軟件系統(tǒng)的開發(fā)過程,這也就是數(shù)據(jù)庫的設(shè)計問題,軟件設(shè)計的一個核心。使用sql server2005創(chuàng)建一個名為ktvdb的數(shù)據(jù)庫,然后添加3張表,第一張表用于保存管理員的登錄信息,第二張表用于保存歌手信息,第三章表用于保存歌曲信息。三張表的詳細信息如下圖所示:表名:admin表名:singers表名:songs注

17、:歌曲信息存放在數(shù)據(jù)庫中的只是它們的物理路徑,播放器通過調(diào)用數(shù)據(jù)庫中的路徑進行歌曲的播放。7 系統(tǒng)安裝與測試71 系統(tǒng)的運行環(huán)境7.1.1 系統(tǒng)運行環(huán)境:1. 網(wǎng)絡(luò)環(huán)境:windows xp sp22. 工作站:microsoft windows 2000、windows xp persional3. 數(shù)據(jù)庫服務(wù)器:microsoft sql server 20054. 開發(fā)工具:microsoft vistal stadio 2005系統(tǒng)的運行:雙擊bin目錄下的exe文件,路徑為:ktvsystembindebugktvsystem.exe72 系統(tǒng)的測試系統(tǒng)測試是系統(tǒng)完成前的一項重要的工

18、作,應(yīng)該盡可能完整地測試自己的系統(tǒng),檢查所有的代碼是否正確規(guī)范,文字是否準確,效果是否恰當,功能是否完善。測試要注意的問題:整個系統(tǒng)風格是否一致,包括色彩、字體、鏈接、菜單等等,單擊某一按鈕不能有似乎換了一個系統(tǒng)的感覺;編碼規(guī)范是對一個程序員的基本要求,要盡量使系統(tǒng)的代碼規(guī)范,還要避免冗余,釋放系統(tǒng)資源。同時要考慮服務(wù)器的承受能力。測試身份驗證和點歌功能通過輸入不同的數(shù)據(jù)來測試是否出錯,另外還要測試該模塊是否能夠?qū)崿F(xiàn)身份驗證。下面就是針對該模塊的測試方法和測試數(shù)據(jù):點歌系統(tǒng),普通用戶是可以直接進入主頁面,即點歌頁面的。如果登錄時選擇后臺數(shù)據(jù)維護模式,此時如果用戶名和密碼為空,單擊“登錄”按鈕,

19、測試是否不輸入用戶名也能夠進入該系統(tǒng),以防止沒有該口令的人進入該系統(tǒng)。此時系統(tǒng)會自動彈出一個“用戶名或密碼錯誤”的對話框。接著再進行點歌功能的測試,如果不輸入歌名直接查詢,測試是否會提示你“請輸入歌名!” 。8 總結(jié)和體會對于任何一個軟件系統(tǒng)都不可能說是完美的系統(tǒng),只能說該軟件系統(tǒng)是否滿足當時的大部分需求,是否能夠提高工作效率。而做出來的系統(tǒng)是不是符合用戶的需求,有時候也由于個人的能力和當時的技術(shù)限制,使得做出來的系統(tǒng)不可能做到面面俱到。每個系統(tǒng)都是投入使用后,發(fā)現(xiàn)其缺點,繼而在使用的過程中要根據(jù)需要不斷的進行修改與維護,增加新的功能,刪除不必要的功能,使系統(tǒng)變得更加完善、更加完美。81 系統(tǒng)

20、的不足和改進對于本系統(tǒng)來說,也有很多的缺點和不足之處??偨Y(jié)起來,主要有以下幾點:1. 設(shè)計界面的不足具體涉及到界面顏色的搭配和布局的設(shè)計,在本系統(tǒng)中稍微顯得有點單調(diào),但是又不知道該怎么去搭配這個顏色,怎樣來調(diào)整布局,所以以后還要慢慢學習,爭取做到既個性又不招搖。2. 后臺腳本語言的不足發(fā)現(xiàn)本設(shè)計中的語言顯得有些繁雜,特別是在冗余代碼上有點麻煩,造成一些操作和代碼出現(xiàn)冗余,系統(tǒng)處理速度稍顯過慢,有些在系統(tǒng)中已經(jīng)作了改進,但是還有很多需要學習的地方。3. 系統(tǒng)優(yōu)化的不足4. 普通用戶模塊的功能不夠完善5. 對于突發(fā)性事件考慮不足本系統(tǒng)并不是一個完美的系統(tǒng),在以后的學習和工作中,還需要不斷的完善和改

21、進。比如在系統(tǒng)中加入以下的功能:在管理員登錄的時候能夠加入驗證信息,使其傳遞信息更加的安全。播放器的功能相對較少,點歌時聲道切換并不能實現(xiàn),視頻效果也不太清晰。在歌曲的查詢方面做的還不夠好,現(xiàn)在的消費者都追求簡單時尚,如果把查詢功能做的更智能、更簡練,如只輸入歌名的首字母,符合條件的歌曲都羅列出來,供用戶選擇,相信系統(tǒng)會變得更加完美。致謝首先感謝本人的導(dǎo)師張正本老師,他對我的仔細審閱了本文的全部內(nèi)容并對我的畢業(yè)設(shè)計內(nèi)容提出了許多建設(shè)性建議。張正本老師淵博的知識,誠懇的為人,使我受益匪淺,在畢業(yè)設(shè)計的過程中,特別是遇到困難時,他給了我鼓勵和幫助,在這里我向他表示真誠的感謝!感謝母校河南機電高等專

22、科學校的辛勤培育之恩!感謝計算機科學系給我提供網(wǎng)絡(luò)實驗室很好的一個實驗環(huán)境,使我學到了許多新的知識和操作技能。感謝和我在一起進行課題研究的所有同學,和他們在一起討論、研究使我受益非淺。還要衷心感謝計算機科學與技術(shù)系全體老師三年來對本人的教誨,他們不僅使本人的知識、能力得到提高,更重要的是教會了本人怎樣提高自己的自學能力,怎樣去適應(yīng)社會。愿母校明天更輝煌,全體老師身體健康、心想事成。參考文獻1 accp.使用c#開發(fā)數(shù)據(jù)庫應(yīng)用程序 北京:科學技術(shù)文獻出版社,20082 accp.sql server數(shù)據(jù)庫設(shè)計和高級查詢 北京:科學技術(shù)文獻出版社,20083 尚俊杰.net 程序設(shè)計m北京:清華大

23、學出版社,北京交通大學出版社20044 朱如龍sql server數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)m機械工業(yè)出版社20045 童愛紅visual c#.net應(yīng)用教程m清華大學出版社北京交通大學出版社20046 (美)內(nèi)格爾等編著,李敏波 翻譯c高級編程(第4版)m清華大學出版社20027 李昆sqlserver 2000課程設(shè)計案例精編m水利水電出版社20068 鄒建中文版sql server2000開發(fā)與管理應(yīng)用實例m人民郵電出版社9 kouresh ardestani 著,張哲峰 譯高效掌握ado.netc#編程篇北京:清華大學出版社200310戴宗友,張伍容,楊輝.c#程序設(shè)計實訓m. 清華大學

24、出版社,200911伍俊良.c#程序應(yīng)用與開發(fā)教程. 機械工業(yè)出版社,2009附錄:各個功能模塊的主要代碼1. 用于連接數(shù)據(jù)庫的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_cl

25、ick(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

26、(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(抱歉,沒

27、有您要找的歌曲, 查詢結(jié)果, 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 listv

28、iewitem(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_cl

29、ick(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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論