您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“EA畫UML時序圖中消息簽名的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“EA畫UML時序圖中消息簽名的示例分析”這篇文章吧。
實例說明
先看下面圖形編輯軟件中創建組合圖形的時序圖。
處理流程如下:
用戶在選擇組合目標圖形后點擊【Make group】菜單(異步調用)
Framework向:DrawerView發送菜單消息
:DrawView收到消息后從m_shapeSelector取得包含選中圖形的selectedShape鏈表。
:DrawView以選中的selectedShape鏈表為參數調用data:DrawData的makeGroup方法,makeGroup方法將組合結果保存在selectedShape中,并返回組合是否成功。而DrawView將是否成功保存在success變量中。
:DrawViewer異步調用:Framework的Update接口重畫圖形(以下省略)
消息簽名
我們以上述流程中的第4步為例來說明消息簽名的設定方法。
Message/Parameters/Return Value
這三項我們推薦點擊【Operation】按鈕進入對應的類中選擇或創建操作。手動輸入有兩個問題:一是不容易輸入正確;二是不能和類同步。這里不推薦。
Argument(s)
此處填寫調用操作時的實參。
Assign To
輸入用于接受操作返回值的變量。如果這個變量是調用側的數據成員,就可以直接從下拉列表中選擇。
如果生命線沒有關聯類
因為某種原因(比如先畫時序圖)導致時序圖中的生命線沒有和類聯系起來時,也不用著急,按照以下步驟后期指定即可:
在時序圖中選擇生命線
在上下文菜單中選擇【Advanced】-【Instance Classfier】啟動Select
Classfier對話框
選擇對應的類
直接賦值的表現
流程圖中經常會遇到需要表達直接賦值的場景,比如在生命周期一文中出現的刪除圖形的時序圖。
一種做法是:在【Return Value】中輸入null_ptr,同時在【Assign To】中輸入/選擇m_currentShape。但如果你足夠細心,你會注意到在null_ptr之前有一個冒號。它出現的原因是UML中消息簽名的格式遵循如下定義(方括號代表可選項):
[attribute]=name[(argument)][:return-value]
當return-value有內容時冒號也會同時表示。怎么樣,你能接(忍)受么?
還有另外一種方式,在簽名對話框中的Message項目中輸入null_ptr,對于后面伴隨出現的括號,可以通過以下的步驟解決:
在時序圖空白處雙擊鼠標或右鍵調出上下文菜單后選擇【Property】項目
選擇【Features】屬性頁
選中下圖中紅框中【Suppress Brackets for Operations without Parameter】選項
這樣,就可以得到下面的結果,我們大一點表示。
真正的用途
其實這個設定的真正目的當消息就是表達某種信息而不是操作時,可以用來抑制消息名后面的小括號表示。
如果回頭看看本文開頭時序圖第一步的表示,用戶選擇【Make Group】的操作并不是Framework的函數調用,沒有后面的小括號會自然很多。
對于那些沒有參數的操作,我們可以在【Arguments】文本框中輸入void,這時小括號就又可以表示出來了。這種程度的代價應該是可以接受的。
以上是“EA畫UML時序圖中消息簽名的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。