客觀世界是一個(gè)復(fù)雜巨系統(tǒng),需要從不同的角度來考察,才能真正理解這個(gè)系統(tǒng)。為了能支持從不同角度來考察系統(tǒng),標(biāo)準(zhǔn)建模語言UML定義了下列5類、共10種模型圖:
第一類是用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。
第二類是靜態(tài)圖(Static diagram),包括類圖、對象圖和包圖。
其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。
對象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識。他們的不同點(diǎn)在于對象圖顯示類的多個(gè)對象實(shí)例,而不是實(shí)際的類。一個(gè)對象圖是類圖的一個(gè)實(shí)例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時(shí)間段存在。
包由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。
第三類是行為圖(Behavior diagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對象間的交互關(guān)系。
其中狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。
而活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識別并行活動(dòng)。
第四類是交互圖(Interactive diagram),描述對象間的交互關(guān)系。
其中順序圖顯示對象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時(shí)顯示對象之間的交互;合作圖描述對象間的協(xié)作關(guān)系,合作圖跟順序圖相似,顯示對象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,合作圖還顯示對象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級關(guān)系,則選擇合作圖。這兩種圖合稱為交互圖。
第五類是實(shí)現(xiàn)圖( Implementation diagram )。
其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個(gè)部件可能是一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。 它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。
配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點(diǎn)內(nèi)部,放置可執(zhí)行部件和對象以顯示節(jié)點(diǎn)跟可執(zhí)行軟件單元的對應(yīng)關(guān)系。
從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)時(shí),首先是描述需求;其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);第三步是描述系統(tǒng)的行為。其中在第一步與第二步中所建立的模型都是靜態(tài)的,包括用例圖、類圖(包含包)、對象圖、組件圖和配置圖等五個(gè)圖形,是標(biāo)準(zhǔn)建模語言UML的靜態(tài)建模機(jī)制。其中第三步中所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動(dòng)圖、順序圖和合作圖等四個(gè)圖形,是標(biāo)準(zhǔn)建模語言UML的動(dòng)態(tài)建模機(jī)制。因此,標(biāo)準(zhǔn)建模語言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制兩大類。