2010-10-11 68 views
0

我想顯示當我插入數據列表時,我的用戶控件/控件正在做什麼,當用戶按下某些鍵,選擇文本等時會發生什麼......如何顯示幾個循環,並按順序顯示其中的內容?

我覺得某種程序diagramm不是非常適合顯示幾個循環並在循環內執行任務。

我錯了嗎?或者我該如何應對這種情況?

回答

1

如果你正在談論一個循環,那麼你有一系列操作發生在循環中的所有元素。

如果循環中的操作相當複雜,我會將循環中完成的操作模擬爲一個序列圖本身。

我不認爲我們在這裏可以有經驗法則,但是當循環本身的過程很複雜,並且循環相對較不復雜時,我們可以將它們放在一個序列圖中。

如果循環的過程不是非常複雜,但循環很複雜,那麼我會繪製一個循環操作的序列圖,並記下這個整個序列是由循環調用的。

如果需要,您也可以同時具有兩個序列圖。

更新:
我們有一些筆記添加到圖表,因爲它不是簡單的表示在序列圖「條件」。
的驗證是部分是一樣的東西

do validation 
if validation succeeds 
    proceed to next (business or other) logic 
if validation fails 
    feedback to user (or some other logic) 

+----+   +----+   +----------------+  +----------------+ 
|User|   | UI |   | Your Validator |  | Business Logic | 
+----+   +----+   +----------------+  +----------------+ 
    |  select  |     |      | 
    |--------------->| doValidation |      | 
    |    |------------------>|----+     | 
    |    |     | | Validate   | 
    |    |     |<---+     | 
    |    |     |      | 
    |    |     | (validation fails:  | 
    |    | Validation Fail | feedback to client) | 
    |    |<------------------|      | 
    |    |     |      | 
    |    |     |      | 
    |    |     | (validation succeeds: | 
    |    |     | proceed to   | 
    |    |     | business logic)  | 
    |    |     |      |   
    |    |     | someLogic   | 
    |    |     |----------------------->| 
    |    |     |      | 

UPDATE 2
爲什麼在一個情況下,礦井使用序列圖? 因爲你還是要顯示操作的順序,和開發人員還需要進行編碼:-)

利用UML這個信息,你可能已經知道,沒有什麼是徵收。只要你的團隊也按照你的意圖去理解,你就有自由地以某種方式表達某些東西。這些注意事項也很有幫助。

我應該在之前提到過這個,有些使用「選項」片段來表示if else。這或多或少是一個說明(我這樣看),但也許更明顯。我只在IFELSE部件都很複雜時才使用它們。

+----+   +----+   +----------------+  +----------------+ 
    |User|   | UI |   | UI - Backend |  | Busines Logic | 
    +----+   +----+   +----------------+  +----------------+ 
     | Add Record |     |      | 
     |--------------->| doinsertOrUpdate |      | 
     |    |------------------>|      | 
     |    |     |  exists(record) | 
     |    |     |----------------------->| 
     |    |     |      |   
    ____|________________|___________________|________________________|__________ 
    |[Record exists]  |     |      |   | 
    | |    |     |  Get Record   |   | 
    | |    |     |----------------------->|   | 
    | |    |     |      |   | 
    | |    |     |--------+    |   | 
    | |    |     |  | Set UI Values |   | 
    | |    |     |<-------+    |   | 
    | |    |     |      |   | 
    | |    |     | Update Record  |   | 
    | |    |     |----------------------->|   | 
    | |    |     |      |   | 
    | |    | Send Message  |      |   | 
    | |    |<------------------|      |   | 
    | |    | "Record found, |      |   | 
    | |    | Updated"  |      |   | 
    |___|________________|___________________|________________________|_________| 
     |    |     |      | 
     |    |     |      | 
______|________________|___________________|________________________|_________ 
| [Record does not  |     |      |   | 
| exist]    |     |      |   | 
|  |    |     |--------+    |   | 
|  |    |     |  | Generate  |   | 
|  |    |     |  | Seqeuence  |   | 
|  |    |     |<-------+    |   | 
|  |    |     |      |   | 
|  |    |     | Create New Record |   | 
|  |    |     |----------------------->|   |   
|  |    | Send Message  |      |   | 
|  |    |<------------------|      |   | 
|  |    | "New Record  |      |   | 
|  |    | Created"  |      |   | 
|_____|________________|___________________|________________________|_________| 
     |    |     |      | 
     |    |     |      | 
     |    |     |      | 

有關使用alt塊的示例,請參閱this

+0

我如何用序列圖來描述,用戶是選擇什麼東西,並選擇我做驗證的東西? – Elisabeth 2010-10-11 11:15:31

+0

你通常在序列圖中有一個actor。例如 – Nivas 2010-10-11 11:17:39

+0

yes right,但是在選擇一個algorythm的時候,開始檢查一些字符在選擇/ While中(在你的情況下是UI)。選擇發生。如何用序列圖來描述這個? – Elisabeth 2010-10-11 11:28:52