需求分析——掌握和使用UML建模语言顺序图模型
在前面的文章中,我們建立了類圖模型,類圖模型描述了系統(tǒng)的類及類之間的關系。類圖模型也稱為系統(tǒng)的靜態(tài)結構,因此從類圖模型中我們還看不到業(yè)務的處理過程以及類與類交互的信息,在UML建模語言中,這些信息是通過順序圖來描述的。
順序圖用于描述在業(yè)務處理過程中類之間的交互順序,這些交互順序是在場景或用例的信息流中發(fā)生的。由于描述的是動態(tài)行為,順序圖中類被稱為對象,也就是實例化后的類。
?
在順序圖中共有四個基本符號:(1)參與者符號,由一個方框加一個小人圖形表示,小人圖形在方框之上,方框內(nèi)寫入?yún)⑴c者的名稱;(2)對象符號,由一個方框表示,方框內(nèi)寫入對象的名稱;(3)生命線符號,由虛線或狹窄的豎直方框表示;(4)消息符號,有帶消息描述的方向箭頭表示。下圖是一個典型的順序圖,表明了順序圖要使用的通用格式和符號。
?
?
圖 1 順序圖的符號
在上面的順序圖中,參與者是一個外部、物理的人,它扮演用戶的角色,代表物理的人。對象是系統(tǒng)中被實例化的類,例如人脈系統(tǒng)的用戶類在系統(tǒng)運行過程中,會創(chuàng)建多個對象,每個對象就是類的一個實例,一個實例對應一個外部參與者。
豎直的虛線稱為生命線,每一個參與者和對象都有生命線,它用于描述場景內(nèi)的參與者和對象的生命周期,時間是從上到下,生命線顯示了消息的順序,消息沿生命線從上到下依次發(fā)生。
對象生命線上的長條矩形框表示對象處于激活狀態(tài),當一條消息傳遞給對象的時候,對象響應該消息并觸發(fā)對象的某個行為,這時該對象就處于激活狀態(tài)。當對象沒有被激活時,對象處于休眠狀態(tài),等待接收消息被激活。
在順序圖中,對象之間的交互是通過發(fā)送和接收消息來實現(xiàn)的。一個對象向另一個對象發(fā)送消息并希望得到回應時,會有兩種情況,一種情況是暫停活動并等待消息的回應,直至收到消息回應后再開啟活動,這是同步消息;另外一種情況是不管是否收到消息的回應,活動照樣執(zhí)行,即不需要暫停活動來等待消息的回應,這是異步消息。
在順序圖中,還有一種消息就是自關聯(lián)消息,自關聯(lián)消息就是對象向自己發(fā)送消息。例如,對象在活動中調(diào)用內(nèi)部的方法或函數(shù)。
下圖是各種消息的表示方法。
?
圖 2 順序圖中消息的表示方法
在繪制順序圖模型時,可能需要繪制一些流程控制,例如循環(huán)和條件流程控制,消息機制無法繪制這些流程控制。順序圖另外提供了“片段”機制用于描述比較復雜的動作序列,支持的片段有循環(huán)片段、可選片段、備用片段和其他片段。
?
圖 3 用戶登錄順序圖
上圖是用戶登錄順序圖。用戶在登錄系統(tǒng)的過程中,可能會輸錯賬號或密碼,系統(tǒng)允許用戶重新輸入賬號或密碼再次登錄。因此用戶的登錄過程是一個循環(huán)流程,在順序圖用循環(huán)片段來表示。
前面我們討論了什么是順序圖以及順序圖的表示方法,了解了順序圖是描述系統(tǒng)業(yè)務執(zhí)行過程中對象之間的交互順序。后面的文章我們將利用這些知識,為人脈項目V1.0系統(tǒng)建立順序圖模型。
總結
以上是生活随笔為你收集整理的需求分析——掌握和使用UML建模语言顺序图模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于Android 工程师转成vue的三
- 下一篇: 第 3 章 镜像 - 015 - 调试