《音頻播放器需求分析》由會員分享,可在線閱讀,更多相關(guān)《音頻播放器需求分析(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于C+的音頻播放器項目名稱基于C+的音頻播放器系統(tǒng)需求分析規(guī)格說明書 組長:張家富 1043041219 組員:楊唯 1043041444 湯志豪 1043041027 李亮亮 1043041121 趙小波 1043041234 劉鈺江 0843041275二一二年四月目錄1 引言.31.1 編寫目的.31.2 項目背景.31.3 定義.31.4 預(yù)期的讀者和閱讀建議.42 任務(wù)概述.52.1 系統(tǒng)目標.52.2 運行架構(gòu).53 系統(tǒng)需求分析.63.1 播放器基本控制需求.63.1.1 音量控制.73.1.2 靜音控制.83.1.3 上一首/下一首控制.83.1.4 播放控制.83.1.5
2、暫??刂?93.1.6 播放文件控制.93.2 播放列表管理需求.93.2.1 播放歌曲文件控制.103.2.2 添加歌曲文件控制.113.2.3 刪除歌曲文件控制.113.3 播放器友好性需求.123.3.1視覺外觀顯示.123.3.2 歌曲時間顯示.123.3.3 播放狀態(tài)顯示.123.3.4 歌曲文件信息顯示.13 4 性能需求.134.1 數(shù)據(jù)精確度.134.2 時間特性.134.3 適應(yīng)性.135 運行需求.135.1 用戶接口.145.2 軟件接口.6 環(huán)境需求.7產(chǎn)品質(zhì)量需求.7.1 故障分析.7.2 系統(tǒng)利用率.7.3 可靠性.8 附錄.1 引言1.1 編寫目的本文檔首先給出了
3、整個軟件系統(tǒng)的整體網(wǎng)絡(luò)結(jié)構(gòu)和功能結(jié)構(gòu)的概貌,從總體架構(gòu)上給出整個系統(tǒng)的輪廓,然后又對功能需求、性能需求和其它非功能性需求進行了詳細的描述。這些文字和圖形都為了本文檔能詳細準確地描述用戶的需求,同時也為用戶更容易地理解這些需求的描述創(chuàng)造了條件。本文檔用于描述“基于c+的音頻播放器”項目的系統(tǒng)需求,為該項目概要設(shè)計,詳細設(shè)計和測試用例的設(shè)計依據(jù)。同時,本文檔也是用戶確定軟件功能需求的主要依據(jù)。 1.2 項目背景l(fā) “基于c+的音頻播放器”是我們小組自主開發(fā)的一款音頻解碼播放器,通過前續(xù)C+的學(xué)習(xí),我們已經(jīng)有了一定的編程基礎(chǔ)并能熟練運用C+中的MFC等類庫中的各種函數(shù)進行實際編程應(yīng)用。l 隨著中國經(jīng)
4、濟的快速發(fā)展,人民的生活水平日益的提高,大家越來越注重自己的娛樂方式的多樣性和趣味性,無疑,MP3播放器的誕生解決了這一難題。數(shù)碼消費品工藝水平的日益改進和勞動生產(chǎn)率的提高,創(chuàng)造出了越來越多的高性價比MP3播放器,閑暇之余的聽歌放松已成逐漸成為我們生活當中不可或缺的一部分。對于可預(yù)見的旺盛的需求使得我們有了開發(fā)一款MP3音頻播放器的想法,后續(xù)誕生了我們這個項目。l MPEG音頻解碼過程通過I/O口獲得MPEG音頻碼流數(shù)據(jù),依照MPEG標準進行解碼,并以PCM碼流格式存放在數(shù)據(jù)空間的緩沖單元中,供直接存儲器存取(DMA)方式使用,這為我們的音頻解碼的算法實現(xiàn)提供了技術(shù)基礎(chǔ)。l MFC是微軟基礎(chǔ)類
5、庫的簡稱,是微公司軟實現(xiàn)的一個c+類庫,主要封裝了大部分的windows API函數(shù),這是我們完成圖形界面設(shè)計的主要參考依據(jù)。1.3 定義 MPEG(Moving Pictures Experts Group ) MPEG在三方面優(yōu)于其他壓縮/解壓縮方案。首先,由于在一開始它就是做為一個國際化的標準來研究制定,所以,MPEG具有很好的兼容性。其次,MPEG能夠比其他算法提供更好的壓縮比,最高可達200:1。更重要的是,MPEG在提供高壓縮比的同時,對數(shù)據(jù)的損失很小。 MPEG音頻解碼過程是通過I/O口獲得MPEG音頻碼流數(shù)據(jù),依照MPEG標準進行解碼,并以PCM碼流格式存放在數(shù)據(jù)空間的緩沖單元
6、中,供直接存儲器存取(DMA)方式使用。MPEG音頻解碼的主程序流程如下:開始-輸入比特流查找標題-側(cè)信息解碼-比例因子解碼-哈夫曼數(shù)據(jù)解碼-反量化采樣-頻譜重排序-減小混疊-通過IMDCT綜合并重疊- 通過多相濾波器組綜合-輸出PCM樣點-結(jié)束。 MFC(Microsoft Foundation Classe )是一個微軟公司提供的類庫(class libraries),以C+類的形式封裝了Windows API,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。 可以用面向?qū)ο蟮姆椒▉碚{(diào)用Wi
7、ndows API,以及應(yīng)用程序開發(fā)的便捷。MFC將很多應(yīng)用程序開發(fā)中常用的功能自動化,并且提供了文檔框架視圖結(jié)構(gòu)和活動文檔這樣的便于自定義的應(yīng)用程序框架。同時,在Visual C+內(nèi)部也內(nèi)建了很多對MFC的例如類向?qū)н@樣的支持以減少軟件開發(fā)的時間,使用類向?qū)Э梢陨蓮膆ello world這樣的簡單程序到活動文檔服務(wù)器這樣的復(fù)雜程序。MFC的消息映射機制也避免了使用性能較低的龐大虛函數(shù)表。 很多商用類庫在MFC的基礎(chǔ)上進一步實現(xiàn)了皮膚、漸變風(fēng)格、多頂層窗口程序、屬性列表等較受歡迎的功能;同時,在C+在線社區(qū)中,很大一部分開放的源代碼也是基于MFC的。 1.4 預(yù)期的讀者和閱讀建議 本文檔的主
8、要內(nèi)容共分4部分:綜合描述、系統(tǒng)特性、和非功能性需求和外部接口描述。綜合描述部分主要對軟件的整體結(jié)構(gòu)進行了大致的介紹;系統(tǒng)特性部分對軟件的功能需求進行了詳細描述,是本文的主要部分;非功能性需求部分對非功能需求進行了詳細的描述;外部接口需求部分對用戶界面、軟件接口等進行了描述。本文檔面向多種讀者對象:(1)項目經(jīng)理:項目經(jīng)理可以根據(jù)該文檔了解預(yù)期產(chǎn)品的功能,并據(jù)此進行系統(tǒng)設(shè)計、項目管理。(2)設(shè)計員:對需求進行分析,并設(shè)計出系統(tǒng)。(3)程序員:配合設(shè)計報告,了解系統(tǒng)功能,編寫用戶手冊。(4)測試員:根據(jù)本文檔編寫測試用例,并對軟件產(chǎn)品進行功能性測試和非功能性測試。(5)用戶:了解預(yù)期產(chǎn)品的功能和
9、性能,并與分析人員一起對整個需求進行討論和協(xié)商。(6)其他人員:如項目實踐指導(dǎo)老師,可以據(jù)此了解產(chǎn)品的功能和性能。在閱讀本文檔時,首先要了解產(chǎn)品的功能概貌,然后可以根據(jù)自身的需要對每一功能進行適當?shù)牧私狻? 任務(wù)概述2.1系統(tǒng)目標l 我們開發(fā)的這款音頻播放器主要是為了滿足人們?nèi)粘5膴蕵沸蓍e需求,為他們提供高音質(zhì)的視聽效果。針對市場上主流格式的音樂文件如MP3、WMA、APE等都能舒暢的解碼播放。l 針對這個項目的開發(fā)實踐,一方面是為了能開發(fā)一款性能較高的音頻播放器,另一方面想通過這次機會,能把自己學(xué)過的C+的知識運用于實踐中,了解一個軟件工程項目實施的具體流程,為以后的開發(fā)打下堅實的基礎(chǔ)。2.
10、2 運行構(gòu)架 MPEG音頻解碼器的解碼算法完全由DSP芯片實現(xiàn),其控制部分用 CPLD實現(xiàn)。電路的整體設(shè)計與開發(fā)需要綜合考慮前面兩部分程序算法接口內(nèi)容,可以在進行詳細程序設(shè)計的基礎(chǔ)上進行。這樣,可以把MPEG音頻解碼器的開發(fā)工作分為兩大模塊:MPEG音頻解碼程序DSP實現(xiàn),即軟件設(shè)計,以及CPLD控制程序開發(fā)和電路板設(shè)計部分,即硬件設(shè)計。各個模塊的開發(fā)工作針對該開發(fā)模塊的特點進行。MPEG音頻解碼系統(tǒng)開發(fā)從模塊上可以劃分為硬件開發(fā)和軟件開發(fā)兩個部分。軟件主要實現(xiàn)MPEG音頻解碼算法,硬件實現(xiàn)存儲器訪問控制、MPEG音頻文件播放控制以及電源供給等功能。系統(tǒng)總體的功能結(jié)構(gòu)如圖所示:3 系統(tǒng)需求分析
11、 根據(jù)項目的目標,我們可獲得項目系統(tǒng)的基本需求,以下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述。 系統(tǒng)的功能需求,我們分成三部分來概括,即播放器的基本控制需求,播放列表管理需求和播放器友好性需求。以下分別描述:3.1播放器的基本控制需求基本控制需求的UML圖:3.1.1音量控制用例名稱:音量控制參與者:用戶目標:使得用戶可以調(diào)節(jié)播放器的音量前置條件:播放器正在運行基本事件流:1.用戶右或左滑動音量控制按鈕 2.播放器的音量增大或降低,3.1.2靜音控制用例名稱:靜音控制參與者:用戶目標:使得用戶可以快速將播放器調(diào)到無聲狀態(tài)前置條件:播放器正在運行基本事件流:1.用戶點擊靜音控制按鈕 2.
12、播放器的音量立即降到最低,即無聲狀態(tài)3.1.3上一首/下一首控制用例名稱:上一首/下一首參與者:用戶目標:使得用戶可以選擇播放播放列表中上一首/下一首歌曲前置條件:播放器正在運行,當前播放列表有上一首/下一首歌曲基本事件流:1.用戶單擊“下一首/下一首”按鈕 2.播放器將播放播放列表中的上一首/下一首歌曲3.1.4播放控制用例名稱:播放參與者:用戶目標:使得用戶可以播放在播放播放列表中選中的歌曲前置條件:播放器正在運行基本事件流:1.用戶單擊“播放”按鈕 2.播放器將播放播放列表中當前的歌曲3.1.5暫??刂朴美Q:暫停參與者:用戶目標:使得用戶可以暫停正在播放的歌曲前置條件:歌曲正在播放基
13、本事件流:1.用戶點擊暫停按鈕 2.正在播放的歌曲暫停播放,3.1.6播放文件控制用例名稱:播放文件參與者:用戶目標:使得用戶可以播放本地計算機的歌曲文件前置條件:播放器正在運行基本事件流:1.用戶點擊播放文件的按鈕 2.用戶選擇要播放的歌曲文件后置條件:將用戶選擇要播放的歌曲文件添加到當前播放列表,并播放歌曲文件3.2 播放列表管理需求當用戶選定某一播放列表,應(yīng)有的需求:3.2.1播放歌曲文件控制用例名稱:播放歌曲文件參與者:用戶目標:使得用戶可以選擇播放播放列表中的歌曲文件前置條件:播放器正在運行,播放列表有歌曲文件基本事件流:1.用戶雙擊或右擊要播放的歌曲文件后置條件:播放選定的歌曲文件
14、3.2.2 添加歌曲文件控制用例名稱:添加歌曲文件參與者:用戶目標:使得用戶可以添加本地計算機的音樂文件或文件夾前置條件:播放器正在運行,并且本地計算機存儲有音樂文件基本事件流:1.用戶單擊【添加歌曲】按鈕 2.系統(tǒng)彈出一個“選擇文件/文件夾”對話框, 3.用戶選定要添加的文件或文件夾并按“確定” 4文件或文件夾被添加到播放列表后置條件:播放列表顯示了添加的音樂文件3.2.3 刪除歌曲文件控制用例名稱:刪除歌曲文件參與者:用戶目標:使得用戶可以刪除播放列表中的音樂文件前置條件:播放器正在運行,并且播放列表中有要刪除的音樂文件基本事件流:1.用戶右擊選定要刪除的音樂文件 2.系統(tǒng)彈出一個快捷菜單
15、 3.用戶選擇“刪除” 4文件在播放列表中被刪除后置條件:播放列表刪除了被選定的音樂文件3.3播放器友好性需求3.3.1視覺外觀顯示用例名稱:視覺外觀顯示參與者:系統(tǒng)或用戶目標:使得播放器根據(jù)歌曲文件的特性,通過視覺外觀來動態(tài)顯示前置條件:播放器正在播放歌曲文件基本事件流:1.系統(tǒng)讀取要播放的歌曲文件的特性, 2接著調(diào)用一個視覺外觀顯示組件來動態(tài)顯示出來后置條件:視覺外觀顯示組件來動態(tài)顯示播放中的歌曲文件3.3.2 歌曲時間顯示用例名稱:歌曲時間顯示參與者:系統(tǒng)目標:使得播放器能顯示歌曲文件的播放時間,并通過視覺數(shù)字動態(tài)顯示前置條件:播放器播放歌曲文件基本事件流:1.系統(tǒng)讀取要播放的歌曲文件的
16、時間, 2并通過視覺數(shù)字動態(tài)顯示已播放了歌曲文件多長時間后置條件:視覺數(shù)字顯示動態(tài)顯示播放中的歌曲文件的時間3.3.3 播放狀態(tài)顯示用例名稱:播放狀態(tài)顯示參與者:系統(tǒng)目標:使得播放器能顯示播放器現(xiàn)時的狀態(tài),是播放還是暫停中前置條件:播放器已打開基本事件流:1.系統(tǒng)讀取播放器狀態(tài), 2通過文字標簽顯示出來后置條件:文字標簽將播放器狀態(tài)顯示出來3.3.4 歌曲文件信息顯示用例名稱:歌曲文件信息顯示參與者:系統(tǒng)目標:使得用戶能了解歌曲文件的信息,例如標題,歌手,聲道,比特率等信息前置條件:播放器播放歌曲文件基本事件流:1.系統(tǒng)讀取歌曲文件的信息, 2并且通過文字標簽顯示出來后置條件:文字標簽將歌曲文
17、件狀態(tài)顯示出來4 性能需求4.1 數(shù)據(jù)精確度 我們開發(fā)的是音頻播放器,音頻播放器解碼的時候本身就需要很高的精確度才行,不然會出現(xiàn)亂碼或有損音質(zhì)的情況發(fā)生。失真控制循環(huán)和非歸一化量化控制循環(huán)是量化編碼循環(huán)過程,它通過量化減少各MDCT系數(shù)的精度,使編碼比特數(shù)得以降低。不同系數(shù)采用不同的量化階,從耳敏感的頻率量化精度高,不敏感的頻率量化精度低,量化誤差則不會被人耳察覺。 4.2 時間特性 音樂播放器的響應(yīng)時間是需要嚴格把關(guān)控制的,太長則會影響用戶體驗,不利于流暢的切換,我們的播放器需要很短的時間內(nèi)響應(yīng)用戶的請求并作出高效的應(yīng)答。具體時間要求如下: (1)當要求歌曲播放時,軟件響應(yīng)時間最長不能超過2
18、秒。 (2)當要求歌曲暫停時,軟件響應(yīng)時間最長不能超過1秒。4.3 適應(yīng)性 軟件主要是由C+編寫的,功能齊全,應(yīng)用方便簡潔,這決定了我們的軟件能在各個操作系統(tǒng)下順暢的進行,容易上手。5 運行需求5.1 用戶接口5.2 軟件接口6 環(huán)境需求 操作系統(tǒng):Microsoft Windows XP ,Windows7 即可。7 產(chǎn)品質(zhì)量需求 7.1 故障分析l 該軟件需要不定時查看并優(yōu)化正常運行時的診斷級別。l 當程序遇到不可逆轉(zhuǎn)的錯誤時,儲存當前進程運行的上下文,保護CPU現(xiàn)場。l 當程序運行出錯時,啟用第一次失敗數(shù)據(jù)捕獲(FFDC)工具,并生成特殊的跟蹤文件,以便查找錯誤信息。l 當用戶越權(quán)讀寫程
19、序的重要文件是時,給出錯誤信息的同時,終止程序,返回操作系統(tǒng)。l 當主機主存儲設(shè)備無存儲空間時,系統(tǒng)發(fā)出警示。7.2 系統(tǒng)利用率 此款音頻播放器程序較小,占用資源少,功能簡潔,略低于市場上的音頻播放器的系統(tǒng)利用率,CPU約占用1%,內(nèi)存占用2%。7.3 可靠性 l 連續(xù)運行能力 MTBF 200000小時MTTR輸入比特流查找標題-側(cè)信息解碼-比例因子解碼-哈夫曼數(shù)據(jù)解碼-反量化采樣-頻譜重排序-減小混疊-通過IMDCT綜合并重疊- 通過多相濾波器組綜合-輸出PCM樣點-結(jié)束。 2.MFC(Microsoft Foundation Classe )是一個微軟公司提供的類庫(class libr
20、aries),以C+類的形式封裝了Windows API,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。 可以用面向?qū)ο蟮姆椒▉碚{(diào)用Windows API,以及應(yīng)用程序開發(fā)的便捷。MFC將很多應(yīng)用程序開發(fā)中常用的功能自動化,并且提供了文檔框架視圖結(jié)構(gòu)和活動文檔這樣的便于自定義的應(yīng)用程序框架。同時,在Visual C+內(nèi)部也內(nèi)建了很多對MFC的例如類向?qū)н@樣的支持以減少軟件開發(fā)的時間,使用類向?qū)Э梢陨蓮膆ello world這樣的簡單程序到活動文檔服務(wù)器這樣的復(fù)雜程序。MFC的消息映射機制也避免了使用性能較低的龐大虛函數(shù)表。 很多商用類庫在MFC的基礎(chǔ)上進一步實現(xiàn)了皮膚、漸變風(fēng)格、多頂層窗口程序、屬性列表等較受歡迎的功能;同時,在C+在線社區(qū)中,很大一部分開放的源代碼也是基于MFC的。