程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 使用VisualStudio2010從分析到實施(4)—使用Sequence Diagram設計消息序列

使用VisualStudio2010從分析到實施(4)—使用Sequence Diagram設計消息序列

編輯:關於.NET

在系統需求確定之後,我們將進入基於UML的OOD系統設計階段,在這個階段中,將通過以下三篇文章來為大家呈現VS2010在設計階段的支持和應用:

使用VisualStudio 2010從分析到實施(4)——使用Sequence Diagram設計消息序列

使用VisualStudio 2010從分析到實施(5)——使用Component Diagram設計系統結構

使用VisualStudio 2010從分析到實施(6)——使用Logical Class Diagram實現系統組件

Sequence Diagram 使用步驟

1.新建解決方案

2.新建Project(項目),類型為“ModelingProjects”

3.在解決方案管理器中右擊剛剛新建的ModelingProject,添加新item

4.選擇“SequenceDiagram” 然後OK即可,文件擴展名為“.sequence”

5.從左邊的工具欄拖放元素到用例圖中。

Visual Studio 2010提供的Sequence Diagram支持:

在Visual Studio 2010 CTP中,Sequence Diagram元素如下:

1.Lifeline生命線,表示序列中,建模的角色或對象實例,可通過設置其Actor屬性是否為true來確定它是一個角色還是對象實例。

2.消息,包括:

2.1Synchronous同步消息

2.2Asynchronous異步消息

3.Create用來創建生命線元素和實例。

4.Comment注釋標簽(與其它圖形中的相似)

5.CommentLink注釋鏈接線(與其它圖形中的相似)

6.InteractionUse交互應用,用於創建一個可復用的序列,或創建其它序列的一個引用

7.CombinedFragment組合碎片,在下文中詳細介紹

CombinedFragment

CombinedFragment 組合碎片(或稱為變體方案,選擇項,和循環)UML 1.x中僅有的“in-line”約束不足以處理一個建模序列的必需邏輯。而UML 2.0 已經通過去掉“in-line”約束,增加一個叫做組合碎片的符號元件,解決了這一個問題。一個組合碎片用來把一套消息組合在一起,在一個序列圖中顯示條件分支。而且,UML 2 規范指明了組合碎片的 11 種交互類型。

在VSTS 2010中,雖然組合碎片沒有出現在Toolbox中,但也對CombinedFragment 提供了非常完備的支持。

我們選中一個消息,點擊右鍵,在目錄的"Surround With"(以……封裝)中,我們可以找到如下12種組合碎片:

Sequence Diagram繪制步驟:

A.定義參與者

1.從工具欄中拖放Lifeline元素到序列圖中並命名。

2.將需要標記為“活動者”的Lifeline的Actor屬性設置為True。

B.創建消息

在起點Lifeline上右鍵--》添加中選擇需要創建的消息,或“Create”,並鏈接到終點Lifeline

C.組合碎片

1.在需要組合的消息線上右鍵--》SurroundWith中選擇適當的組合碎片

2.設置組合碎片的相應屬性

D.注釋

若需要添加注釋,則拖放注釋元素到圖中,寫好注釋後使用CommentLink將注釋和與其相關的元素鏈接起來

使用SequenceDiagram設計消息序列:

序列圖算是UML中很復雜的一種圖,在VS2010中,MS盡量簡化了標准中的定義,保留並稍加擴展最核心的部分,作為動態圖,它在OOAD系統行為的設計中起著主要作用,一張好的序列圖能夠在模塊的層次上將應用程序內部的邏輯交互清晰的展示出來,一方面可以從中分析出靜態設計(組件、類設計)時需要實現或擴展的接口和基類,另一方面也為靜態設計之後的編碼階段提供重要的參照。

下文預告:

使用VisualStudio 2010從分析到實施(5)——使用Component Diagram設計系統結構

出處:http://blodfox777.cnblogs.com/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved