開篇語:
做測試的難免看到開發畫出各種設計圖,都很羨慕,比如:
帥麼,漂亮麼,其實我們測試人員也可以輕鬆搞定這樣的圖哦哦哦~~~~~
下面會對UML進行簡單介紹以及能夠畫出順序圖的工具Astah
一、UML簡介:
UML是Unified Modeling Language 統一建模語言, UML被應用到面向對象的問題的解決上,提供了分析師,設計師和程序員之間在軟件設計時的通用語言。
UML的九種建模圖:用例圖,類圖,對象圖,順序圖(本文重點介紹),協作圖,狀態圖,活動圖,組件圖,配置圖
順序圖( Sequence Diagram )別稱:“交互流程圖” 或“時序圖”或“序列圖”。
開發人員常用的是 類圖和對象圖,一般出現在對開發文檔要求嚴格的公司或研發團隊,如下圖:
二、Astah簡介
Astah (原名JUDE)發音:阿斯塔
Astah Professional 開發語言:100% 純 Java 應用程序,可以跨平臺在各種主流操作系統中使用,在本文中主要講解如何使用該工具描畫順序圖。
軟件語言版本:英文和日文
下載地址:http://astah.net/download
0、Astah安裝之後桌面會出現如下啓動快捷方式,雙擊即可開啓該工具
1、Astah創建順序圖
2、時序圖組成詳解
順序圖( Sequence Diagram )別稱:“交互流程圖” 或“時序圖”或“序列圖”。
時序圖元素(Sequence Diagram Elements)
角色(Actor)
對象(Object)
生命線(Lifeline)
控制焦點(Focus of Control)
消息(Message)
自關聯消息(Self-Message)
組合片段Combined Fragments
三、使用說明
1、生命線
時序圖中表示爲從對象圖標向下延伸的一條虛線,表示對象存在的時間, 一般用來描述 系統 :如 客戶端,代理層,緩存層,服務器層1.....服務器層N,數據庫等。
2、消息分類
消息的定義(個人理解的白話文):生命線與生命線之間的交互就是由"消息"來完成,消息說白了就是系統與系統之間請求(Request)與響應(Response)。
i、同步消息(Synchronous Message):消息的發送者把控制傳遞給消息的接收者,然後停止活動,等待消息的接收者放棄或者返回控制,用來表示同步的意義。
有點類似網絡協議裏的TCP協議,系統A給系統B發了消息,就等着B回消息或者超時之後就不理睬B了
ii、異步消息(Asynchronous Message):消息發送者通過消息把信號傳遞給消息的接收者,然後繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是併發工作的。
有點類似網絡協議裏的UDP協議,系統A給系統B發了消息,然後,系統A對系統B的態度就是:B回不回消息無所謂。
iii、返回消息(Return Message): 同步消息的一部分,是一種響應反饋的消息。
A發同步消息給B,B收到消息後給A發送響應就是返回消息。
總結下同步與異步消息:
1、你叫我去吃飯,我聽到了就和你去吃飯;如果沒有聽到,你就不停的叫,直到我告訴你聽到了,才一起去吃飯。(同步消息)
2、你叫我去吃飯,然後自己去吃飯,我得到消息後可能立即走,也可能等到下班纔去吃飯。(異步消息)
所以,要我請你吃飯就用同步的方法,要請我吃飯就用異步的方法。
3、自關聯消息
表示方法的自身調用以及一個對象內的一個方法調用另外一個方法。
結束語:
UML的時序圖很有用,甚至可以這個姿勢來表現,看不透徹的大場景都可以模擬一下,如三國演義的赤壁之戰的時序圖:
之上的種種,作爲測試的我們還沒有領悟到UML的時序圖可以用在什麼地方麼?
1、理不清道不明的大型系統業務流可以用時序圖抽象,你的理解力會瞬間昇華;
2、再有開發叨逼叨逼的說測試不懂流程的時候,就給他畫個時序圖,請教他一下測試人員的理解是否有誤;
那效果。。。小夥伴們,自己樂吧。
參考文章:http://www.lupaworld.com/article-233409-1.html