UML的宏觀理解

前言 

      學習UML在不知不覺中已經過去好久了,依然沒有了最一開始的生疏和茫然,唯一遺憾的是就是UML視頻現在想不起來看的是啥了,感覺以後不能再這樣看視頻了,學習一種東西一定要先了解,先去研究,先有一個宏觀的把控,然後帶着問題和目標去看,再去往深入仔細的學,去百度,去看博客,這樣再去看視頻的時候纔可以能看懂,感覺這樣纔是正確的學習過程,如果一上來就看專業的就什麼的聽不懂看了之後什麼也就什麼都不知道了,以下是我這來年經過仔細研究後對UML的一些整體的感受,和一些比較重要的知識點總結。


總說

1、  UML是統一建模語言,是一種面向對象的可視化建模語言,它能夠讓系統構造者用標準的、易於理解的方式建立起能夠表達他們設計思想的系統藍圖,並提供一種機制,便於不同人之間有效地共享和交流設計成果。

2、  在系統實施之前還應包括系統分析和設計階段,在系統分析和設計階段可以通過建立軟件模塊來確定用戶需求和系統功能。

3、  UML使用有3個預定義分欄的圖標表示類,從上至下3個分欄表示的內容分別爲:類名稱、類的屬性和類的操作。

4、  順序圖顯示多個對象之間的動態協作關係,重點是顯示對象之間發送消息的時間順序。順序圖也顯示對象之間的相互,就是在系統執行時,某個指定時間點發生的事情。順序圖的一個用途是用來表示用例中的行爲順序,當執行一個用例行爲時,順序圖中的每個消息對應了一個類操作或狀態機中引起轉移的觸發事件。

5、  支持UML定義的8種UML圖,包括用例圖、類圖、順序圖、活動圖、通信圖、狀態機圖、組件圖和部署圖。

6、  Rational Rose 2003的初始界面主要包括標題欄、菜單欄、工具欄、模型瀏覽窗口、文檔窗口、模型圖窗口、日誌窗口、狀態欄等部分。

7、  UML的功能:

1)  爲軟件系統建立可視化模型

2)  規約軟件系統的產出

3)  構造軟件系統的產出

4)  爲軟件系統的產出建立文檔

8、  UML由視圖、圖、模型元素和通用機制幾個部分組成。

9、  UML包括5種不同的視圖:用例視圖、邏輯視圖、併發視圖、組件視圖和部署視圖。

9種圖分爲兩類:一類是靜態圖,包括用例圖、類圖、對象圖、組件圖和部署圖;另一類是動態圖,包括順序圖、通信圖、狀態圖和活動圖。

常見的聯繫包括關聯關係、依賴關係、泛化關係、實現關係和聚合關係。

10、              UML常應用在以下領域:信息系統、嵌入式系統、分佈式系統、商業系統。


用例圖

11、              用例圖描述的是參與者所理解的系統功能,用例圖僅從用戶使用系統的角度描述系統中的信息,並不描述系統內部對該功能的具體操作方式。用例圖是一種描述用例的可視化工具。

12、用例的組成元素:

   1)參與者

     參與者也稱爲角色,是使用系統的對象,可以是人,也可以是另一個系統,它與當前系統進行交互,向系統提供輸入或從系統中獲得輸出。

參與者用一個小人形圖標表示。

  2)用例

     用例描述了系統所有的功能需求,它來自於對客戶需求的分析,這個過程稱爲用例分析,是整個系統開發中非常關鍵的過程。用例用橢圓表示。

  3)關係

     用例與參與者之間的連線稱爲關係,關係也稱爲關聯。它表示參與者與用例之間的通信。

  關係分:

     關聯關係:描述參與者與用例之間的關係,在用例圖中,關聯關係使用箭頭表示。

包含關係:表示爲帶箭頭的虛線<include>字樣,箭頭指向被包含用例。

擴展關係:表示爲帶箭頭的虛線加<extend>字樣,箭頭指向基礎用例。

泛化關係:用一個三角形箭頭從子用例指向父用例來表示。

13、擴展關係和包含關係的區別:

     包含用例是一個完整的用例,它可以獨立的存在,也可以單獨被執行者所調用。

     擴展用例並不是一個完整用例,它只是由部分擴展功能組成,它不能獨立的存在,必須依賴於基本用例。


類圖


什麼叫類,先舉個例子說吧!


   我們做項目的需求分析,最開始往往得到的是一堆文字,請看下面這堆文字:


       項目是在一期的基礎上增加對電纜、通訊工程的管理和施工詳細數據的記錄和統計,使整個系統更好的管理各工程項目中標開始到竣工驗收的全部過程和資料和分析施工過程的數據。 
本系統將一條或一個標段架空電力線路工程定爲一個單位工程,即系統中的一個工程項;每個單位工程分爲若干個分部工程;每個分部工程分爲若干個分項工程;每個分項工程中又分爲若干相同單元工程

     這是關於系統情況的一段概述,裏面充斥了大量的術語、概念(紅色的字),如果你不是專業人士,恐怕難以讀懂上述文字。

項目初期,我們往往對業務一無所知,我們最急迫需要解決的問題就是理清楚這些業務概念以及它們的關係,如果能用好類圖,你將能深入地剖析系統業務。

上述那段業務文字,我們先放下不要去深究,我們先看看什麼是類?

需求中提到的各種業務概念、人物等,經過抽象後我們都可以視之爲類


14、類圖的組成元素:

     1)類:類是一組具有相同屬性、相同行爲、和其他對象的相同關係、有相同表現的對象描述,類是對象的抽象,對象是類的實例。類一般包含三個組成部分:類名、屬性、該類提供的操作。

2)包

3)接口:接口是一組可重用的操作,它描述了類的部分行爲,但每個接口只是提供了實際類行爲的有限部分,接口沒有實現和屬性,並且所有操作都是公平可見的,否則,就不能引用接口。

15、類用長方形表示,長方形分爲上、中、下3個區域,每個區域用不同的名字標識。

16、類之間的關係:

1、關聯關係:

  1)普通關係

     普通關聯是最常見的一種關聯。關聯可以是單向的,也可以是雙向的。關係具有方向性,用箭頭表示關係的方向,對於需要明確標識方向的關聯,可以使用“實線+箭頭”表示,箭頭指向被使用的類。如果關聯中不明確指明方向,則默認關聯是雙向的,雙向的關聯則不必標出箭頭。

2)聚合關係

    聚合關係是關聯關係的一種特例,是一種強關聯關係。聚合關係是整體和部分的關係。

3)組合關係

   組合關係是聚合關係的一種特殊情況,是比聚合關係還要強的關係,也稱爲強聚合。它要求普通的關係中代表整體的對象負責代表部分的對象的生命週期,組合關係不能工享。組合中整體擁有各部分,部分與整體共存,如整體不存在了,部分也隨之消失。

2、泛化關係

   面向對象思想的一個重要概念就是繼承,被繼承的類稱爲父類或超類,繼承的類稱爲子類。子類繼承父類的屬性和操作,還具有自己的屬性和操作。

 在UML中,泛化關係也稱爲繼承關係,表示類與類之間的繼承關係,接口與接口之間的繼承,泛化關係的表示方法爲:空心三角形箭頭+實線,箭頭指向父類,如果父類是接口,則表示爲“空心三角形箭頭+虛線“。

3、依賴關係

   依賴關係表示一個類依賴於另一個類的定義,一個類的變化必然影響另一個類。

  依賴關係的表示方法爲:帶箭頭的虛線,箭頭指向被依賴的類,即提供者。

4、實現關係

   類和接口之間的關係是實現。表示實現接口提供的操作,不繼承結構而只繼承行爲。一個接口可以被多個類或組件實現,一個類或組件也可以有多個接口。實現關係的圖標與泛化關係的圖標類似,用一條帶空心三角形箭頭的虛線表示。



    對象圖是類的實例化,對象圖 可以理解,一個真實的對象,比如二胖子卡號是1,要上機,都要做哪些操作:如果你有一個類來專門判斷此學生是否存在可以是:在 “判斷學生類”中判斷1是否存在,餘額是否可以上機——>上機類——>判斷目前有多少學生上機類——>...是一種比較具體的一個操作流程。


活動圖

1.活動圖是UML用於對系統的動態行爲建模的一種常用工具,它描述用例的活動以及活動間的約束關係。用於識別並行活動和工作流程情況,使用框圖的方式顯示動作及其結果。

2.活動圖由各種動作狀態構成,每個動作狀態包含可執行動作的規範說明。

3.活動圖由初態、終態、動作狀態或活動狀態、狀態轉換、泳道、判定、分叉與彙總組成。


狀態圖

4.狀態機圖是系統分析的一種常用工具。它描述了一個對象在其生命週期內所經歷的各種狀態,以及狀態之間的轉換、發生轉換的原因、條件和轉換中所執行的活動。

5.狀態機是展示狀態與狀態轉換的圖。

6.UML的狀態機由狀態、轉換、事件、動作和活動組成。

7.狀態機圖是對類所描述事件的補充說明,它顯示了類的所有對象可能具有的對象,以及引起狀態的事件。

8.狀態機圖描述一段時間內對象所處的狀態和狀態的變化。狀態的UML圖標是一個圓角矩形,狀態轉移用狀態之間的有向連線表示。

9.UML狀態機圖的圖形元素包括狀態、轉換、開始狀態、結束狀態、事件、決策和同步。

10.狀態機圖由表示狀態的節點和表示狀態之間轉換的帶箭頭的直線組成。若干個狀態由一條或者多條轉換箭頭連接,狀態的轉換由事件觸發。


其他

11.順序圖主要描述系統各組成部分之間交互的次序,用於說明系統的動態視圖。通信圖則從另一個角度描述系統對象之間的鏈接,也是用於說明系統的動態視圖。

12.通信圖主要用於顯示系統之間需要哪些鏈接傳遞交互的消息。

UML通信圖的圖形元素主要包括對象、鏈接和消息流。


象圖 可以理解,一個真實的對象,比如二胖子  卡號是1,要上機,都要做哪些操作:如果你有一個類來專門判斷此學生是否存在可以是:在 “判斷學生類”中判斷1是否存在,餘額是否可以上機——>上機類——>判斷目前有多少學生上機類——>...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章