版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息工程系</b></p><p> 畢業(yè)設(shè)計論文(報告)</p><p> 題 目: </p><p> 學(xué) 號: </p><p> 姓 名: </p><p>
2、專 業(yè): </p><p> 班 級: </p><p> 指導(dǎo)教師: </p><p> 設(shè)計地點: </p><p><b> 2012年 06月</b></p><p><
3、;b> 目 錄</b></p><p><b> 摘要3</b></p><p> 第 1 章 概 述4</p><p> 1.1 題目背景4</p><p> 1.2 研究意義5</p><p> 1.3 本系統(tǒng)的優(yōu)勢及特點5</p><
4、;p> 第 2 章 需求分析6</p><p> 2.1 項目的內(nèi)容及要求6</p><p> 2.2 可行性分析6</p><p> 2.2.1 經(jīng)濟(jì)可行性6</p><p> 2.2.2 技術(shù)可行性開發(fā)語言7</p><p> 2.3 開發(fā)工具論述7</p>&l
5、t;p> 2.3.1 前臺開發(fā)工具7</p><p> 2.3.2 后臺數(shù)據(jù)庫7</p><p> 第 3 章 系統(tǒng)設(shè)計8</p><p> 3.1 系統(tǒng)功能分析8</p><p> 3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計9</p><p> 第 4 章 系統(tǒng)行為特性設(shè)計9</p>
6、<p> 4.1 軟件結(jié)構(gòu)設(shè)計9</p><p> 4.1.1 點歌模塊設(shè)計9</p><p> 4.2 功能模塊設(shè)計10</p><p> 4.2.1 歌星點歌子模塊12</p><p> 4.2.2 拼音點歌子模塊14</p><p> 4.2.3 分類點歌子模塊16
7、</p><p> 4.2.4 語種點歌子模塊17</p><p> 4.2.5 編碼點歌子模塊18</p><p> 4.2.6 已點歌曲子模塊20</p><p> 第五章 系統(tǒng)運行與調(diào)試22</p><p> 5.1 系統(tǒng)測試方案22</p><p> 5.2
8、 系統(tǒng)結(jié)果分析與調(diào)試22</p><p> 第六章 畢業(yè)設(shè)計小結(jié)23</p><p><b> 摘要</b></p><p> 隨著社會的發(fā)展,人類的進(jìn)步,21世紀(jì)人們的生活水平有所提高,為了滿足人們對生活的需要,豐富的業(yè)余生活,就需要有一些娛樂的設(shè)施來彌補這些空缺,所以開發(fā)了自動點歌系統(tǒng)。</p><p>
9、 論文詳細(xì)論述了系統(tǒng)總體設(shè)計思想、數(shù)據(jù)庫設(shè)計及功能模塊設(shè)計等,給出了自動點歌系統(tǒng)一般流程。該系統(tǒng)主要包括:按歌曲類型點歌、按歌曲作者點歌、按歌星點歌、按拼音點歌、按歌曲編號點歌、按歌曲語種點歌極大點歌模塊;還可實現(xiàn)對各種歌曲的查詢點歌、播放控制歌曲。</p><p><b> 第 1 章 概 述</b></p><p><b> 1.1 題目背景<
10、;/b></p><p> 迅速發(fā)展的計算機(jī)科學(xué)技術(shù)應(yīng)用越來越廣泛,已經(jīng)滲透到了人類社會生產(chǎn)和生活的各個領(lǐng)域。數(shù)據(jù)庫技術(shù)是計算機(jī)科學(xué)技術(shù)的一個重要分支,是現(xiàn)代化管理的重要手段,是研究數(shù)據(jù)共享的一門科學(xué)。近年來,人們利用數(shù)據(jù)庫技術(shù)對海量的數(shù)據(jù)進(jìn)行處理,然后結(jié)合其他技術(shù)開發(fā)除了各種軟件,為人類生活提供了便利。</p><p> 娛樂是人的一生中不可或缺的部分。隨著現(xiàn)如今經(jīng)濟(jì)文化水平的
11、顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。同事,隨著生活節(jié)奏的加快,每個人都處于忙碌繁亂的社會的那個當(dāng)中,不論是在家庭,工作場所,或是學(xué)校中,無時無刻充滿著生活和學(xué)習(xí)上的壓力。工作之余,找到一種能夠換季壓力,釋放疲勞的娛樂方式,已成為大家共同的愿望。因此娛樂業(yè)在服務(wù)行業(yè)中占有越來越重要的地位。然而,受到工作條件和時間的限制,越來越多的人們選擇了去KTV唱唱歌,跳跳舞或者在自己家中自娛自樂KTV點歌系統(tǒng)也因此有了廣闊的發(fā)展前景。
12、</p><p> 隨著KTV行業(yè)的迅猛發(fā)展,點歌系統(tǒng)在KTV里的重要性越來越大,特別是在面向普通消費者的量版式KTV,投資方在選系統(tǒng)的時候無不練就一雙金睛火眼,千挑萬選,而且更是在配套設(shè)備上重金投入,確保為消費者營造出一個更好的消費環(huán)境。KTV點歌系統(tǒng)被廣泛應(yīng)用于KTV、酒店、酒吧等娛樂場所中。我們一起來看看KTV點歌系統(tǒng)的相關(guān)知識。</p><p><b> 1.2 研究
13、意義</b></p><p> ?。耍裕贮c歌系統(tǒng)主要用于KTV內(nèi)選歌的各種方式,例如有數(shù)字點歌、拼音點歌、明星點歌、等多種選擇方式,便于在點歌時對歌曲的掌握,以及能迅速選擇到自己喜歡的音樂,同時減少了傳統(tǒng)的一個一個的按順序去查找。節(jié)省了時間,使其讓更多的時間用在享受上,而不是查找上,提高了查找歌曲的效率。因此也會有更多的人選擇只能化的KTV去消費,直接提高了KTV的收益。因此KTV點歌系統(tǒng)是企業(yè)化、智
14、能化、科學(xué)化和正規(guī)化不可缺少的管理軟件。</p><p> 1.3 本系統(tǒng)的優(yōu)勢及特點</p><p> 本系統(tǒng)采用Microsoft.NET基礎(chǔ)的平臺,采用設(shè)計模式以及工作流技術(shù)的解決方案來進(jìn)行設(shè)計和開發(fā)。</p><p><b> 其特點及優(yōu)勢在于:</b></p><p> 采用的Microsoft.NET
15、平臺是目前開發(fā)企業(yè)級分布式軟件應(yīng)用的最的應(yīng)用結(jié)構(gòu)之一,它支持簡化的、基于組件的開發(fā)模式。</p><p> 采用的是分類管理,根據(jù)音樂的不同特點,存儲音樂,對查找有很好的管理,使得處理起來更加簡潔。</p><p> 此系統(tǒng)屬于小型KTV點歌系統(tǒng),為用戶提供了一個方便快捷的音樂管理和播放平臺。</p><p> 免于用戶處在歌海中找歌,猶如大海撈針,為用戶省下
16、了寶貴的時間。</p><p> 第 2 章 需求分析</p><p> 2.1 項目的內(nèi)容及要求</p><p> KTV點歌系統(tǒng)是娛樂場所的一項管理措施,因此開發(fā)KTV點歌系統(tǒng)具有較大的社會意義,同時點歌系統(tǒng)是一娛樂軟件的開端,它具有簡單的軟件特征,系統(tǒng)結(jié)構(gòu)與現(xiàn)實生活緊密結(jié)合,具體直觀,具有典范的便捷軟件特點。KTV點歌系統(tǒng)主要用于對音樂的各項查找,操作簡
17、單,直觀。用起來極為方便。減少了手工操對工作人員帶來的不便和繁瑣,使每個用戶都能根據(jù)自己愛好選擇自己喜歡的音樂。因此,KTV點歌系統(tǒng)是企業(yè)化、智能化、科學(xué)化、正規(guī)化不可缺少的管理軟件。它的系統(tǒng)功能要求主要包括:</p><p> (1)點播方式:按歌曲種類查找點播;按歌曲的編號查找點播;按歌手的姓名首字母查找點播;</p><p> ?。?)點播曲目管理:選中曲目的優(yōu)先被點唱,選中曲目的
18、刪除。</p><p> ?。?)歌曲播放時的管理:下一首、上一首、暫停、停止。</p><p> 2.2 可行性分析</p><p> 開發(fā)本系統(tǒng)要從它的經(jīng)濟(jì)和技術(shù)角度全面考慮,要在利用最少的經(jīng)濟(jì)條件把系統(tǒng)的功能實現(xiàn)。</p><p> 2.2.1 經(jīng)濟(jì)可行性</p><p> 隨著人們生活水平的不斷提高
19、,工作壓力越來越大,根據(jù)這個形式,就需要一些娛樂設(shè)施來減輕人們的生活負(fù)擔(dān),同時還能豐富業(yè)余生活。開發(fā)點歌系統(tǒng)是一個很好的方法,它以較低的成本達(dá)到人們滿意的效果。本軟件的成本費用:目前,在市場上購買一臺普通PC機(jī)大約需要3000-4000元,此系統(tǒng)開發(fā)工作人員的三個月工資大約要10000元,做系統(tǒng)調(diào)研及各種資料費等各種費用大約需要5000元。電費等其他各種費用大約需要1000元。</p><p> 自動點歌系統(tǒng)是
20、我根據(jù)現(xiàn)在人們生活的實際情況,在考慮到系統(tǒng)的可行性:目標(biāo)和方案可行性,技術(shù)可行性,經(jīng)濟(jì)方面的可行性等。因素的基礎(chǔ)上進(jìn)行開發(fā)的。它針對管理中的實際情況,能夠解決一些實際問題,對各種歌曲信息進(jìn)行管理,條理非常清晰,用戶便于操作。而且克服了購買現(xiàn)成軟件存在的專用性較差的問題。當(dāng)然,它也存在一些不足之處,需要不斷的完善。</p><p> 2.2.2 技術(shù)可行性開發(fā)語言</p><p> 該
21、系統(tǒng)前臺我使用Visual Studio 2008作為開發(fā)工具,后臺數(shù)據(jù)庫使用SQL Server 2005,該軟件的開發(fā)是在XP操作系統(tǒng)下進(jìn)行,利用Visual Studio 2008工具進(jìn)行開發(fā),不需要任何大型的系統(tǒng)軟件和應(yīng)用軟件來支持。</p><p> 該系統(tǒng)是一個多媒體播放的娛樂軟件,對該軟件的操作不需要高配置的計算機(jī),只要在該計算機(jī)上能夠運行Windows 98,2000,XP操作系統(tǒng)即可,也不需要
22、高配置的計算機(jī)來開發(fā)和運行該軟件。</p><p> 綜上,開發(fā)該管理軟件具有技術(shù)可行性的。</p><p> 2.3 開發(fā)工具論述</p><p> 本軟件為KTV點歌系統(tǒng),需對各種歌曲進(jìn)行管理。因此,本軟件前臺使用Visual Studio 2008作為開發(fā)工具,后臺數(shù)據(jù)庫使用SQL Server 2005。</p><p>
23、2.3.1 前臺開發(fā)工具</p><p> 前臺使用Microsoft公司的Visual Studio 2008 作為開發(fā)工具。它是一種可視化的,面向?qū)ο蟮臄?shù)據(jù)庫開發(fā)工具。它的數(shù)據(jù)窗口大大地簡化了數(shù)據(jù)庫應(yīng)用程序的開發(fā),是設(shè)計數(shù)據(jù)庫應(yīng)用程序的極好前臺工具。它能夠迅速有效的編制程序界面,它的這種快速程序開發(fā)環(huán)境在界面設(shè)計和程序開發(fā)中是非常有效的。Visual Studio 2008提供了大量的控件,利用這些控件可
24、以進(jìn)行界面設(shè)計。它易學(xué)易用,可以大大減少編程人員的工作量,基于以上優(yōu)點,該系統(tǒng)采用Visual Studio 2008作為開發(fā)工具。</p><p> 2.3.2 后臺數(shù)據(jù)庫</p><p> 后臺數(shù)據(jù)庫采用SQL Server 2005來實現(xiàn)。SQL Server 2005數(shù)據(jù)庫是一種高性能的關(guān)系型數(shù)據(jù)庫,它是可以實現(xiàn)一定量的數(shù)據(jù)處理和管理數(shù)據(jù)存儲。它可以用數(shù)據(jù)庫查詢和程序化語言。
25、SQL Server 2005通過更新和管理數(shù)據(jù)來訪問數(shù)據(jù)。SQL Server 2005(結(jié)構(gòu)化查詢語言)作為一種在關(guān)系型數(shù)據(jù)庫中定義和操作數(shù)據(jù)的標(biāo)準(zhǔn)語言,它的最大特點是直觀,簡單易學(xué),功能豐富,使用方便。尤其是它的查詢語句可以對一個或多個表進(jìn)行查詢,還可以對視圖進(jìn)行查詢。</p><p> Visual Studio 2008不但是一個高效快速開發(fā)數(shù)據(jù)庫應(yīng)用程序的強大工具,而且也是方便快捷地開發(fā)功能完善的W
26、indows應(yīng)用程序的工具之一。通過Visual Studio 2008來訪問數(shù)據(jù)庫并對其進(jìn)行各種操作。與數(shù)據(jù)庫接口相連,建立連接后,通過SQL Server 2005語句或數(shù)據(jù)窗口與數(shù)據(jù)窗口控件一起將數(shù)據(jù)庫中的數(shù)據(jù)信息顯示出來。</p><p> 第 3 章 系統(tǒng)設(shè)計</p><p> 系統(tǒng)設(shè)計又稱系統(tǒng)物理設(shè)計。它根據(jù)系統(tǒng)分析報告中的系統(tǒng)邏輯模型綜合考慮各種約束,利用一切可利用的技術(shù)
27、手段和方法進(jìn)行具體設(shè)計,確定新系統(tǒng)的實施方案,解決系統(tǒng)怎么做的問題。該系統(tǒng)的總體任務(wù)是管理各種歌曲,按原唱者姓名和姓名首字母查找點播;按歌曲編號查找點播;按歌曲種類查找點播;按等;選中的曲目排隊/選中的歌曲優(yōu)先被點唱。在系統(tǒng)調(diào)研的基礎(chǔ)上,對系統(tǒng)的功能進(jìn)行細(xì)致的分析,并建立一個新系統(tǒng)的邏輯模型。</p><p> 3.1 系統(tǒng)功能分析</p><p> 系統(tǒng)要完成的主要功能有:管理各種
28、歌曲,然后分別按歌曲拼音點歌,按歌曲作者點歌,按歌曲類型點歌,按歌曲語種點歌。點播曲目管理:選中的曲目排隊/選中曲目優(yōu)先被點唱。歌曲播放的操作:暫停/停止/下一曲/上一曲。</p><p> 類型點歌:選擇按歌曲類型點歌后,顯示的是不同類型的歌曲,分別是軍歌、</p><p> 語種點歌:選擇歌曲語種點歌后,顯示的是不同語言的歌曲,分別是漢語、英語、日語、漢語,再選其中的一項,然后利用
29、歌曲拼音查詢選的歌曲。</p><p> 點播曲目管理:選中的曲目排隊/選中的曲目優(yōu)先被點唱。</p><p> 歌曲播放的管理:選中的曲目暫停/選中的曲目停止/選中的曲目的下一曲/選中的曲目的上一曲。</p><p> 3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直
30、接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)將有利于程序的實現(xiàn)。</p><p> 開發(fā)本系統(tǒng)共設(shè)計了個表如下所示:</p><p> 第 4 章 系統(tǒng)行為特性設(shè)計</p><p> 4.1 軟件結(jié)構(gòu)設(shè)計</p><p> 按照整體的功能設(shè)計,該系
31、統(tǒng)包括點歌模塊和播放控制模塊。</p><p> 4.1.1 點歌模塊設(shè)計</p><p><b> 功能描述:</b></p><p> 進(jìn)入KTV點歌系統(tǒng)后,顯示的是各種點歌模式:有歌手點歌,拼音點歌、分類點歌、語種點歌,編碼點歌,每個點歌模塊都可以查詢想要點的歌曲。</p><p> 歌手點歌:男歌星、女
32、歌星、港臺男星、港臺女星、大陸男星、大陸女星</p><p> 分類點歌:流行、紅歌、合唱、民歌、搖滾、DJ</p><p> 語種點歌:國語、粵語、韓語、日語、英語</p><p> 4.2 功能模塊設(shè)計</p><p> 對上述各項功能進(jìn)行集中,分塊,按照結(jié)構(gòu)化程序設(shè)計的要求,分為歌手點歌,拼音點歌、分類點歌、語種點歌,編碼點
33、歌和播放控制歌曲功能模塊,得到系統(tǒng)模塊圖如下:</p><p> 系統(tǒng)主頁面具有視窗、點歌方式、歌曲控制等功能,具體代碼如下:</p><p><b> //打開窗體</b></p><p> private void MainPage(Form myForm)</p><p><b> {</b
34、></p><p> myForm.TopLevel = false;</p><p> myForm.FormBorderStyle = FormBorderStyle.None;</p><p> myForm.Dock = DockStyle.Fill;</p><p> pnlFill.Controls.Add(myFo
35、rm);</p><p> myForm.BringToFront();</p><p> myForm.Show();</p><p><b> }</b></p><p><b> //添加歌曲</b></p><p> private void AddSong
36、()</p><p><b> {</b></p><p> numOfMusic = 0;</p><p> DataTable myDt = new DataTable();</p><p> array = new ArrayList();</p><p> myDt = myEx
37、sitSong.Search("");</p><p> foreach (DataRow dr in myDt.Rows)</p><p><b> { </b></p><p> array.Add(dr["SONGPATH"].ToString());</p><p>
38、 numOfMusic++;</p><p><b> }</b></p><p> lblExistSong.Text =myDt.Rows.Count.ToString() + "首º¡Á";</p><p><b> }</b></p><
39、p><b> //下一曲</b></p><p> private void btnNextPlay_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!IsNull())</p><p><b&g
40、t; {</b></p><p><b> return;</b></p><p><b> }</b></p><p> if (currentplay + 1 >= numOfMusic)</p><p><b> {</b></p>
41、<p> currentplay = 0;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> currentplay ++;</p><p>
42、<b> }</b></p><p> Play(currentplay);</p><p> flag = false;</p><p><b> }</b></p><p><b> //上一曲</b></p><p> private
43、void btnPrePlay_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!IsNull())</p><p><b> {</b></p><p><b> return;</b>
44、;</p><p><b> }</b></p><p> if (currentplay - 1 < 0)</p><p><b> {</b></p><p> currentplay = numOfMusic - 1;</p><p><b>
45、 }</b></p><p><b> else</b></p><p><b> {</b></p><p> currentplay--;</p><p><b> }</b></p><p> Play(currentplay
46、);</p><p> flag = false;</p><p><b> }</b></p><p> 4.2.1 歌星點歌子模塊</p><p> 界面設(shè)計:該模塊主要實現(xiàn)按照歌星進(jìn)行查找歌曲。如圖:</p><p> 歌星點歌子模塊功能描述,點擊歌星列出所有的符合條件的歌星,然
47、后單擊歌星查找想要點的歌曲,如圖(此處單擊男歌星):</p><p><b> 其代碼如下:</b></p><p><b> //初始化數(shù)據(jù)</b></p><p> private void InitData()</p><p><b> {</b></p&g
48、t;<p> pnlFemaleSinger.Tag = lblFemaleSinger.Text.Substring(2, 1);</p><p> pnlMaleSinger.Tag = lblMaleSinger.Text.Substring(2, 1);</p><p> pnlHongKongFemale.Tag = lblHongKongFemale.Tex
49、t.Substring(2, 3);</p><p> pnlHongKongMale.Tag = lblHongKongMale.Text.Substring(2, 3); </p><p> pnlForeign.Tag = lblForeign.Text.Substring(2, 2);</p><p><b> }</b><
50、/p><p> //根據(jù)歌手性別查找歌曲</p><p> private void SingerSex_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Instantiation();</p><p> Panel
51、 pnl = (Panel)sender;</p><p> mySinger.SingerSex = pnl.Tag.ToString();</p><p> OpenForm();</p><p><b> }</b></p><p><b> //動態(tài)添加歌手名</b></p&g
52、t;<p> private void AddLable(int paramValue, DataTable myTable)</p><p><b> {</b></p><p> Label lblName;</p><p> lblName = new Label();</p><p> l
53、blName.BackColor = Color.Transparent;</p><p> lblName.Text = paramValue + 1 + "." + myTable.Rows[paramValue][0].ToString();</p><p> lblName.Font = new Font("隸¢£¤書
54、º¨¦", 20, FontStyle.Bold);</p><p> lblName.Size = new System.Drawing.Size(180, 36);</p><p> if (paramValue <= 3)</p><p><b> {</b></p>&l
55、t;p> lblName.Location = new Point(paramValue * 190, 5);</p><p> this.pnlNameOne.Controls.Add(lblName);</p><p><b> }</b></p><p><b> else</b></p>
56、<p><b> {</b></p><p> lblName.Location = new Point((paramValue - 4) * 190, 5);</p><p> this.pnlNameTwo.Controls.Add(lblName);</p><p><b> }</b></
57、p><p><b> }</b></p><p> //初始化照片和邊框</p><p> private void AddBorder(int paramValue,Panel pnlBorder, Panel pnlImage)</p><p><b> {</b></p>&
58、lt;p> pnlImage.Size = new System.Drawing.Size(130, 160);</p><p> pnlImage.BackgroundImageLayout = ImageLayout.Stretch;</p><p> pnlImage.BorderStyle = BorderStyle.None;</p><p>
59、 pnlImage.Cursor = Cursors.Hand;</p><p> pnlBorder.Size = new Size(150, 180);</p><p> pnlBorder.BorderStyle = BorderStyle.None;</p><p> pnlBorder.BackgroundImage = Image.FromFil
60、e("border.jpg");</p><p> pnlBorder.BackgroundImageLayout = ImageLayout.Stretch;</p><p> pnlBorder.Controls.Add(pnlImage);</p><p><b> }</b></p><p&
61、gt;<b> //綁定數(shù)據(jù)</b></p><p> private void InitLoadData()</p><p><b> {</b></p><p> myDtInfo=myDt.Clone();</p><p> nStartPos = nCurrent;</p&g
62、t;<p> if (PageCurrent == PageCount)</p><p><b> {</b></p><p> nEndPos = nMax;</p><p><b> }</b></p><p><b> else</b></p
63、><p><b> {</b></p><p> nEndPos = PageSize * PageCurrent;</p><p><b> }</b></p><p> for (int i = nStartPos; i < nEndPos; i++)</p><p
64、><b> {</b></p><p> myDtInfo.ImportRow(myDt.Rows[i]);</p><p><b> }</b></p><p> txtPageCurrent.Text = "第̨²" + PageCurrent.ToSt
65、ring();</p><p> txtPageCount.Text = "/" + PageCount.ToString() + "頁°3";</p><p> GetPic(myDtInfo);</p><p><b> }</b></p><p> 4.2.
66、2 拼音點歌子模塊</p><p> 界面設(shè)計:該界面按照拼音點歌,故添加了26個字母,如圖:</p><p> 根據(jù)點擊的字母出現(xiàn)匹配的歌曲,如圖(此處匹配為A):</p><p><b> 實現(xiàn)代碼如下:</b></p><p> //點擊拼音字母事件</p><p> priva
67、te void SongSpell_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Button btnSongSpell = (Button)sender;</p><p> SongSpell = SongSpell + btnSongSpell.Text.T
68、oString();</p><p> SongSearch();</p><p><b> }</b></p><p><b> //查詢歌曲</b></p><p> private void SongSearch()</p><p><b> {&l
69、t;/b></p><p> txtSpell.Text = SongSpell;</p><p> if (!isNull())</p><p><b> {</b></p><p><b> return;</b></p><p><b> }&
70、lt;/b></p><p> mySong.SongSpell = SongSpell;</p><p> DataTable myDataTable = new DataTable();</p><p> myDataTable = myBUSong.GetList(mySong);</p><p> if (myDataT
71、able.Rows.Count == 0)</p><p><b> {</b></p><p><b> return;</b></p><p><b> }</b></p><p> DtInfo = myDataTable;</p><p>
72、; InitData();</p><p><b> }</b></p><p><b> //動態(tài)添加歌曲</b></p><p> private void AddSong(DataTable myTable)</p><p><b> {</b></p&g
73、t;<p> ClearLable();</p><p> Label lbl;</p><p> for (int i = 0; i < myTable.Rows.Count; i++)</p><p><b> {</b></p><p> lbl = new Label();</
74、p><p> lbl.Location = new Point(150, 35 + i * 90);</p><p> lbl.Size = new Size(400, 33); </p><p> lbl.Text = myTable.Rows[i][0].ToString();</p><p> lbl.Tag = myTable.R
75、ows[i]["SONGPATH"].ToString();</p><p> lbl.Cursor = Cursors.Hand;</p><p> lbl.DoubleClick += new EventHandler(lbl_DoubleClick);</p><p> this.Controls.Add(lbl);</p>
76、;<p><b> }</b></p><p><b> }</b></p><p> 4.2.3 分類點歌子模塊</p><p> 界面設(shè)計:該界面按照流行,紅歌等選項查找歌曲顯示的界面如圖:</p><p> 類型點歌具有流行、紅歌、合唱等分類,具體代碼如下:</
77、p><p><b> //單擊類型的事件</b></p><p> private void SongCategory_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> myDt = new DataTable();<
78、;/p><p> Panel pnl = (Panel)sender;</p><p> mySongCategory.SongCategoryName = pnl.Tag.ToString();</p><p> mySong.SongCategoryID= myBUSong.GetSongCategoryID(mySongCategory);</p>
79、;<p> myDt = myBUSong.GetList(mySong);</p><p> frmList myfrmList = new frmList(myDt);</p><p> OpenForm(myfrmList);</p><p><b> }</b></p><p> 4.2.
80、4 語種點歌子模塊</p><p> 界面設(shè)計:該界面可以按照國語、粵語、英語、韓語等查詢歌曲,如圖:</p><p> 語種點歌具有按照語言不同點歌的功能,具體代碼如下:</p><p><b> //打開窗體</b></p><p> private void OpenForm(DataTable myDa
81、taTable)</p><p><b> {</b></p><p> frmList myfrmList = new frmList(myDataTable);</p><p> myfrmList.TopLevel = false;</p><p> myfrmList.FormBorderStyle =
82、FormBorderStyle.None;</p><p> myfrmList.Dock = DockStyle.Fill;</p><p> this.Controls.Add(myfrmList);</p><p> myfrmList.BringToFront();</p><p> myfrmList.Show();<
83、/p><p><b> }</b></p><p> //歌曲列表單擊事件</p><p> private void SongList_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Data
84、Table myDt = new DataTable();</p><p> Panel pnl = (Panel)sender;</p><p> myLanguage.SongLanguage = pnl.Tag.ToString();</p><p> string SongLanguageID = myBUSong.GetSongLanguageID(
85、myLanguage);</p><p> mySong.SongLanguageID = SongLanguageID;</p><p> myDt = myBUSong.GetList(mySong);</p><p> OpenForm(myDt);</p><p><b> }</b></p>
86、<p> 4.2.5 編碼點歌子模塊</p><p> 界面設(shè)計:按照歌曲的編碼進(jìn)行點歌,如圖:</p><p> 編碼點歌具有0~9個數(shù)字,點擊數(shù)字組成編碼,能快速的查到歌曲,具體代碼如下:</p><p><b> //獲取歌曲名稱</b></p><p> private void Get
87、SongName()</p><p><b> {</b></p><p> lblCode.Text = SongID;</p><p> if (!isNull())</p><p><b> {</b></p><p><b> return;<
88、;/b></p><p><b> }</b></p><p> mySong.SongID = SongID;</p><p> myDt = new DataTable();</p><p> myDt = myBUSong.GetList(mySong);</p><p>
89、if (myDt.Rows.Count == 0)</p><p><b> {</b></p><p> lblSong.Text = "暫無歌曲";</p><p><b> return;</b></p><p><b> }</b></
90、p><p> lblSong.Text = myDt.Rows[0][0].ToString();</p><p> lblSong.Tag=myDt.Rows[0]["SONGPATH"].ToString();</p><p><b> }</b></p><p><b> //回退
91、事件</b></p><p> private void btnBackSpacing_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if(!isNull())</p><p><b> {</b>&l
92、t;/p><p><b> return;</b></p><p><b> }</b></p><p> SongID = SongID.Substring(0, SongID.Length - 1).ToString();</p><p> GetSongName();</p>
93、<p><b> }</b></p><p> 4.2.6 已點歌曲子模塊</p><p> 界面設(shè)計:已點歌曲設(shè)計是按照點歌的先后順序顯示的,如圖:</p><p> 已點歌曲列表具有刪除已點歌曲、向前優(yōu)先播放等功能,具體代碼如下:</p><p><b> //刪除歌曲</b&
94、gt;</p><p> private void Delete_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> myfrmMainPage = new frmMainPage();</p><p> Panel pnl = (Panel
95、)sender;</p><p><b> GetTag();</b></p><p> string ID = pnl.Tag.ToString();</p><p> myBUExsitSong.Delete(ID);</p><p><b> Search();</b></p&g
96、t;<p><b> }</b></p><p><b> //優(yōu)先播放歌曲</b></p><p> private void Piror(DataTable myDataTable, string paramSongName, string paramSongPath, int k)</p><p>
97、;<b> {</b></p><p> for (int i = k; i >= 1; i--)</p><p><b> {</b></p><p> if (i == 1)</p><p><b> {</b></p><p>
98、myMo_ExsitSong.ID = myDataTable.Rows[i]["ID"].ToString();</p><p> myMo_ExsitSong.SongName = paramSongName;</p><p> myMo_ExsitSong.SongPath = paramSongPath;</p><p> myBU
99、ExsitSong.Update(myMo_ExsitSong);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> myMo_ExsitSong.ID = myDataTable.
100、Rows[i]["ID"].ToString();</p><p> myMo_ExsitSong.SongName = myDataTable.Rows[i - 1][0].ToString();</p><p> myMo_ExsitSong.SongPath = myDataTable.Rows[i-1]["SONGPATH"].ToStr
101、ing();</p><p> myBUExsitSong.Update(myMo_ExsitSong);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><
102、b> //查詢播放歌曲</b></p><p> private void Search()</p><p><b> {</b></p><p> DataTable myDataTable = new DataTable();</p><p> myDataTable = myBUExsi
103、tSong.Search("");</p><p> if (myDataTable.Rows.Count == 0)</p><p><b> {</b></p><p> ClearLable();</p><p><b> return;</b></p>
104、<p><b> }</b></p><p> myDtInfo = myDataTable;</p><p> InitData();</p><p><b> }</b></p><p> 第五章 系統(tǒng)運行與調(diào)試</p><p> 5.1 系統(tǒng)
105、測試方案</p><p> 由于該系統(tǒng)中各個功能模塊都頻繁的使用數(shù)據(jù)庫中的各種數(shù)據(jù),由此需要一個公共的數(shù)據(jù)操作函數(shù)用以執(zhí)行各種SQL語句,將這個公用函數(shù)在公用模塊中,這樣整個工程項目中的任何地方都可以電泳公用模塊中的函數(shù),變量,這樣可以大大提高代碼的效率。</p><p> 拼音點歌模塊:在拼音點歌模塊中,所有歌曲的屬性都包括在內(nèi),按照歌曲屬性點歌都在這個窗體顯示,然后在按照歌曲的拼音
106、查找歌曲。</p><p> 5.2 系統(tǒng)結(jié)果分析與調(diào)試</p><p> 測試與調(diào)試是軟件開發(fā)過程中重要的一個階段。在這個階段中,要盡可能對系統(tǒng)進(jìn)行反復(fù)的測試,從而得出系統(tǒng)的進(jìn)一步的改進(jìn),是系統(tǒng)更加完善,滿足用戶對系統(tǒng)的需要。應(yīng)該明確,沒有錯誤的測試是一個失敗的測試。</p><p> 在調(diào)試中碰到以下幾個大問題:</p><p>
107、 運行時的錯誤處理。在系統(tǒng)運行期間有可能產(chǎn)生錯誤,大致包括兩種情況:一是操作人員可能在操作上發(fā)生錯誤,二是非法用戶破壞系統(tǒng),產(chǎn)生運行時的錯誤。為增加系統(tǒng)的可靠性可健壯性,我盡可能的考慮各種運行時可能發(fā)生的錯誤:</p><p> 搜索歌曲時,搜索的內(nèi)容與數(shù)據(jù)庫表的匹配等問題。存在是否匹配的問題。對于不匹配將查詢不到想要點播的歌曲。</p><p> 進(jìn)行查詢操作時,有些內(nèi)容不能為空,
108、必須是查詢表中已有的屬性。</p><p> ?。?)在對歌曲信息進(jìn)行復(fù)合查詢時,提取和組合 sql語句時,遇到了查詢出錯,或者只能進(jìn)行單一條件查詢的情況,后來經(jīng)過調(diào)試,找出了錯誤所在,在組合兩個條件的sql語句時,第二個語句中的where沒有去掉,在去掉它之后,能后順利查詢了。</p><p> 歌曲的刪除時,必須得根據(jù)歌曲ID的唯一性來判斷,如果不唯一,兩個同名的歌曲就都會別刪除。&
109、lt;/p><p> 在調(diào)試過程中,我主要采用了兩種調(diào)試策略:</p><p> 試探法是調(diào)試人員分析錯誤征兆,猜想故障的大致位置,從而發(fā)現(xiàn)錯誤的出處方法。我用試探法解決了一些系統(tǒng)約束問題。例如上面列舉出的歌曲查詢問題。</p><p> 演繹法是從累出的所有可能成立的錯誤原因或假設(shè)中,逐一排除從而發(fā)現(xiàn)錯的根源。例如,在調(diào)試刪除優(yōu)先窗口時,對于優(yōu)先不成功的原因,進(jìn)
110、行分析,然后逐一排除,最終解決問題。</p><p> 第六章 畢業(yè)設(shè)計小結(jié)</p><p> 隨著畢業(yè)日子的到來,畢業(yè)設(shè)計也接近了尾聲。經(jīng)過六個月的奮戰(zhàn)我的畢業(yè)設(shè)計終于完成了。在沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計使我明 白
111、了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。 在這次畢業(yè)設(shè)計中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ktv點歌系統(tǒng)畢業(yè)設(shè)計
- ktv點歌系統(tǒng)課程設(shè)計
- 課程設(shè)計報告--ktv點歌系統(tǒng)
- ktv點歌系統(tǒng)數(shù)據(jù)庫設(shè)計
- 基于qt的ktv點歌系統(tǒng)畢業(yè)論文
- ktv點歌系統(tǒng)測試用例
- 數(shù)據(jù)庫課程設(shè)計報告--ktv點歌系統(tǒng)
- 畢業(yè)設(shè)計--點歌系統(tǒng)的設(shè)計與實現(xiàn)
- ktv包廂點歌服務(wù)標(biāo)準(zhǔn)
- 畢業(yè)設(shè)計--點歌管理系統(tǒng)的設(shè)計與實現(xiàn)
- 數(shù)據(jù)庫課程設(shè)計報告--ktv在線點歌系統(tǒng)
- 畢業(yè)設(shè)計論文 點歌管理系統(tǒng)的設(shè)計與實現(xiàn)
- 自動點歌系統(tǒng)畢業(yè)設(shè)計說明書
- 基于vc++的點歌管理系統(tǒng)的設(shè)計和實現(xiàn)畢業(yè)設(shè)計(論文)
- 畢業(yè)設(shè)計上海藍(lán)夢ktv洗浴中心空調(diào)設(shè)計
- 遠(yuǎn)程點歌系統(tǒng)設(shè)計方案
- 600平米ktv室內(nèi)空間設(shè)計畢業(yè)設(shè)計論文
- ktv管理系統(tǒng)畢業(yè)論文
- 小型點歌系統(tǒng)的設(shè)計與實現(xiàn)-計算機(jī)畢業(yè)論文
- 畢業(yè)設(shè)計---畢業(yè)設(shè)計選題系統(tǒng)
評論
0/150
提交評論