1. 程式人生 > >UML——九種圖的詳細介紹

UML——九種圖的詳細介紹

看完了UML視訊,就到了畫圖階段,但是究竟都有哪些圖要畫,他們的要點是什麼呢,下面將一一道來。

一、UML九種圖的作用


UML圖在整個軟體的週期中佔據著不小的用途,瞭解他們的用處也是我們呀掌握的事情,有了上面的圖各種圖的作用就清楚多了。

二、分圖介紹

(一)、用例圖


上圖為用例圖的基本元素和關係,其中人為參與者,用例為系統的功能,子系統為該系統呼叫的子系統,其中最重要的就是這幾種關係。          其中包含和擴充套件只是用例之間的關係,而其他的三個可以是參與者與用例之間的關係也可以是用例與用例之間的關係。 講一下包含和擴充套件(關聯和依賴在類圖中總結): 包含:就是指的一個用例中所包含的用例(功能),沒有了這個功能,這個用例便沒有辦法實現。
擴充套件:就是指當前用例中非必須的子用例(功能),沒有了這個功能,這個用例還是可以實現的,這個功能只是輔助的作用。

(二)、類圖/物件圖

由於類和物件圖所用的圖例和關係都差不多,所以在此一併描述 1.四大關係: 1)、依賴:兩個事物之間的語義關係,其中一個事物發生變化會影響另一個事物的主義。簡單地,兩個類互為依賴關係,一個類的變化會影響另一個類,因此依賴總是單方面的。
2)、關聯:有兩種情況。聚合和組合,都是描述一組物件之間連線的結構關係。聚合,強的關聯關係,是整體和部分的結構關係,整體和部分可獨立,如車與零部件。組合,更強的關聯關係,整體和部分同一生命週期,不可獨立。如人與軀幹。
3)、泛化:一般化——特殊化的關係。比如類的繼承。
4)、實現:兩個類,其中的一個類指定了由另一個類保證執行的契約。可以看成是介面實現的關係。

上圖為幾種關係的線 2.圖例
這其中包括了包的圖例,因為包圖就是依賴於類圖而生的,包圖的意義就是把不同功能的類劃分在不同功能區內,包又是功能空間。包把建立的各種模型組織起來,形成各種功能或用途的模組,並可以控制包中元素的可見性以及描述包之間的依賴關係。通過這種方式,系統模型的實現者可在高層把握系統的結構。所以包圖在分類上來講就是類圖的整體層面上的分類。
    畫類圖的時候最重要的就是從需求中把類抽象出來,其中可以從不同的角度來抽象,但是最關鍵的是找相同的關鍵詞,這樣的有相同關鍵詞的物件就是一個類了。

(三)、狀態圖和活動圖


        狀態圖要注意的就是每個點都是一個狀態,主要是以物件的狀態變化為基準來形成的圖,其中要把握好狀態的時機和關係。

      活動圖和狀態圖的不同之處是它體現的是每個動作所在的功能之間的關係,其中涉及到了功能執行的前後的關係,還有泳道圖的用法,泳道圖每個泳道的標題寫入的都是功能,其中的動作是誇功能而實現的。

(四)、序列圖與協作圖


     以上序列圖圖片轉自於亮師哥的部落格,感覺畫的很不錯,只是還有些東西沒有表現出來。下面是我補充的物件和連線:
       這些片段是存在於序列圖中的,現在我們還不怎麼常用,其實用法和他們的名字是差不多的,就是在生命線上存在的片段,裡面可以放一些啟用的動作的。這四中訊息的傳遞也就是序列圖的核心,所有的啟用的動作都是靠他們來完成的,畫圖的時候要注意他們的用法。 協作圖:
       從他們都有序號的動作來看,其實序列圖和協作圖本來就是可以相互轉化的,他們的區別主要在於生命線的使用上,生命線使得序列圖比較側重於時序的動作發生過程,而協作圖則側重於物件之間的關係,從而表示物件的互動作用,序列圖主要用在表示設計方案上,而協作圖主要用在詳細設計上。

(五)、部件圖和部署圖

       部件圖主要表示的是軟體的各種支援檔案或者系統之間的聯絡,沒有什麼好說的,上圖:
部署圖為物理裝置的安裝部署的相關原理圖,主要是給安裝和維護物理系統的人員使用的,它只表示機器之間的關係

總結:

    這次UML的學習也算是對軟體工程學習的一個補充,它在方方面面都體現了面向物件的設計的特點,主要針對把抽象的結構變成可見的模型。UML的學習在很大程度上都是一次次軟體工程的體驗,但是我確沒有怎麼學明白,即時是這樣,相信在繪圖的道路上還會在回來的。