(中職)UML與Rose建模應(yīng)用子情境3.2課件
子情景3.2 用例分析,,情境3:嵌入式軟件建?!狹P3播放器,,,*,(中職)UML與Rose建模應(yīng)用子情境3.2ppt課件,學(xué)習(xí)情境3:嵌入式系統(tǒng)建模,—MP3播放器,UML及Rose建模應(yīng)用,子情境3.2 用例分析,,,,,,,,,根據(jù)子項目3.1的需求分析報告,確定嵌入式MP3系統(tǒng)的參與者、用例、參與者與用例之間的關(guān)系,包括:確定用戶使用MP3系統(tǒng)行為、計算機與系統(tǒng)交互系統(tǒng)行為;最后設(shè)計出用戶使用播放器的用例圖和出計算機與系統(tǒng)交互的用例圖。,子項目描述,,,,,,任務(wù)1:識別參與者、用例和建立用例圖,,,,,,,,,,任務(wù)描述,,根據(jù)需求分析中提取的名詞來確定參與者;根據(jù)需求分析中的主要任務(wù)來確定用例。最后,按照用例模型的創(chuàng)建方法來建立用戶使用播放器的用例圖和計算機與系統(tǒng)交互的用例圖。,用例之間的關(guān)系:,,用例描述系統(tǒng)滿足需求的方式。當(dāng)細化描述用例操作步驟時,就可以發(fā)現(xiàn)有些用例以幾種不同的模式或特例在運行,而有些用例在整個執(zhí)行期間會出現(xiàn)多重流程。如果將用例中重要的可選性操作流程從用例中分隔出來,以形成一個新的用例,這對整個系統(tǒng)的好處是顯而易見的。當(dāng)分離可重復(fù)使用的用例后,用例之間就存在著某種特殊關(guān)系。包含和擴展是兩個用例緊密相關(guān)時,關(guān)聯(lián)用例的兩種方法。包含關(guān)系用于表示用例為執(zhí)行其功能時需要從其他用例引入功能。類似地,擴展關(guān)系則表示用例的功能可以通過其他用例的功能得到擴充。,相關(guān)知識,1.包含關(guān)系,,在對系統(tǒng)進行分析時,通常會發(fā)現(xiàn)有些功能在不同的環(huán)境下都可以被使用。在編寫代碼時,我們希望編寫可重用的構(gòu)件,這些構(gòu)件包括諸如可以從其他代碼中調(diào)用或參考的類庫、子過程以及函數(shù)。在用例圖中UML支持同樣的做法。用例之間的包含關(guān)系在UML中的標(biāo)記符如圖3-2所示。注意圖中虛線箭頭指向被包含用例。,相關(guān)知識,圖3-2 包含關(guān)系標(biāo)記符,包含關(guān)系和對象之間的調(diào)用關(guān)系比較相像,它描述的是一個用例需要某種類型的功能,而該功能被另外一個用例定義,那么在用例的執(zhí)行過程中,就可以調(diào)用已經(jīng)定義好的用例。被包含的用例由兩種方法確定:一種是被包含的用例事前已經(jīng)存在,它們是因為某個目的而定義,在系統(tǒng)的開發(fā)過程中,恰好需要同樣的功能,這樣就不需要在系統(tǒng)中重新定義用例,直接將其包含到新的用例中就可以了;另外一種確定被包含用例的方法是從已經(jīng)存在的幾個用例中提取實現(xiàn)相同功能的操作步驟,以形成新的用例。被包含用例稱為提供者用例,包含用例稱為客戶用例,提供者用例提供功能給客戶使用。,相關(guān)知識,為了更好地理解包含關(guān)系是如何起作用的,下面列出了“圖書管理系統(tǒng)”的系統(tǒng)用例模型的一部分,如圖3-3所示。,相關(guān)知識,圖3-3 圖書管理系統(tǒng)中的包含關(guān)系,當(dāng)圖書管理員執(zhí)行借書操作和還書操作用例時,由于這兩個用例都需要進行是否超時的檢查,因此,可以將處理超時從這兩個用例中提取出來,形成一個公用的新用例。,為了使用包含關(guān)系,用例必須遵循以下兩個約束條件:,,客戶用例只依賴于提供者用例的返回結(jié)果,不必了解提供者用例的內(nèi)部結(jié)構(gòu)。,,客戶用例總會要求提供者用例執(zhí)行,對提供者用例的調(diào)用是無條件的。,,在為系統(tǒng)建立模型時,使用包含關(guān)系是十分明智的。因為它有助于在將來實現(xiàn)系統(tǒng)時,確定哪里可以重用某些功能,在編寫代碼時就可實現(xiàn)代碼的重用,從而從長遠意義上縮短系統(tǒng)的開發(fā)周期。,相關(guān)知識,2.?dāng)U展關(guān)系,,擴展關(guān)系是意中依賴關(guān)系,它指定了一個用例可以增強另外一個用例的功能。擴展關(guān)系與包含關(guān)系一樣,只是將單詞include替換成了表示擴展關(guān)系的單詞extend。從如圖3-4所示的擴展關(guān)系可以看出,擴展關(guān)系的虛線箭頭是指向基用例的(被擴展用例),箭頭的尾部則處在擴展用例上。,相關(guān)知識,圖3-4 擴展關(guān)系標(biāo)識符,下面的示例將演示在圖書管理系統(tǒng)中如何使用擴展關(guān)系:處理超時用例由通知超時用例進行擴展,如圖3-5所示。在本示例中,基用例是處理超時,擴展用例是通知超時。如果借閱者按時歸還圖書,那么就不會執(zhí)行通知超時用例。而當(dāng)歸還圖書時超過了規(guī)定時間,則處理超時用例就會調(diào)用通知超時用例提醒管理員對此進行處理。,相關(guān)知識,圖3-5 用例間擴展關(guān)系示例,正如3-5中所表示的,通知超時用例指向處理超時用例。這樣創(chuàng)建的原因是因為通知超時用例擴展了處理超時用例,即通知超時用例是添加到處理超時用例中的一項功能,而不是處理超時用例每次都調(diào)用通知超時用例。如果每次檢查是否超時都要提醒圖書管理員,那么就要使用如圖3-6所示的包含關(guān)系。,相關(guān)知識,圖3-6 提示是否超期,,,,,,子任務(wù)1:建立用戶使用播放器的用例圖,,,,,,,,,,子任務(wù)描述,用戶使用MP3播放器進行播放音樂、選擇曲目、調(diào)節(jié)音量、上下曲進行切換等操作,根據(jù)以上操作設(shè)計出MP3播放器與用戶之間的用例圖。,用例編號,用例名稱,用例編號,用例名稱,UC01,播放音樂,UC04,下一曲和上一曲,UC02,暫停播放,UC05,調(diào)整音量,UC03,選擇曲目,UC06,增大音量和減小音量,提取用例,提取用例,系統(tǒng)用例描述的是用戶眼中的系統(tǒng),即用戶希望系統(tǒng)有哪些功能和通過哪些操作完成這些功能。一個用例代表用戶與系統(tǒng)交互的一種方式。正如前面介紹過的,識別用例的最好方法是從參與者的角度分析系統(tǒng)。在MP3播放器中,首要的參與者是用戶,和用戶有關(guān)的用例如下表2所示。,,步驟1,,任務(wù)實施,新建參與者“用戶”,在工具箱中單擊“Actor”(參與者)圖標(biāo),將光標(biāo)移動到用例圖窗口適當(dāng)位置,單擊鼠標(biāo)左鍵,就會出現(xiàn)名為“NewClass”參與者,重命名為“用戶”,如圖3-8所示。,,步驟2,【注意】在瀏覽窗口中右鍵單擊“Use Case View”(用例視圖),在彈出的菜單上選擇菜單項“New”(新建)下的“Use Case Diagram”(用例圖)命令,從鍵盤輸入文本“MP3用例”命名該用例圖,雙擊“MP3用例”打開用例圖窗口。以下步驟在此前提下實施,不再贅述。,圖3-8 新建參與者對象,,任務(wù)實施,新建用例,在工具箱中選擇“Use Case”(用例)工具圖標(biāo),將光標(biāo)移動到用例圖窗口適當(dāng)位置,單擊鼠標(biāo)左鍵,就會出現(xiàn)名為“NewUseCase”用例,輸入文本“播放音樂”進行重命名,按相同的方法依次新建名為“暫停播放”、“選擇曲目”、“上一曲”、“下一曲”、“調(diào)整音樂”、“增大音量”及“減少音量”等7個用例,如圖3-9所示。,,步驟3,圖3-9 新建用例,,任務(wù)實施,建立參與者與用例之間的導(dǎo)向關(guān)聯(lián),下面以播放音樂和選擇曲目為例,說明一下創(chuàng)建包含關(guān)系的步驟:,,步驟4,【提示】用戶和播放音樂、暫停播放、上一曲、下一曲、增大音量和減小音量用例的關(guān)系是關(guān)聯(lián)關(guān)系,使用工具箱畫出它們之間的關(guān)聯(lián)關(guān)系。而播放音樂包含選擇曲目,選擇曲目包含上一曲和下一曲,調(diào)整音樂包含增大音量和減小音量,它們之間是包含關(guān)系。,(1)在工具箱中單擊選定“Dependency or instantiates”工具圖標(biāo),如圖3-10所示。,,任務(wù)實施,(1)在工具箱中單擊選定“Dependency or instantiates”工具圖標(biāo),如圖3-10所示。,圖3-10 選定工具“Dependency or instantiates”(依賴或?qū)嵗?,任務(wù)實施,(2)指向用例“選擇曲目”,按住鼠標(biāo)左鍵,拖動至“播放音樂”,松開鼠標(biāo),出現(xiàn)“帶箭頭的虛線”,即依賴關(guān)系,如圖3-11所示。,圖3-11 新建用例間依賴關(guān)系,,任務(wù)實施,(3)雙擊依賴關(guān)系“虛線”,在彈出的對話框中的Stereotype中選擇include,如圖3-12所示,然后單擊“OK”按鈕,完成包含關(guān)系的創(chuàng)建,如圖3-13所示。,圖3-12 選擇“包含”關(guān)系,圖3-13 用例間的包含關(guān)系,,任務(wù)實施,【提示】參照上述方法,畫出其他用例間的包含關(guān)系,最后完成如圖3-14所示的用戶使用播放器的用例圖,。,圖3-14 用戶使用播放器的用例圖,,任務(wù)實施,,,,,,子任務(wù)2:建立計算機與系統(tǒng)交互的用例圖,,,,,,,,,,子任務(wù)描述,由于MP3播放器是一個嵌入式系統(tǒng),所以計算機與MP3播放器系統(tǒng)之間也要進行相關(guān)的操作,例如,讀取媒體文件、添加媒體文件、刪除媒體文件和重命名媒體文件等。根據(jù)以上操作繪制出計算機與MP3播放器系統(tǒng)之間的用例圖。,【注意】在瀏覽窗口中右鍵單擊“Use Case View”(用例視圖),在彈出的菜單上選擇菜單項“New”(新建)下的“Use Case Diagram”(用例圖)命令,從鍵盤輸入文本“計算機系統(tǒng)用例”命名該用例圖,雙擊“計算機系統(tǒng)用例”打開用例圖窗口。以下步驟在此前提下實施,不再贅述。,新建參與者“計算機”,在工具箱中單擊“Actor”(參與者)圖標(biāo),將光標(biāo)移動到用例圖窗口適當(dāng)位置,單擊鼠標(biāo)左鍵,就會出現(xiàn)名為“NewClass”參與者,重命名為“計算機”,如圖3-15所示。,,步驟1,圖3-15 新建參與者,,任務(wù)實施,提取用例,,在工具箱中選擇“Use Case”(用例)工具圖標(biāo),將光標(biāo)移動到窗口適當(dāng)位置,單擊鼠標(biāo)左鍵,就會出現(xiàn)名為“NewUseCase”用例,輸入文本“添加媒體文件”進行重命名,按相同的方法依次新建名為“刪除媒體文件”、“重命名媒體文件”和“讀取媒體文件”的用例。,,步驟2,在工具箱中選擇“Use Case”(用例)工具圖標(biāo),將光標(biāo)移動到窗口適當(dāng)位置,單擊鼠標(biāo)左鍵,就會出現(xiàn)名為“NewUseCase”用例,輸入文本“添加媒體文件”進行重命名,按相同的方法依次新建名為“刪除媒體文件”、“重命名媒體文件”和“讀取媒體文件”的用例。,,步驟3,新建參與者與用例間,,的雙向關(guān)聯(lián),,,任務(wù)實施,【提示】參照該過程,建立參與者“計算機”與用例“刪除媒體文件”、“重命名媒體文件”、“讀取媒體文件”間的關(guān)聯(lián),最后完成的效果如圖3-16所示。,圖3-16 計算機與系統(tǒng)交互的用例圖,,任務(wù)實施,Thank You !,