在VS2010/UML中支援的循序圖中級概念都跟「互動引用」(Interaction Use),以及「聯合片段」(Combined Fragment)有關,它們有下列幾項主要特色:
1. UML2新觀念:互動引用與聯合片段,兩者都是UML2才提出的新觀念。所以,你要是想判斷該UML工具或書籍是否真的支援到UML2,直接查看對互動引用與聯合片段的支援,就立即可以得知了。
2. 大方框圖示:互動引用與聯合片段,兩者的圖示都相同,主體採用大方框圖示。主要的辨識方式是,查看左上角五角型內所標示的關鍵字,如果是sd和ref則是互動引用,其餘的12個互動操作子(Interaction Operator)的縮寫alt、assert、break、consider、critical、ignore、loop、neg、opt、par、seq、strict則全用在聯合片段。
3. 中級認證概念:互動引用與聯合片段,特別是12種聯合片段,都屬於中級認證的重要考題之一。
4. 處理互動片段:循序圖中的任何一個片段區塊,都稱為「互動片段」(Interaction Fragment),透過互動引用與聯合片段,可以讓開發人員操作、重用任何一個互動片段,處理更細膩的分析設計細節。
互動引用
「互動引用」(Interaction Use)的概念很簡單,把它倒過來讀,立即就會理解,其實它就是在引用某一個放置在別張循序圖中的互動片段。所以,它在大方框左上角的標示字眼,才會使用「引用」(reference)的縮寫字「ref」。
請你看到圖1的互動引用圖示,它的名稱可以寫在大方框內部。至於,右下角的連結(Link to)到某處的箭頭符號,在VS2010/UML多處都可以見到,特別說明一下,這是VS2010/UML特有的符號,並非UML的標準符號。在VS2010/UML中,只要出現了這個小小的連結符號,表示有連結到某一張圖,或某一個元素。
圖1 互動引用
其實,互動引用的概念簡單又好用,也不知道為何UML官方要把它歸屬於中級認證的範圍,應該歸類在初級認證範圍,讓更多人懂得如何正確地使用它。不過,還是要感謝VS2010/UML把互動引用的操作,設計的很簡潔,而且容易上手,相信透過VS2010/UML可以讓更多的開發人員享用到這麼實用的概念。
接著,我們來看看VS2010/UML操作上需要注意的地方。首先,我們來看如果要產生一個新的互動引用,可以怎麼做?這在先前文章已經說過,就是先用滑鼠左鍵點選打算移到新圖的某一條訊息,然後再按滑鼠右鍵打開選單,選擇執行其中的「移至新圖」(Move to Diagram)。
這麼一來,VS2010/UML將瞬間幫我們做了下列幾件事情:
1. 先建立一張新的循序圖。
圖2 新的循序圖
2. 把原始循序圖的互動片段拷貝過去新的循序圖中,如圖2所示。
3. 然後刪掉原始循序圖中已經拷貝到新圖的互動片段。
4. 最後在原始循序圖中加入互動引用的大方框,而且這個互動引用的大方框右下角會出現VS2010/UML特有的連結箭頭,如圖3所示。
圖3 原始的循序圖
5. 你要是用滑鼠左鍵雙擊互動引用,VS2010/UML會幫你連結開起剛才建立的新循序圖。
圖4 連結到循序圖
如果,你在另一張循序圖中想要引用剛才的互動片段的話,請先點選VS2010/UML循序圖工具箱中的互動引用,新增到圖面上,開啟並執行選單中的「連結到循序圖」(Link to Sequence…),並且於出現的視窗中挑選已經存在的循序圖,這樣就可以了,如圖4所示。
另外一種產生互動引用的方法,先點選循序圖工具箱中的互動引用,然後框住所需的存活線段,如圖5所示。特別注意,此處我們只有框住了訪客和註冊網頁的存活線,所以等會產生的新循序圖中,就只有這兩個存活線。
圖5 連結到循序圖
圖6 建立新的循序圖
接著,點選循序圖面上的互動引用,並選擇執行選單中的「建立新的循序圖」(Create New Sequence),如圖6所示。這時你可以發現,新建立的循序圖中,果然只包含我們剛才框住的兩個存活線,如圖7所示。
圖7 包含兩個存活線
而且,你如果再回到原始的循序圖中,可以發現剛才的互動引用加上了連結鍵號。同時,VS2010/UML也會將互動引用的大方框釘住在圖面上,不讓我們隨意移動。
對了,最後別忘了打開互動引用的性質表來查看一下,如果已經設定引用的話,在性質表中的「引用到」(Refers to)欄位,就會出現被引用的循序圖,如圖8所示。
圖8 互動引用的性質表
可惜的是,這是個反白欄位,不讓我們修改,所以要想變更所引用的循序圖的話,可以重新執行剛才圖4的「連結到循序圖」(Link to Sequence…)選項,重新選擇欲引用的循序圖,這樣就可以了。互動引用介紹到此,下回將介紹聯合片段。
專欄作者
熱門新聞
2024-12-27
2024-12-24
2024-12-22
2024-11-29
2024-12-20