《(中職)UML與Rose建模應(yīng)用子情境3.4課件》由會員分享,可在線閱讀,更多相關(guān)《(中職)UML與Rose建模應(yīng)用子情境3.4課件(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、情境,3,:嵌入式軟件建模,MP3,播放器,子情境,3.4,動態(tài)結(jié)構(gòu)建模,*,(中職)UML與Rose建模應(yīng)用子情境3.4ppt課件,學習情境,3,:嵌入式軟件建模,MP3,播放器,UML,及,Rose,建模應(yīng)用,子情境,3.4,動態(tài)結(jié)構(gòu)建模,子情境描述,子情境,3.1,系統(tǒng)需求和子情境,3.2,用例分析分別得到了該系統(tǒng)的需求分析表和用例圖?,F(xiàn)在根據(jù),MP3,播放器系統(tǒng)的用例圖中操作流程的順序、事件序列等因素的分析,進行創(chuàng)建動態(tài)結(jié)構(gòu)建模,包括:,確定系統(tǒng)操作順序,設(shè)計系統(tǒng)的順序圖模型;,確定系統(tǒng)狀態(tài),創(chuàng)建系統(tǒng)的狀態(tài)圖模型;,確定協(xié)作情況,設(shè)計用戶接口對象之間的協(xié)作圖模型,任務(wù),1:,建立順序圖
2、,任務(wù)描述,MP3,播放器的主要功能是播放音樂,其播放的過程包含音頻控制、揚聲器控制、顯示音樂信息等狀態(tài),繪制出這,3,種狀態(tài)的狀態(tài)圖。,子任務(wù),1,建立,“,正常播放,”,順序圖,在,MP3,播放器正常播放情況下,其操作順序如下:,1,)當用戶按下,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示屏,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)系統(tǒng)周期性地獲取電池的電量信息,并通過顯示屏顯示剩余電量。,5,)用戶再次按下,“,播放,”,按鈕,即向系統(tǒng)發(fā)送暫停播放的消息,系統(tǒng)停止播放,同時系統(tǒng)使揚聲器停止播放
3、聲音。,任務(wù)實施,子任務(wù),1,建立,“,正常播放,”,順序圖,在某些復雜的情況下,單靠文字的描述來說明用例時很難理解的,此時可以用順序圖來描述主動的外部參與者(用戶、電池和計算機)與,MP3,播放器系統(tǒng)之間的交互。每個順序圖都描述了參與者與系統(tǒng)進行交互時所發(fā)生的事情。,圖,3-19,播放音樂的順序圖,任務(wù)實施,子任務(wù),2,建立電池不足播放順序圖,如果,MP3,播放器電量不足時,則播放順序如下:,1,)當用戶按下,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示器,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)此
4、時,系統(tǒng)獲取電池發(fā)送的電池電量不足的信息,并通過顯示屏顯示剩余電量。則系統(tǒng)向顯示器,LCD,發(fā)送消息停止顯示,系統(tǒng)停止播放進入待機模式,并向揚聲器發(fā)送停止播放的消息。,任務(wù)實施,子任務(wù),2,建立電池不足播放順序圖,對于,MP3,播放器而言,在播放音樂,2s,,用戶未按下任一按鈕時,系統(tǒng)進入省電模式。圖,3-20,描述了當前用戶正在播放音樂時,電池的剩余電力不足的情況下。此時,系統(tǒng)將停止正常的播放,關(guān)閉系統(tǒng)以節(jié)省電能。,圖,3-10,播放音樂的順序圖,圖,3-20,播放音樂時電量不足的情況,任務(wù)實施,子任務(wù),3,建立播放下首歌曲順序圖,如果用戶想播放下首歌曲時,則播放順序如下:,1,)當用戶按下
5、,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示器,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)系統(tǒng)周期性地獲取電池的電量信息,并通過顯示屏,LCD,顯示剩余電量。,5,)系統(tǒng)向顯示屏,LCD,發(fā)送關(guān)閉顯示消息。,6,)用戶向系統(tǒng)發(fā)送選擇曲目消息。,7,)系統(tǒng)讀取相應(yīng)的媒體文件,并通過揚聲器開始播放音樂。,任務(wù)實施,子任務(wù),3,建立播放下首歌曲順序圖,圖,3-21,描述了當前播放音樂時,用戶按下了一個按鈕,這時系統(tǒng)將從省電模式退出,并根據(jù)用戶按下的按鈕調(diào)整系統(tǒng)狀態(tài)。系統(tǒng)如果在,2s,內(nèi)沒有發(fā)生任何事件,系統(tǒng)
6、就關(guān)閉顯示屏,從而進入省電模式。當用戶按下,VOL+,或,VOL-,按鈕時,系統(tǒng)相應(yīng)地調(diào)整音量的大小,并顯示當前調(diào)整后系統(tǒng)的狀態(tài)信息:隨后用戶又按下了選擇曲目按鈕,系統(tǒng)讀取相應(yīng)的媒體文件,并重新開始播放,顯示系統(tǒng)當前狀態(tài)。,圖,3-21,播放下首歌曲的順序圖,任務(wù)實施,子任務(wù),4,建立播放當前文件結(jié)束順序圖,如果用戶想播放下首歌曲時,則播放順序如下:,1,)當用戶按下,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示器,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)如果沒有發(fā)生任何事件,2s,后關(guān)閉顯示屏,LC
7、D,。,5,)系統(tǒng)讀取下一個媒體文件,并通過揚聲器播放音樂。,6,)系統(tǒng)通過顯示屏,LCD,顯示系統(tǒng)狀態(tài)。,任務(wù)實施,圖,3-22,播放完當前媒體文件,子任務(wù),4,播放當前文件結(jié)束順序圖,圖,3-22,描述了當播放完當前的媒體文件時,系統(tǒng)采取的響應(yīng)。系統(tǒng)在播放完當前媒體文件時,會自動找到下一個媒體文件,并重新開始播放,同時顯示當前系統(tǒng)的狀態(tài)。系統(tǒng)中的媒體文件按名稱進行了排列,。,任務(wù)實施,任務(wù),2:,建立狀態(tài)圖,任務(wù)描述,MP3,播放器的主要功能是播放媒體文件,但由于播放情況不同,致使,MP3,播放器播放的過程也有所不同。一般來說,,MP3,播放器有正常播放、電池不足播放、播放下首歌曲、播放當
8、前文件結(jié)束等,4,種情況,分析每種情況并繪制出相應(yīng)的順序圖。,子任務(wù),1,建立音頻控制狀態(tài)圖,步驟,1:,確定,“,音頻控制器,”,對象各狀態(tài),本,MP3,播放器的,“,音頻控制器,”,對象只有兩個狀態(tài):“空閑(,Idle,)”和,“,播放(,Playing,),”。,步驟,2:,創(chuàng)建,“,音頻控制器,”,對象的各種狀態(tài),及它們之間的轉(zhuǎn)換,剛進入系統(tǒng)時,,“,AudioController,”,對象處于,“,Idle,”,(空閑)狀態(tài)。如果用戶按下,“,播放,”,按鈕,事件,“,play,”,發(fā)生,對象進入狀態(tài),“,Playing,”,;當事件,“,stop,”,發(fā)生時,系統(tǒng)停止播放,,“,A
9、udioController,”,對象返回到,“,Idle,”,(空閑)狀態(tài)。,任務(wù)實施,注意:,在,MP3,播放器中,只有當,“,AudioController,”,對象處于,“,Idle,”,(空閑)狀態(tài)時,才可以(,deleteFile,)刪除媒體文件。這種處理方法可以簡化音頻子系統(tǒng)的設(shè)計,否則就需要用互斥機制來防止可能的資源沖突。,圖,3-42“,音頻控制,”,狀態(tài)圖,任務(wù)實施,子任務(wù),2,創(chuàng)建揚聲器狀態(tài)圖,步驟,1:,確定,“,揚聲器,”,對象各狀態(tài),“,揚聲器,”,對象是物理揚聲器的軟件接口,它有兩個狀態(tài):“空閑(,Idle,)”和,“,播放(,Playing,),”。,步驟,2:
10、,創(chuàng)建,“,揚聲器,”,對象的各種狀態(tài),及它們之間的轉(zhuǎn)換,在系統(tǒng)的初始階段,,Speaker,對象處理空閑狀態(tài),“,Idle,”,,如果事件,“,SwitchOn,”,發(fā)生,對象進入,“,Playing,”,狀態(tài),揚聲器工作;如果事件,“,SwitchOff,”,發(fā)生,,“,Speaker,”,對象返回到空閑狀態(tài),“,Idle,”,。,任務(wù)實施,【,提示,】,當,“,Speaker,”,對象處于空閑狀態(tài),“,Idle,”,時,如果用戶切換了播放曲目(,playNext,),或調(diào)整了音量大小(,changValue,),則,“,Speaker,”,對象的狀態(tài)不變;同樣,當,“,Speaker,”
11、,對象處于播放狀態(tài),“,Playing,”,時,切換曲目(,playNext,)、調(diào)整音量大?。?changValue,),對象的狀態(tài)也不會發(fā)生改變。這樣,可以實現(xiàn)當切換曲目(,playNext,)時,不會改變播放的音量;同樣,當調(diào)整音量大?。?changValue,)時,也不會改變當前播放的曲目。,圖,3-43“,揚聲器,”,狀態(tài)圖,任務(wù)實施,子任務(wù),3,創(chuàng)建顯示屏狀態(tài)圖,步驟,1:,確定,“,顯示屏,”,對象各狀態(tài),“,顯示屏,”,對象是物理顯示器的軟件接口,它有兩個狀態(tài):“空閑(,Idle,)”和,“,調(diào)整(,Holding,),”。,步驟,2:,創(chuàng)建,“,顯示屏,”,對象的各種狀態(tài),及
12、它們之間的轉(zhuǎn)換,通常,“,顯示屏,”,對象處于空閑狀態(tài),“,Idle,”,,如果發(fā)生事件,“,SwitchOn,”,對象進入,“,Holding,”,狀態(tài),顯示器工作;如果事件,“,SwitchcOff,”,發(fā)生,對象返回到,“,Idle,”,狀態(tài)。,任務(wù)實施,圖,3-44“,顯示屏,”,狀態(tài)圖,任務(wù)實施,子任務(wù),3,建立播放下首歌曲順序圖,如果用戶想播放下首歌曲時,則播放順序如下:,1,)當用戶按下,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示器,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)系統(tǒng)周期性地
13、獲取電池的電量信息,并通過顯示屏,LCD,顯示剩余電量。,5,)系統(tǒng)向顯示屏,LCD,發(fā)送關(guān)閉顯示消息。,6,)用戶向系統(tǒng)發(fā)送選擇曲目消息。,7,)系統(tǒng)讀取相應(yīng)的媒體文件,并通過揚聲器開始播放音樂。,任務(wù)實施,子任務(wù),4,建立播放當前文件結(jié)束順序圖,如果用戶想播放下首歌曲時,則播放順序如下:,1,)當用戶按下,“,播放,”,按鈕時,即向系統(tǒng)發(fā)送開始播放媒體文件的消息。,2,)系統(tǒng)發(fā)送消息給揚聲器,揚聲器開始播放媒體音樂。,3,)系統(tǒng)向顯示器,LCD,發(fā)送消息顯示播放進度和音量大小。,4,)如果沒有發(fā)生任何事件,2s,后關(guān)閉顯示屏,LCD,。,5,)系統(tǒng)讀取下一個媒體文件,并通過揚聲器播放音樂。
14、,6,)系統(tǒng)通過顯示屏,LCD,顯示系統(tǒng)狀態(tài)。,任務(wù)實施,圖,3-22,播放完當前媒體文件,子任務(wù),4,播放當前文件結(jié)束順序圖,圖,3-22,描述了當播放完當前的媒體文件時,系統(tǒng)采取的響應(yīng)。系統(tǒng)在播放完當前媒體文件時,會自動找到下一個媒體文件,并重新開始播放,同時顯示當前系統(tǒng)的狀態(tài)。系統(tǒng)中的媒體文件按名稱進行了排列,。,任務(wù)實施,任務(wù),3:,建立協(xié)作圖,任務(wù)描述,用戶通過接口、音頻控制器、,MP3,音樂文件和音頻輸出接口進行音樂播放的全過程,根據(jù)該過程來繪制播放,MP3,音樂文件的協(xié)作圖。,步驟,1:,確定協(xié)作情況,根據(jù),3.4.2,任務(wù),1,描述的操作順序確定系統(tǒng)的協(xié)作情況,。,步驟,2:,
15、新建,Object,(對象),如圖,3-45,(,a,)所示,單擊選定工具箱中,“,Object,”,工具圖標,移動光標至窗口中適當位置,單擊鼠標添加該對象,如圖,3-45,(,b,)所示,命名為,“,:,UserInterface,”,。,任務(wù)實施,(,a,)(,b,),圖,3-45,新建“:,UserInterface”,對象,任務(wù)實施,步驟,3:,新建其他對象,參照步驟,1,的方法,新建如圖,3-46,所示的對象。,任務(wù)實施,圖,3-46,創(chuàng)建所需全部對象,步驟,4:,建立對象鏈,如圖,3-47,(,a,)所示,在工具箱中單擊選定,“,Object Link,”,(對象鏈),移動光標指向
16、對象,“,:,UserInterface,”,,按住鼠標左鍵,拖動至對象,“,:,EventProxy,”,,松開鼠標,建立對象鏈,如圖,3-47,(,b,)所示。,任務(wù)實施,(,a,)(,b,),圖,3-47,創(chuàng)建對象鏈示例,步驟,5:,建立對象鏈消息及消息內(nèi)容,如圖,3-49,所示,在工具箱中單擊選定,“,Link Message,”,(鏈消息),移動光標指向?qū)ο?“,:,UserInterface,”,與對象,“,:,AudioController,”,之間的鏈,單擊鏈,建立對象鏈消息,如圖,3-50,所示。,單擊選定,“,Link Message,”,一側(cè)文本,“,1:,”,,如圖,3-51,所示,接著單擊鼠標左鍵,在光標處輸入,“,playAudio,(),”,,如圖,3-52,所示,確定鏈消息內(nèi)容。,任務(wù)實施,任務(wù)實施,圖,3-49,選定鏈消息,圖,3-50,對象鏈消息示例,任務(wù)實施,圖,3-51,選定鏈消息,圖,3-52,確認鏈消息內(nèi)容,步驟,6:,建立對象反向鏈消息及消息內(nèi)容,(,1,)建立反向鏈消息:如圖,3-53,所示,在工具箱中單擊選定,“,Reserve Lin