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