一:用途
對一個開發團隊來說,序列圖是非常重要的,因為序列圖用於描述系統內部一群對象之間的交互情況,尤其在做爬蟲這種
業務復雜性的項目,序列圖可以讓我們更快的理清這些復雜流程。
二:基本元素
序列圖中的uml元素還是相對比較少的,先截個圖。
1:生命線
首先我們要知道序列圖有一種動靜結合的特點,以類圖作為靜態結構,用例圖作為動態行為的過程。所以我們可以認為生命線
就是一個類,比如下圖中,customer:Customer ,前者是類的實例,后者是類名,圖中的“X”是類的析構函數,也就是銷毀。
這里有一個注意的地方,我們將圖中的”Actor“屬性設為True是,該生命線就會變成參與者生命線。
2:同步,異步
說起同步或者異步,我想大家第一反應可能就是ajax或者Thread,既然序列圖是描敘對象之間的交互就必然存在同步
或者異步,在uml元素中,“同步”是具有來去箭頭的,而”異步“就是單向箭頭。
從上面的序列圖中,我們可以看出Customer向Order下訂單,下單成功后同時異步請求email發送郵件,既然是異步,也就不
存在影響主流程了。
3:創建
在交互段內如果要創建別的生命線(類對象),那么此時需要使用創建消息,不過在實際應用中用的還是比較少的,畢竟萬事
萬物遵循”八二原則“的。
在vs2010里面有支持序列圖的”反向工程“,蠻有意思的,我們先看一下,我在Program里面實例化了一個Test類,看看在序列
圖中是否用Create來實現。
4:組合片段
現在我們也知道了,序列圖中是一群對象在交互,那么交互必然存在着邏輯,比如if/else,for等等,在uml中有12中這樣的業務
邏輯的組合片段,同樣八二原則,了解一些常用的即可。
通過對比兩張圖,我想大家肯定清楚下面的那張序列圖所表達的意思。
最后上一張綜合一點的圖,有了上面的簡述,我想這張圖大家應該也能看得懂。