我想顯示當我插入數據列表時,我的用戶控件/控件正在做什麼,當用戶按下某些鍵,選擇文本等時會發生什麼......如何顯示幾個循環,並按順序顯示其中的內容?
我覺得某種程序diagramm不是非常適合顯示幾個循環並在循環內執行任務。
我錯了嗎?或者我該如何應對這種情況?
我想顯示當我插入數據列表時,我的用戶控件/控件正在做什麼,當用戶按下某些鍵,選擇文本等時會發生什麼......如何顯示幾個循環,並按順序顯示其中的內容?
我覺得某種程序diagramm不是非常適合顯示幾個循環並在循環內執行任務。
我錯了嗎?或者我該如何應對這種情況?
如果你正在談論一個循環,那麼你有一系列操作發生在循環中的所有元素。
如果循環中的操作相當複雜,我會將循環中完成的操作模擬爲一個序列圖本身。
我不認爲我們在這裏可以有經驗法則,但是當循環本身的過程很複雜,並且循環相對較不復雜時,我們可以將它們放在一個序列圖中。
如果循環的過程不是非常複雜,但循環很複雜,那麼我會繪製一個循環操作的序列圖,並記下這個整個序列是由循環調用的。
如果需要,您也可以同時具有兩個序列圖。
更新:
我們有一些筆記添加到圖表,因爲它不是簡單的表示在序列圖「條件」。
的驗證是部分是一樣的東西
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。這或多或少是一個說明(我這樣看),但也許更明顯。我只在IF
和ELSE
部件都很複雜時才使用它們。
+----+ +----+ +----------------+ +----------------+
|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。
我如何用序列圖來描述,用戶是選擇什麼東西,並選擇我做驗證的東西? – Elisabeth 2010-10-11 11:15:31
你通常在序列圖中有一個actor。例如 – Nivas 2010-10-11 11:17:39
yes right,但是在選擇一個algorythm的時候,開始檢查一些字符在選擇/ While中(在你的情況下是UI)。選擇發生。如何用序列圖來描述這個? – Elisabeth 2010-10-11 11:28:52