第7章狀態(tài)機(jī)圖_第1頁
第7章狀態(tài)機(jī)圖_第2頁
第7章狀態(tài)機(jī)圖_第3頁
第7章狀態(tài)機(jī)圖_第4頁
第7章狀態(tài)機(jī)圖_第5頁
已閱讀5頁,還剩153頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 1、下面、下面4 4種圖中種圖中,( ),( )可以描述一個(gè)可以描述一個(gè)用例中多個(gè)對(duì)象之間的相互協(xié)作關(guān)系用例中多個(gè)對(duì)象之間的相互協(xié)作關(guān)系以及協(xié)作過程中的行為次序關(guān)系以及協(xié)作過程中的行為次序關(guān)系. . A A 交互圖交互圖 B B 狀態(tài)圖狀態(tài)圖 C C 對(duì)象圖對(duì)象圖 D D 用例圖用例圖?2 2、下面、下面( )( )建模元素不能在協(xié)作圖建模元素不能在協(xié)作圖中表示出來。(多選)中表示出來。(多選) A A 狀態(tài)狀態(tài) B B 消息消息 C C 活動(dòng)活動(dòng) D D 多對(duì)象多對(duì)象?3 3、下面說法錯(cuò)誤的是、下面說法錯(cuò)誤的是: :A A 順序圖和協(xié)作圖都反映對(duì)象之間發(fā)順序圖和協(xié)作圖都反映對(duì)象之間發(fā)送的

2、消息送的消息B B 順序圖和協(xié)作圖在語義上是等價(jià)的順序圖和協(xié)作圖在語義上是等價(jià)的C C 順序圖強(qiáng)調(diào)發(fā)送和接收消息的對(duì)象順序圖強(qiáng)調(diào)發(fā)送和接收消息的對(duì)象之間的結(jié)構(gòu)組織關(guān)系之間的結(jié)構(gòu)組織關(guān)系D ROSED ROSE可以實(shí)現(xiàn)順序圖和協(xié)作圖之間可以實(shí)現(xiàn)順序圖和協(xié)作圖之間的等價(jià)轉(zhuǎn)換的等價(jià)轉(zhuǎn)換?4 4、從嚴(yán)格意義上講,下列四個(gè)選項(xiàng)中、從嚴(yán)格意義上講,下列四個(gè)選項(xiàng)中不屬于順序圖的內(nèi)容是(不屬于順序圖的內(nèi)容是( ) A A 對(duì)象對(duì)象 B B 參與者參與者 C C 消息消息 D D 控制焦點(diǎn)控制焦點(diǎn)?第第第第第第7 7 7 7 7 7章章章章章章 狀態(tài)圖和活動(dòng)圖狀態(tài)圖和活動(dòng)圖狀態(tài)圖和活動(dòng)圖狀態(tài)圖和活動(dòng)圖狀態(tài)圖和活

3、動(dòng)圖狀態(tài)圖和活動(dòng)圖信息工程學(xué)院信息工程學(xué)院7.1狀態(tài)圖概述狀態(tài)圖概述7.2狀態(tài)圖基本組成狀態(tài)圖基本組成l 狀態(tài)狀態(tài)l 轉(zhuǎn)換轉(zhuǎn)換l 事件事件7.3 繪制狀態(tài)機(jī)圖繪制狀態(tài)機(jī)圖7.4狀態(tài)機(jī)圖應(yīng)用狀態(tài)機(jī)圖應(yīng)用7.5活動(dòng)圖活動(dòng)圖l 概述概述l 組成組成l 用途用途2022-5-1772022-5-178狀態(tài)機(jī)狀態(tài)機(jī)用于描述一個(gè)對(duì)象在其生存期間的動(dòng)態(tài)行為,表現(xiàn)對(duì)象用于描述一個(gè)對(duì)象在其生存期間的動(dòng)態(tài)行為,表現(xiàn)對(duì)象響應(yīng)事件所經(jīng)歷的狀態(tài)序列以及伴隨的動(dòng)作。響應(yīng)事件所經(jīng)歷的狀態(tài)序列以及伴隨的動(dòng)作。狀態(tài)圖(狀態(tài)圖(State Machine Diagram)用來顯示狀態(tài)機(jī),一個(gè)狀態(tài)機(jī)可用多張狀態(tài)圖描述。用來顯示狀態(tài)

4、機(jī),一個(gè)狀態(tài)機(jī)可用多張狀態(tài)圖描述。2022-5-17Copy Right Copy Right X.Shi,DHUX.Shi,DHU9狀態(tài)機(jī)圖與交互圖的區(qū)別:狀態(tài)機(jī)圖與交互圖的區(qū)別: 交互圖不顯示對(duì)象所有可能的交互圖不顯示對(duì)象所有可能的動(dòng)態(tài)動(dòng)態(tài)行為,只顯示特定交行為,只顯示特定交互(一個(gè)具體的用例)中對(duì)象的行為?;ィㄒ粋€(gè)具體的用例)中對(duì)象的行為。狀態(tài)機(jī)圖可以顯示對(duì)象所有的狀態(tài)機(jī)圖可以顯示對(duì)象所有的動(dòng)態(tài)動(dòng)態(tài)行為。行為。狀態(tài)圖機(jī)與活動(dòng)圖的區(qū)別:狀態(tài)圖機(jī)與活動(dòng)圖的區(qū)別:狀態(tài)機(jī)圖只建模一個(gè)對(duì)象的行為,活動(dòng)圖可以建模多個(gè)狀態(tài)機(jī)圖只建模一個(gè)對(duì)象的行為,活動(dòng)圖可以建模多個(gè)對(duì)象的活動(dòng)對(duì)象的活動(dòng)活動(dòng)圖中也允許建

5、模特定活動(dòng)中對(duì)象的某個(gè)狀態(tài)活動(dòng)圖中也允許建模特定活動(dòng)中對(duì)象的某個(gè)狀態(tài)2022-5-1710狀態(tài)狀態(tài)轉(zhuǎn)換轉(zhuǎn)換事件事件2022-5-17112022-5-1712什么是狀態(tài)(什么是狀態(tài)(state)對(duì)象生命期中的某個(gè)條件或狀況,在此期間對(duì)象將滿足對(duì)象生命期中的某個(gè)條件或狀況,在此期間對(duì)象將滿足某些條件、執(zhí)行某些活動(dòng)或等待某些事件。某些條件、執(zhí)行某些活動(dòng)或等待某些事件。理解理解對(duì)象在任何時(shí)候都會(huì)處于某種狀態(tài)中,所有對(duì)象都有狀對(duì)象在任何時(shí)候都會(huì)處于某種狀態(tài)中,所有對(duì)象都有狀態(tài)。態(tài)。對(duì)象所處的狀態(tài)決定了它如何響應(yīng)所檢測(cè)到的事件或所對(duì)象所處的狀態(tài)決定了它如何響應(yīng)所檢測(cè)到的事件或所接收的消息。接收的消息。通

6、常,事件使對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)向另一個(gè)狀態(tài)(即狀態(tài)通常,事件使對(duì)象從一個(gè)狀態(tài)轉(zhuǎn)向另一個(gè)狀態(tài)(即狀態(tài)的轉(zhuǎn)移)的轉(zhuǎn)移)2022-5-17132022-5-1714幾種類型:幾種類型:初態(tài)初態(tài)終態(tài)終態(tài)中間狀態(tài)中間狀態(tài)組合狀態(tài)組合狀態(tài)歷史狀態(tài)歷史狀態(tài)2022-5-1715初態(tài)(初態(tài)(start state)顯示狀態(tài)圖中狀態(tài)機(jī)的執(zhí)行(顯示狀態(tài)圖中狀態(tài)機(jī)的執(zhí)行(execution)的開始。的開始。一個(gè)狀態(tài)機(jī)只能有一個(gè)初態(tài),因?yàn)槊恳粋€(gè)執(zhí)行都是從相一個(gè)狀態(tài)機(jī)只能有一個(gè)初態(tài),因?yàn)槊恳粋€(gè)執(zhí)行都是從相同的地方開始的。同的地方開始的。如果如果一個(gè)狀態(tài)機(jī)用多張圖描述,則多一個(gè)狀態(tài)機(jī)用多張圖描述,則多張圖用同一個(gè)初態(tài);張圖用

7、同一個(gè)初態(tài);嵌套狀態(tài)中可以使用新的初態(tài);嵌套狀態(tài)中可以使用新的初態(tài);終態(tài)(終態(tài)(End State)表示一個(gè)最后的或者終端狀態(tài);表示一個(gè)最后的或者終端狀態(tài);終態(tài)的數(shù)目可以不確定。終態(tài)的數(shù)目可以不確定。NewState2NewState2NewState3NewState3NewState4NewState4NewState3NewState3NewState4NewState4NewStateNewState2022-5-1716中間狀態(tài)的組成:中間狀態(tài)的組成:狀態(tài)名(狀態(tài)名(name)進(jìn)入進(jìn)入/退出動(dòng)作(退出動(dòng)作(entry/exit action)內(nèi)部轉(zhuǎn)換(內(nèi)部轉(zhuǎn)換(internal tr

8、ansition)不導(dǎo)致狀態(tài)改變的轉(zhuǎn)換,不會(huì)執(zhí)行不導(dǎo)致狀態(tài)改變的轉(zhuǎn)換,不會(huì)執(zhí)行 entry 和和 exit 動(dòng)作。動(dòng)作。子狀態(tài)(子狀態(tài)(substate)嵌套在另外一個(gè)狀態(tài)中的狀態(tài)。嵌套在另外一個(gè)狀態(tài)中的狀態(tài)。延遲事件(延遲事件(deferred event)延遲到下一狀態(tài)中處理的事件。延遲到下一狀態(tài)中處理的事件。lightinglightingentry/ turnOnentry/ turnOndo/ blankFiveTimesdo/ blankFiveTimesevent power off/ powerSupplySelfevent power off/ powerSupplySelf

9、exit/ turnOffexit/ turnOffevent self/ deferevent self/ defer2022-5-1717延遲事件延遲事件是一種特殊的事件,它是指該事件不會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)換,是一種特殊的事件,它是指該事件不會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)換,當(dāng)對(duì)象處于該狀態(tài)時(shí)事件不會(huì)丟失,但會(huì)被延遲執(zhí)行。當(dāng)對(duì)象處于該狀態(tài)時(shí)事件不會(huì)丟失,但會(huì)被延遲執(zhí)行。例如,當(dāng)例如,當(dāng)E-mail程序中正在發(fā)送第一封郵件時(shí),用戶下程序中正在發(fā)送第一封郵件時(shí),用戶下達(dá)發(fā)送第二封郵件執(zhí)令就會(huì)被延遲,但第一封郵件發(fā)送達(dá)發(fā)送第二封郵件執(zhí)令就會(huì)被延遲,但第一封郵件發(fā)送完成后,這封郵件就會(huì)被發(fā)送。這種事件就屬于延遲事完成后

10、,這封郵件就會(huì)被發(fā)送。這種事件就屬于延遲事件件2022-5-1718含有子狀態(tài)的狀態(tài)被稱為復(fù)合(組合)狀態(tài)。含有子狀態(tài)的狀態(tài)被稱為復(fù)合(組合)狀態(tài)。2022-5-1719順序復(fù)合狀態(tài)圖(表示方法順序復(fù)合狀態(tài)圖(表示方法1)2022-5-1720順序復(fù)合狀態(tài)圖(表示方法順序復(fù)合狀態(tài)圖(表示方法2)2022-5-1721并發(fā)復(fù)合狀態(tài)圖并發(fā)復(fù)合狀態(tài)圖2022-5-1722將子狀態(tài)機(jī)單獨(dú)定義,并對(duì)其進(jìn)行命名(通常以大將子狀態(tài)機(jī)單獨(dú)定義,并對(duì)其進(jìn)行命名(通常以大寫字母開頭),然后在需要使用的地方來引用它寫字母開頭),然后在需要使用的地方來引用它 2022-5-1723例:例:2022-5-1724His

11、tory state一種偽狀態(tài)??梢源鎯?chǔ)退出組合狀態(tài)時(shí)所處的子狀態(tài),一種偽狀態(tài)??梢源鎯?chǔ)退出組合狀態(tài)時(shí)所處的子狀態(tài),則返回組合狀態(tài)時(shí)可以直接回到到相應(yīng)的子狀態(tài)。則返回組合狀態(tài)時(shí)可以直接回到到相應(yīng)的子狀態(tài)。power power offoffpower onpower onplay no cd play no cd runningrunningplayingplayingpausingpausingH HplayingplayingplayplaypausingpausingH Hcloseclosepausepauseplayplaycloseclosestopstop2022-5-1725例

12、例當(dāng)從狀態(tài)當(dāng)從狀態(tài)“結(jié)賬結(jié)賬”和和“顯示購物車顯示購物車”返回子狀態(tài)返回子狀態(tài)“顯示顯示索引信息索引信息”時(shí),將進(jìn)入的是離開時(shí)的歷史狀態(tài)。時(shí),將進(jìn)入的是離開時(shí)的歷史狀態(tài)。也就是說,轉(zhuǎn)到購物或結(jié)賬區(qū)之后,再回到也就是說,轉(zhuǎn)到購物或結(jié)賬區(qū)之后,再回到“瀏覽目錄瀏覽目錄”的頁面時(shí),其中的內(nèi)容是不變的,仍然保留原來的信息。的頁面時(shí),其中的內(nèi)容是不變的,仍然保留原來的信息。 2022-5-1726入口點(diǎn)入口點(diǎn)狀態(tài)內(nèi)的一個(gè)外部可見的偽狀態(tài),外部轉(zhuǎn)換可以將它作狀態(tài)內(nèi)的一個(gè)外部可見的偽狀態(tài),外部轉(zhuǎn)換可以將它作為目標(biāo),從而被有效連接到指定狀態(tài)上。為目標(biāo),從而被有效連接到指定狀態(tài)上。出口點(diǎn)出口點(diǎn)狀態(tài)內(nèi)的一個(gè)外部可

13、見的偽狀態(tài),外部轉(zhuǎn)換可以將它作狀態(tài)內(nèi)的一個(gè)外部可見的偽狀態(tài),外部轉(zhuǎn)換可以將它作為源,代表狀態(tài)內(nèi)的一個(gè)終點(diǎn)。為源,代表狀態(tài)內(nèi)的一個(gè)終點(diǎn)。2022-5-1727Transition兩個(gè)狀態(tài)之間的一種關(guān)系,表示對(duì)象在第一個(gè)狀態(tài)中執(zhí)兩個(gè)狀態(tài)之間的一種關(guān)系,表示對(duì)象在第一個(gè)狀態(tài)中執(zhí)行一定的動(dòng)作,并在某個(gè)特定事件發(fā)生而且滿足某個(gè)條行一定的動(dòng)作,并在某個(gè)特定事件發(fā)生而且滿足某個(gè)條件時(shí)進(jìn)入第二個(gè)狀態(tài)。件時(shí)進(jìn)入第二個(gè)狀態(tài)。每個(gè)轉(zhuǎn)換只允許一個(gè)事件,一個(gè)每個(gè)轉(zhuǎn)換只允許一個(gè)事件,一個(gè)事件只允許一個(gè)動(dòng)作事件只允許一個(gè)動(dòng)作轉(zhuǎn)換的五要素轉(zhuǎn)換的五要素源狀態(tài)源狀態(tài)目標(biāo)狀態(tài)目標(biāo)狀態(tài)觸發(fā)事件觸發(fā)事件監(jiān)護(hù)條件監(jiān)護(hù)條件動(dòng)作動(dòng)作2022

14、-5-1728轉(zhuǎn)換類型轉(zhuǎn)換類型描述描述語法語法外部轉(zhuǎn)換外部轉(zhuǎn)換 對(duì)事件做出響應(yīng),引起狀態(tài)變化或?qū)κ录龀鲰憫?yīng),引起狀態(tài)變化或自身轉(zhuǎn)換,同時(shí)引發(fā)一個(gè)特定動(dòng)作,如自身轉(zhuǎn)換,同時(shí)引發(fā)一個(gè)特定動(dòng)作,如果離開或進(jìn)入狀態(tài)將引發(fā)進(jìn)入轉(zhuǎn)換、離果離開或進(jìn)入狀態(tài)將引發(fā)進(jìn)入轉(zhuǎn)換、離開轉(zhuǎn)換開轉(zhuǎn)換事件事件(參數(shù)參數(shù))監(jiān)護(hù)條監(jiān)護(hù)條件件/活動(dòng)活動(dòng)內(nèi)部轉(zhuǎn)換內(nèi)部轉(zhuǎn)換 對(duì)事件做出響應(yīng),并執(zhí)行一個(gè)特定對(duì)事件做出響應(yīng),并執(zhí)行一個(gè)特定的活動(dòng),但并不引起狀態(tài)變化或進(jìn)入轉(zhuǎn)的活動(dòng),但并不引起狀態(tài)變化或進(jìn)入轉(zhuǎn)換、離開轉(zhuǎn)換換、離開轉(zhuǎn)換事件事件(參數(shù)參數(shù))監(jiān)護(hù)條監(jiān)護(hù)條件件/活動(dòng)活動(dòng)進(jìn)入轉(zhuǎn)換進(jìn)入轉(zhuǎn)換 當(dāng)進(jìn)入某一狀態(tài)時(shí),執(zhí)行相應(yīng)活動(dòng)當(dāng)進(jìn)入某一狀態(tài)時(shí),

15、執(zhí)行相應(yīng)活動(dòng)entry/活動(dòng)活動(dòng)退出轉(zhuǎn)換退出轉(zhuǎn)換 當(dāng)離開某一狀態(tài)時(shí),執(zhí)行相應(yīng)活動(dòng)當(dāng)離開某一狀態(tài)時(shí),執(zhí)行相應(yīng)活動(dòng)exit/活動(dòng)活動(dòng)2022-5-1729進(jìn)入和退出轉(zhuǎn)換:進(jìn)入和退出轉(zhuǎn)換:當(dāng)進(jìn)入一個(gè)狀態(tài)時(shí),執(zhí)行某個(gè)動(dòng)作;或當(dāng)退出某個(gè)狀態(tài)當(dāng)進(jìn)入一個(gè)狀態(tài)時(shí),執(zhí)行某個(gè)動(dòng)作;或當(dāng)退出某個(gè)狀態(tài)時(shí),執(zhí)行什么動(dòng)作。這時(shí)就可以使用進(jìn)入和退出轉(zhuǎn)換來時(shí),執(zhí)行什么動(dòng)作。這時(shí)就可以使用進(jìn)入和退出轉(zhuǎn)換來表示表示內(nèi)部轉(zhuǎn)換:內(nèi)部轉(zhuǎn)換:用來處理一些不離開該狀態(tài)的事件用來處理一些不離開該狀態(tài)的事件2022-5-1730發(fā)送成功發(fā)送成功發(fā)送失敗發(fā)送失敗2022-5-1731Event是對(duì)一個(gè)時(shí)間和空間上占有一定位置的有意義的事情的是對(duì)

16、一個(gè)時(shí)間和空間上占有一定位置的有意義的事情的規(guī)格說明。規(guī)格說明。事件觸發(fā)狀態(tài)的轉(zhuǎn)移事件觸發(fā)狀態(tài)的轉(zhuǎn)移四類主要事件四類主要事件信號(hào)事件信號(hào)事件調(diào)用事件調(diào)用事件變化事件變化事件時(shí)間事件時(shí)間事件2022-5-1732信號(hào)(信號(hào)(signer)事件事件所謂信號(hào),是指由一個(gè)對(duì)象異步地發(fā)送、并由另外一個(gè)所謂信號(hào),是指由一個(gè)對(duì)象異步地發(fā)送、并由另外一個(gè)對(duì)象接收的一個(gè)已命名的對(duì)象。對(duì)象接收的一個(gè)已命名的對(duì)象。信號(hào)事件表示對(duì)象接收到某個(gè)信號(hào)。信號(hào)事件表示對(duì)象接收到某個(gè)信號(hào)。信號(hào)可以作為狀態(tài)機(jī)中一個(gè)狀態(tài)轉(zhuǎn)換的動(dòng)作而被發(fā)送,信號(hào)可以作為狀態(tài)機(jī)中一個(gè)狀態(tài)轉(zhuǎn)換的動(dòng)作而被發(fā)送,也可作為交互中一個(gè)的消息發(fā)送。也可作為交互中

17、一個(gè)的消息發(fā)送。hardwareFaulthardwareFaultRobotFaultRobotFault2022-5-17332022-5-1734調(diào)用(調(diào)用(call)事件事件表示一個(gè)操作的調(diào)度。請(qǐng)求調(diào)用另一個(gè)對(duì)象的操作。表示一個(gè)操作的調(diào)度。請(qǐng)求調(diào)用另一個(gè)對(duì)象的操作。一般是同步調(diào)用。一般是同步調(diào)用。變化(變化(change)事件事件用關(guān)鍵字用關(guān)鍵字When,后面跟布爾表達(dá)式。后面跟布爾表達(dá)式。When(temperature 120) / alerm()2022-5-1735時(shí)間(時(shí)間(time)事件事件滿足某一時(shí)間表達(dá)式的情況的出現(xiàn),例如到達(dá)某一時(shí)間滿足某一時(shí)間表達(dá)式的情況的出現(xiàn),例如

18、到達(dá)某一時(shí)間或經(jīng)過了某一時(shí)間段。用關(guān)鍵字或經(jīng)過了某一時(shí)間段。用關(guān)鍵字After或或When表示。表示??臻e空閑活動(dòng)活動(dòng)after( 2 seconds ) / dropConnectionafter( 2 seconds ) / dropConnectionwhen( 11:35 ) / selfTestwhen( 11:35 ) / selfTest2022-5-1736步驟:步驟:尋找主要的狀態(tài)尋找主要的狀態(tài)確定狀態(tài)之間的轉(zhuǎn)換確定狀態(tài)之間的轉(zhuǎn)換細(xì)化狀態(tài)內(nèi)的活動(dòng)與轉(zhuǎn)換細(xì)化狀態(tài)內(nèi)的活動(dòng)與轉(zhuǎn)換用復(fù)合狀態(tài)來展開細(xì)節(jié)用復(fù)合狀態(tài)來展開細(xì)節(jié)2022-5-1737源目標(biāo)源目標(biāo)無預(yù)訂無預(yù)訂部分預(yù)訂部分預(yù)訂預(yù)

19、訂完預(yù)訂完預(yù)訂關(guān)閉預(yù)訂關(guān)閉無預(yù)訂無預(yù)訂預(yù)訂預(yù)訂()不直接轉(zhuǎn)換不直接轉(zhuǎn)換關(guān)閉關(guān)閉()部分預(yù)訂部分預(yù)訂退訂退訂(),使預(yù)訂人使預(yù)訂人=0預(yù)訂預(yù)訂(),無空座無空座關(guān)閉關(guān)閉()預(yù)訂完預(yù)訂完不直接轉(zhuǎn)換不直接轉(zhuǎn)換退訂退訂()關(guān)閉關(guān)閉()預(yù)訂關(guān)閉預(yù)訂關(guān)閉無轉(zhuǎn)換無轉(zhuǎn)換無轉(zhuǎn)換無轉(zhuǎn)換無轉(zhuǎn)換無轉(zhuǎn)換2022-5-1738細(xì)化狀態(tài)內(nèi)的活動(dòng)與轉(zhuǎn)換細(xì)化狀態(tài)內(nèi)的活動(dòng)與轉(zhuǎn)換2022-5-1739使用復(fù)合狀態(tài)使用復(fù)合狀態(tài)2022-5-1740用途用途對(duì)對(duì)象生命周期建模:對(duì)對(duì)象生命周期建模:主要描述對(duì)象能夠響應(yīng)的事件、對(duì)這些事件的響以及過去對(duì)當(dāng)主要描述對(duì)象能夠響應(yīng)的事件、對(duì)這些事件的響以及過去對(duì)當(dāng)前行為的影響前行為的影響 對(duì)反應(yīng)

20、型對(duì)象建模:對(duì)反應(yīng)型對(duì)象建模:這個(gè)對(duì)象可能處于的穩(wěn)定狀態(tài)、從一個(gè)狀態(tài)到另一個(gè)狀態(tài)之間這個(gè)對(duì)象可能處于的穩(wěn)定狀態(tài)、從一個(gè)狀態(tài)到另一個(gè)狀態(tài)之間的轉(zhuǎn)換所需的觸發(fā)事件,以及每個(gè)狀態(tài)改變時(shí)發(fā)生的動(dòng)作的轉(zhuǎn)換所需的觸發(fā)事件,以及每個(gè)狀態(tài)改變時(shí)發(fā)生的動(dòng)作 狀態(tài)機(jī)圖既可以用來表示一個(gè)業(yè)務(wù)領(lǐng)域的知識(shí),也可以狀態(tài)機(jī)圖既可以用來表示一個(gè)業(yè)務(wù)領(lǐng)域的知識(shí),也可以用來描述設(shè)計(jì)階段對(duì)象的狀態(tài)變遷用來描述設(shè)計(jì)階段對(duì)象的狀態(tài)變遷2022-5-1741訂單處理系統(tǒng)訂單處理系統(tǒng)取消取消收到貨物收到貨物 齊全齊全 檢查檢查do/ do/ 檢查商品檢查商品 未檢查完未檢查完 / / 取下一個(gè)取下一個(gè)辦理發(fā)貨辦理發(fā)貨do/ do/ 啟動(dòng)發(fā)

21、貨啟動(dòng)發(fā)貨 檢查完,商品齊全檢查完,商品齊全 等待等待 檢查完,缺部分商品檢查完,缺部分商品 收到商品收到商品 部分缺部分缺 取消訂單取消訂單取消取消取消取消已發(fā)貨已發(fā)貨發(fā)貨發(fā)貨2022-5-1742復(fù)合復(fù)合(rose)取消訂單取消訂單已發(fā)貨已發(fā)貨訂單處理訂單處理辦理發(fā)貨辦理發(fā)貨do/ 啟動(dòng)發(fā)貨do/ 啟動(dòng)發(fā)貨檢查檢查do/ 檢查商品do/ 檢查商品等待等待辦理發(fā)貨辦理發(fā)貨do/ 啟動(dòng)發(fā)貨do/ 啟動(dòng)發(fā)貨發(fā)貨發(fā)貨檢查檢查do/ 檢查商品do/ 檢查商品 未檢查完 / 取下一個(gè) 未檢查完 / 取下一個(gè) 檢查完,商品齊全 檢查完,商品齊全 等待等待 檢查完,缺部分商品 檢查完,缺部分商品 收到商品

22、 部分缺 收到商品 部分缺 收到貨物 齊全 收到貨物 齊全 取消取消2022-5-1743復(fù)雜圖復(fù)雜圖(售票機(jī))(售票機(jī))簡單的數(shù)字手表表面上有一個(gè)顯示屏和兩個(gè)設(shè)置按簡單的數(shù)字手表表面上有一個(gè)顯示屏和兩個(gè)設(shè)置按鈕鈕A和和B,有兩種操作模式:顯示時(shí)間和設(shè)定時(shí)間,有兩種操作模式:顯示時(shí)間和設(shè)定時(shí)間。在顯示時(shí)間模式下,手表會(huì)顯示小時(shí)和分鐘,小。在顯示時(shí)間模式下,手表會(huì)顯示小時(shí)和分鐘,小時(shí)和分鐘由閃爍的冒號(hào)分隔。設(shè)定時(shí)間模式有兩種時(shí)和分鐘由閃爍的冒號(hào)分隔。設(shè)定時(shí)間模式有兩種子模式:設(shè)定小時(shí)和設(shè)定分鐘。按鈕子模式:設(shè)定小時(shí)和設(shè)定分鐘。按鈕A選擇模式,選擇模式,每次按下此按鈕時(shí),模式會(huì)連續(xù)前進(jìn):設(shè)定小時(shí)、

23、每次按下此按鈕時(shí),模式會(huì)連續(xù)前進(jìn):設(shè)定小時(shí)、設(shè)定分鐘等。在子模式內(nèi),每次只要按下按鈕設(shè)定分鐘等。在子模式內(nèi),每次只要按下按鈕B,就會(huì)撥快小時(shí)或分鐘。繪制一個(gè)數(shù)字手表的狀態(tài)機(jī)就會(huì)撥快小時(shí)或分鐘。繪制一個(gè)數(shù)字手表的狀態(tài)機(jī)圖。圖。 2022-5-17447.5.1 概述概述7.5.2 組成組成7.5.3活動(dòng)圖用處活動(dòng)圖用處7.5.4 實(shí)例實(shí)例2022-5-17452022-5-1746活動(dòng)圖和交互圖是活動(dòng)圖和交互圖是UML中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的兩中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的兩種主要形式種主要形式交互圖強(qiáng)調(diào)的是對(duì)象到對(duì)象的控制流,而活動(dòng)圖則強(qiáng)調(diào)交互圖強(qiáng)調(diào)的是對(duì)象到對(duì)象的控制流,而活動(dòng)圖則強(qiáng)調(diào)的是從活動(dòng)到活動(dòng)

24、的控制流的是從活動(dòng)到活動(dòng)的控制流 活動(dòng)圖是一種表述過程基理、業(yè)務(wù)過程以及工作流的技活動(dòng)圖是一種表述過程基理、業(yè)務(wù)過程以及工作流的技術(shù)。它可以用來對(duì)業(yè)務(wù)過程、工作流建模,也可以對(duì)用術(shù)。它可以用來對(duì)業(yè)務(wù)過程、工作流建模,也可以對(duì)用例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來建模例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來建模2022-5-1747存款存款2022-5-17482022-5-1749活動(dòng)活動(dòng)決策決策轉(zhuǎn)換轉(zhuǎn)換同步同步泳道泳道(分區(qū)分區(qū))對(duì)象流對(duì)象流2022-5-1750Activity/ActionSynchronizationBar (Fork)GuardConditionSynchronizationBar (Join)De

25、cisionConcurrent ThreadsTransitionSelect Course add course Check ScheduleCheck Pre-requisitesAssign to CourseResolve ConflictsUpdate ScheduleDelete Course checks completed checks failed delete course 2022-5-1751Activity表示工作流中任務(wù)的執(zhí)行或者職責(zé)。表示工作流中任務(wù)的執(zhí)行或者職責(zé)。也可以表示過程(也可以表示過程(procedure)中語句的執(zhí)行。)中語句的執(zhí)行。初始節(jié)點(diǎn)和活動(dòng)終

26、點(diǎn)初始節(jié)點(diǎn)和活動(dòng)終點(diǎn)用一個(gè)實(shí)心圓表示初始節(jié)點(diǎn),用一個(gè)圓圈內(nèi)加一個(gè)實(shí)心用一個(gè)實(shí)心圓表示初始節(jié)點(diǎn),用一個(gè)圓圈內(nèi)加一個(gè)實(shí)心圓來表示活動(dòng)終點(diǎn)圓來表示活動(dòng)終點(diǎn)活動(dòng)節(jié)點(diǎn)活動(dòng)節(jié)點(diǎn)是活動(dòng)圖中最主要的元素之一,它用來表示一個(gè)活動(dòng)是活動(dòng)圖中最主要的元素之一,它用來表示一個(gè)活動(dòng)2022-5-1752Transition當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn)會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn),在活動(dòng)圖中稱之為,在活動(dòng)圖中稱之為“轉(zhuǎn)換轉(zhuǎn)換”,用一條帶箭頭的直線來表示,用一條帶箭頭的直線來表示2022-5-1753Decision根據(jù)不同的分支,根據(jù)不同的分支,轉(zhuǎn)向不同的活動(dòng),轉(zhuǎn)向不同的活

27、動(dòng),每個(gè)轉(zhuǎn)移是一個(gè)分每個(gè)轉(zhuǎn)移是一個(gè)分支。支。用菱形表示的,它用菱形表示的,它有一個(gè)進(jìn)入轉(zhuǎn)換,有一個(gè)進(jìn)入轉(zhuǎn)換,一個(gè)或多個(gè)離開轉(zhuǎn)一個(gè)或多個(gè)離開轉(zhuǎn)換。而每個(gè)離開轉(zhuǎn)換。而每個(gè)離開轉(zhuǎn)換上都會(huì)換上都會(huì)有一個(gè)監(jiān)護(hù)條件,有一個(gè)監(jiān)護(hù)條件,用來表示滿足什么用來表示滿足什么條件的時(shí)候執(zhí)行該條件的時(shí)候執(zhí)行該轉(zhuǎn)換。轉(zhuǎn)換。enter PINenter PINverify PINverify PIN incorrect incorrect continuecontinue correct correct 2022-5-1754Synchronizations用來建模并發(fā)活動(dòng)。用來建模并發(fā)活動(dòng)。包含分叉(包含分叉(fork)

28、和匯合(和匯合(join)。)。接到會(huì)議通知接到會(huì)議通知安排行程安排行程準(zhǔn)備發(fā)言稿準(zhǔn)備發(fā)言稿參加會(huì)議參加會(huì)議返回返回接到會(huì)議通知接到會(huì)議通知安排行程安排行程準(zhǔn)備發(fā)言稿準(zhǔn)備發(fā)言稿參加會(huì)議參加會(huì)議返回返回2022-5-1755Swimlanes( Partitions )用來將活動(dòng)分用來將活動(dòng)分組,顯示活動(dòng)組,顯示活動(dòng)的負(fù)責(zé)者。的負(fù)責(zé)者。一個(gè)泳道顯示一個(gè)泳道顯示一個(gè)活動(dòng)軌跡一個(gè)活動(dòng)軌跡。2022-5-1756Object Flow用來描述活動(dòng)和活動(dòng)所創(chuàng)建的(輸出)或所使用(輸入用來描述活動(dòng)和活動(dòng)所創(chuàng)建的(輸出)或所使用(輸入)的對(duì)象之間的關(guān)系。)的對(duì)象之間的關(guān)系。付款付款賬單賬單已付已付2022-

29、5-1757帶對(duì)象流的活動(dòng)圖帶對(duì)象流的活動(dòng)圖詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 活動(dòng)圖具有廣泛地用途活動(dòng)圖具有廣泛地用途,在軟件建模中在軟件建模中,活動(dòng)圖可以用來活動(dòng)圖可以用來: 1. 描述工作流描述工作流 工作流工作流:也被稱為業(yè)務(wù)流程也被稱為業(yè)務(wù)流程, 屬于業(yè)務(wù)活動(dòng)的過程屬于業(yè)務(wù)活動(dòng)的過程,可以可以用活動(dòng)圖來描述。用活動(dòng)圖來描述。 2. 描述工程組織過程描述工程組織過程 各種工程組織過程各種工程組織過程,管理過程均可以用活動(dòng)來描述。管理過程均可以用活動(dòng)來描述。 3. 描述算法流程描述算法流程 1、李曉在大學(xué)二年級(jí)時(shí)參加計(jì)算機(jī)等級(jí)考試。他持自己的身份證和學(xué)生證到學(xué)校的計(jì)算機(jī)等級(jí)考試管理辦公室報(bào)名。工作人員首先

30、檢查李曉的證件,在檢查合格后,交給李曉一份登記表,讓李曉填寫。李曉填好登記表,交給工作人員。工作人員把他的登記表信息錄入計(jì)算機(jī)系統(tǒng),并用數(shù)碼相機(jī)給李曉拍照,然后打印計(jì)算機(jī)等級(jí)考試證,要求李曉繳納報(bào)名費(fèi)。李曉繳納報(bào)名費(fèi)后,工作人員把考試證和繳費(fèi)收據(jù)交給李曉。分析計(jì)算機(jī)等級(jí)考試的報(bào)名過程,并用活動(dòng)圖描述報(bào)名過程。2、分析醫(yī)院掛號(hào)的業(yè)務(wù)過程,用活動(dòng)圖描述醫(yī)院掛號(hào)的業(yè)務(wù)過程 7.17.1狀態(tài)圖概述狀態(tài)圖概述7.27.2狀態(tài)圖基本組成狀態(tài)圖基本組成l狀態(tài)狀態(tài)l轉(zhuǎn)換轉(zhuǎn)換l事件事件7.3 7.3 繪制狀態(tài)機(jī)圖繪制狀態(tài)機(jī)圖7.47.4狀態(tài)機(jī)圖應(yīng)用狀態(tài)機(jī)圖應(yīng)用7.57.5活動(dòng)圖活動(dòng)圖l概述概述l組成組成l用途用

31、途用例圖用例圖1 用例用例2 參與者參與者3 用例之間的關(guān)系用例之間的關(guān)系4 用例圖用例圖5 發(fā)現(xiàn)用例發(fā)現(xiàn)用例2022-5-17701. 用例的概念和用例的概念和表示表示 1. 用例的概念和表示用例的概念和表示 用例用例(use case)(use case): : 表示參與者與系統(tǒng)的一次交互表示參與者與系統(tǒng)的一次交互過程。過程。 用例用橢圓表示用例用橢圓表示2022-5-17712. 用例的特點(diǎn)用例的特點(diǎn)2. 用例的特點(diǎn)用例的特點(diǎn) 用例用于描述系統(tǒng)的功能,這個(gè)功能是外部使用用例用于描述系統(tǒng)的功能,這個(gè)功能是外部使用者看到的系統(tǒng)功能,不反映功能的實(shí)現(xiàn)方式。者看到的系統(tǒng)功能,不反映功能的實(shí)現(xiàn)方式

32、。 用例描述用戶提出的一些可見需求,對(duì)應(yīng)一個(gè)具用例描述用戶提出的一些可見需求,對(duì)應(yīng)一個(gè)具體的用戶目標(biāo)。體的用戶目標(biāo)。 用例反映系統(tǒng)與用戶的一次交互過程,應(yīng)該具有用例反映系統(tǒng)與用戶的一次交互過程,應(yīng)該具有交互的信息的傳遞。交互的信息的傳遞。 用例是對(duì)系統(tǒng)行為的動(dòng)態(tài)描述,屬于用例是對(duì)系統(tǒng)行為的動(dòng)態(tài)描述,屬于UML的動(dòng)態(tài)的動(dòng)態(tài)建模。建模。 2022-5-17723. 3. 參與者參與者3. 3. 參與者參與者參與者參與者(actor)是外部需要與系統(tǒng)交互的事物。也被)是外部需要與系統(tǒng)交互的事物。也被稱為活動(dòng)者。稱為活動(dòng)者。 參與者的三種類型參與者的三種類型 : . 人人:客戶,讀者,庫管員客戶,讀者

33、,庫管員 . 設(shè)備設(shè)備:計(jì)算機(jī),磁盤,讀卡機(jī)計(jì)算機(jī),磁盤,讀卡機(jī)等等 . 外部系統(tǒng)外部系統(tǒng):上層系統(tǒng)等上層系統(tǒng)等 2022-5-17733. 3. 參與者參與者參與者可以表示為下面三種形式。參與者可以表示為下面三種形式。2022-5-17743. 3. 參與者參與者參與者之間可以有泛化關(guān)系。參與者之間可以有泛化關(guān)系。2022-5-17754. 4. 用例之間的關(guān)系用例之間的關(guān)系4. 用例之間的關(guān)系用例之間的關(guān)系 用例之間可以具有以下幾種關(guān)系:用例之間可以具有以下幾種關(guān)系: . 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 . 泛化關(guān)系泛化關(guān)系 . 包含關(guān)系包含關(guān)系 . 擴(kuò)展關(guān)系擴(kuò)展關(guān)系2022-5-17764. 4. 用

34、例之間的關(guān)系用例之間的關(guān)系1. 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 參與者與用例之間是關(guān)聯(lián)關(guān)系,表示參與者與用參與者與用例之間是關(guān)聯(lián)關(guān)系,表示參與者與用例之間具有使用,交互信息的關(guān)聯(lián)。例之間具有使用,交互信息的關(guān)聯(lián)。2022-5-17774. 4. 用例之間的關(guān)系用例之間的關(guān)系 2. 泛化關(guān)系泛化關(guān)系 參與者與參與者之間,用例與用例之間存在一般參與者與參與者之間,用例與用例之間存在一般與特殊的關(guān)系。與特殊的關(guān)系。2022-5-17784. 4. 用例之間的關(guān)系用例之間的關(guān)系 3. 包含關(guān)系包含關(guān)系 兩個(gè)用例之間,一個(gè)用例兩個(gè)用例之間,一個(gè)用例( (基本用例基本用例) )的行為包含的行為包含了另外一個(gè)用例了另外一

35、個(gè)用例( (包含用例包含用例) )的行為。的行為。 包含關(guān)系用依賴關(guān)系的包含關(guān)系用依賴關(guān)系的構(gòu)造型來表構(gòu)造型來表示。示。2022-5-17794. 4. 用例之間的關(guān)系用例之間的關(guān)系 4. 擴(kuò)展關(guān)系擴(kuò)展關(guān)系 擴(kuò)展關(guān)系表示基本用例在擴(kuò)展點(diǎn)要增加新的行為擴(kuò)展關(guān)系表示基本用例在擴(kuò)展點(diǎn)要增加新的行為或功能,以擴(kuò)展到新用例?;蚬δ?,以擴(kuò)展到新用例。 擴(kuò)展關(guān)系用依賴關(guān)系的擴(kuò)展關(guān)系用依賴關(guān)系的構(gòu)造型來表示構(gòu)造型來表示。2022-5-17805. 用例圖用例圖1). 用例圖的作用用例圖的作用 用例圖用例圖用來描述軟件需求模型中的系統(tǒng)功能,通用來描述軟件需求模型中的系統(tǒng)功能,通過一組用例可以描述軟件系統(tǒng)能夠給用

36、戶提供的功過一組用例可以描述軟件系統(tǒng)能夠給用戶提供的功能。能。 用例圖用例圖可以可以作為整個(gè)系統(tǒng)開發(fā)過程中的開發(fā)依據(jù)作為整個(gè)系統(tǒng)開發(fā)過程中的開發(fā)依據(jù),指導(dǎo)和驅(qū)動(dòng)其他模型。,指導(dǎo)和驅(qū)動(dòng)其他模型。2022-5-17812). 用例圖的形式用例圖的形式2022-5-1782取款用例描述實(shí)例取款用例描述實(shí)例用例用例:取款取款參與者:參與者:儲(chǔ)戶儲(chǔ)戶操作流:操作流: 通過讀卡機(jī),儲(chǔ)戶插入通過讀卡機(jī),儲(chǔ)戶插入ATMATM卡卡 ATMATM系統(tǒng)從卡上讀取銀行系統(tǒng)從卡上讀取銀行IDID、帳號(hào)、并驗(yàn)證帳號(hào)。、帳號(hào)、并驗(yàn)證帳號(hào)。 儲(chǔ)戶鍵入密碼,系統(tǒng)檢驗(yàn)密碼。儲(chǔ)戶鍵入密碼,系統(tǒng)檢驗(yàn)密碼。 儲(chǔ)戶按確認(rèn)鍵,輸入取款金額

37、。儲(chǔ)戶按確認(rèn)鍵,輸入取款金額。 ATMATM把帳號(hào)和取款金額傳遞給銀行系統(tǒng),取回確認(rèn)信息把帳號(hào)和取款金額傳遞給銀行系統(tǒng),取回確認(rèn)信息和帳戶余額。和帳戶余額。 ATMATM輸出現(xiàn)金,并顯示帳戶余額。輸出現(xiàn)金,并顯示帳戶余額。 ATMATM記錄事務(wù)到日志文件。記錄事務(wù)到日志文件。2022-5-1783 某某“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”的功能需求如下:的功能需求如下: A學(xué)生登錄網(wǎng)站后,可以瀏覽課件、查找課件、學(xué)生登錄網(wǎng)站后,可以瀏覽課件、查找課件、下載課件、觀看教學(xué)視頻。下載課件、觀看教學(xué)視頻。 B學(xué)生需要登錄學(xué)生需要登錄“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”后才能正后才能正常使用該系統(tǒng)的所

38、有功能。如果忘記密碼,可與通過常使用該系統(tǒng)的所有功能。如果忘記密碼,可與通過“找回密碼找回密碼”功能恢復(fù)密碼。功能恢復(fù)密碼。2022-5-17842 類圖及對(duì)象圖類圖及對(duì)象圖1 1 類的概念類的概念2 2 類的屬性類的屬性3 3 類的操作類的操作4 4類類的的類型類型5 5類的關(guān)系類的關(guān)系6 6類圖類圖7 7類類圖和代碼圖和代碼2022-5-17851. 類的概念類的概念1. 類的定義類的定義 類類(class): 具有相似結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象具有相似結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象。 2.2.類的表示類的表示 2022-5-1786類名類名屬性屬性操作操作 3. .類的其他幾種表示形式類的其

39、他幾種表示形式 2022-5-1787 簡化表示簡化表示 縮略表示縮略表示實(shí)體類實(shí)體類界面類界面類控制類控制類4. .類名類名 2022-5-1788 名詞或名詞短語名詞或名詞短語(動(dòng)詞或動(dòng)詞短語表示控制類動(dòng)詞或動(dòng)詞短語表示控制類) 盡可能用明確、簡短,業(yè)務(wù)領(lǐng)域中事物的名稱盡可能用明確、簡短,業(yè)務(wù)領(lǐng)域中事物的名稱,避免使用抽象、無意義的名詞避免使用抽象、無意義的名詞例如:人,桌子,圖形,匯總例如:人,桌子,圖形,匯總 用英文,第用英文,第1 1個(gè)字母大寫個(gè)字母大寫例如:例如:Shape, Person, CheckingAccdount 可分為簡單類名,帶路徑類名可分為簡單類名,帶路徑類名例如

40、:例如: CheckingAccdount Banking:CheckingAccdount例如:帳戶,訂單,例如:帳戶,訂單,事物事物2. 類的屬性類的屬性2022-5-1789 1. 屬性的含義屬性的含義 屬性屬性(attribute): 描述類所表示事物的靜態(tài)性質(zhì)。描述類所表示事物的靜態(tài)性質(zhì)。 2.2.屬性的格式屬性的格式 可見性可見性 屬性名屬性名:類型類型 多重性多重性 次序次序 =初始值初始值特性特性+studentName:String=“黎明黎明”#studentBirthDay:Date=1999-10-213. 類的操作類的操作2022-5-1790 1. 操作的含義操作的

41、含義 操作操作(operation): 描述類所表示事物的動(dòng)態(tài)性質(zhì)。描述類所表示事物的動(dòng)態(tài)性質(zhì)。 2.2.操作的格式操作的格式 可見性可見性操作名操作名(參數(shù)列表參數(shù)列表):返回類型返回類型特性特性+setName(String:name)+getName():String4. 類的類型類的類型2022-5-1791 邊界類位于系統(tǒng)與外界的交界處邊界類位于系統(tǒng)與外界的交界處, ,承擔(dān)系承擔(dān)系統(tǒng)與外界的信息功能統(tǒng)與外界的信息功能. .1.1.邊界類邊界類2022-5-1792 實(shí)體類對(duì)應(yīng)著現(xiàn)實(shí)中的客觀實(shí)物,用來保存實(shí)體類對(duì)應(yīng)著現(xiàn)實(shí)中的客觀實(shí)物,用來保存信息,一般對(duì)應(yīng)著數(shù)據(jù)表、文件等。信息,一般對(duì)

42、應(yīng)著數(shù)據(jù)表、文件等。2.2.實(shí)體類實(shí)體類2022-5-1793 控制類承擔(dān)著事務(wù)處理,控制調(diào)控的控制控制類承擔(dān)著事務(wù)處理,控制調(diào)控的控制作用。作用。3.控制類控制類1) 關(guān)聯(lián)關(guān)聯(lián)2) 泛化泛化3) 依賴依賴4) 實(shí)現(xiàn)實(shí)現(xiàn)2022-5-17Copy right X.Shi,DHU94 關(guān)聯(lián)名關(guān)聯(lián)名導(dǎo)航性導(dǎo)航性關(guān)聯(lián)的角色和多重性關(guān)聯(lián)的角色和多重性受限關(guān)聯(lián)受限關(guān)聯(lián)關(guān)聯(lián)類關(guān)聯(lián)類關(guān)聯(lián)約束關(guān)聯(lián)約束/依賴依賴聚合、組合聚合、組合自反關(guān)聯(lián)自反關(guān)聯(lián)派生關(guān)聯(lián)派生關(guān)聯(lián)2022-5-17Copy right X.Shi,DHU952022-5-17Copy right X.Shi,DHU961 關(guān)聯(lián)關(guān)聯(lián)2022-5-

43、17Copy right X.Shi,DHU97關(guān)聯(lián)的角關(guān)聯(lián)的角色色如果關(guān)聯(lián)名與角色名相同,則不標(biāo)出角色名如果關(guān)聯(lián)名與角色名相同,則不標(biāo)出角色名 關(guān)聯(lián)的多重性關(guān)聯(lián)的多重性關(guān)聯(lián)的角色名關(guān)聯(lián)的角色名箭頭表示關(guān)聯(lián)的導(dǎo)航性,有箭頭表示單向關(guān)聯(lián),箭頭表示關(guān)聯(lián)的導(dǎo)航性,有箭頭表示單向關(guān)聯(lián),如果沒有箭頭一般表示雙向關(guān)聯(lián)如果沒有箭頭一般表示雙向關(guān)聯(lián)public class Document private String title; private byte content; private String description; private User creator;要注意,如果類的屬性已經(jīng)用關(guān)聯(lián)表示,

44、則不需要注意,如果類的屬性已經(jīng)用關(guān)聯(lián)表示,則不需要在屬性列表中列出來,參見要在屬性列表中列出來,參見Document類的圖類的圖示表示示表示1 關(guān)聯(lián)關(guān)聯(lián)2022-5-17Copy right X.Shi,DHU991 關(guān)聯(lián)關(guān)聯(lián)2022-5-17Copy right X.Shi,DHU100通過關(guān)聯(lián)類描述關(guān)聯(lián)的屬性,通過關(guān)聯(lián)類描述關(guān)聯(lián)的屬性,操作,及其它信息。操作,及其它信息。1 關(guān)聯(lián)關(guān)聯(lián)2022-5-17Copy right X.Shi,DHU1011 關(guān)聯(lián)關(guān)聯(lián)2022-5-17Copy right X.Shi,DHU102聚集與組合的區(qū)別聚集與組合的區(qū)別 聚集松散聚集松散, ,組合緊密組合緊

45、密; ; 一個(gè)部分事物對(duì)象可以屬于多個(gè)聚集對(duì)象一個(gè)部分事物對(duì)象可以屬于多個(gè)聚集對(duì)象, ,但一但一個(gè)部分事物對(duì)象僅能屬于一個(gè)組合對(duì)象個(gè)部分事物對(duì)象僅能屬于一個(gè)組合對(duì)象; ; 聚集的對(duì)象生命周期可以不同聚集的對(duì)象生命周期可以不同, ,但組合對(duì)象則是但組合對(duì)象則是同存同亡。同存同亡。1 關(guān)聯(lián)關(guān)聯(lián)1、計(jì)算機(jī)由、計(jì)算機(jī)由CPU、內(nèi)存、軟盤、硬盤、顯示器、內(nèi)存、軟盤、硬盤、顯示器、鍵盤、鼠標(biāo)組成,用類圖表示這種關(guān)系。鍵盤、鼠標(biāo)組成,用類圖表示這種關(guān)系。2、舉出一個(gè)具有聚合關(guān)系的類圖的例子。、舉出一個(gè)具有聚合關(guān)系的類圖的例子。?2022-5-17Copy right X.Shi,DHU1061 關(guān)聯(lián)關(guān)聯(lián)20

46、22-5-17Copy right X.Shi,DHU1071 關(guān)聯(lián)關(guān)聯(lián) “教師教師”和和“學(xué)生學(xué)生”兩個(gè)類之間存在授課關(guān)系,兩個(gè)類之間存在授課關(guān)系,一個(gè)教師可以教授多個(gè)學(xué)生,一個(gè)學(xué)生可以由一個(gè)教師可以教授多個(gè)學(xué)生,一個(gè)學(xué)生可以由多個(gè)教師授課,標(biāo)出這兩個(gè)類的關(guān)系。多個(gè)教師授課,標(biāo)出這兩個(gè)類的關(guān)系。? 采購員從供貨商處訂貨,雙方需要簽訂訂單,采購員從供貨商處訂貨,雙方需要簽訂訂單,一個(gè)采購員可以訂多個(gè)供貨商的貨品,一個(gè)供一個(gè)采購員可以訂多個(gè)供貨商的貨品,一個(gè)供貨商也可以給多個(gè)采購員供貨。貨商也可以給多個(gè)采購員供貨。 提取這個(gè)問題涉及的類,并確定各個(gè)類之間提取這個(gè)問題涉及的類,并確定各個(gè)類之間的關(guān)

47、系。的關(guān)系。?1 關(guān)聯(lián)關(guān)聯(lián)泛化表示泛化表示泛化目的泛化目的繼承繼承多態(tài)多態(tài)抽象類抽象類2022-5-17Copy right X.Shi,DHU1112022-5-17Copy right X.Shi,DHU112注意:注意:泛化關(guān)系除了表示類與類之間的關(guān)系之外,還可以表泛化關(guān)系除了表示類與類之間的關(guān)系之外,還可以表示參與者、用例、包、構(gòu)件、接口等建模元素之間的關(guān)系。示參與者、用例、包、構(gòu)件、接口等建模元素之間的關(guān)系。 2022-5-17Copy right X.Shi,DHU1132022-5-17Copy right X.Shi,DHU1142022-5-17Copy right X.Sh

48、i,DHU115*OLine2022-5-17117依賴含義依賴含義依賴表示依賴表示2022-5-17Copy right X.Shi,DHU1182022-5-17Copy right X.Shi,DHU119依賴的含義依賴的含義 依賴依賴(dependency): 表示兩個(gè)元素表示兩個(gè)元素X、Y,如果,如果X的變化必然導(dǎo)致的變化必然導(dǎo)致Y的變化,則稱的變化,則稱Y依賴依賴X。 依賴關(guān)系不僅限于類,用例、包、構(gòu)件之間都可以存在依賴關(guān)系依賴關(guān)系不僅限于類,用例、包、構(gòu)件之間都可以存在依賴關(guān)系依賴關(guān)系依賴關(guān)系 從代碼看起從代碼看起 依賴關(guān)系依賴關(guān)系 真的有必要畫出來嗎?真的有必要畫出來嗎? 下面

49、幾個(gè)模型圖中,(下面幾個(gè)模型圖中,( )能夠正確地表示出)能夠正確地表示出“一個(gè)雇員最多有一個(gè)經(jīng)理,經(jīng)理可以管理多一個(gè)雇員最多有一個(gè)經(jīng)理,經(jīng)理可以管理多個(gè)雇員,也可以不管理一個(gè)雇員個(gè)雇員,也可以不管理一個(gè)雇員”這樣的意思。這樣的意思。?2022-5-17Copy right X.Shi,DHU123類圖的概念類圖的概念類圖類圖(Class Diagram): 是由類,相關(guān)建模元素,及其是由類,相關(guān)建模元素,及其關(guān)系構(gòu)成的圖,用來描述類之間的靜態(tài)關(guān)系。關(guān)系構(gòu)成的圖,用來描述類之間的靜態(tài)關(guān)系。 類圖在系統(tǒng)中處在核心位置。也是類圖在系統(tǒng)中處在核心位置。也是UML中最為中最為重要的一種圖。重要的一種圖

50、。2022-5-171242022-5-17125對(duì)象圖對(duì)象圖 看圖回答下面問題看圖回答下面問題類類Student和類和類Course之間是什么關(guān)系?并用文字性之間是什么關(guān)系?并用文字性語言描述該類圖表達(dá)意思語言描述該類圖表達(dá)意思。寫出寫出Student類生成的類生成的java代碼(省略注釋、代碼(省略注釋、get和和set方法)方法)2022-5-17126根據(jù)類圖寫代碼根據(jù)類圖寫代碼2022-5-17127public class A public class A private private intint i; i;private B b;private B b;public void

51、 test1() public void test1() public void A() public void A() public class B public class B private private intint j; j; public void B() public void B() public void test2() public void test2() public class C extends A public class C extends A private private intint k; k;public void C()public void C()

52、public void test3()public void test3()1. 交互圖的概念交互圖的概念2. 順序圖的概念順序圖的概念3. 順序圖樣式和元素順序圖樣式和元素 4. 消息消息 5. 協(xié)作圖的概念協(xié)作圖的概念 6. 協(xié)作圖樣式和元素協(xié)作圖樣式和元素2022-5-17128 1. 交互圖的概念交互圖的概念 交互圖交互圖(interaction): 用來描述對(duì)象之間用來描述對(duì)象之間,以及對(duì)象以及對(duì)象與參與者之間的動(dòng)態(tài)協(xié)作關(guān)系以及協(xié)作過程中行為與參與者之間的動(dòng)態(tài)協(xié)作關(guān)系以及協(xié)作過程中行為次序的圖形文檔。次序的圖形文檔。 2.2.交互圖的類型交互圖的類型 順序圖,協(xié)作圖順序圖,協(xié)作圖 3

53、. 交互圖的作用交互圖的作用 分析實(shí)現(xiàn)分析實(shí)現(xiàn)用例用例功能所對(duì)應(yīng)的功能所對(duì)應(yīng)的類類,及類相互之間的,及類相互之間的消息消息聯(lián)系。聯(lián)系。2022-5-17129順序圖順序圖(sequence diagram): 用來描述為了完成確定用來描述為了完成確定事務(wù),對(duì)象之間按照時(shí)間消息交互的順序關(guān)系。事務(wù),對(duì)象之間按照時(shí)間消息交互的順序關(guān)系。 2022-5-17130對(duì)象對(duì)象消息消息生命線生命線控制焦點(diǎn)控制焦點(diǎn) 3. 順序圖樣式和元素順序圖樣式和元素 對(duì)象的命名對(duì)象的命名 生命線生命線 表示對(duì)象存在的時(shí)間,對(duì)象下面一條虛線表示。表示對(duì)象存在的時(shí)間,對(duì)象下面一條虛線表示。 控制焦點(diǎn)控制焦點(diǎn) 小矩形,表示這

54、個(gè)時(shí)間對(duì)象將執(zhí)行操作。小矩形,表示這個(gè)時(shí)間對(duì)象將執(zhí)行操作。 消息消息 帶箭頭的連線,表示對(duì)象之間傳輸?shù)男畔?。帶箭頭的連線,表示對(duì)象之間傳輸?shù)男畔ⅰ?022-5-17131 4. 消息消息 4. 消息消息 消息消息:對(duì)象之間傳輸?shù)男畔ⅰO⒂幸韵骂愋停簩?duì)象之間傳輸?shù)男畔?。消息有以下類型?調(diào)用消息調(diào)用消息 異步消息異步消息 返回消息返回消息 阻止消息阻止消息 超時(shí)消息超時(shí)消息2022-5-17132手機(jī)用戶可通過某個(gè)移動(dòng)公司的網(wǎng)站發(fā)送短信,過程如下:手機(jī)用戶可通過某個(gè)移動(dòng)公司的網(wǎng)站發(fā)送短信,過程如下:用戶先編輯短信,然后確定目標(biāo)號(hào)碼,然后確定發(fā)送;服務(wù)用戶先編輯短信,然后確定目標(biāo)號(hào)碼,然后確定發(fā)

55、送;服務(wù)器返回顯示一個(gè)頁面,要求用戶輸入一個(gè)驗(yàn)證碼,此時(shí)用戶器返回顯示一個(gè)頁面,要求用戶輸入一個(gè)驗(yàn)證碼,此時(shí)用戶手機(jī)上將接受一個(gè)短信,含有一個(gè)驗(yàn)證碼,用戶輸入此碼后手機(jī)上將接受一個(gè)短信,含有一個(gè)驗(yàn)證碼,用戶輸入此碼后,網(wǎng)站才能發(fā)送用戶編輯的短信。驗(yàn)證碼一次有效。用順序,網(wǎng)站才能發(fā)送用戶編輯的短信。驗(yàn)證碼一次有效。用順序圖描述這個(gè)場景。圖描述這個(gè)場景。2022-5-171335. 協(xié)作圖的概念協(xié)作圖的概念協(xié)作協(xié)作圖圖(collaboration diagram): 用來描述為了完成用來描述為了完成確定事務(wù),各對(duì)象之間消息聯(lián)系的結(jié)構(gòu)關(guān)系。確定事務(wù),各對(duì)象之間消息聯(lián)系的結(jié)構(gòu)關(guān)系。2022-5-171

56、341. 狀態(tài)圖的概念狀態(tài)圖的概念2. 狀態(tài)圖的要素狀態(tài)圖的要素3. 狀態(tài)圖的作用狀態(tài)圖的作用4. 活動(dòng)圖的概念活動(dòng)圖的概念5. 活動(dòng)圖的用途活動(dòng)圖的用途2022-5-171351. 狀態(tài)圖的概念狀態(tài)圖的概念 狀態(tài)圖狀態(tài)圖(statechart diagram): 用來描述一個(gè)特定的用來描述一個(gè)特定的對(duì)象所有可能的狀態(tài)對(duì)象所有可能的狀態(tài),以及由于各種事件的發(fā)生而引以及由于各種事件的發(fā)生而引起的狀態(tài)之間的轉(zhuǎn)移和變化。起的狀態(tài)之間的轉(zhuǎn)移和變化。 2022-5-17136狀態(tài)圖的例子狀態(tài)圖的例子2022-5-17137一個(gè)機(jī)器一個(gè)機(jī)器的狀態(tài)圖的狀態(tài)圖: :一個(gè)發(fā)貨單一個(gè)發(fā)貨單的狀態(tài)圖的狀態(tài)圖: :2022-5-17138狀態(tài)圖狀態(tài)圖: 用來描述

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論