順序圖描述的是用例實例,一個用例是多個用例實例的抽象,所以一個用例描述多種事件流:正常的事件流,可選的事件流,異常的事件流。
那么對于一個用例,要用順序圖描述每一種用例實現(具體的事件流),所以就比較繁瑣,一個用例要畫多個順序圖(至少三個)。
這一點流程圖有強的描述能力,可以在一個圖中描述所有分支(通過條件判斷分支)。但流程圖的缺點是指描述控制流,無法描述對象和信息流。來源于流程圖的帶泳道和對象流和同步條的活動圖補充了不足,可以用來描述用例,也可以通過泳道描述對象,所以可以代替順序圖描述用例實現中對象間的交互。但缺點是對象間的消息不明了。
可以增強順序圖的描述能力,改變順序圖的描述角度:描述用例而不是用例實例,增加分支判斷,這樣就可以在一張順序圖中描述一個用例的所有的事件流。
以往的流程圖描述業務邏輯有很強的功能,但由于面向對象的緣故,要把職責分配給對象,所以有了順序圖,可是順序圖是一種實例圖(描述一個具體的場景),所以損失了抽象能力,抽象由用例圖和類圖描述,但是順序圖在其中起的過渡作用不夠,一個用例圖,要畫很多順序圖才能描述清楚,可在抽象成類圖以后,又從類圖很難找到和順序圖的對照關系。類圖的關系抽象的太籠統了(從圖形可視角度講)。所以順序圖要作為一種抽象描述更合理,因為類圖雖然可以抽象關系,但不能抽象邏輯(流程關系)。
當然實例場景的描述,也可以由現有的順序圖來完成。
|
新聞熱點
疑難解答