1、活動圖的概念:活動圖(activity diagram)顯示了組成復(fù)雜過程的步驟序列,如工作流或算法;顒訄D是對系統(tǒng)的行為進(jìn)行建模,活動圖是把系統(tǒng)的一項(xiàng)行為表示成一個可以由計(jì)算機(jī)、人或其他執(zhí)行者執(zhí)行的活動,通過給出活動中的各個動作以及動作之間的轉(zhuǎn)移關(guān)系來描述系統(tǒng)的行為。
2、活動圖與流程圖的區(qū)別:
流程圖著重描述處理過程,它的主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個處理之間有嚴(yán)格的順序和時間關(guān)系;而活動圖描述的則是對象活動的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程。活動圖能夠表示并發(fā)活動的情形,而流程圖做不到;顒訄D是面向?qū)ο蟮模鞒虉D是面向過程的。
3、使用活動圖的目的:描述一個操作執(zhí)行過程中(操作實(shí)現(xiàn)的實(shí)例化)所完成的工作(動作);描述對象內(nèi)部的工作;顯示如何執(zhí)行一組相關(guān)的動作,以及這些動作如何影響它們周圍的對象;顯示用例的實(shí)例是如何執(zhí)行動作以及如何改變對象狀態(tài);說明一次業(yè)務(wù)活動中的工人(角色)、工作流、組織和對象是如何工作的。
4、活動圖的組成:
1)動作是構(gòu)成活動的基本單位,它是原子的、不可中斷的,并在動作完成后通過完成轉(zhuǎn)換轉(zhuǎn)向另一個狀態(tài)。
動作的特點(diǎn):動作是原子的,不可以分解成更小單位;動作是不可中斷的;動作是瞬時完成的行為;動作可以有入轉(zhuǎn)換,至少有一條出轉(zhuǎn)換;動作不能有入口動作和出口動作;在一張活動圖中,動作允許出現(xiàn)多次;
2)活動是由一系列動作構(gòu)成的,是對一項(xiàng)系統(tǒng)行為的描述。
活動的特點(diǎn): 活動可以分解成其他子活動或動作;活動的內(nèi)部活動可以用另一個活動圖來表示;活動可以有入口動作和出口動作,還可以有內(nèi)部轉(zhuǎn)移;
3)動作流
4)條件是讓轉(zhuǎn)移修改任何工作流的方向所必須的。
5、順序圖:順序圖(SequenceDiagram,時序圖,序列圖)詳細(xì)描述對象間傳送消息的時間順序,它表示用例中的行為順序。順序圖它詳細(xì)而直觀地表現(xiàn)了一組相互協(xié)作的對象在執(zhí)行一個(或少量幾個)用例時的行為依賴關(guān)系,以及操作和消息的時序關(guān)系。類圖對對象之間的消息(交互情況)表達(dá)不夠詳細(xì);詳細(xì)說明對消息的表達(dá)雖然詳細(xì),但不夠直觀;順序圖既詳細(xì)又直觀,但通常只能表示少數(shù)幾個對象之間的交互。
2)活動對象:活動對象可以是系統(tǒng)的參與者或任何有效的系統(tǒng)對象。在活動圖中對象的標(biāo)記如下圖所示。將對象置于時序圖的頂部意味著在交互開始的時候?qū)ο缶鸵呀?jīng)存在了,如果對象的位置不在頂部,那么表示對象是在交互的過程中被創(chuàng)建的。
生命線是一條垂直的虛線,表示時序圖中的對象在一段時間內(nèi)的存在。每個對象的底部中心的位置都帶有生命線。
·生命線是一個時間線,從時序圖的頂部一直延伸到底部,所用的時間取決于交互持續(xù)的時間。
·對象與生命線結(jié)合在一起稱為對象的生命線,對象的生命線包含矩形的對象圖標(biāo)以及圖標(biāo)下面的生命線。
·如果對象在圖中被創(chuàng)建,那么對象符號畫在創(chuàng)建它的消息上,否則畫在任何消息箭頭上。如果對象在圖中被撤銷,那么用“×”表示撤銷。
消息定義的是對象之間某種形式的通信,它可以激發(fā)某個操作、喚起信號或?qū)е履繕?biāo)對象的創(chuàng)建或撤銷。
·消息是兩個對象之間的單路通信,從發(fā)送方到接收方的控制信息流。
·消息可以用于在對象間傳遞參數(shù)。
·消息可以是信號,也可以是調(diào)用。
·在UML中,消息使用箭頭來表示,箭頭的類型表示了消息的類型。
6、類圖:是描述類、接口、協(xié)作以及他們之間關(guān)系的圖,用來顯示系統(tǒng)中各個類的靜態(tài)關(guān)系。屬性和操作
2)分析類的類型:
·實(shí)體類:用于對必須存儲的信息和相關(guān)行為進(jìn)行建模
·邊界類:用于軟件產(chǎn)品和它的參與者之間的交互行為建模
·控制類:用于對復(fù)雜的計(jì)算和算法建模
3)類的屬性的可見性:Public:以+表示Private:以-表示Protected: 以#
4)類間的關(guān)系:常用的類之間的關(guān)系有4種,分別是表示對象之間結(jié)構(gòu)關(guān)系的關(guān)聯(lián)關(guān)系,表示類之間一般和特殊關(guān)系的泛化關(guān)系,表示類之間使用關(guān)系的依賴關(guān)系,以及表示類中規(guī)格說明和實(shí)現(xiàn)之間的關(guān)系的實(shí)現(xiàn)關(guān)系。
a)關(guān)聯(lián)關(guān)系的類型:普聯(lián)關(guān)系?遞歸關(guān)系?聚合關(guān)系?組合關(guān)系
7、數(shù)據(jù)流圖
過程模型是表示業(yè)務(wù)系統(tǒng)運(yùn)行的一種形式化方法,它演示了系統(tǒng)執(zhí)行的過程或活動,以及數(shù)據(jù)在它們之間是如何流動的。
數(shù)據(jù)流圖(Data Flow Diagram,DFD)是以圖形的方式描述系統(tǒng)業(yè)務(wù)流程以及系統(tǒng)內(nèi)數(shù)據(jù)傳遞的一種技術(shù)。
2)數(shù)據(jù)流圖基本元素:
A)過程是為特定業(yè)務(wù)原因而執(zhí)行的活動或功能。過程可以是人工或計(jì)算機(jī)化的。每個過程必須至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流。
B)數(shù)據(jù)流是單個數(shù)據(jù)或是一些信息的邏輯集合。數(shù)據(jù)流和過程是一起出現(xiàn)的,每個數(shù)據(jù)流總是從一個過程流出或流入一個過程,箭頭顯示了數(shù)據(jù)流入或流出的方向。
C)數(shù)據(jù)存儲是以某種方式存儲的數(shù)據(jù)集合。數(shù)據(jù)存儲構(gòu)成數(shù)據(jù)模型的起始點(diǎn),是過程模型和數(shù)據(jù)模型的主要連接點(diǎn)。
D)外部實(shí)體是位于系統(tǒng)范圍之外但與正在被研究的系統(tǒng)交互的人、組織部門或是其他系統(tǒng),外部實(shí)體與用例中的主要參與者相對應(yīng),外部實(shí)體為系統(tǒng)提供數(shù)據(jù)或從系統(tǒng)獲取數(shù)據(jù),并且形成了系統(tǒng)的邊界。(矩形)
例:手機(jī)號=1+[ [3,5]+[0…9],47,8+[2,7,9] ]+8{0…9}
學(xué)號=入學(xué)年份+學(xué)院代碼+專業(yè)代碼+班級代碼+座號
入學(xué)年份={00…99} 學(xué)院代碼=30