本節主要講解順序圖,通訊圖,活**,狀態機圖,包圖。
順序圖,通訊圖,活**,狀態機圖用於描述系統的行為,包圖用於組織系統的模型。
順序圖:
順序圖和通訊圖都是用於詳細描述物件間的互動(通訊圖根據順序圖生成,反之亦然)
順序圖示例:76頁,圖5-1
順序圖是二維的,垂直方向表示時間,水平方向放置不同的物件。
物件生命線:表示物件在一段時間內的存在。
物件生命線表示為垂直虛線,位於物件符號之下
執行規約:乙個物件執行乙個操作的時期,用窄長的矩形表示,並覆蓋物件生命線
自呼叫的表示法:77頁,圖5-2
訊息:物件之間的通訊的規格說明,這樣的通訊用於傳輸將發生的活動所需要的資訊,即包含了控制的規格說明,也包含了所使用的資料的規格說明。
訊息的表示:水平 實 虛 線
訊息的返回:水平 虛 箭 線
訊息可分為同步訊息,非同步訊息
同步訊息,訊息返回,非同步訊息的表示:77頁
訊號:物件之間的一步通訊的規格說明。
表示收發資訊的時間差的3種方式:78頁
傳送訊號示例:80頁,圖5-7
順序圖中的控制操作符:81頁,圖5-9
1、可選執行(opt):如條件成立則進行該區域互動
2、條件執行(alt):類似opt
3、並行執行(par):多個par區域並行執行
4、迴圈執行(loop):迴圈執行該區域
通訊圖:
通訊圖:一種強調傳送和接收訊息的物件組織結構的圖,用以展示圍繞物件以及他們之間的聯結器而組織的互動。
通訊圖示例:84頁,圖5-11
活**:
活**是描述動作、動作的執行次序以及動作的輸入和輸出的圖,由動作結點和邊構成。
動作:可執行的基本單元功能,用以描述系統中的狀態轉換或活動,它是原子(在該抽象層次上)和即時(執行時間忽略不計)的。
活動:由一組相互協作的動作構成的行為單元。
動作和活動與抽象層次有關。
活動的表示法:86頁,圖5-14
通常乙個活**表示乙個活動。
動作和操作是直接相關的。對於乙個活動,可以由乙個類的幾個操作實現,也可以由幾個類的操作實現。
動作流的分支和合併都使用菱形表示,87頁,圖5-16
控制流也可以是併發的,使用同步條來表示併發控制流的分岔和匯合,87頁,圖5-17
物件流示例:88頁,圖5-18
泳道:在對業務建模的時候(強調是業務建模),可以把動作分組,每組由特定的履行者來執行。每個分組稱為乙個泳道。
泳道示例:88頁,圖5-19
通常用活**對業務過程和操作建模。
狀態機圖:
狀態機圖描述了乙個物件在其生命週期內因響應事件所經歷的狀態序列以及對這些事件所作出的反應。
狀態機圖主要是由狀態和狀態間的轉移構成的。
事件:在時間和空間上可以定位並具有實際意義,值得關注所發生的事情。
事件可分為:訊號事件,呼叫事件,時間事件,改變事件。
1、訊號事件:乙個物件對乙個訊號的接收而觸發的乙個訊號事件。
2、呼叫事件:物件接收到乙個對其操作的呼叫,而觸發乙個呼叫事件。
3、時間事件:經過一段時間或是到了指定時間,而觸發乙個時間事件。
4、改變事件:用布林表示式描述的指派條件變為真,而觸發乙個改變事件。例如:when(···)。
狀態表示法:91頁,圖5-20
在乙個狀態機圖中,有乙個初始狀態,1個或多個終止狀態,91頁,圖5-21
初始狀態和終止狀態都是偽狀態。
轉移分為兩種:狀態間轉移和狀態內轉移。
狀態內轉移:在乙個狀態內由事件引起的動作或活動執行後,物件仍處於該狀態的情形。
狀態間轉移:由於某個特定對事件的觸發,物件從乙個狀態轉移到另乙個狀態的情形。
轉移的格式:事件觸發器[ (引數列表) ] [ 監護條件 ] / [ 動作表示式 ]
狀態機圖的3個保留字:entry,exit,do
entry:進入狀態的事件觸發器,進入狀態後首先執行的動作表示式。
exit:退出狀態的事件觸發器,退出狀態時最後執行的動作表示式
do:狀態期內的事件觸發器,在執行完進入動作表示式之後執行的動作表示式。
狀態機圖示例:94頁,圖5-24 , 圖5-25
非正交狀態示意圖:97頁,圖5-29
正交狀態示意圖:97頁,圖5-30
包圖:包圖是描繪模型元素分組以及分組之間依賴的圖,其中,包是對模型元素進行分組的機制。
乙個模型元素職能被乙個包所擁有,如果包被撤銷了,其中的元素也會跟著被撤銷。
包的表示法:99頁,圖5-31
包的巢狀結構:99頁,圖5-32
包間關係:擁有,引入依賴,訪問依賴
引入依賴:乙個包中的公共命名空間的模型元素,可以被其他包引用,相當於把被引入包的內容附加到引入包的公共命名空間中。
訪問依賴:同上,不同的是,被引入包的內容被附加到引入包的私有命名空間。
巢狀包的可見性問題:
1、裡層包的模型元素可以使用外層包的公共命名空間的模型元素(包括《import》進來的包)。
2、乙個外層包要訪問裡層包,就需要使用引入或是訪問依賴,或是需要指定包名。
3、裡層包的模型元素的名字會掩蓋外層包的同名模型元素,這時就需要使用限定名來使用外層包的同名模型元素。
OOAD 學習筆記 二
物件導向分析面臨的主要問題 問題域和系統責任的確定,交流問題,不斷變化的需求,軟體復用的要求。軟體的複雜性源於問題域和系統責任的複雜性 問題域 被開發系統的應用領域,即在現實世界同這個系統所涉及的業務範圍。系統責任 被開發的系統應該具備的職能。物件導向分析 強調用物件的概念對問題域中的事物進行完整的...
OOAD 學習筆記 七
問題域部分的設計 1 使用復用類 2 增加一般類以建立共同協議 3 提高效能 4 按程式語言調整繼承 5 轉化複雜關聯並決定關聯的實現方法 6 調整與完善屬性 7 構造及優化演算法 8 決定物件間的可訪問性 9 定義物件例項 復用類的使用 復用類 現已存在的可以復用的類。適當使用復用類可以提高開發效...
OOAD 及 UML 學習筆記
交流qq群 26651479 day01 物件導向 通過封裝 繼承 多型,把程式的耦合度降低,使程式靈活 容易修改 容易復用。物件導向 物件 類 訊息 繼承 多型 物件導向方法是一種把物件導向的思想運用於軟體開發過程,指導開發活動的系統方法,包括分析 設計和實現等活動 軟體開發組越大,組中每個成員的...