版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
企業(yè)信息系統(tǒng)工程
第3章信息系統(tǒng)分析(3)——對象建模
面向?qū)ο蟮男枨蠊こ?.4.1用例圖3.4.33.4.44順序圖和協(xié)作圖類圖3.4.23.4.5狀態(tài)圖和活動(dòng)圖內(nèi)容概要學(xué)習(xí)目標(biāo)學(xué)完本節(jié)后,你應(yīng)該具備以下能力:理解對象建模中各種模型之間的關(guān)系;構(gòu)造捕獲系統(tǒng)功能需求的用例模型;理解需求分析中用例的作用;發(fā)現(xiàn)系統(tǒng)中的類、明確類之間的關(guān)系,構(gòu)造類圖;構(gòu)造順序圖和協(xié)作圖。ThenatureoftheprocessIterativeincrementalProcessFlowGatherAnalyzeSpecifyVerify3.4.1面向?qū)ο笮枨蠊こ蘂atherStudytheuser’senvironmentInterviewthecustomerandtheuserDevelopausecasemodelandtheusecasescenariosAnalyzeAnalyzeusecases.–ActivityDiagramsandStateTransitionDiagramModelthedomain.-ClassDiagramRealizetheusecases.–SequenceDiagram3.4.1面向?qū)ο笮枨蠊こ蘏pecifySpecifytherequirementsSpecifytheinterfacerequirementsVerifyandvalidatePresentstoryboardsoftherequirementstotheuser.DeveloptestcasesfromSRS3.4.1面向?qū)ο笮枨蠊こ獭緦ο蠼V袌D的關(guān)系】需求獲取分析設(shè)計(jì)用例圖活動(dòng)圖類圖順序圖狀態(tài)圖類圖協(xié)作圖3.4.1面向?qū)ο笮枨蠊こ探Y(jié)構(gòu)型的圖:
(1)對象結(jié)構(gòu)建模—類圖和對象圖
(2)應(yīng)用結(jié)構(gòu)建?!鼒D、構(gòu)件圖、部署圖
行為型的圖:
(1)對象交互建?!樞驁D、協(xié)作圖(通信圖、交互綜述圖、定時(shí)圖)、狀態(tài)圖(狀態(tài)機(jī))
(2)對象行為建?!美龍D、活動(dòng)圖
3.4.1面向?qū)ο笮枨蠊こ虨槭裁匆⑷绱硕嗟哪P?
不同的圖之間是重疊的.
可以通過不同的視圖觀察同一系統(tǒng).
結(jié)果:
(1)當(dāng)出現(xiàn)不一致時(shí),知道應(yīng)該在什么地方下工夫研究;
(2)所有觀點(diǎn)一致時(shí),則事情就完成了.3.4.1面向?qū)ο笮枨蠊こ虒ο蠼Y(jié)構(gòu)建模
——類圖和對象圖
(classdiagram&objectdiagram)
3.4.1面向?qū)ο笮枨蠊こ?.什么是類圖?任何系統(tǒng)都需要從兩方面進(jìn)行描述:結(jié)構(gòu)信息和行為信息。系統(tǒng)的組成表達(dá)了系統(tǒng)各組成要素之間的聯(lián)系,稱為結(jié)構(gòu);這些組成要素的執(zhí)行邏輯稱為行為。在面向?qū)ο蠓椒ㄖ校到y(tǒng)的結(jié)構(gòu)信息是通過類圖(classdiagram)來描述的;而系統(tǒng)行為信息則通過用例圖、交互圖(包括順序圖和協(xié)作圖)和狀態(tài)圖來描述的。也就是說,前者說明了系統(tǒng)的組成部分是什么,而后者則說明了系統(tǒng)做什么。3.4.2類圖類圖(classdiagram)表達(dá)了系統(tǒng)的靜態(tài)結(jié)構(gòu)信息,即系統(tǒng)是由哪些類組成的,這些類之間的關(guān)系是什么。類圖顯示系統(tǒng)各個(gè)部分以及怎樣將它們組裝起來;但卻不能模擬組裝后系統(tǒng)的工作情況。3.4.2類圖類圖是對象建模的核心。類圖可以:定義一個(gè)系統(tǒng)的必要資源(人、材料、信息、行為)。定義了資源之間的關(guān)系??梢陨纱a??梢杂么a生成模型(逆向工程)為其他的圖提供基礎(chǔ)。3.4.2類圖構(gòu)造類圖的三個(gè)關(guān)鍵問題是:系統(tǒng)中有哪些需要關(guān)心的類?這些類是如何描述的?這些類之間的聯(lián)系是什么?3.4.2類圖類圖層次(1)概念層(conceptual)概念層類圖描述問題域中的概念(事物),一般這些概念與類有很自然的聯(lián)系,但未必有直接的映射關(guān)系。概念層的類圖獨(dú)立程序設(shè)計(jì)語言,類的描述可能會有少量屬性和操作名稱。3.4.2類圖(2)說明層(specification)說明層描述軟件的接口部分,而不是軟件的實(shí)現(xiàn)部分。接口可能因?yàn)閷?shí)現(xiàn)環(huán)境等不同而有不同的實(shí)現(xiàn)。主要列出屬性和操作名稱。(3)實(shí)現(xiàn)層(implementation)實(shí)現(xiàn)層的類圖將考慮類的實(shí)現(xiàn)問題,提供類的細(xì)節(jié)。3.4.2類圖2.類的命名和表示命名:采用符合編程語言規(guī)定的命名規(guī)則。在一個(gè)包中,類名是獨(dú)一無二的;不同的包可以有相同的類名。因此,命名時(shí)要指明包名。格式:包名::類名3.4.2類圖3.4.2類圖
3.類的類型存在三種不同類型的類:實(shí)體類、邊界類和控制類。(1)實(shí)體類實(shí)體類描述要保存到持久存儲體中的信息。如:數(shù)據(jù)庫、各種形式的數(shù)據(jù)文件中的信息。包括:活動(dòng)者類?;顒?dòng)者類代表出現(xiàn)在用例模型中的活動(dòng)者?;顒?dòng)者是現(xiàn)實(shí)世界中與系統(tǒng)交互的人和/或機(jī)構(gòu)。例如,訂單處理系統(tǒng)中客戶是一個(gè)活動(dòng)者類。業(yè)務(wù)類描述業(yè)務(wù)的地點(diǎn)、物品、概念和事件。例如訂單處理系統(tǒng)中的訂單、商品等都是業(yè)務(wù)類。3.4.2類圖(2)邊界類也稱界面類(UI類),是組成系統(tǒng)用戶界面的屏幕顯示、菜單和報(bào)表。例如,訂單處理系統(tǒng)中客戶登錄系統(tǒng)的界面、顯示和編輯訂單的屏幕等都屬于UI類。邊界類位于系統(tǒng)與外界的交界處。如:窗體類、報(bào)表類、描述通信協(xié)議的類、直接與外設(shè)交互的類、直接與外部系統(tǒng)交互的類。3.4.2類圖(3)控制類控制類是主要負(fù)責(zé)其它類工作的類。如:主程序類、主窗體類。3.4.2類圖邊界類、控制類和實(shí)體類的表示方法:邊界類實(shí)體類控制類class1<<boundary>>Class1Class1class1<<entity>>Class1Class1class1<<control>>Class1Class13.4.2類圖4.建立類圖的步驟(1)研究分析問題域,確定系統(tǒng)需求。(2)確定類,明確類的含義和職責(zé),確定屬性和操作。(3)確定類之間的關(guān)系。(4)細(xì)化類和類之間的關(guān)系,解決命名沖突、功能重復(fù)等問題。(5)繪制類圖,并給元素必要的文字說明。3.4.2類圖
5.如何發(fā)現(xiàn)類到目前為止,還沒有一種非常有效的確定對象的方法,因此,對同一個(gè)問題域,不同的項(xiàng)目小組可能會得出不同的侯選對象。相信隨著面向?qū)ο蠓椒ǖ陌l(fā)展、成熟,會出現(xiàn)一些大家都認(rèn)可的發(fā)現(xiàn)對象的算法式策略。3.4.2類圖尋找類的方法(1)根據(jù)用例描述中的名詞確定類的候選者。使用CRC分析法尋找類。CRC是類(class)、職責(zé)(responsibility)和協(xié)作(collaboration)的簡稱。CRC分析法根據(jù)類所要扮演的職責(zé)來確定類。(2)根據(jù)邊界類、控制類和實(shí)體類的劃分來幫助發(fā)現(xiàn)系統(tǒng)中的類。對問題域進(jìn)行分析,或利用已有的問題域分析結(jié)果得到類。(3)參考設(shè)計(jì)模式來確定類。根據(jù)軟件開發(fā)過程提供的指導(dǎo)原則尋找類。(RationalUnifiedProcess)3.4.2類圖6.建立類之間的聯(lián)系(1)泛化聯(lián)系(2)關(guān)聯(lián)-聚合-組合(3)依賴3.4.2類圖類圖例子3.4.2類圖1.用例的定義問題:如何認(rèn)識一個(gè)新的系統(tǒng)黑盒的觀點(diǎn);白盒的觀點(diǎn)。
3.4.3用例圖取款存款查詢余額3.4.3用例圖客戶輸入正確密碼客戶選擇取款操作,并確定取款金額查詢余額?系統(tǒng)顯示余額是否系統(tǒng)從賬戶余額減去取款金額打印賬單?系統(tǒng)顯示余額否是取信用卡,結(jié)束操作3.4.3用例圖如果ATM機(jī)已開機(jī),且系統(tǒng)處于正常狀態(tài),系統(tǒng)提示客戶插入信用卡,系統(tǒng)識別信用卡及其類型,如果卡的類型正確,則提示客戶輸入密碼??蛻糨斎胄庞每艽a,由系統(tǒng)驗(yàn)證信用卡密碼是否正確。如果密碼不正確,則提示客戶再次輸入密碼,如果密碼錯(cuò)誤輸入5次以上,則自動(dòng)退卡;如果密碼正確,則顯示下一步操作界面,并提示客戶選擇操作類型??蛻艨梢韵冗x擇查詢余額操作,系統(tǒng)顯示該賬戶余額,并返回操作界面;客戶也可以直接選擇取款操作,系統(tǒng)提示客戶輸入取款金額,并在客戶輸入取款金額后判斷取款金額是否超出賬戶余額。如果超出,則系統(tǒng)提示客戶;否則系統(tǒng)提示正在操作中,待操作完畢后,系統(tǒng)修改賬戶余額信息,并提示客戶是否需要打印賬單,如果需要打印賬單,則系統(tǒng)打印賬單;否則退卡完成取款操作。3.4.3用例圖Jacobson(1992):用例規(guī)定了系統(tǒng)執(zhí)行的一個(gè)事務(wù)序列,系統(tǒng)可以執(zhí)行這些動(dòng)作并產(chǎn)生出一個(gè)對于特定活動(dòng)者有價(jià)值的可見結(jié)果。3.4.3用例圖用例獲取的是功能需求。所有的用例合在一起構(gòu)成用例模型,它描述了系統(tǒng)的全部功能,回答了“系統(tǒng)應(yīng)該為每個(gè)用戶做什么?”這樣的問題,而不是“系統(tǒng)應(yīng)該做什么?”的問題。3.4.3用例圖小結(jié):用例是對一個(gè)參與者(actor)使用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交互過程的一個(gè)文字描述序列。用例是系統(tǒng)、子系統(tǒng)或類與外部的參與者(actor)交互的動(dòng)作序列的說明,包括可選的動(dòng)作序列和會出現(xiàn)異常的動(dòng)作序列。3.4.3用例圖2.用例的作用是:(1)用例提供了一種捕獲功能需求的系統(tǒng)而且直覺的方法。易于使用——交流問題(開發(fā)人員、用戶、領(lǐng)域?qū)<遥┲v故事方式3.4.3用例圖(2)用例驅(qū)動(dòng)整個(gè)開發(fā)過程。因?yàn)榇蟛糠只顒?dòng)如分析、設(shè)計(jì)和測試都是從用例開始執(zhí)行的。3.4.3用例圖(3)用例把系統(tǒng)當(dāng)作一個(gè)黑盒。一個(gè)用例沒有指定任何與這些需求相關(guān)的系統(tǒng)的內(nèi)部結(jié)構(gòu)。過早地說明內(nèi)部結(jié)構(gòu)給設(shè)計(jì)者帶來了額外的約束,沒有這些約束設(shè)計(jì)者們能更自由地建立一個(gè)正確實(shí)現(xiàn)客觀可見行為的系統(tǒng),并存在出現(xiàn)突破方案的可能性。【例】1.“提交改變到定單數(shù)據(jù)庫”
2.“顯示結(jié)果到Web頁面”3.4.3用例圖(4)使需求的定義更加完備。用例是所有用戶和系統(tǒng)之間相互作用的一種描述,也就是說,它是從用戶的觀點(diǎn),在限制的工作環(huán)境下描述外部系統(tǒng)的行為。3.4.3用例圖(5)用例用來文檔化系統(tǒng)需求,并且還可以將系統(tǒng)根據(jù)功能進(jìn)行分類。從本質(zhì)上講,一個(gè)用例是用戶與計(jì)算機(jī)之間的一次典型交互作用。3.4.3用例圖(6)用例不僅可以使開發(fā)人員考慮到各種正常的事件;也有助于觀察到各種異常情況,進(jìn)而有助于發(fā)現(xiàn)隱性需求。3.4.3用例圖(7)支持增量式、迭代式系統(tǒng)開發(fā)生命周期??紤]數(shù)據(jù)流程圖與用例的區(qū)別。3.4.3用例圖(1)活動(dòng)者(actors)活動(dòng)者是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的事物——人、設(shè)備、外部系統(tǒng)等。3.用例中的基本概念3.4.3用例圖表示<<actor>>管理員管理員3.4.3用例圖(2)事件流事件流表達(dá)了用例執(zhí)行的細(xì)節(jié)。事件流有三種:主事件流:是正常情形,是用例中最常用的路徑。取款用例的主事件流是順利取到款。其他事件流:是從主事件流分支出來的,但不是錯(cuò)誤條件。(視具體情況決定是否會執(zhí)行)錯(cuò)誤流:錯(cuò)誤條件。錯(cuò)誤流表示系統(tǒng)本身的問題。3.4.3用例圖客戶輸入正確密碼客戶選擇取款操作,并確定取款金額查詢余額?系統(tǒng)顯示余額是否系統(tǒng)從賬戶余額減去取款金額打印賬單?系統(tǒng)顯示余額否是取信用卡,結(jié)束操作主事件流主事件流其他事件流事件流描述了以下幾個(gè)方面的內(nèi)容:①簡要說明:包括執(zhí)行用例的不同類型的用戶和用戶通過該用例要達(dá)到的最終結(jié)果。②前提條件:即開始用例之前必須滿足的條件,如,前提條件可能是另一個(gè)用例已經(jīng)執(zhí)行或用戶具有運(yùn)行當(dāng)前用例的權(quán)限。并不是所有的用例都有前提條件。3.4.3用例圖③事件流路徑:事件流描述了執(zhí)行用例功能的具體步驟。包括:用例如何開始用例的各種路徑主事件流其他事件流錯(cuò)誤事件流用例如何結(jié)束。3.4.3用例圖④事后條件:事后條件是用例執(zhí)行完畢后必須為真的條件。例如,可以在用例完成之后設(shè)置一個(gè)標(biāo)志。3.4.3用例圖(3)腳本scenario(情景、場景、情節(jié)、劇本)定義指貫穿用例的一條單一路徑,或用來顯示用例中的某種特殊情況。腳本是用例的實(shí)例。每個(gè)用例都有一系列的腳本,其中包括:一個(gè)主要腳本;多個(gè)次要腳本。次要腳本描述執(zhí)行路徑中的異?;蚩蛇x擇的情況。3.4.3用例圖用例描述模板:參見教材3.4.3用例圖4.用例建?!美龍D(1)定義:用例圖(UseCaseDiagram)是指反映活動(dòng)者,系統(tǒng)邊界所封閉的用例,及活動(dòng)者與用例之間,用例與用例之間關(guān)系的一種圖。3.4.3用例圖(2)用例圖中的符號UML中一個(gè)單一的“Stick-Man”符號表示行為者(Actor)用橢圓表示UseCases。3.4.3用例圖(3)UseCases之間的關(guān)系A(chǔ)ctor與UseCase之間的關(guān)系——關(guān)聯(lián)關(guān)系UseCase之間的關(guān)系:擴(kuò)展、包含、泛化3.4.3用例圖(3)UseCases之間的關(guān)系
3.4.3用例圖3.4.3用例圖擴(kuò)展(extend):擴(kuò)展關(guān)系用來說明可選的、只在特定條件下運(yùn)行的行為。具有擴(kuò)展關(guān)系的用例基于參與者的選擇,可以運(yùn)行幾個(gè)不同的流。擴(kuò)展關(guān)系表示基用例在指定的擴(kuò)展點(diǎn)隱式地含有另一個(gè)用例(擴(kuò)展用例)的行為。3.4.3用例圖3.4.3用例圖包含(include):包含關(guān)系指一個(gè)用例的行為包含了另一個(gè)用例的行為。前者叫做基用例,后者叫做包含用例。3.4.3用例圖包含關(guān)系的用途:如果兩個(gè)以上的用例有大量一致的功能,則可以將該功能分解到另一個(gè)用例中。其它用例可以和該用例建立包含關(guān)系。一個(gè)用例的功能太多時(shí),可以用包含關(guān)系建立兩個(gè)小用例。3.4.3用例圖表示法:虛線箭頭從基用例指向包含用例。箭頭上帶有關(guān)鍵字《include》3.4.3用例圖[思考題]用例之間的擴(kuò)展關(guān)系和包含關(guān)系有何區(qū)別和聯(lián)系?在包含關(guān)系中一個(gè)用例總是在使用另外一個(gè)用例的功能;在擴(kuò)展關(guān)系中,則是根據(jù)某些條件有選擇地使用另外一個(gè)用例的功能。
3.4.3用例圖CheckcreditPurchaseticketChange
reservation<<include>><<extend>>3.4.3用例圖用例泛化(usecasegeneralization)
是在一個(gè)用例(子用例)和另一個(gè)用例(父用例)之間的關(guān)系,其中的父用例描述了子用例與其他用例共享的特性,而這些用例是有著同一父用例的。這是適用于用例的泛化.3.4.3用例圖用例泛化(usecasegeneralization)的表示法3.4.3用例圖找出系統(tǒng)外部的參與者(人、設(shè)備、外部系統(tǒng)),確定系統(tǒng)的邊界和范圍。確定每一個(gè)參與者所期望的系統(tǒng)行為。把這些系統(tǒng)行為命名為用例。使用泛化、包含、擴(kuò)展等關(guān)系處理系統(tǒng)行為的公共或變更部分。繪制用例圖。編制每一個(gè)用例的腳本。區(qū)分主事件流和異常情況的事件流,如果需要,可以把異常情況處理的事件流作為單獨(dú)的用例處理。細(xì)化用例圖,解決用例間的重復(fù)與沖突問題。常用步驟,可調(diào)換,可反復(fù)。5.如何獲取用例3.4.3用例圖交互圖(interactiondiagram)交互圖順序圖協(xié)作圖用來描述對象之間以及對象與參與者之間的動(dòng)態(tài)協(xié)作關(guān)系以及協(xié)作過程中行為次序的圖形文檔。通常用來描述一個(gè)用例的行為,顯示該用例中所涉及的對象和這些對象之間的消息傳遞情況。是強(qiáng)調(diào)消息的時(shí)間次序的交互圖。它顯示了一組對象和由這組對象發(fā)送和接收的消息。是強(qiáng)調(diào)收發(fā)消息的對象的結(jié)構(gòu)組織的交互圖。它顯示了一組對象、這組對象間的鏈以及這組收發(fā)的消息。3.4.4交互圖
在UML中,類圖只表達(dá)了系統(tǒng)的靜態(tài)結(jié)構(gòu)信息,系統(tǒng)的動(dòng)態(tài)信息需要利用交互圖來表示。交互圖(interactiondiagram)是一種動(dòng)態(tài)視圖,它展現(xiàn)了一種交互,它由一組對象和它們之間的關(guān)系組成,包括在它們之間可能發(fā)送的消息。有兩種用來描述信息流和對象交互的交互圖:順序圖和協(xié)作圖。事實(shí)上,順序圖和協(xié)作圖包含相同的信息,但它們的側(cè)重點(diǎn)稍有不同。1.順序圖(1)什么是順序圖?順序圖(sequencediagram)表示了對象之間傳送消息的時(shí)間順序,也就是對象之間的交互順序,這些交互是指在場景或用例的事件流中發(fā)生的。每一個(gè)對象(類)用一條生命線來表示——即用垂直線代表整個(gè)交互過程中對象的生命期。生命線之間的箭頭連線代表消息。1.順序圖(2)如何構(gòu)造順序圖?順序圖中的基本元素包括:①活動(dòng)者,指用例中的活動(dòng)者。②對象,指在用例中的內(nèi)部對象。1.順序圖順序圖中的基本元素包括:③生命線:在順序圖中的一個(gè)對象下面的豎線,用以顯示這個(gè)對象的生命期。時(shí)間從上到下流過。生命線實(shí)際上顯示了消息的順序,在生命線之上的消息比在它之下的消息先發(fā)生。在生命線中的棒形方框表示的是活動(dòng)生命線,用以強(qiáng)調(diào)一個(gè)對象只有在一個(gè)場景的部分中處于活動(dòng)狀態(tài)。1.順序圖激活棒消息1.順序圖④消息,指場景內(nèi)由事件流定義的內(nèi)部事件成為在對象和活動(dòng)者或其他對象之間的消息。同步消息——返回消息。同步消息假定有一個(gè)返回消息。同步消息用有實(shí)心的箭頭表示;返回消息用虛線、箭頭也不是實(shí)心來表示。反身消息——消息的發(fā)送方和接收方是同一個(gè)對象。異步消息——沒有返回值的消息。用非實(shí)心箭頭表示。定時(shí)消息——對消息附加時(shí)間約束條件,包括:發(fā)送時(shí)間、接收時(shí)間、已用時(shí)間等。1.順序圖1.順序圖(2)如何構(gòu)造順序圖?建立順序圖的步驟如下:①確定所有與場景有關(guān)的對象和活動(dòng)者。僅僅使用在用例圖中標(biāo)識過的活動(dòng)者,只使用在類圖中標(biāo)識過的對象。如果要使用上述兩種圖中沒有定義的對象和活動(dòng)者,則要更新那些圖。②基于事件流,確定每一個(gè)需要用于完成場景的消息。同時(shí)標(biāo)識消息的源對象或活動(dòng)者以及目的對象或活動(dòng)者。1.順序圖建立順序圖的步驟如下:③決定是否總是發(fā)送還是有條件發(fā)送每一個(gè)消息。為保持簡單。不需要識別每一個(gè)消息返回來的響應(yīng)。④正確地為這些消息排序并把它們附在合適的活動(dòng)者或?qū)ο蟮纳€上。⑤給消息加上形式化的語法以描述條件、消息名和要傳遞的參數(shù)。1.順序圖
協(xié)作圖(collaborationdiagram)是顯示某組對象如何為了由一個(gè)用例描述的一個(gè)系統(tǒng)事件而與另一組對象進(jìn)行協(xié)作的交互圖。與序列圖不同,協(xié)作圖顯示對象角色之間的相互關(guān)系,且不將時(shí)間表示為單獨(dú)的維。因此,要對協(xié)作圖中的消息編號以表明其先后順序。2.協(xié)作圖
協(xié)作圖的活動(dòng)者、對象和消息都使用了順序圖中的符號,沒有使用生命線符號。但是使用了一個(gè)不同的符號:鏈接符號,是用對象之間或活動(dòng)者與對象之間的連線表示的,在協(xié)作圖中,鏈接表示兩個(gè)對象共享一個(gè)消息——一個(gè)是消息的發(fā)送者,一個(gè)是消息的接收者。協(xié)作圖中消息的描述格式如下:
[true/false條件]順序編號:[返回值:=]消息名(參數(shù)列表)2.協(xié)作圖創(chuàng)建協(xié)作圖的步驟與順序圖是一致的。①尋找對象②尋找活動(dòng)者③將消息加進(jìn)框圖2.協(xié)作圖2.協(xié)作圖順序圖和協(xié)作圖都屬于交互圖,都用于描述系統(tǒng)中對象之間的動(dòng)態(tài)關(guān)系.兩者可以相互轉(zhuǎn)換,但兩者強(qiáng)調(diào)的重點(diǎn)不同。順序圖強(qiáng)調(diào)的是消息的時(shí)間順序,而協(xié)作圖強(qiáng)調(diào)的是滿交互的對象的組織。在兩個(gè)圖所使用的建模元素上,兩者也有各自的特點(diǎn)。順序圖中有對象生命線和控制焦點(diǎn),協(xié)作圖中沒有;協(xié)作圖中有路徑,并且協(xié)作圖中的消息必須有消息順序號,但順序圖中沒有這兩個(gè)特征。和協(xié)作圖相比,順序圖在表示算法、對象的生命期、具有多線程特征的對象等方面相對來說更容易一些,但在表示并發(fā)控制流方面會困難一些。順序圖和協(xié)作圖在語義上是等價(jià)的,兩者之間可以相互轉(zhuǎn)換,但兩者并不能完全相互代替。3.順序圖和協(xié)作圖的比較1.狀態(tài)圖
(1)什么對象狀態(tài)?對象或者類的整體行為的某些規(guī)則所能適應(yīng)的對象或類的狀況、情況、條件、形式或生存周期。僅當(dāng)對象的行為規(guī)則不同時(shí),才稱對象處于不同的狀態(tài)。在由對象的全部屬性的屬性值集合所構(gòu)成的笛卡兒乘積中的每一個(gè)等價(jià)集合(即,使對象的服務(wù)呈現(xiàn)相同行為規(guī)則的屬性值的集合)稱之為對象的一種狀態(tài)。例如,對象發(fā)票(invoice)可以根據(jù)其付款的情況分為三個(gè)狀態(tài):未付款(unpaid)、部分付款(partlypaid)以及付清款(fullypaid)。3.4.5狀態(tài)圖和活動(dòng)圖(2)
狀態(tài)圖狀態(tài)圖(statechartdiagram)使用狀態(tài)、事件和轉(zhuǎn)換來記錄對象在其生命周期中所歷經(jīng)的狀態(tài)序列。①對象的初始狀態(tài)是圖中任何事件都未對該對象起作用時(shí)的狀態(tài)。②狀態(tài)代表對象生命周期中的某一瞬間。③轉(zhuǎn)換表明作為對事件的響應(yīng)結(jié)果,對象將從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)并執(zhí)行某個(gè)動(dòng)作。④觸發(fā)狀態(tài)轉(zhuǎn)換的事件在狀態(tài)轉(zhuǎn)換字符串中命名。雙擊一個(gè)狀態(tài)轉(zhuǎn)換,除事件簽名以外,還可用字符串為其加注臨界條件、動(dòng)作表達(dá)式等標(biāo)簽。3.4.5狀態(tài)圖和活動(dòng)圖3.4.5狀態(tài)圖和活動(dòng)圖3.4.5狀態(tài)圖和活動(dòng)圖3.4.5狀態(tài)圖和活動(dòng)圖2.活動(dòng)圖活動(dòng)圖(ActivityDiagram)被用以文檔化單個(gè)操作/過程、單個(gè)用例的邏輯或業(yè)務(wù)過程的邏輯流程。在許多情況下,活動(dòng)圖可以看成與結(jié)構(gòu)化方法中的數(shù)據(jù)流程圖是等同的。3.4.5狀態(tài)圖和活動(dòng)圖活動(dòng)圖(ActivityDiagram)可以用于描述系統(tǒng)的工作流程和并發(fā)行為?;顒?dòng)圖可看作狀態(tài)圖的特殊形式??梢园鸦顒?dòng)圖中的活動(dòng)看作活動(dòng)狀態(tài),活動(dòng)圖中從一個(gè)活動(dòng)到另一個(gè)活動(dòng),相當(dāng)狀態(tài)圖中從一個(gè)狀態(tài)到一個(gè)狀態(tài)?;顒?dòng)圖中活動(dòng)的改變不需要事件觸發(fā),源活動(dòng)執(zhí)行完畢后自動(dòng)觸發(fā)轉(zhuǎn)移,到下一活動(dòng)。3.4.5狀態(tài)圖和活動(dòng)圖活動(dòng)圖中的基本概念活動(dòng)、泳道、分支、分叉和匯合、對象流活動(dòng)(activity)?;顒?dòng)表示某流程中任務(wù)的執(zhí)行?;顒?dòng)圖中的活動(dòng)也叫活動(dòng)狀態(tài)。泳道(swimlane)。泳道是活動(dòng)圖中水平方向的區(qū)域劃分,根據(jù)每個(gè)活動(dòng)的職責(zé)對所有活動(dòng)進(jìn)行劃分,每個(gè)泳道代表一個(gè)責(zé)任區(qū)。分支(branch)。在活動(dòng)圖中,對于同一個(gè)觸發(fā),可根據(jù)不同的觸發(fā)條件轉(zhuǎn)移到不同活動(dòng),每個(gè)可能的轉(zhuǎn)移就是一個(gè)分支。3.4.5狀態(tài)圖和活動(dòng)圖3.4.5狀態(tài)圖和活動(dòng)圖活動(dòng)圖中的基本概念分叉和匯合(fork&jo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NB/T 11539-2024礦用物位傳感器通用技術(shù)要求
- 中醫(yī)醫(yī)學(xué)經(jīng)絡(luò)腧穴學(xué)課件-奇穴
- 《學(xué)前社會教育》課件
- 2025屆海南省部分學(xué)校高三上學(xué)期全真模擬(二)歷史試卷(解析版)
- 2024-2025學(xué)年浙江省臺州市十校聯(lián)考高一上學(xué)期期中考試歷史試題(解析版)
- 《物流倉儲管理》課件
- 單位管理制度集合大全員工管理篇
- 《物流管理運(yùn)輸管理》課件
- 單位管理制度匯編大全員工管理
- 單位管理制度合并匯編【職工管理】
- 毛細(xì)管升高法測量液體表面張力系數(shù)
- 室內(nèi)覆蓋方案設(shè)計(jì)與典型場景
- 放射性粒子植入自我評估報(bào)告
- 2023年山西云時(shí)代技術(shù)有限公司招聘筆試題庫及答案解析
- 浙大中控DCS系統(tǒng)介紹(簡潔版)
- GB/T 16288-2008塑料制品的標(biāo)志
- GB/T 14486-2008塑料模塑件尺寸公差
- 北京市海淀區(qū)2022-2023學(xué)年高三期末考試歷史試題及答案
- 頂板管理實(shí)施細(xì)則
- 2022年杭州西湖文化旅游投資集團(tuán)有限公司招聘筆試試題及答案解析
- 中國青年運(yùn)動(dòng)史PPT模板
評論
0/150
提交評論