2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論