圖例解析三大UML圖用法
本文和大家重點(diǎn)討論一下UML圖的概念,這里主要向大家描述一下UML狀態(tài)圖,活動圖,組件和部署圖的用法,相信通過本文的學(xué)習(xí)你對這幾種UML圖的用法有初步的認(rèn)識。
UML狀態(tài)圖
對象擁有行為和狀態(tài)。對象的狀態(tài)是由對象當(dāng)前的行動和條件決定的。UML圖中狀態(tài)圖statechartdiagram顯示出了對象可能的狀態(tài)以及由狀態(tài)改變而導(dǎo)致的轉(zhuǎn)移。
我們的模型例圖建立了一個(gè)銀行的在線登錄系統(tǒng)。登錄過程包括輸入合法的密碼和個(gè)人賬號,再提交給系統(tǒng)驗(yàn)證信息。
登錄系統(tǒng)可以被劃分為四種不重疊的狀態(tài):GettingSSN,GettingPIN,Validating,以及Rejecting。每個(gè)狀態(tài)都有一套完整的轉(zhuǎn)移transitions來決定狀態(tài)的順序。
狀態(tài)是用圓角矩形來表示的。轉(zhuǎn)移則是使用帶箭頭的連線表示。觸發(fā)轉(zhuǎn)移的事件或者條件寫在箭頭的旁邊。我們的圖上有兩個(gè)自轉(zhuǎn)移。一個(gè)是在GettingSSN,另一個(gè)則在上GettingPIN。
初始狀態(tài)(黑色圓圈)是開始動作的虛擬開始。結(jié)束狀態(tài)也是動作的虛擬結(jié)束。
事件或條件觸發(fā)動作時(shí)用(/動作)表示。當(dāng)進(jìn)入Validating狀態(tài)時(shí),對象并不等外部事件觸發(fā)轉(zhuǎn)移。取而代之,它產(chǎn)生一個(gè)動作。動作的結(jié)果決定了下一步的狀態(tài)。
UML活動圖
活動圖activitydiagram是一個(gè)很特別的流程圖。UML圖中活動圖和狀態(tài)圖之間是有關(guān)系的。狀態(tài)圖把焦點(diǎn)集中在過程中的對象身上,而活動圖則集中在一個(gè)單獨(dú)過程動作流程?;顒訄D告訴了我們活動之間的依賴關(guān)系。
對我們的例子來說,我們使用如下的過程。
“通過ATM來取錢。”
這個(gè)活動有三個(gè)類Customer,ATM和Bank。整個(gè)過程從黑色圓圈開始到黑白的同心圓結(jié)束?;顒佑脠A角矩形表示。
活動圖可以被分解成許多對象泳道swimlanes,可以決定哪些對象負(fù)責(zé)那些活動。每個(gè)活動都有一個(gè)單獨(dú)的轉(zhuǎn)移transition連接這其他的活動。
轉(zhuǎn)移可能分支branch成兩個(gè)以上的互斥的轉(zhuǎn)移。保護(hù)表達(dá)式(在[]中)表示轉(zhuǎn)移是從一個(gè)分支中引出的。分支以及分支結(jié)束時(shí)的合并merge在圖中用菱形表示。
轉(zhuǎn)移也可以分解fork成兩個(gè)以上的并行活動。分解以及分解結(jié)束時(shí)的線程結(jié)合join在圖中用粗黑線表示
組件與UML配置圖
組件component是代碼模塊。組件圖是是類圖的物理實(shí)現(xiàn)。
UML圖中配置圖Deploymentdiagrams則是顯示軟件及硬件的配置。
下面的配置圖說明了與房地產(chǎn)事務(wù)有關(guān)的軟件及硬件組件的關(guān)系。
物理上的硬件使用節(jié)點(diǎn)nodes表示。每個(gè)組件屬于一個(gè)節(jié)點(diǎn)。UML圖中組件用左上角帶有兩個(gè)小矩形的矩形表示。
【編輯推薦】