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