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