您好,登錄后才能下訂單哦!
這篇文章主要介紹EA畫UML時序圖中如何實現條件執行,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
時序圖提供了一種Fragment(片段),用來表現條件執行,循環,并發等情況。具體使用哪種Fragment,通過以下的對話框來選擇。
今天先說條件執行相關的Fragment。
alt(alternative)
alt用于表現條件執行的程序構造。和alt對應的程序結構可以是if/else結構,也可以是swtich結構。還是從圖形編輯軟件中找例子。
這個時序圖描述的是DrawerView根據用戶按下的方向鍵來移動圖形時的處理。使用的就是名為alt的Framgment。它的設定畫面如下:
設定內容
Type:alt
Name:ArrowKeyHandling。選取一個有意義的名字有助于讀者的理解。
Condition:輸入每個分支的判斷條件。輸入完成的條件可以在Condition輸入框下方的列表中表示出來。
需要說明的是,這個對話框中不能調整條件的順序。條件的順序是通過例子圖中紅線框出的小箭頭來調整的。
opt(optional)
當然,在實際的程序中,只有某個圖形被選中時才可以移動該圖形。這就是opt出場的時候了,具體時序圖如下:
只有在m_currentShape有效時才調用移動圖形方法并更新表示。opt其實就是一個沒有else的if。
break
首先要明確的是,這個break不是C/C++語言中的那個break,它包含一個帶有監護條件的操作片段,如果監護條件為真,則該片段被執行,該片段以后的部分被忽略;如果監護條件為假,那么該片段不會被執行,該子片段以后的部分則會被執行。
好像有點復雜,結合下面代碼一起說就容易理解了。
void openfile(void)
{
CFileDialog dlg;
if(dlg.DoModal()!=IDOK)
{
MessageBox.setMessage("Can't open file!");
return;
}
CString FilePathName = dlg.GetPathName();
/*此處省略50行。*/
}
代碼很簡單,畫成時序圖如下:
上圖中包含一個以result是否不等于IDOK為監護條件的break片段,如果監護條件為真,則該片段中的sendMesage和刪除dlg操作被執行,GetPathName及以后的部分被忽略;如果監護條件為假,那么break片段不會被執行,GetPathName及以后的部分會被執行。
費了半天勁,break其實就是一個有條件的中途退出處理。
以上是“EA畫UML時序圖中如何實現條件執行”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。