您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關在UML中如何定義連續,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在UML中是這樣定義連續的:
交互中的一個標簽,允許將條件拆分成兩個片段。而這兩個片段在語義上是連在一起的。
示例
這里采用EA幫助系統中的例子,當然版權也屬于SparxSystems。首先是主流程。
eatab調用repos:File的reqConn方法,如果請求成功,則調用logConn后執行pathSucc連續標簽引導的部分,如果失敗,則執行pathFail連續標簽引導的部分。兩個標簽分別引導的處理被設計到了ConnHandler中。
pathSucc標簽接下來的處理是向estab返回connListen,而pathFail標簽接下來的處理是調用ReCt的trackFail方法跟蹤錯誤。
使用了連續標簽以后,使用者可以自由定義成功和失敗時的處理。
如果本文就這么結束了,是不是覺得太簡單了?
之所以把本文拖到今天才寫是因為有一個疑問一直沒有解決:如果連續的效果僅限于此的話,完全可以通過保存reqConn的執行結果,然后再利用參數傳遞給ConnHandler的方式來實現,這樣只會更加清晰。
我們忽略了什么呢?
還是用自創的例子來說明吧。這里以某智能攝像頭為例。
基本流程如下:
5STimer每次發生Timeout以后會向SmartCamera發出通知,SmartCamera接到通知后拍攝照片,然后把拍攝的照片向云端傳送。這里為拍攝成功,拍攝失敗,傳送成功,傳送失敗分別準備了連續標簽以備其他處理使用。
下面是一種處理方式的例子:
這里只是簡單地在拍照失敗,云推送失敗時向MobilePhone報告錯誤信息。也可以定義其他的處理,例如云推送失敗時本地保存等等。
在本例中,拍照/推送的處理處于無限循環的處理中,永遠(基本上)也等不到處理結束的時候。因此也就不存在返回值如何如何了。
關于“在UML中如何定義連續”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。