基于vc++的點歌管理系統(tǒng)的設(shè)計和實現(xiàn)畢業(yè)設(shè)計(論文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  畢業(yè)設(shè)計說明書(論文) </p><p>  作 者: 學(xué) 號: </p><p>  系 : </p><p>  專 業(yè): </p><

2、;p>  題 目: 基于VC++的點歌管理系統(tǒng)的設(shè)計和實現(xiàn) </p><p>  指導(dǎo)者: </p><p>  (姓 名) (專業(yè)技術(shù)職務(wù))</p><p>  評閱者:

3、 </p><p>  (姓 名) (專業(yè)技術(shù)職務(wù))</p><p>  2013 年 月 日</p><p>  畢業(yè)設(shè)計(論文)中文摘要</p><p>  畢業(yè)設(shè)計(論文)外文摘要</p><p><b>  目次</b></p>

4、<p><b>  1 引言1</b></p><p>  1.1 題目背景1</p><p>  1.3 本系統(tǒng)的優(yōu)勢及特點2</p><p>  1.4 開發(fā)工具論述2</p><p>  1.4.1 前臺開發(fā)工具2</p><p>  1.4.2 后臺數(shù)據(jù)庫2&l

5、t;/p><p><b>  2. 需求分析5</b></p><p>  2.1 項目的內(nèi)容及要求5</p><p>  2.2 可行性分析5</p><p>  2.2.1 經(jīng)濟可行性5</p><p>  2.2.2 技術(shù)可行性開發(fā)語言6</p><p>

6、  2.2.3操作可行性6</p><p>  2.2.4營運可行性6</p><p><b>  3 概要設(shè)計7</b></p><p>  3.1 系統(tǒng)功能分析7</p><p>  3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計7</p><p>  3.3 系統(tǒng)功能模塊7</p>&

7、lt;p>  3.4 管理系統(tǒng)E—R圖9</p><p><b>  4 詳細設(shè)計11</b></p><p>  4.1數(shù)據(jù)庫設(shè)計11</p><p>  4.2系統(tǒng)設(shè)計12</p><p>  4.2.1 系統(tǒng)框架功能分析12</p><p>  4.2.1歌曲選擇模塊13&

8、lt;/p><p>  4.2.3各模塊界面的設(shè)計14</p><p>  4.2.4按歌手查詢的實現(xiàn)14</p><p>  4.2.5按拼音查詢的實現(xiàn)15</p><p>  4.2.6播放控制模塊的設(shè)計17</p><p>  4.2.7后臺模塊設(shè)計17</p><p>  4.2.

9、8 結(jié)賬模塊22</p><p><b>  5.測試24</b></p><p>  5.1系統(tǒng)測試的目標24</p><p>  5.2 測試的實現(xiàn)24</p><p>  5.2.1 模塊測試24</p><p>  5.2.2 系統(tǒng)及子系統(tǒng)測試24</p><

10、;p><b>  結(jié) 論26</b></p><p>  參 考 文 獻27</p><p><b>  致 謝28</b></p><p><b>  1 引言</b></p><p><b>  1.1 題目背景</b></p&g

11、t;<p>  迅速發(fā)展的計算機科學(xué)技術(shù)應(yīng)用越來越廣泛,已經(jīng)滲透到了人類社會生產(chǎn)和生活的各個領(lǐng)域。數(shù)據(jù)庫技術(shù)是計算機科學(xué)技術(shù)的一個重要分支,是現(xiàn)代化管理的重要手段,是研究數(shù)據(jù)共享的一門科學(xué)。近年來,人們利用數(shù)據(jù)庫技術(shù)對海量的數(shù)據(jù)進行處理,然后結(jié)合其他技術(shù)開發(fā)除了各種軟件,為人類生活提供了便利。</p><p>  隨著社會的發(fā)展,精神享受成了人的一生中不可或缺的部分。而娛樂則是精神享受中的重要部分。

12、隨著現(xiàn)如今經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。同事,隨著生活節(jié)奏的加快,每個人都處于忙碌繁亂的社會的那個當中,不論是在家庭,工作場所,或是學(xué)校中,無時無刻充滿著生活和學(xué)習(xí)上的壓力。工作之余,找到一種能夠換季壓力,釋放疲勞的娛樂方式,已成為大家共同的愿望。因此娛樂業(yè)在服務(wù)行業(yè)中占有越來越重要的地位。然而,受到工作條件和時間的限制,越來越多的人們選擇了去KTV唱唱歌,跳跳舞或者在自己家中自娛自樂KTV點歌系統(tǒng)也

13、因此有了廣闊的發(fā)展前景。</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

14、>  1.2 研究意義</b></p><p>  KTV點歌系統(tǒng)主要用于KTV內(nèi)選歌的各種方式,例如有數(shù)字點歌、拼音點歌、明星點歌、等多種選擇方式,便于在點歌時對歌曲的掌握,以及能迅速選擇到自己喜歡的音樂,同時減少了傳統(tǒng)的一個一個的按順序去查找。節(jié)省了時間,使其讓更多的時間用在享受上,而不是查找上,提高了查找歌曲的效率。因此也會有更多的人選擇只能化的KTV去消費,直接提高了KTV的收益。因此K

15、TV點歌系統(tǒng)是企業(yè)化、智能化、科學(xué)化和正規(guī)化不可缺少的管理軟件。</p><p>  1.3 本系統(tǒng)的優(yōu)勢及特點</p><p>  本系統(tǒng)采用MFC基礎(chǔ)的平臺,采用設(shè)計模式以及工作流技術(shù)的解決方案來進行設(shè)計和開發(fā)。</p><p><b>  其特點及優(yōu)勢在于:</b></p><p>  采用的MFC平臺是目前開發(fā)企

16、業(yè)級分布式軟件應(yīng)用的最的應(yīng)用結(jié)構(gòu)之一,它支持簡化的、基于組件的開發(fā)模式。</p><p>  采用的是分類管理,根據(jù)音樂的不同特點,存儲音樂,對查找有很好的管理,使得處理起來更加簡潔。</p><p>  此系統(tǒng)屬于小型KTV點歌系統(tǒng),為用戶提供了一個方便快捷的音樂管理和播放平臺。</p><p>  免于用戶處在歌海中找歌,猶如大海撈針,為用戶省下了寶貴的時間。&

17、lt;/p><p>  1.4 開發(fā)工具論述</p><p>  本軟件為KTV點歌系統(tǒng),需對各種歌曲進行管理。因此,本軟件前臺使用Visual VC 6.0作為開發(fā)工具,后臺數(shù)據(jù)庫使用SQL Server 2005。</p><p>  1.4.1 前臺開發(fā)工具</p><p>  前臺使用Microsoft公司的Visual VC 6.0

18、 作為開發(fā)工具。它是一種可視化的,面向?qū)ο蟮臄?shù)據(jù)庫開發(fā)工具。它的數(shù)據(jù)窗口大大地簡化了數(shù)據(jù)庫應(yīng)用程序的開發(fā),是設(shè)計數(shù)據(jù)庫應(yīng)用程序的極好前臺工具。它能夠迅速有效的編制程序界面,它的這種快速程序開發(fā)環(huán)境在界面設(shè)計和程序開發(fā)中是非常有效的。Visual VC 6.0提供了大量的控件,利用這些控件可以進行界面設(shè)計。它易學(xué)易用,可以大大減少編程人員的工作量,基于以上優(yōu)點,該系統(tǒng)采用Visual VC 6.0作為開發(fā)工具。</p>&l

19、t;p>  Visual VC 6.0不但是一個高效快速開發(fā)數(shù)據(jù)庫應(yīng)用程序的強大工具,而且也是方便快捷地開發(fā)功能完善的Windows應(yīng)用程序的工具之一。通過Visual VC 6.0來訪問數(shù)據(jù)庫并對其進行各種操作。與數(shù)據(jù)庫接口相連,建立連接后,通過SQL Server 2005語句或數(shù)據(jù)窗口與數(shù)據(jù)窗口控件一起將數(shù)據(jù)庫中的數(shù)據(jù)信息顯示出來。</p><p>  1.4.2 后臺數(shù)據(jù)庫</p>

20、<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ù)庫查詢和程序化語言。SQL Server 2005通過更新和管理數(shù)據(jù)來訪問數(shù)據(jù)。SQL Server 2005(結(jié)構(gòu)化查詢語言)作為一種在關(guān)系型數(shù)據(jù)庫中定義和操作數(shù)據(jù)的標準語言,它的最大特點是直觀,簡單易學(xué),功能豐富,使用方便。尤其是它的查詢語句

21、可以對一個或多個表進行查詢,還可以對視圖進行查詢。</p><p>  SQL Server 2005是一個功能強大的新一代的數(shù)據(jù)庫管理系統(tǒng)。與前一代的產(chǎn)品相比,SQL Server在可伸縮性、可用性和可管理性等方面有了顯著的改進和提高。</p><p>  SQL(Structured Query Language,結(jié)構(gòu)查詢語言)是一個功能強大的數(shù)據(jù)庫語言。SQL通常使用于數(shù)據(jù)庫的通訊。

22、ANSI(美國國家標準學(xué)會)聲稱,SQL是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)[12]。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。雖然絕大多數(shù)的數(shù)據(jù)庫系統(tǒng)使用SQL,但是它們同樣有它們自立另外的專有擴展功能用于它們的系統(tǒng)[8]。但是,標準的SQL命令

23、,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成絕大多數(shù)數(shù)據(jù)庫的操作。</p><p>  但是,不像其它的語言,如C、Pascal等,SQL沒有循環(huán)結(jié)構(gòu)(比如if-then-else、do-while)以及函數(shù)

24、定義等等的功能。而且SQL只有一個數(shù)據(jù)類型的固定設(shè)置,換句話說,你不能在使用其它編程語言的時候創(chuàng)建你自己的數(shù)據(jù)類型[11]。SQL功能強大,但是概括起來,它可以分成以下幾組[13]:</p><p>  DML(Data Manipulation Language,數(shù)據(jù)操作語言):用于檢索或者修改數(shù)據(jù);</p><p>  DDL(Data Definition Language,數(shù)據(jù)定義

25、語言): 用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫對象;</p><p>  DCL(Data Control Language,數(shù)據(jù)控制語言):用于定義數(shù)據(jù)庫用戶的權(quán)限。</p><p>  DML組可以細分為以下的幾個語句:</p><p>  SELECT:用于檢索數(shù)據(jù); </p><p>  INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)

26、庫;</p><p>  UPDATE:用于從數(shù)據(jù)庫中修改現(xiàn)存的數(shù)據(jù)。</p><p><b>  2. 需求分析</b></p><p>  2.1 項目的內(nèi)容及要求</p><p>  隨著人們業(yè)余生活的豐富,休閑活動的多種多樣,人們更多地喜歡選擇KTV折中形式的娛樂方式。一個好的音樂唱吧必須擁有一個操作簡單、快捷、

27、準確的點歌系統(tǒng)。小型點歌管理系統(tǒng)就是針對點歌用戶開發(fā)而成的,它通過查詢數(shù)據(jù)庫中的歌曲,實現(xiàn)簡單的播放和選歌功能。同時,管理員也可以對歌庫進行管理操作,并且實現(xiàn)用戶的結(jié)賬功能。本系統(tǒng)可以方便、快捷的管理這些繁瑣的數(shù)據(jù)和瑣碎的事物,使點歌質(zhì)量得到有效的保障。</p><p>  KTV點歌系統(tǒng)是娛樂場所的一項管理措施,因此開發(fā)KTV點歌系統(tǒng)具有較大的社會意義,同時點歌系統(tǒng)是一娛樂軟件的開端,它具有簡單的軟件特征,系統(tǒng)

28、結(jié)構(gòu)與現(xiàn)實生活緊密結(jié)合,具體直觀,具有典范的便捷軟件特點。KTV點歌系統(tǒng)主要用于對音樂的各項查找,操作簡單,直觀。用起來極為方便。減少了手工操對工作人員帶來的不便和繁瑣,使每個用戶都能根據(jù)自己愛好選擇自己喜歡的音樂。因此,KTV點歌系統(tǒng)是企業(yè)化、智能化、科學(xué)化、正規(guī)化不可缺少的管理軟件。它的系統(tǒng)功能要求主要包括:</p><p>  播放功能: 播放上一首或下一首,音量的增大和減小,快進和慢進,暫停,播放,停止,

29、播放模式(單曲播放,單曲循環(huán),順序播放,列表循環(huán))</p><p>  選歌功能:播放歌曲列表,刪除歌曲列表(單曲刪除,全部刪除),按歌手查詢,按拼音查詢,按性別查詢(男歌手,女歌手,組合),按歌曲名字數(shù)查詢,按歌曲類別查詢(大陸歌手,港臺歌手,外國歌手)。</p><p>  管理功能:管理員操作->密碼操作->(修改密碼),對數(shù)據(jù)庫歌曲的操作(添加,刪除),</p&g

30、t;<p>  結(jié)賬->收銀->打印回單,以及注冊功能。</p><p>  2.2 可行性分析</p><p>  開發(fā)本系統(tǒng)要從它的經(jīng)濟、技術(shù)、操作、運營角度全面考慮,要在利用最少的經(jīng)濟條件把系統(tǒng)的功能實現(xiàn)。</p><p>  2.2.1 經(jīng)濟可行性</p><p>  隨著人們生活水平的不斷提高,工作壓力

31、越來越大,根據(jù)這個形式,就需要一些娛樂設(shè)施來減輕人們的生活負擔,同時還能豐富業(yè)余生活。開發(fā)點歌系統(tǒng)是一個很好的方法,它以較低的成本達到人們滿意的效果。本軟件的成本費用:目前,在市場上購買一臺普通PC機大約需要3000-4000元,此系統(tǒng)開發(fā)工作人員的三個月工資大約要10000元,做系統(tǒng)調(diào)研及各種資料費等各種費用大約需要5000元。電費等其他各種費用大約需要1000元。</p><p>  自動點歌系統(tǒng)是我根據(jù)現(xiàn)在

32、人們生活的實際情況,在考慮到系統(tǒng)的可行性:目標和方案可行性,技術(shù)可行性,經(jīng)濟方面的可行性等。因素的基礎(chǔ)上進行開發(fā)的。它針對管理中的實際情況,能夠解決一些實際問題,對各種歌曲信息進行管理,條理非常清晰,用戶便于操作。而且克服了購買現(xiàn)成軟件存在的專用性較差的問題。當然,它也存在一些不足之處,需要不斷的完善。</p><p>  2.2.2 技術(shù)可行性開發(fā)語言</p><p>  該系統(tǒng)前臺我

33、使用Visual VC 6.0作為開發(fā)工具,后臺數(shù)據(jù)庫使用SQL Server 2005,該軟件的開發(fā)是在Win7操作系統(tǒng)下進行,利用Visual VC 6.0工具進行開發(fā),不需要任何大型的系統(tǒng)軟件和應(yīng)用軟件來支持。</p><p>  該系統(tǒng)是一個多媒體播放的娛樂軟件,對該軟件的操作不需要高配置的計算機,只要在該計算機上能夠運行Windows 98,2000,XP操作系統(tǒng)即可,也不需要高配置的計算機來開發(fā)和運行

34、該軟件。</p><p>  2.2.3操作可行性</p><p>  本系統(tǒng)采用Windows圖形界面,是大家熟悉的操作系統(tǒng),對于用戶只需要一般計算機知識的人員就能輕松上手。而且整個系統(tǒng)采用最友好的交互界面,簡介明了,不需要對數(shù)據(jù)庫非常了解也可以熟練操作。</p><p>  2.2.4營運可行性</p><p>  本系統(tǒng)的開發(fā)將會提高公

35、司的管理水平,為消費者提供舒適,便利的環(huán)境,可以增加顧客的流量,給公司帶來潛在的利潤。開發(fā)的系統(tǒng)應(yīng)能結(jié)合當前選歌播放播放手工操作的流程及將來業(yè)務(wù)發(fā)張的需求,給點歌系統(tǒng)中的歌曲信息,歌手信息,等查詢、更新提供完整的計算機管理。</p><p>  綜上,無論從技術(shù),經(jīng)濟,操作,運營上,給系統(tǒng)都具有開發(fā)可行性的。</p><p><b>  3 概要設(shè)計</b></

36、p><p>  系統(tǒng)設(shè)計又稱系統(tǒng)物理設(shè)計。它根據(jù)系統(tǒng)分析報告中的系統(tǒng)邏輯模型綜合考慮各種約束,利用一切可利用的技術(shù)手段和方法進行具體設(shè)計,確定新系統(tǒng)的實施方案,解決系統(tǒng)怎么做的問題。該系統(tǒng)的總體任務(wù)是管理員管理各種歌曲,顧客按歌手點歌;按歌曲編號查找歌播;按歌曲種類查找點歌等。在系統(tǒng)調(diào)研的基礎(chǔ)上,對系統(tǒng)的功能進行細致的分析,并建立一個新系統(tǒng)的邏輯模型。</p><p>  3.1 系統(tǒng)功能分

37、析</p><p>  系統(tǒng)登錄用戶身份分為顧客和管理員。</p><p><b>  對于顧客:</b></p><p>  類型點歌:選擇按歌曲類型點歌后,顯示的是不同類型的歌曲</p><p>  歌手點歌:選擇歌曲歌手點歌后,顯示的是不同歌手的歌曲。</p><p>  地區(qū)點歌:選擇歌曲

38、地區(qū)點歌后,顯示的不同地區(qū)的歌手再進行歌手的選擇從而完成的歌曲。</p><p>  拼音點歌:選擇歌曲地區(qū)點歌后,顯示的不同地區(qū)的歌手再進行歌手的選擇從而完成的歌曲。</p><p>  歌曲播放的管理:選中的歌曲的音量、播放模式、快進、快退等操作。</p><p><b>  對于管理員:</b></p><p> 

39、 歌曲的管理:歌曲的添加和刪除,歌手的添加和刪除等。</p><p>  對顧客進行開戶和結(jié)賬,以及打印功能。</p><p>  3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p>  數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的

40、數(shù)據(jù)庫結(jié)構(gòu)將有利于程序的實現(xiàn)。</p><p>  3.3 系統(tǒng)功能模塊</p><p>  系統(tǒng)功能模塊如下圖所示:</p><p>  3.4 管理系統(tǒng)E—R圖</p><p>  圖3.2 管理員實體E-R圖</p><p>  圖3.3 歌曲實體E-R圖</p><p>  圖3.4 歌

41、手實體E-R圖</p><p>  圖3.5 用戶實體E-R圖</p><p><b>  4 詳細設(shè)計</b></p><p><b>  4.1數(shù)據(jù)庫設(shè)計</b></p><p>  本系統(tǒng)句名稱為music,數(shù)據(jù)庫中包含5個表:admin表,musiclist表,singer表,臨時用戶表mu

42、sictemp及播放歌曲列表playlist表。具體如下:</p><p>  Admin表用于保存管理員信息</p><p>  表4.1 Admin表</p><p>  singes表用于保存歌手信息</p><p>  表4.2 singes表</p><p>  musiclist表用于歌曲信息</p&

43、gt;<p>  表4.3 musiclist</p><p>  usertemp表用于保存用戶點歌歌曲信息。</p><p>  表4.4 usertemp表</p><p>  playlist用來記錄當前列表信息</p><p>  表4.5 playlist</p><p><b> 

44、 4.2系統(tǒng)設(shè)計</b></p><p>  4.2.1 系統(tǒng)框架功能分析</p><p>  系統(tǒng)框架采用基于對話框風(fēng)格,可在界面上實現(xiàn)所有操作功能。本系統(tǒng)操作對象是歌曲,所有需要插入的視頻或音頻播放控件,通過各種點歌方式,最終的操作結(jié)果將采用列表控件顯示播放類表。這種顯示方式對進一步實現(xiàn)對歌曲的播放列表有利。播放控制不僅包含常見的快進,快退、前一首,后一首、還包括單曲播放、

45、單曲循環(huán)、順序播放等播放模式的切換。另外,管理員對數(shù)據(jù)庫和系統(tǒng)的管理功能也通過主界面來控制。主界面如圖4.1所示。</p><p>  結(jié)合系統(tǒng)分析和功能分析,左上方的播放窗口區(qū)域?qū)崿F(xiàn)對音頻,視頻文件的播放可采用輸入WindowsMediaPlayer控件來實現(xiàn)二次開發(fā);選歌模塊操作采用兩個列表控件級聯(lián)實現(xiàn)選歌;對播放音量、播放速度、播放模式等控制通過調(diào)用WindowsMediaPlayer控件對應(yīng)類的成員函數(shù)完

46、成各種操作。而播放模式切換的實現(xiàn)可采用把4個單選按鈕封裝成一組按鈕消息桉樹來實現(xiàn)。播放由于系統(tǒng)框架式基于的模式,沒有MFC的文檔視圖模板, 打印功能需自己設(shè)計。具體通過取列表控件中的數(shù)據(jù),然后在對話框上繪制實現(xiàn)的。</p><p>  先利用幾個Button按鈕,幾個Radio單選按鈕,,static組框,list列表等控件,設(shè)計出主界面。再此要添加對視頻、音頻播放的系統(tǒng)功能模塊控件。</p>&l

47、t;p>  圖4.1 系統(tǒng)主界面圖</p><p>  通過ClassWizard將控件與CMediaPlayer2類對象建立關(guān)聯(lián)。CMediaPlayer2類提供了與WindowsMediaPlayer2控件進行交互的基本方法,而且部分成員函數(shù)還能夠進一步獲得到其他相關(guān)類對象的實例。其中Open()方法能夠打開指定的媒體文件。在打開文件之后,能夠通過控件上的自帶按鈕控制媒體的播放、暫停、停止及對音量的控制

48、等。如果需要在程序中添加對媒體的播放,可使用該對象的Open();</p><p>  Stop();Paush();SetCurrentPosition();GetVolume()等控件來完成播放,停止,暫停,快進,快退,音量等相應(yīng)動作。</p><p>  4.2.1歌曲選擇模塊</p><p>  歌曲選擇模塊是本系統(tǒng)最重要的功能模塊。在KTV中,顧客主要是先

49、選歌然后唱歌,因此該模塊設(shè)計上的完善與否對整個系統(tǒng)起著至關(guān)重要的作用。用戶通過管理員幫助開戶進入點歌模式。</p><p>  歌曲選擇模塊的功能主要是通過各種方式實現(xiàn)對自己喜歡的歌曲選擇。當然,根據(jù)用戶的不同需求,該選歌的方式要盡量完善和人性化,以選歌是否最快,最方便作為判斷點歌方式優(yōu)略的依據(jù)。結(jié)合需求分析和經(jīng)驗可知,歌曲選擇模塊應(yīng)實現(xiàn)功能為:按歌手地區(qū),按拼音查詢,按歌手性別查詢,按歌曲類型查詢,按歌曲名字數(shù)

50、查詢等點歌方式</p><p>  歌曲選擇模塊主要實現(xiàn)各種方式的點歌,這些界面設(shè)計方法基本類似,都是采用兩個列表自動關(guān)聯(lián)實現(xiàn)歌曲的選取。歌曲的查找通過組合框中不同的條件來構(gòu)造對應(yīng)的SQL語句,然后執(zhí)行查詢并在列表框中顯示,最終再通過獲取主框架窗口指針動態(tài)更新播放列表,完成點歌過程。點歌前需要管理員用戶登陸后,通過開戶模塊設(shè)置好點歌房間以方便結(jié)賬計費的實現(xiàn)。</p><p>  選歌功能模

51、塊主要實現(xiàn)顧客通過不同的方式實現(xiàn)對歌曲的選擇。</p><p>  圖4.2 選歌功能模塊圖</p><p>  4.2.3各模塊界面的設(shè)計</p><p>  開發(fā)歌曲選擇模塊具體功能,首先要完成其界面的設(shè)計,然后再具體實現(xiàn)各個模塊功能。本模塊歌曲選擇方式較多,故設(shè)計的界面也較多,除了設(shè)計管理員界面外,其他各點歌界面布局基本相同。歌曲選擇界面設(shè)計過程。插入對話框資

52、源和其他各個控件,適當修改標題和ID。通過下拉菜單,通過對歌曲的選擇來選歌手,進而實現(xiàn)對歌曲的選擇。按地區(qū)選歌界面圖如圖4.3所示。</p><p>  4.2.4按歌手查詢的實現(xiàn)</p><p>  在點歌模式界面上,按【按歌手查詢】,顯示按歌手查詢界面。該界面初始化顯示所有的大陸男歌手,通過切換歌手類型,在列表控件中動態(tài)顯示相關(guān)歌手。選中一個歌手雙擊后會在原列表框中顯示該歌手的所有歌曲

53、。雙擊任意歌曲會把該歌曲添加到主界面上播放列表中。</p><p>  圖4.3 按地區(qū)選歌界面圖</p><p>  該界面的初始化部分主要實現(xiàn)組合框的數(shù)據(jù)添加并設(shè)置初始值,而且在列表中要顯示歌手類別組合框中默認類別的所有歌手信息。</p><p>  4.2.5按拼音查詢的實現(xiàn)</p><p>  界面初始化顯示所有歌手,通過在編輯框中歌

54、手姓名拼音列表控件中動態(tài)顯示相關(guān)歌手。雙擊任一歌手,在原列表框中顯示該歌手的說有歌曲。雙擊任一歌曲,則把該歌曲添加到主界面上的播放列表中。在輸入框中輸入拼音,按字母的順序?qū)Ω枋诌M行篩選,已達到對歌曲選擇的目的。通過下拉菜單,通過對歌曲號的選擇來實現(xiàn)對歌曲的選擇。</p><p>  圖4.4 按歌手選歌界面圖</p><p>  按數(shù)字查詢和按歌曲類別查詢與以上類似,如下圖所示:</

55、p><p>  圖4.5 按歌曲號選歌界面圖</p><p>  圖4.6 按歌手類別選歌界面圖</p><p>  4.2.6播放控制模塊的設(shè)計</p><p>  歌曲播放控制模塊主要實現(xiàn)對歌曲播放過程中的各種操作管理。參考目前成熟播放器的播放操作功能,結(jié)合需求分析和功能分析,該模塊主要實現(xiàn)對歌曲的播放音量,播放速度,播放模式,播放狀態(tài)等控制

56、。</p><p>  通過播放控制模塊能實現(xiàn)當前播放歌曲的播放,暫停,停止等播放操作,還可以實現(xiàn)修改歌曲播放屬性的操作。根據(jù)功能分析可知,此模塊實現(xiàn):播放上一首,下一首,增加音量,減少音量,快進,快退,暫停及播放模式等功能模塊</p><p>  圖4.7 歌曲播放控制模塊圖</p><p>  4.2.7后臺模塊設(shè)計</p><p>  

57、對于點歌系統(tǒng)中歌曲的歌曲的更新來說,后臺模塊設(shè)計顯得比較重要。操作者必須具有管理員權(quán)限才能完成。該模塊主要實現(xiàn)對管理員密碼的修改,對歌曲庫的添加,修改及費率設(shè)計等操作。</p><p>  通過后臺模塊能實現(xiàn)某個管理員的密碼修改,實現(xiàn)對歌曲庫的更新,而且還可以對費率進行設(shè)置。結(jié)合需求分析可知,歌曲庫的更新具體分為歌手的添加,修改,刪除以及對歌曲的添加,刪除。歌手的添加要能支持自動獲取歌手屬性,完成自動填充歌手屬性

58、各個信息。費率的設(shè)置包含單價的計算方式,包間,會員卡的設(shè)置和打折率的設(shè)定。</p><p>  后臺模塊的功能實現(xiàn)過程比較麻煩,根據(jù)功能分析來看,該模塊中子模塊較多,工作量較大,其中歌曲屬性的自動獲取比較困難。本系統(tǒng)定義一個保存MP3信息的結(jié)構(gòu)體,通過讀取文件來獲取各個屬性信息。管理員面的修改采用了擴展對話框來實現(xiàn),根據(jù)分隔條的位置來確定需要顯示窗口的大小。具體是通過獲取操作按鈕的當前標題內(nèi)容來執(zhí)行按鈕對應(yīng)的功能

59、,并實現(xiàn)動態(tài)窗口的大小。其他個界面字模塊的添加,修改和刪除操作都是通過構(gòu)造SQL語句來實現(xiàn)的</p><p>  分析MP3文件數(shù)據(jù)可知,最后一字節(jié)用來描述Genre(流派),倒數(shù)2~31(總數(shù)30)字節(jié)是來描述Comment(注釋,評論):倒數(shù)32~35(共4個字節(jié))字節(jié)是描述Year。具體向前推30個字節(jié)是描述Album,再向前推30字節(jié)Artist。具此在向前推30字節(jié)是描述Title,再向前推3個字節(jié)是描

60、述Tag(標志),共128字節(jié)。歌曲信息獲取界面主要完成對歌曲及歌曲歌手相關(guān)信息的獲取。歌曲信息獲取界面如下圖所示:</p><p>  圖4.8 歌曲信息獲取界面圖</p><p><b>  代碼如下:</b></p><p>  void MADDSONG::OnItemchangedList1(NMHDR* pNMHDR, LRESUL

61、T* pResult) </p><p><b>  {</b></p><p>  NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</p><p>  int selectrow=pNMListView->iItem;</p><p>  desongname1=

62、m_list.GetItemText(selectrow,0);//得到歌名</p><p>  desingername1=m_list.GetItemText(selectrow,1); //得到歌手名</p><p>  deformat1=m_list.GetItemText(selectrow,3);//得到格式</p><p>  UpdateData(

63、false);</p><p>  費率設(shè)定界面通過對房間類型的單價,會員卡類型的打折率進行修改,從而在最后結(jié)賬時,進行計算,正確輸出最后結(jié)果,并打印。</p><p>  圖4.9費率設(shè)定界面圖</p><p>  歌曲和歌手的操作界面完成對歌曲的添加和刪除,歌手的添加和刪除等功能</p><p>  圖4.10歌曲和歌手的操作界面圖<

64、;/p><p><b>  代碼如下:</b></p><p>  afx_msg void OnAddsong();//添加歌曲</p><p>  afx_msg void OnPrice();//設(shè)置費率</p><p>  virtual BOOL OnInitDialog();</p><p&g

65、t;  afx_msg void OnDelsong();//刪除歌曲</p><p>  afx_msg void OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult);</p><p>  afx_msg void OnTimer(UINT nIDEvent);</p><p>  afx_msg void On

66、Addsinger();//添加歌手</p><p>  afx_msg void OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult);</p><p>  afx_msg void OnDel();//刪除歌手</p><p>  afx_msg void OnModifsinger();//修改歌手信息<

67、/p><p>  管理員密碼修改界面主要完成管理員登陸以及密碼的修改</p><p>  圖4.11 登陸界面圖</p><p><b>  代碼如下:</b></p><p>  void ADMIN::OnModify() </p><p><b>  {</b></p

68、><p>  UpdateData();</p><p>  CString str;</p><p>  if(GetDlgItemText(IDC_MODIFY,str),str=="修改密碼")</p><p><b>  {</b></p><p>  SetDlgItem

69、Text(IDC_MODIFY,"完成修改");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  SetDlgItemText(IDC_MODIFY,"

70、;修改密碼");</p><p><b>  }</b></p><p>  if(rectlarge.IsRectNull())</p><p><b>  {</b></p><p>  CRect rectseparator;</p><p>  GetDlg

71、Item(IDC_SEPARATOR)->GetWindowRect(&rectseparator);</p><p>  rectsmall.left=rectlarge.left;</p><p>  rectsmall.top=rectlarge.top;</p><p>  rectsmall.right=rectseparator.right

72、;</p><p>  rectsmall.bottom=rectseparator.bottom;</p><p><b>  }</b></p><p>  if(str=="完成修改")</p><p><b>  {</b></p><p>  s

73、ql = "select*from admin where adminname ='"+m_user+"'"+"and adminpwd ='"+m_oldpass+"'";//驗證密碼</p><p>  m_pRecordset=m_AdoConn.GetRecordSet(sql);</p

74、><p>  if(m_pRecordset->adoEOF)</p><p><b>  {</b></p><p>  MessageBox("原密碼錯誤!","系統(tǒng)提示:",MB_OK|MB_ICONASTERISK);</p><p><b>  }</

75、b></p><p><b>  else</b></p><p><b>  {</b></p><p>  CString str1;</p><p>  str1.Format("update admin set adminpwd='%s'",m_ne

76、wpass);</p><p>  m_pRecordset=m_AdoConn.GetRecordSet(_bstr_t(str1));</p><p>  MessageBox("修改成功!","系統(tǒng)提示:",MB_OK);</p><p><b>  }</b></p><p&g

77、t;  SetWindowPos(NULL,0,0,rectsmall.Width(),rectsmall.Height(),SWP_NOMOVE|SWP_NOZORDER);</p><p><b>  }</b></p><p><b>  else</b></p><p>  {SetWindowPos(NULL

78、,0,0,rectlarge.Width(),rectlarge.Height(),SWP_NOMOVE|SWP_NOZORDER);</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2.8 結(jié)賬模塊</p><p>  點歌管理系統(tǒng)不僅方便消

79、費者點歌,同時,結(jié)賬功能模塊設(shè)計的好壞對公司的收銀員來說也比較重要。收銀員負責公司利潤的日匯總和和月報表,數(shù)據(jù)安全性比較高,一般操作者應(yīng)具有管理員權(quán)限 才能完成各項操作。主要完成用戶的消費統(tǒng)計和報表工作</p><p>  通過結(jié)賬模塊能實現(xiàn)某個用戶的消費信息的統(tǒng)計,能根據(jù)消費者身份自動選擇折扣率結(jié)合包間類型來最終計算消費金額,且支持報表打印功能。而且,為了方便用戶核查消費情況,系統(tǒng)也實現(xiàn)回單打印。設(shè)計本功能模塊

80、式采用獨立一個界面來實現(xiàn)消費信息的顯示。結(jié)合需求分析,該模塊主要分為歌曲和打印回單兩個子模塊。</p><p>  結(jié)賬功能的實現(xiàn)比較簡單,知識獲取到前面各個數(shù)據(jù),計算出結(jié)果,并且輸出就可以了,其中消費時間的獲取通過讀取系統(tǒng)當前時間和開戶點歌時的時間差可計算出來。包間類型,會員卡類型,預(yù)付款數(shù)據(jù)是直接讀取的,打折率是通過會員卡類型間接計算出來的。由于本系統(tǒng)是基于對話框應(yīng)用程序模式的,沒有文檔/視圖(Doc/Vie

81、w)框架,可通過把數(shù)據(jù)寫入類表控件中,用CPreParent類和CPreView類兩個類實現(xiàn)打印預(yù)覽。 </p><p>  結(jié)賬模塊界面為了方便收銀員查看消費情況以及完成對賬單的打印。賬模塊界面圖如圖4.12所示。</p><p>  VisualC++6.0中的文檔/視圖(Doc/View)框架,可以很方便的使用默認的打印和打印預(yù)覽功能,但是由于本系統(tǒng)采用基于對話框的模式結(jié)構(gòu),就沒有辦

82、法利用這種便利。在會話框應(yīng)用程序中不具備MFC的視圖和框架交互,想要實現(xiàn)打印和打印與打印預(yù)覽功能,必須直接獲取打印機的設(shè)備環(huán)境句柄,轉(zhuǎn)換成指針后,就可以按打印流程實現(xiàn)打印任務(wù)。</p><p>  圖4.12賬模塊界面圖</p><p>  本系統(tǒng)中打印回單是需要先把相關(guān)數(shù)據(jù)寫入列表控件中,使用CPreParent類和CPreView類,兩個繼承CDialog的類。CPreParent類作

83、為控制窗口。CPreParent窗口包括一個打印控制工具欄及一個預(yù)覽窗口CPreView。</p><p><b>  5.測試</b></p><p>  5.1系統(tǒng)測試的目標 </p><p>  軟件測試是在軟件投入運行之前對軟件需求分析、設(shè)計規(guī)格和編碼的最終復(fù)審,是保證軟件質(zhì)量和可靠性的關(guān)鍵步驟。軟件測試的主要過程是根據(jù)軟件開發(fā)各階段的

84、規(guī)格說明和程序內(nèi)部結(jié)構(gòu),精心設(shè)計若干測試用例,使用這些測試用例運行程序,從而找出程序中隱藏的錯誤。測試的目的就是在系統(tǒng)運行之前, 盡可能多地發(fā)現(xiàn)系統(tǒng)中的錯誤。 測試的目標: </p><p>  (1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過成。 </p><p>  (2)好的測試方案是極可能發(fā)現(xiàn)程序中迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。 </p><p>  (3

85、)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。 </p><p>  測試方法可分為兩種:如果已經(jīng)知道了某個程序應(yīng)該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用如果已經(jīng)知道模塊內(nèi)部工作過程,可以通過檢驗?zāi)K內(nèi)部動作是否按照設(shè)計要求的規(guī)定正常進行。前一個方法稱為黑盒測試,后一個方法稱為白盒測試。</p><p><b>  5.2 測試的實現(xiàn)</b>&l

86、t;/p><p>  本系統(tǒng)采取的測試方法是先對單個模塊進行單元測試,經(jīng)過修改和調(diào)整通過以后,進行總體測試。測試結(jié)果各項功能均已經(jīng)或基本達到設(shè)計要求。</p><p>  5.2.1 模塊測試 </p><p>  在設(shè)計的好的系統(tǒng)中,每個模塊完成一個清晰定義的子功能。而且這個子功能和同級其他模塊的功能之間沒有相互依賴關(guān)系。因此,有可能把每個模塊作為一個單獨的實體來測,

87、而且通常比較容易設(shè)計檢驗?zāi)K正確性的測試方案。模塊測試的目的是保證每個模塊作為一個單元能正確運行。</p><p>  5.2.2 系統(tǒng)及子系統(tǒng)測試</p><p>  系統(tǒng)測試是把經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試。 在這個過程中不僅應(yīng)該發(fā)現(xiàn)設(shè)計和編碼的錯誤,還應(yīng)該驗證系統(tǒng)確定能提供需求說明書中指定的功能, 而且系統(tǒng)的動態(tài)特性也符合預(yù)定要求。</p><p&

88、gt;  子系統(tǒng)測試是指當把各個經(jīng)過測試的、獨立的模塊經(jīng)過一定的方式、方法集成為一個子系統(tǒng)后進行的測試。這一步主要是測試接口,看各個模塊之間的接口是否匹配,通信規(guī)則是否合理。</p><p>  (1)測試的主要內(nèi)容包括: </p><p>  ①在系統(tǒng)登錄模塊中管理員輸入登錄名稱和密碼之后,測試系統(tǒng)的安全性。</p><p> ?、谠诟枨芾砟K中,測試歌曲的添加

89、,刪除等操作。</p><p> ?、墼诮Y(jié)賬時,測試界樁是否正確。</p><p> ?、茉谛薷拿艽a模塊中,測試用戶是否真的能把密碼修改成功。 </p><p>  (2)驗收測試 這一步的任務(wù)是進一步驗證軟件的有效性,即驗證軟件的功能和性能。 測試的主要內(nèi)容包括: </p><p> ?、龠B接測試:主要對系統(tǒng)各個頁面之間的鏈接情況進行了測

90、試</p><p> ?、诓季譁y試:主要對系統(tǒng)各個頁面的布局情況進行了測試,通過多次測試本系統(tǒng)能基本滿足要求。</p><p> ?、郐聹y試:邀請了其他同學(xué)和老師對本系統(tǒng)整體功能進行了測試,測試結(jié)果一切正常,達到了設(shè)計的要求。</p><p><b>  結(jié) 論</b></p><p>  點歌管理系統(tǒng)的設(shè)計過程用到了

91、數(shù)據(jù)結(jié)構(gòu)和VC++等知識。該系統(tǒng)是針對功能分析實現(xiàn)個管理員對歌曲的添加,修改,刪除等以及顧客的賬戶管理等功能。顧客通過拼音,歌手地區(qū),歌曲類型,歌曲號等實現(xiàn)對歌曲的選擇,在播放過程中對所有歌曲播放模式的選擇,以及單首歌曲中對歌曲的音量,快慢,暫停等控制。基本實現(xiàn)了要求的功能。但功能還是不盡完善,在添加歌曲時可能會出現(xiàn)功能不完善的地方。該系統(tǒng)中沒有實現(xiàn)管理員對歌曲播放的管理。</p><p><b>  

92、參 考 文 獻</b></p><p>  1 胡超,閆玉寶 Visual C++項目開發(fā)案例導(dǎo)航 電子工業(yè)出版社 2012年 </p><p>  2 戴辛基,蔡蓉華.VC++ 6.0實訓(xùn)核心[M].4版.北京:北京大學(xué)出版社,2004. </p><p>  3 辛希孟.信息技術(shù)與信息服務(wù)[C].北京:中國社會科學(xué)出版社,1994. <

93、;/p><p>  4 張希生.軟件開發(fā)集錦[D].北京:北京大學(xué)數(shù)學(xué)系數(shù)學(xué)研究所,1983</p><p>  5 陳國建,楊國祥,Visual C++ 范例開發(fā)大全[M](清華大學(xué)出版社)2010 </p><p>  6 Richard Johnsonbaugh Martin Kalin(The C++ Programing Language[M])(中國

94、電力出版社)2012 </p><p>  H.M.Deitel ,P.J.Deitel,Thinking in C++[M](電子工業(yè)出版社)2011 </p><p>  李強,賈蕓,Visual C++項目開發(fā)實踐[M](中國鐵道出版社)2004 </p><p>  張紅軍,黨留群,Visual C++編程案例精解[M](電子工業(yè)出版社)2005 <

95、;/p><p>  祝明慧,車玉生,Visual C++從入門到精通[M](視頻實戰(zhàn)版,機械工業(yè)出版社)2011 </p><p>  劉月寧,梁水,Visual C++開發(fā)實戰(zhàn)1200例[M](清華大學(xué)出版社)2011 </p><p>  Lvor Horton,Visual C++入門經(jīng)典,美,[M](清華大學(xué)出版社)2010 </p><

96、p>  明日科技,Visual C++項目開發(fā)案例全程實錄.2版[M](清華大學(xué)出版社)2011 </p><p>  雷進輝,Visual C++項目開發(fā)案例精粹[M](電子工業(yè)出版社)2010 </p><p>  尹成 嚴成剛,Visual C++2010開發(fā)權(quán)威指南[M](人民郵電出版社)2010</p><p><b>  致 謝<

97、;/b></p><p>  經(jīng)過兩個月的學(xué)習(xí)與工作,在專業(yè)老師耐心的輔導(dǎo)與幫助下,我獨立完成了《基于VC++的點歌管理系統(tǒng)》。在此,對老師們我表示衷心的感謝。</p><p>  兩個月的親身體驗,讓我對三年來所學(xué)的知識有了更深一層的認識與了解,感謝幫助過我的朋友們,感謝你們在設(shè)計過正中對我的關(guān)心與照顧。</p><p>  同時也要感謝三年來教導(dǎo)過自己的各

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論