第8章-順序圖-全部_第1頁
第8章-順序圖-全部_第2頁
第8章-順序圖-全部_第3頁
第8章-順序圖-全部_第4頁
第8章-順序圖-全部_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022-4-22第第8章章 順序圖(序列圖)順序圖(序列圖)教學目標:教學目標:1、掌握動態(tài)視圖概念和內容、掌握動態(tài)視圖概念和內容2、掌握順序圖的概念和包含建模元素、掌握順序圖的概念和包含建模元素3、掌握順序圖中的約束、條件發(fā)送,消息嵌套等技術、掌握順序圖中的約束、條件發(fā)送,消息嵌套等技術4、理解順序圖建模技術、理解順序圖建模技術2022-4-22第第8章章 目錄目錄8.1 UML動態(tài)視圖概述動態(tài)視圖概述8.2 順序圖的概念和內容順序圖的概念和內容8.3 順序圖使用的其它技術順序圖使用的其它技術8.4 順序圖的建模技術順序圖的建模技術2022-4-22UML圖圖動態(tài)視圖動態(tài)視圖交互圖交互圖活

2、動圖活動圖行為圖行為圖順序圖順序圖協(xié)作圖協(xié)作圖狀態(tài)圖狀態(tài)圖8.1 UML動態(tài)視圖概述動態(tài)視圖概述2022-4-221.UML的動態(tài)視圖:的動態(tài)視圖:描述了系統(tǒng)隨時間變化的行為,這些行為是從靜描述了系統(tǒng)隨時間變化的行為,這些行為是從靜態(tài)視圖中抽取的系統(tǒng)瞬間值的變化來描述的。態(tài)視圖中抽取的系統(tǒng)瞬間值的變化來描述的。2.UML的交互圖:的交互圖:(1)描述了一個交互,它由一組對象和它們之間的關系描述了一個交互,它由一組對象和它們之間的關系組成,并且還包括在對象間傳遞的信息。組成,并且還包括在對象間傳遞的信息。(2)交互圖常用來描述一個用例的行為,顯示該用例中交互圖常用來描述一個用例的行為,顯示該用例

3、中所涉及的對象和這些對象之間的消息傳遞情況。所涉及的對象和這些對象之間的消息傳遞情況。2022-4-22用例模型驅動了順序圖的開發(fā),順序圖驅動了類模型的開用例模型驅動了順序圖的開發(fā),順序圖驅動了類模型的開發(fā),從而構成了一條從需求到實現(xiàn)的清晰路徑。發(fā),從而構成了一條從需求到實現(xiàn)的清晰路徑。3.為什么系統(tǒng)建模需要順序圖呢?為什么系統(tǒng)建模需要順序圖呢?通常建模人員通過用例圖描述系統(tǒng)功能,但在系統(tǒng)通常建模人員通過用例圖描述系統(tǒng)功能,但在系統(tǒng)實現(xiàn)時必須要得到一個類模型,這樣才能用面向對象的程實現(xiàn)時必須要得到一個類模型,這樣才能用面向對象的程序設計語言實現(xiàn)軟件系統(tǒng)。序設計語言實現(xiàn)軟件系統(tǒng)。2022-4-2

4、28.2 順序圖的概念和內容順序圖的概念和內容8.2.1 順序圖的概念順序圖的概念1.順序圖定義:是對對象之間傳送順序圖定義:是對對象之間傳送的可的可視化表示。視化表示。WebInterface : TeacherDataManagerStudentInfoGrades教師瀏覽成績SD:UC011-31、未找到該學生1: 請求學生信息2: 獲取學生信息3: 加載學生信息4: 未找到該學生信息5: 返回學生信息為空6: 顯示該學生不存在2022-4-22順序圖存在兩個軸順序圖存在兩個軸: (a) 表示參與表示參與。(b) 表示表示,沿垂直向下方向按時間遞增,沿垂直向下方向按時間遞增順序列出各對象

5、所發(fā)出和接收的消息。順序列出各對象所發(fā)出和接收的消息。object1object2object31: 2: 3: destroy2022-4-22順序圖中包括的建模元素有順序圖中包括的建模元素有:對象、生命線、激活期(控制焦點)和消息。對象、生命線、激活期(控制焦點)和消息。8.2.2 順序圖的內容順序圖的內容objectName: ClassName: ClassNameobjectName顯示對象名和類名顯示對象名和類名只顯示類名只顯示類名只顯示對象名只顯示對象名1. 1. 對象對象( (類角色類角色) :) : 順序圖中有順序圖中有3種對象的命名方式。種對象的命名方式。2022-4-22

6、2. 2. 生命線生命線在順序圖中表示為從對象圖標向下延伸的一條虛線,在順序圖中表示為從對象圖標向下延伸的一條虛線,表示表示。3. 3. 激活期激活期代表順序圖中的對象直接或間接的執(zhí)行一個動作的代表順序圖中的對象直接或間接的執(zhí)行一個動作的時間,即時間,即。激活期表示為在生命。激活期表示為在生命線上的小矩形。線上的小矩形。2022-4-224. 4. 消息消息定義定義: 是從一個對象向另一個或其他幾個對象發(fā)送信號,或由一個是從一個對象向另一個或其他幾個對象發(fā)送信號,或由一個對象調用另一個對象的操作。對象調用另一個對象的操作。Rational Rose2003順序圖中常用消息符號的表示順序圖中常用

7、消息符號的表示:普通消息普通消息調用消息調用消息返回消息返回消息異步消息異步消息指向生命線的箭頭表示對象指向生命線的箭頭表示對象接收接收消息消息,箭尾表示對象,箭尾表示對象發(fā)送消息發(fā)送消息。2022-4-22典型的順序圖 : 用戶用戶 : 邊界類邊界類1 : 實體類實體類 : 實體類實體類 : 邊界類邊界類21.1.1.11.11.1.1.11.1.21.1.2.12.1.1 : 控制類控制類 : 外部系統(tǒng)外部系統(tǒng)1.1.2.1.12.2.12.1.12.1.2 2022-4-221. 1. 時間約束時間約束時間的約束用時間的約束用 表示。表示。8.3 順序圖使用的其他技術順序圖使用的其他技術

8、ab:c1:c21: 2: b-a2s2022-4-222. 2. 消息的條件發(fā)送消息的條件發(fā)送消息可以有條件,只有當條件為真時才可以發(fā)送和接消息可以有條件,只有當條件為真時才可以發(fā)送和接收消息。收消息。格式:格式:順序號順序號:條件條件消息名消息名(參數(shù)參數(shù))x102022-4-223. 3. 遞歸調用遞歸調用( (自身消息自身消息):):一個操作直接或間接地調用它自己。一個操作直接或間接地調用它自己。:C1:C21: oper()2: oper()2022-4-224. 4. 對象的創(chuàng)建和撤消對象的創(chuàng)建和撤消在順序圖中可以用在順序圖中可以用 和和描述對象描述對象的創(chuàng)建和撤消。的創(chuàng)建和撤消。

9、:DatabaseWrapper:WebInterfaceMessageBox1: 2: invaliduser3: DisplayErrorMessage4: 2022-4-225. 5. 消息嵌套消息嵌套(1) 消息的順序號用整數(shù)表示。通常以消息消息的順序號用整數(shù)表示。通常以消息1作為消息序列作為消息序列中的第一個消息,消息中的第一個消息,消息1.1是在處理消息是在處理消息1時的第一個時的第一個需要處理的嵌套消息需要處理的嵌套消息, 通過編號描述了消息的執(zhí)行順通過編號描述了消息的執(zhí)行順序號和嵌套層次。序號和嵌套層次。(2) 例例: 1, 1.1, 1.2, 1.2.1, 1.2.2(3)

10、順序表達式中的名稱用來指出經(jīng)線程的并發(fā)。順序表達式中的名稱用來指出經(jīng)線程的并發(fā)。例例1:1.2a和和1.2b是兩個并發(fā)發(fā)送的消息。是兩個并發(fā)發(fā)送的消息。例例2: 1.2a,1.2b/1.3:Continue()2022-4-226. 6. 消息總結消息總結: :(1)簡單消息簡單消息2:display(x,y)(2) 消息帶返回值消息帶返回值 1:p:=compute(price)(3) 嵌套消息嵌套消息1.1.2:input()(4) 條件消息條件消息x04:display(x)(5) 重復消息重復消息(循環(huán)消息循環(huán)消息)3.1*:update()(6)線程間同步線程間同步A3, B4 /C

11、2:copy(a,b)順序號順序號名稱名稱參數(shù)參數(shù)2022-4-228.4 順序圖的建模技術順序圖的建模技術8.4.1 如何閱讀順序圖如何閱讀順序圖8.4.2 如何繪制順序圖如何繪制順序圖2022-4-228.4.1 如何閱讀順序圖如何閱讀順序圖:Participant:Window:PaymentController:Reservation:CreProcessorenterCreditCardDetails()payment()createprocess()reserve()acknowledgeconfirm()save()commit()例例1 1:類:類PaymentControll

12、er必須實現(xiàn)哪些方法?必須實現(xiàn)哪些方法? 2022-4-22:Account:Auditlog:Userwithdraw(anAmount)checkBalance(anAmount)log(accountAction)acknowledge例例2 2:如圖類:如圖類Account必須實現(xiàn)哪些方法?必須實現(xiàn)哪些方法? 2022-4-228.4.2 如何繪制順序圖如何繪制順序圖 對系統(tǒng)動態(tài)行為建模,當強調按時間展開信息的傳送時對系統(tǒng)動態(tài)行為建模,當強調按時間展開信息的傳送時, ,一般使用順序圖。一般使用順序圖。建立順序圖的步驟建立順序圖的步驟: : (1)(1)識別識別參與交互過程的參與交互過程

13、的對象。對象。識別方法:從交互過程的上下文識別識別方法:從交互過程的上下文識別從類圖中識別從類圖中識別從用例圖中識別從用例圖中識別2022-4-22(2)(2)設置設置每個對象的每個對象的生命線生命線,即確定哪些對象存在于整個,即確定哪些對象存在于整個交互過程中,哪些對象在交互過程中被創(chuàng)建和撤消。交互過程中,哪些對象在交互過程中被創(chuàng)建和撤消。(3)(3)從引發(fā)某個交互的信息開始,在生命線之間按從上向從引發(fā)某個交互的信息開始,在生命線之間按從上向下的順序下的順序畫出畫出隨后的隨后的消息消息。(4) 設置設置對象的對象的激活期激活期, 這可以可視化實際計算發(fā)生時的時這可以可視化實際計算發(fā)生時的時間

14、點、可視化消息的嵌套。間點、可視化消息的嵌套。 (5) 如果需要說明時間約束,則在消息旁邊加上如果需要說明時間約束,則在消息旁邊加上約束約束說明。說明。(7) 如果需要,可以為每個消息附上如果需要,可以為每個消息附上前置條件前置條件和和后置條件后置條件。2022-4-22順序圖建模案例順序圖建模案例例例1. 學生成績管理系統(tǒng)學生成績管理系統(tǒng)用戶需求描述用戶需求描述: :(1)(1)教師可以錄入成績教師可以錄入成績, ,錄入成績后需要保存成績。錄入成績后需要保存成績。(2)(2)教師可以更新成績。更新成績前需要加載成績,更教師可以更新成績。更新成績前需要加載成績,更新成績后需要保存成績。新成績后

15、需要保存成績。(3)(3)教師、教學秘書和學生可以瀏覽成績,瀏覽成績前教師、教學秘書和學生可以瀏覽成績,瀏覽成績前需要登錄,也可以打印成績。需要登錄,也可以打印成績。(4)(4)教學秘書可以生成成績表。教學秘書可以生成成績表。 (5)(5)教師可以發(fā)布成績表。教師可以發(fā)布成績表。2022-4-22登錄保存成績加載成績生成成績表教秘學生瀏覽成績更新成績錄入成績教師發(fā)布成績打印成績學生成績管理系統(tǒng)用例圖學生成績管理系統(tǒng)用例圖2022-4-22教師瀏覽學生成績詳細用例描述教師瀏覽學生成績詳細用例描述用例編號:用例編號:UC-0111、用例名:瀏覽成績、用例名:瀏覽成績2、參與者:教師、參與者:教師3

16、、前置條件:已經(jīng)登錄,進入瀏覽成績界面、前置條件:已經(jīng)登錄,進入瀏覽成績界面4、基本事件流:、基本事件流:4.1 教師通過用戶界面錄入學生學號教師通過用戶界面錄入學生學號4.2 用戶界面根據(jù)學生學號向數(shù)據(jù)庫訪問層請求學生信息用戶界面根據(jù)學生學號向數(shù)據(jù)庫訪問層請求學生信息4.3 數(shù)據(jù)庫訪問層根據(jù)學生學號加載學生信息數(shù)據(jù)庫訪問層根據(jù)學生學號加載學生信息4.4 數(shù)據(jù)庫訪問層根據(jù)學生學生信息和學科科目獲取該學生分數(shù)信息數(shù)據(jù)庫訪問層根據(jù)學生學生信息和學科科目獲取該學生分數(shù)信息4.5 數(shù)據(jù)庫訪問層將學生信息和分數(shù)信息提供給用戶界面數(shù)據(jù)庫訪問層將學生信息和分數(shù)信息提供給用戶界面4.6 用戶界面將學生信息和分

17、數(shù)信息顯示出來用戶界面將學生信息和分數(shù)信息顯示出來5、后置條件:顯示學生成績、后置條件:顯示學生成績備選事件流:備選事件流:A: 4.3.1 數(shù)據(jù)訪問層返回學生信息為空數(shù)據(jù)訪問層返回學生信息為空4.3.2 系統(tǒng)提示該學生不存在系統(tǒng)提示該學生不存在B: 4.4.1 數(shù)據(jù)訪問層返回學生學科成績?yōu)榭諗?shù)據(jù)訪問層返回學生學科成績?yōu)榭?.4.2 系統(tǒng)提示教師沒有該學生成績系統(tǒng)提示教師沒有該學生成績2022-4-22基本工作流程順序圖基本工作流程順序圖WebInterface : TeacherDataManagerStudentInfoGrades1: 請求學生信息2: 獲取學生信息3: 加載學生信息4:

18、 返回學生信息5: 加載分數(shù)信息6: 返回分數(shù)信息教師瀏覽成績SD:UC011-11、如果學生信息存在2、如果分數(shù)信息存在7: 返回學生信息和分數(shù)8: 顯示學生信息和分數(shù)2022-4-22備選過程備選過程A順序圖順序圖WebInterface : TeacherDataManagerStudentInfoGrades教師瀏覽成績SD:UC011-21、如果學生信息存在2、如果分數(shù)信息不存在1: 請求學生信息8: 顯示學生分數(shù)不存在2: 獲取學生信息3: 加載學生信息4: 返回學生信息5: 加載分數(shù)信息6: 未找到分數(shù)信息7: 返回分數(shù)為空2022-4-22備選過程備選過程B順序圖順序圖WebI

19、nterface : TeacherDataManagerStudentInfoGrades教師瀏覽成績SD:UC011-31、未找到該學生1: 請求學生信息2: 獲取學生信息3: 加載學生信息4: 未找到該學生信息5: 返回學生信息為空6: 顯示該學生不存在2022-4-22順序圖的包結構順序圖的包結構2022-4-22例例2. 小汽車自動上鎖系統(tǒng)。小汽車自動上鎖系統(tǒng)。車主使用遙控鑰匙,按下車主使用遙控鑰匙,按下“鎖車鎖車”按鈕,則小汽車按鈕,則小汽車自動上鎖,閃動一下車燈并發(fā)出一聲蜂鳴,告訴車自動上鎖,閃動一下車燈并發(fā)出一聲蜂鳴,告訴車主車門已經(jīng)上鎖了。主車門已經(jīng)上鎖了。(1) 請畫出小汽

20、車自動上鎖系統(tǒng)的類圖。請畫出小汽車自動上鎖系統(tǒng)的類圖。(2) 請畫小汽車自動上鎖系統(tǒng)的順序圖。請畫小汽車自動上鎖系統(tǒng)的順序圖。2022-4-22(1) 汽車自動上鎖系統(tǒng)的類圖汽車自動上鎖系統(tǒng)的類圖-1:2022-4-22(1) 汽車自動上鎖系統(tǒng)的類圖汽車自動上鎖系統(tǒng)的類圖-2:2022-4-22(2) 請畫出汽車自動上鎖系統(tǒng)的順序圖請畫出汽車自動上鎖系統(tǒng)的順序圖:CarOwner:Car:CarKey1: getButtonPress(b)2: processKeyMessage(b)3: b=locklock()4: b=lockBlinkLights5: b=lockBeep2022-4-

21、22請畫出請畫出 “預訂書籍預訂書籍”用例的順序用例的順序圖圖例例3. 圖書館管理系統(tǒng)。圖書館管理系統(tǒng)。用例名用例名:預訂書籍預訂書籍參與者參與者:借閱者借閱者前置條件前置條件: 用戶成功登錄系統(tǒng)用戶成功登錄系統(tǒng)事件流事件流:1. 借閱者通過借閱者通過WEB頁面登錄系統(tǒng)。頁面登錄系統(tǒng)。2. 查找相應書目。查找相應書目。3. 如果所找書目存在,則預訂書籍。如果所找書目存在,則預訂書籍。備選事件流備選事件流: 2.1 如果沒有找到相應書目如果沒有找到相應書目, 則顯示沒有此書目則顯示沒有此書目3.1 如果此書已經(jīng)無法預訂如果此書已經(jīng)無法預訂, 則提示用戶則提示用戶思考?圖書管理系統(tǒng)的其它順序圖請參

22、看書思考?圖書管理系統(tǒng)的其它順序圖請參看書P236中案例。中案例。2022-4-22:WebApplication:Title : :Borrower1: Login2: find(string)3: return true4: reserve借閱者預訂書籍順序圖(參看書借閱者預訂書籍順序圖(參看書P245)2022-4-22例例4 請畫出請畫出“編譯應用系統(tǒng)編譯應用系統(tǒng)”的順序圖(自學)?的順序圖(自學)?發(fā)送消息的順序如下:發(fā)送消息的順序如下:1) Developer請求請求Compiler執(zhí)行編譯執(zhí)行編譯2)Compiler請求請求FileSystem加載文件加載文件3)Compiler

23、通知自己執(zhí)行編譯通知自己執(zhí)行編譯4)Compiler請求請求FileSystem保存對象代碼保存對象代碼5)Compiler請求請求Linker鏈接對象代碼鏈接對象代碼6)Linker請求請求FileSystem加載對象代碼加載對象代碼7)Linker通知自己執(zhí)行鏈接通知自己執(zhí)行鏈接8)Linker請求請求FileSystem保存編譯的結果保存編譯的結果注意:順序圖中有注意:順序圖中有4個對象個對象Developer(參與者參與者)、Compiler、Linker和和FileSystem2022-4-22 : Developer:Compiler:LinkerFileSystem1: Comp

24、ile2: LoadFiles3: CompileFiles4: SaveOBJFiles5: Link6: LoadOBJFiles7: LinkOBJFiles8: WriteEXEFiles例例4 編譯應用系統(tǒng)編譯應用系統(tǒng)2022-4-22例例5. ATM自動取款機系統(tǒng)。(書自動取款機系統(tǒng)。(書P72)請畫出客戶李明取請畫出客戶李明取20元錢的順序圖。元錢的順序圖。2022-4-22用例用例“取錢取錢”的事件流的事件流 (1)簡要說明:客戶可以從簡要說明:客戶可以從ATMATM機上取出自己帳目上的部分機上取出自己帳目上的部分或者全部存款?;蛘呷看婵?。 前提條件:成功登錄系統(tǒng)前提條件:成

25、功登錄系統(tǒng) 主事件流:主事件流: 客戶將卡插入客戶將卡插入ATMATM機,用例開始。機,用例開始。 ATMATM顯示歡迎消息并提示客戶輸入密碼。顯示歡迎消息并提示客戶輸入密碼。 客戶輸入密碼??蛻糨斎朊艽a。1.1. ATMATM確認密碼有效。如果無效則執(zhí)行其他事件流確認密碼有效。如果無效則執(zhí)行其他事件流A1A1。如果與主機聯(lián)接有問題,則執(zhí)行異常事件流如果與主機聯(lián)接有問題,則執(zhí)行異常事件流E1E1。2022-4-225.ATM5.ATM提供以下選項:存錢,取錢,查詢提供以下選項:存錢,取錢,查詢 。6.6.用戶選擇取錢選項。用戶選擇取錢選項。 7.ATM7.ATM提示輸入所取金額。提示輸入所取金額。8.8.用戶輸

溫馨提示

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

最新文檔

評論

0/150

提交評論