標籤:uml 學習記錄 一周
最近有好多想法迫不及待的想去實現,可是事實上是在那些最開始想的非常明白,感覺會沒問題的地方也總是會出現問題,導致略微有些急躁,還是要淡定啊,又到了周末,明後天要收拾東西搬家,不知道寬頻能不能順利的給挪過去,想提前來記錄下這周的工作吧。
總的來說,這周完成了介面的初始設計,然後就是這概要設計了,結果整合下來,word文檔都有近百頁了,太多時序圖了,畫的我都有些頭昏腦漲。其實,在很久之前的某公司,我面試的第一道問題就是時序圖,結果當時的我是可憐的一片茫然,結果也就自然而然了。這次再看時序圖,又理解了好久,就像好多事情一樣,就像一層窗戶紙,哪怕再薄,只要捅不破,還真就搞不懂看不明。
這次終歸是做了幾十個時序圖,有些自己的一點小理解,可能會有偏頗,但還是記錄下,權當總結這周工作了。
1、編寫工具
這次用的是rational rose 2003(在之前的項目中試用過visol和power Designer,現在感覺還是power Designer相比較更好用一些,暫時)
2、基礎知識
時序圖,名sequence Diagram,按時間順序進行排列,顯示參與對象和對象之間的互動。
(個人使用心得:以一個網頁為例,一個功能實現可能參與的對象和進行的順序就可以做一個時序圖,簡而言之,就是我看到時序圖,就可以瞭解到這個功能實現的步驟和相應的方法,是為了方便代碼的編寫的規範來進行的)
3、基本元素
時序圖的建模元素主要有:對象(Actor)、生命線(LifeLine)、控制焦點(Focus of control)和訊息(Message)(具體的寫法網上有太多了,這裡就不多記錄了)
對象的狀態:啟用、運行和銷毀
這裡說一下啟用的意義,對於這個長方格子,我始終沒明白它究竟是什麼意思,在“百度百科”上碰到了一個讓我豁然開朗的解釋:可以將啟用看做一個”{ }“,從開始到結束,也就可以理解為一個方法,一個動作;
用生命線來形容對象存在的時間,在下面加銷毀符號,用來刪除對象,或者回收對象,其實就是路人甲的龍套嘛,來幹完了就接著走人
訊息有四種,倒是有必要記下
1、普通訊息:普通空心箭頭,實線箭身;2、同步訊息:實心箭頭,實線箭身;3、非同步訊息:半邊空心箭頭,實線箭身;4、返回訊息:普通空心箭頭,虛線箭身
再有一個的話就是自關聯了
其實到這裡的話時序圖的設計就用這些,以網頁為例的話,每個參與的介面,使用者,使用者產生的實體類等等都可以為對象,而從提交查詢或者點擊刪除等功能後,訊息的行程順序和調用方法等標註上,從而看到時序圖就可以編寫代碼。
4、rational rose的幾個小技巧
* ctrl+d用來刪除,edit的delete太多是暗的了;
* 在向word上複製的時候,直接點擊空白地方點ctrl+c,在word上ctrl+v黏貼即可,無須先進行再粘貼(我這樣弄痛苦的不得了..)
暫時想起來的簡單應用就這些,那就先記錄這些吧,近一周的時間來寫uml,這樣也好總結...
哎呀,搬家是個麻煩活,還得抽時間做兩個小應用,加油,把時間看成奶牛,加油...