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