軟件工程5 領(lǐng)域分析——2.用例圖和活動(dòng)圖.pptx_第1頁(yè)
軟件工程5 領(lǐng)域分析——2.用例圖和活動(dòng)圖.pptx_第2頁(yè)
軟件工程5 領(lǐng)域分析——2.用例圖和活動(dòng)圖.pptx_第3頁(yè)
軟件工程5 領(lǐng)域分析——2.用例圖和活動(dòng)圖.pptx_第4頁(yè)
軟件工程5 領(lǐng)域分析——2.用例圖和活動(dòng)圖.pptx_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、圖書管理系統(tǒng)第2次課,工作任務(wù),根據(jù)訪談內(nèi)容,進(jìn)行業(yè)務(wù)用例建模 根據(jù)訪談內(nèi)容,進(jìn)行業(yè)務(wù)流程的建模,提交內(nèi)容,業(yè)務(wù)用例圖 業(yè)務(wù)流程活動(dòng)圖,工作任務(wù)1:業(yè)務(wù)用例建模交付的工作產(chǎn)品:業(yè)務(wù)用例圖,學(xué)習(xí)情境知識(shí)點(diǎn)1:業(yè)務(wù)用例建模對(duì)應(yīng)教材章節(jié):第4章 4.3-4.9,什么是用例圖(Use Case Diagram) 用例圖的應(yīng)用 用例圖的組成 參與者、用例的識(shí)別 用例建模技術(shù),什么是用例圖(use case diagram),在UML中,一個(gè)用例模型由若干個(gè)用例圖(use case diagram)描述。用例圖是顯示一組用例、參與者以及它們之間關(guān)系的圖。,用例圖的應(yīng)用,用例圖是從用戶的角度來(lái)描述對(duì)軟件產(chǎn)品

2、的需求,分析產(chǎn)品的功能和行為,因此,對(duì)整個(gè)軟件開發(fā)過(guò)程而言,用例圖是至關(guān)重要的。 用例圖定義和描述了系統(tǒng)的外部可見(jiàn)行為,是分析、設(shè)計(jì)直至組裝測(cè)試的重要依據(jù)。 讓用戶參與前期的系統(tǒng)分析與設(shè)計(jì)。,Use Case 對(duì)開發(fā)的意義,大學(xué)信息系統(tǒng)的一個(gè)用例圖,用例圖的組成,用例(Use Case) 參與者(Actor) 關(guān)系(Relationship),什么是參與者,參與者:在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物。 參與者可能是人、另外一個(gè)系統(tǒng)、時(shí)間的流逝等。 UML中,參與者用“人形”圖標(biāo)來(lái)表示,名字寫在圖標(biāo)的下方。,什么是用例,用例(use case)一個(gè)用例是用戶與計(jì)算機(jī)之間的一次

3、典型交互作用。在UML中,用例被定義成系統(tǒng)執(zhí)行的一系列動(dòng)作(功能) 。 參與者和用例分別描述了“誰(shuí)來(lái)做?”和“做什么?”這兩個(gè)問(wèn)題。 每個(gè)用例都必須有一個(gè)惟一的名字以區(qū)別于其他用例。 用例用一個(gè)橢圓來(lái)表示,用例的名字可以書寫在橢圓的內(nèi)部或下方。用例的UML圖標(biāo)如圖所示。,如何建立用例模型 建立系統(tǒng)用例模型的過(guò)程就是對(duì)系統(tǒng)進(jìn)行功能需求分析的過(guò)程。,確定系統(tǒng)范圍; 分析系統(tǒng)功能。,執(zhí)行者通常是使用系統(tǒng)功能的外部用戶或系統(tǒng)。 用例是一個(gè)子系統(tǒng)或系統(tǒng)的一個(gè)獨(dú)立、完整功能。,各模型元素之間有:關(guān)聯(lián)、使用、擴(kuò)展及泛化等關(guān)系。,確認(rèn)用例模型與用戶需求的一致性,通常由用戶與開發(fā)者共同完成。,用例建模技術(shù),識(shí)別

4、參與者 識(shí)別用例 識(shí)別用例間的關(guān)系 用例闡述,識(shí)別參與者的方法,誰(shuí)使用系統(tǒng)的主要功能 誰(shuí)改變系統(tǒng)的數(shù)據(jù) 誰(shuí)從系統(tǒng)獲取信息 誰(shuí)需要系統(tǒng)的支持以完成日常工作任務(wù) 誰(shuí)負(fù)責(zé)日常維護(hù)、管理并保證系統(tǒng)正常運(yùn)行 系統(tǒng)需要應(yīng)付(處理)那些硬設(shè)備 系統(tǒng)需要和那些外部系統(tǒng)交互 誰(shuí)(或什么)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果(值)感興趣 時(shí)間、氣溫等內(nèi)部外部條件,識(shí)別參與者,客戶給銷售員發(fā)來(lái)傳真訂貨, 銷售員下班前將當(dāng)日訂貨單匯總輸入系統(tǒng)。 誰(shuí)是系統(tǒng)的Actor? 答案: 銷售員,識(shí)別參與者,商品銷售系統(tǒng)。顧客通過(guò)網(wǎng)絡(luò)下單之后,系統(tǒng)計(jì)算出總計(jì)金額,稅金,運(yùn)費(fèi),并將數(shù)目傳遞給一個(gè)外掛的會(huì)計(jì)系統(tǒng),該系統(tǒng)是另外購(gòu)買的。 有幾個(gè)Acto

5、r?,答案: 顧客(商品銷售系統(tǒng)), 商品銷售系統(tǒng)(會(huì)計(jì)系統(tǒng)),例:圖書管理系統(tǒng)的參與者: 借閱者(Borrower) 圖書管理員(Librarian),Example,參與者的泛化,參與者之間也可以象類一樣存在泛化或者依賴關(guān)系。,如系統(tǒng)中經(jīng)理可以參加雇員的所有用例,識(shí)別用例的方法,參與者希望系統(tǒng)提供什么功能; 系統(tǒng)是否存儲(chǔ)和檢索信息;如果是,這個(gè)行為由哪個(gè)參與者觸發(fā); 當(dāng)系統(tǒng)改變狀態(tài)時(shí),是否通知參與者; 是否存在影響系統(tǒng)的外部事件,是哪個(gè)參與者通知系統(tǒng)這些外部事件。,識(shí)別用例,Email客戶端(如:outlook express),A在北京發(fā)郵件給深圳的B,系統(tǒng)提醒B”你有新郵件”,B收郵件

6、。,識(shí)別用例,一個(gè)論壇類的應(yīng)用,用戶可以提問(wèn),別人來(lái)回答,如果有自己?jiǎn)栴}被解答的話,就給發(fā)問(wèn)者發(fā)一份郵件通知。 注意:發(fā)郵件這個(gè)用例可以是單獨(dú)的用例,也可以是由回答用例擴(kuò)展出來(lái)的用例,用例間、用例與參與者的關(guān)系,1. 泛化關(guān)系(Generalization):一個(gè)用例可以被特別列舉為一個(gè)或多個(gè)子用例,這被稱為用例泛化: 2. 包含關(guān)系(Include)一個(gè)用例可以簡(jiǎn)單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分,這被稱作包含關(guān)系。 3. 擴(kuò)展關(guān)系(Extend):一個(gè)用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱作擴(kuò)展關(guān)系,擴(kuò)展關(guān)系是把新行為插入到已有用例的方法。 4.關(guān)聯(lián)

7、關(guān)系:關(guān)聯(lián)關(guān)系表示參與者與用例之間的通信。,四種關(guān)系的UML圖釋,包含關(guān)系,擴(kuò)展關(guān)系,泛化關(guān)系,關(guān)聯(lián)關(guān)系,用例之間的關(guān)系,泛化:同一業(yè)務(wù)目的的不同技術(shù)實(shí)現(xiàn) 包含:提取公共交互,提高復(fù)用 擴(kuò)展:“凍結(jié)”基用例以保持穩(wěn)定 *通過(guò)關(guān)系提高用例復(fù)用,泛化(generalization),當(dāng)多個(gè)用例共同擁有一種類似的結(jié)構(gòu)和行為的時(shí)候 我們可以將它們的共性抽象成為父用例,其他的用例 作為泛化關(guān)系中的子用例。,泛化(generalization),泛化舉例(一):,泛化(generalization),泛化舉例(二):,包含(include),包含是指基本用例(base use case)會(huì)用到包含用例 (

8、inclusion),具體地講,就是將包含用例的事件流 插入到基礎(chǔ)用例的事件流中。包含用例是可重用的 用例多個(gè)用例的公共用例。,包含(include),包含(include),包含舉例(一):,包含(include),包含舉例(二):,擴(kuò)展(extend),將擴(kuò)展用例的事件流在一定的條件下按照相應(yīng)的擴(kuò)展點(diǎn)插入到基礎(chǔ)用例中。 基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)。 擴(kuò)展用例的行為是否被執(zhí)行要取決于主事件流中的判定點(diǎn)。,擴(kuò)展(extend),擴(kuò)展(extend),擴(kuò)展舉例(一):,擴(kuò)展(extend),擴(kuò)展舉例(二):,用例之間的關(guān)系,包含用例與擴(kuò)展用例的區(qū)別 相對(duì)于基礎(chǔ)用例,擴(kuò)

9、展用例是可選的,而包含用例則不是。 如果缺少擴(kuò)展用例,基礎(chǔ)用例還是完整的,而缺少包含用例,則基礎(chǔ)用例就不完整了。 擴(kuò)展用例的執(zhí)行需要滿足某種條件,而包含用例不需要。 擴(kuò)展用例的執(zhí)行會(huì)改變基礎(chǔ)用例的行為,而包含用例不會(huì)。,例:自動(dòng)售貨機(jī),圖書管理系統(tǒng)的業(yè)務(wù)用例建模,現(xiàn)在我們要對(duì)圖書管理系統(tǒng)進(jìn)行業(yè)務(wù)用例建模。在上次進(jìn)行的訪談中,我們得知: 該系統(tǒng)只有一種使用者:圖書館工作人員,并且同一時(shí)刻只有一個(gè)工作人員使用該系統(tǒng)。 圖書館工作人員,日常的業(yè)務(wù)主要有:圖書管理,借閱證管理和圖書的借閱/歸還。,根據(jù)以上訪談內(nèi)容,我們識(shí)別出 參與者圖書館工作人員 用例圖書管理、借閱管理和圖書的借閱/歸還 在Ratio

10、nal Rose中建模。 打開模型:圖書管理系統(tǒng) 在UseCase中新建一個(gè)包,命名為“領(lǐng)域分析”,在其中創(chuàng)建一個(gè)用例圖(UseCase Diagram,命名為:業(yè)務(wù)用例圖,注意:這個(gè)用例圖是從用戶業(yè)務(wù)的視角出發(fā),用來(lái)進(jìn)行業(yè)務(wù)用例建模的。 在今后的需求分析階段,我們會(huì)從系統(tǒng)的視角來(lái)進(jìn)行系統(tǒng)用例建模。,用戶觀點(diǎn),系統(tǒng)觀點(diǎn),要點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn),工作任務(wù)2:業(yè)務(wù)流程建模交付的工作產(chǎn)品業(yè)務(wù)流程活動(dòng)圖,學(xué)習(xí)情境:知識(shí)點(diǎn)2:活動(dòng)圖與業(yè)務(wù)流程建模對(duì)應(yīng)教材章節(jié):第7章 7.6節(jié),通過(guò)UML中的活動(dòng)圖,可以幫助我們進(jìn)行用戶業(yè)務(wù)流程建模,幫助我們站在用戶的視角上進(jìn)行業(yè)務(wù)分析。 在業(yè)務(wù)流程建模中,我們關(guān)注的

11、是用戶進(jìn)行某項(xiàng)業(yè)務(wù)的執(zhí)行步驟。,活動(dòng)圖(Activity Diagram),1 什么是活動(dòng)圖 2 活動(dòng)圖的用途 3 活動(dòng)圖的組成元素 4 活動(dòng)圖的建模技術(shù),1 什么是活動(dòng)圖,活動(dòng)圖是UML中描述系統(tǒng)動(dòng)態(tài)行為的圖之一,是描述系統(tǒng)或業(yè)務(wù)的一序列活動(dòng)構(gòu)成的控制流,它描述了系統(tǒng)從一種活動(dòng)轉(zhuǎn)換到另一種活動(dòng)的整個(gè)過(guò)程。,2 活動(dòng)圖的用途,活動(dòng)圖用于對(duì)系統(tǒng)的動(dòng)態(tài)行為建模。 活動(dòng)圖常用來(lái)描述業(yè)務(wù)或軟件系統(tǒng)的活動(dòng)軌跡,描述了系統(tǒng)的活動(dòng)控制流程。我們常用活動(dòng)圖對(duì)業(yè)務(wù)過(guò)程、工作流和用例實(shí)現(xiàn)進(jìn)行建模。 活動(dòng)圖主要應(yīng)用對(duì)兩個(gè)方面建模:一是在業(yè)務(wù)分析階段,對(duì)工作流程進(jìn)行建模;二是在系統(tǒng)分析和設(shè)計(jì)階段,對(duì)操作流程進(jìn)行建模。

12、,3 活動(dòng)圖的組成元素,動(dòng)作狀態(tài),動(dòng)作流,分支(判定條件),分叉和匯合(表示并發(fā)和同步),泳道,活動(dòng)圖的元素包括初始節(jié)點(diǎn)、終點(diǎn)、活動(dòng)節(jié)點(diǎn)、轉(zhuǎn)換、分支、分岔與匯合。其中,轉(zhuǎn)換、分支、分岔與匯合把多個(gè)活動(dòng)節(jié)點(diǎn)連接在一起。,4 活動(dòng)圖的建模技術(shù),在系統(tǒng)建模過(guò)程中,活動(dòng)圖能夠被附加到任何建模元素,以描述其行為,這些元素包括用例、類、接口、組件、節(jié)點(diǎn)、協(xié)作、操作和方法。 在建模過(guò)程中,讀者可以參照以下步驟進(jìn)行: (1)識(shí)別要對(duì)其工作流進(jìn)行描述的類; (2)對(duì)動(dòng)態(tài)狀態(tài)建模; (3)對(duì)動(dòng)作流建模; (4)對(duì)對(duì)象流建模; (5)對(duì)建模結(jié)果進(jìn)行精化和細(xì)化。,活動(dòng)圖的表示,下面分別描述活動(dòng)圖中的元素的語(yǔ)義和表示法

13、。 1. 初始節(jié)點(diǎn)和終點(diǎn) 初始節(jié)點(diǎn)表示活動(dòng)的起點(diǎn);終點(diǎn)表示活動(dòng)的終結(jié)點(diǎn)用一個(gè)實(shí)心圓表示初始節(jié)點(diǎn),用一個(gè)圓圈內(nèi)加一個(gè)實(shí)心圓來(lái)表示活動(dòng)終點(diǎn)在活動(dòng)圖中,可能包含多個(gè)活動(dòng)終點(diǎn)。 2. 活動(dòng)節(jié)點(diǎn) 活動(dòng)節(jié)點(diǎn)是活動(dòng)圖中最主要的元素之一,它用來(lái)表示一個(gè)活動(dòng),一個(gè)活動(dòng)表示多個(gè)動(dòng)作的集合?;顒?dòng)節(jié)點(diǎn)用一個(gè)圓角矩形表示活動(dòng)的名稱寫在圓角矩形內(nèi)部,活動(dòng)節(jié)點(diǎn)的表示方法,如圖所示。,圖 初始節(jié)點(diǎn)和終點(diǎn),圖 活動(dòng)節(jié)點(diǎn)的表示,活動(dòng)圖的表示,下圖列出的就是一些可能的活動(dòng)節(jié)點(diǎn)描述,可能用文字描述活動(dòng)節(jié)點(diǎn),可能用表達(dá)式描述活動(dòng)節(jié)點(diǎn),可能用消息描述活動(dòng)節(jié)點(diǎn)。 3. 轉(zhuǎn)換 當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),活動(dòng)控制流就會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn),在活動(dòng)

14、圖中稱之為“轉(zhuǎn)換”,用一條帶箭頭的直線來(lái)表示轉(zhuǎn)換下面的直線箭頭就表示了一個(gè)轉(zhuǎn)換。,圖活動(dòng)節(jié)點(diǎn),圖 轉(zhuǎn)換的表示,活動(dòng)圖的表示,4. 分支與監(jiān)護(hù)條件 在實(shí)際應(yīng)用中,有三種活動(dòng)控制流,它們是順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)當(dāng)從一個(gè)活動(dòng)節(jié)點(diǎn)到另一個(gè)活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換需要條件時(shí),常用分支與監(jiān)護(hù)條件來(lái)表示活動(dòng)的分支結(jié)構(gòu) 分支是用菱形表示的,它有一個(gè)進(jìn)入轉(zhuǎn)換(箭頭從外指向分支符號(hào)),一個(gè)或多個(gè)離開轉(zhuǎn)換(箭頭從分支符號(hào)指向外)。而每個(gè)離開轉(zhuǎn)換上都會(huì)有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿足某種條件時(shí)才執(zhí)行該轉(zhuǎn)換。分支的表示法,如圖所示。,圖 分支的表示,活動(dòng)圖的表示,5. 分岔與匯合 在實(shí)際應(yīng)用中,如果活動(dòng)的轉(zhuǎn)換是有條件的,我們就

15、用分支與監(jiān)護(hù)條件來(lái)表示轉(zhuǎn)換,如果一些活動(dòng)是并發(fā)執(zhí)行的,我們就用分岔和匯合來(lái)表示并發(fā)活動(dòng)。分岔線和匯合線都使用加粗的水平線或垂直線段表示。,圖 分岔與匯合的表示,活動(dòng)圖的表示,(1)分岔:每個(gè)分叉可以有一個(gè)輸入轉(zhuǎn)換和兩個(gè)或多個(gè)輸出轉(zhuǎn)換,每個(gè)轉(zhuǎn)換都可以是獨(dú)立的控制流。 (2)匯合:當(dāng)兩個(gè)或多個(gè)并發(fā)控制流都達(dá)到匯合點(diǎn)后,活動(dòng)流程才能進(jìn)入下一個(gè)活動(dòng)節(jié)點(diǎn) 分岔用來(lái)表示兩個(gè)或者多個(gè)并發(fā)活動(dòng)的分支;而匯合則用于同步這些并發(fā)活動(dòng)的分支,當(dāng)且僅當(dāng)所有的并發(fā)分支(活動(dòng))都到達(dá)匯合點(diǎn)后,活動(dòng)流程才能進(jìn)入下一個(gè)活動(dòng)節(jié)點(diǎn)。 按照活動(dòng)圖表示的信息不同,將活動(dòng)圖分為:簡(jiǎn)單活動(dòng)圖、標(biāo)識(shí)泳道的活動(dòng)圖、標(biāo)識(shí)對(duì)象流的活動(dòng)圖、復(fù)合活

16、動(dòng)圖。,一個(gè)活動(dòng)圖的例子,用一個(gè)活動(dòng)圖表示一下考試的過(guò)程。 思考一下: 你們每次參加考試的過(guò)程是怎么樣的?,一個(gè)考試的過(guò)程,開始 學(xué)生進(jìn)入考場(chǎng)。 監(jiān)考教師核對(duì)檢查證件。 學(xué)生對(duì)號(hào)入座。 監(jiān)考教師發(fā)試卷 學(xué)生開始答題。 學(xué)生交卷。 監(jiān)考教師收取試卷。 結(jié)束,活動(dòng)圖的表示,標(biāo)識(shí)泳道的活動(dòng)圖,為了有效地表示各個(gè)活動(dòng)由誰(shuí)負(fù)責(zé)的信息,可以通過(guò)泳道(Swim Lane)來(lái)實(shí)現(xiàn)。 每個(gè)泳道用一條垂直的線將它們分開,并且每個(gè)泳道都必須有一個(gè)唯一的名稱,例如本例中的監(jiān)考教師和考生。從圖中可以看出,每個(gè)活動(dòng)節(jié)點(diǎn),分支必須只屬于一個(gè)泳道,而轉(zhuǎn)換,分岔與匯合是可以跨泳道的。通過(guò)泳道,不僅體現(xiàn)了整個(gè)活動(dòng)控制流,還體現(xiàn)出了每個(gè)活動(dòng)的實(shí)施者。,加入泳道之后,圖書管理系統(tǒng)的業(yè)務(wù)流程建模,根據(jù)訪談分析業(yè)務(wù)流程 1.借書流程 圖書管理員得到學(xué)生出示的借書證 圖書管理員得到學(xué)生遞給他的書 進(jìn)行借書信息登記,2.還書流程 得到圖書信息 查閱借書信息表 登記歸還,3.借閱管理流程,我們繪制了借閱管理的活動(dòng)圖之后,發(fā)現(xiàn)無(wú)法更清楚的描繪用戶的業(yè)務(wù)情況,這說(shuō)明 我們需要對(duì)辦理借閱證這個(gè)動(dòng)作狀態(tài)和借閱證遺失補(bǔ)辦這個(gè)動(dòng)作狀態(tài)進(jìn)行進(jìn)一步細(xì)化。,辦理借閱證,借閱證遺失補(bǔ)辦,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論