解析UML順序圖中分類器分層
UML順序圖是將交互關系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處于激活狀態(tài)時,生命線是一個雙道線。
UML順序圖中分類器分層
分層是一個通用的面向對象設計的方法,系統(tǒng)通常來說,總是組織成userinterface、process/controller、business、persistence、和system層(Ambler2001)。當系統(tǒng)是以這種方式設計的時候,通常會加強同屬于一層的分類器合作,而降低不同層的分類器的耦合度。因此按類似的方式對你的UML順序圖進行分層是有意義的。就這個使用情境的例子來說,一種分層的方法就是先注明人類角色,然后是表示情境的邏輯的controller類,然后是userinterface類,接著是business類,***是相關的技術類,它封裝了對數(shù)據庫和系統(tǒng)資源的訪問。以這種方式對你的UML順序圖分層,會使得UML順序圖更容易閱讀,也更容易發(fā)現(xiàn)分層的邏輯問題。圖1就采取這種方法。
圖⒈一次學生的注冊。
用和你的用例圖一致的名稱命名角色。
當你在對一個使用情境建模時,你的UML順序圖一般會涉及一個或多個角色。為了保持一致性,顯示在UML順序圖中的角色的名稱應該和用例圖上的相同。UML順序圖
用和你的類圖一致的名稱命名類。
UML順序圖中的類和類圖中的類是相同的,因此它們應該有相同的名稱。
一個角色的名稱可以和類的名稱相同。
在圖1你可以看到一個命名為學生的角色和一個命名為學生的類。這樣做是合理的,因為這兩個分類器表示兩個不同的概念,角色表示在現(xiàn)實中的學生,而類則表示你正在構建的商業(yè)應用程序中的學生。
包含一個邏輯的敘述性描述。
圖1可以很難理解--特別是對于不熟悉閱讀UML順序圖人來說--因為它是很接近于實際的源程序。在你模型中包含一個業(yè)務邏輯的描述是很常見的,特別當該UML順序圖描述一個使用情境時,就像在在圖⒉的左邊看到的,這可以增加圖的可理解性,并且Rosenberg和Scott(1999)指出,這也為跟蹤用例和UML順序圖間的信息提供了重要的信息。
圖⒉在線定單付款。
在圖的最左邊放置人和組織角色。
對業(yè)務應用軟件來說,在大多數(shù)的中,主要的角色是一個人或一個組織。這些角色經常是該情境的發(fā)起人,同時也是UML順序圖的閱讀焦點,因此它們應該放在模型的"可看見的開始之處"。
在圖的最右邊放置反應系統(tǒng)角色。
反應系統(tǒng)角色是那些你與之交互的系統(tǒng),應該放在圖的最右邊。因為在許多的業(yè)務應用軟件中,這些角色經常被當做"backendentities",也就是那些你的系統(tǒng)通過存取技術交互的系統(tǒng),例如CAPIs、CORBAIDL、消息隊列、或webservice。換句話說,把后端的系統(tǒng)放在圖***的位置。
在圖的最左邊放置系統(tǒng)角色。
先導系統(tǒng)角色是那些與你的系統(tǒng)交互的系統(tǒng),根據力爭從左到右排列消息和分類器層的原則,應該放在圖的最左邊。
【編輯推薦】