從軟件開發流程上來談UML 圖 的使用

        大家都知道,計算機行業是一個用代碼說話的行業。但是我們在進行編碼任務之前,必須要明白,我們要做什麼?我們軟件的架構是什麼?每個人都有對問題的認識和表達方式,如果沒有一種統一的語言來規範這種表達,就無法消除自然語言帶來的二義性問題,給軟件設計初期的溝通交流帶來障礙。

     

      本文兩個角度進行介紹:

       9種UML圖

       重點說下,UML圖中用的比較多的類圖


      9種UML圖

      我從軟件開發流程的角度出發,進行介紹。這樣理解起來,比較順暢。

      我們要想做一個軟件,首先要了解用戶的需求,用戶的需求用什麼體現呢?用例圖。用例圖主要展示的就是軟件應該具備哪些功能。是站在用戶角度,對軟件功能的一個劃分。

下面展示下用例圖的一個例子:


                                            用例圖 

    //TODO:至於用例圖的詳細畫法,以後再慢慢補充

   可以先看下這篇博文,說的相當好!http://kb.cnblogs.com/page/129491/

    活動圖是用例圖的延伸,它表示的是執行一個用例所要進行的活動及各種活動的關係(與關係、或關係)。

   具體的活動圖的說明,可以參見《團隊溝通利器之UML——活動圖

    例如:


                                                                            活動圖

    有了上邊兩個圖,我們基本上對用戶需要什麼樣的軟件,以及軟件的基本使用流程清楚了。那麼真正落實到代碼上,我們應該寫哪些類呢?這就涉及到類圖了。  類圖也是在軟件設計階段非常重要的一種UML圖。下節《UML圖中類圖》的使用中進行詳細介紹。

   類圖實例:

  

        類圖只是在靜態上,對各個類的關係進行一個說明,但是落實到代碼上,類之間的關係,大部分情況下還是通過new出類的對象來進行相互調用。如果有需要,我們需要知道,某一個時刻,各個對象之間的關係是什麼,這個時候,就需要對象圖,來說明了。(個人感覺對象圖略顯雞肋,在某些特定場景下還適合用。大多數情況下可以用協作圖代替)

        對象圖實例:

      


說起對象,就不得不說各個對象之間的調用關係。如果從一個對象的角度出發,深究某個對象深層次的調用邏輯,就是序列圖要做的事情了。如果探究的是各個對象之間的關係,那就是協作圖,要做的事情了。

序列圖例子:


協作圖例子:


有時候我們需要描述一個對象的狀態,比如一個訂單有帶支付、支付中、已完成等狀態;線程對象有就緒、執行、阻塞的狀態;審批流有待審批、回絕、通過等狀態,下面展示一個狀態圖的例子。描述的是水壺對象的狀態。

image

轉換的五要素

image

關於狀態圖,可以參看《UML建模之狀態圖(Statechart Diagram)》和《UML——狀態圖》。



我們的軟件或者程序必須部署到某一個環境後才能真正運行起來,描述部署的邏輯環境的圖叫實現圖(介紹了系統需要哪些構件以及各個構件之間的邏輯關係)。描述部署的物理環境的圖叫部署圖(描述了具體應該搭建哪些服務器,如何搭建等等)

實現圖例子:


部署圖例子:



好了,九種UML圖是不是都理解了呢?後面一篇文章主要介紹下,類圖的畫法。


下面是參考文檔:

http://blog.csdn.net/jiuqiyuliang/article/details/8552956/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章