對軟體開發中uml建模的理解和圖形整理(二)

來源:互聯網
上載者:User

標籤:建模   uml   

今天接著昨天的內容,繼續來瞭解uml的靜態建模和動態建模,希望大家通過這兩天的瞭解能加深對uml建模的理解並在以後的項目開發中加以應用。


核心UML圖分類:  ---> “獨孤九劍”

靜態建模:[使用案例圖]、[類圖]、對象圖、元件圖表、部署圖。

動態建模:[時序圖](sequence diagrams)、狀態圖、活動圖表、共同作業圖表。


核心UML圖的定義及使用

一、 使用案例圖:主要用來展示系統的核心功能及其互動的使用者或系統。

舉例說明:相信上一篇已經寫的很清楚了,這裡簡單貼一張圖。

===================== Num1.使用案例圖======================== 
1. 用例:系統為參與者(人/系統)提供的功能,一般取名為帶有動作性的詞語。--橢圓
2. 用例之間的關係 --> 虛線 :
a) 內含項目關聯性:大功能包含《include》子功能。
b) 擴充關係:將基用例中一段【相對獨立並且可選】的動作,用擴充《extends》用例加以封裝。 --虛線反向
c) 泛化關係:一般和特殊(抽象類別/介面+實作類別/子類)的關係。實線三角形箭頭反向。


二、類圖:主要用來表現類的特徵(屬性和操作等),描述了多個類/介面的特徵以及對象之間的協作和互動。

類圖主要做兩件事:1 對類中的資料及其操作進行封裝;2 標明類與類之間的關係。

下面主要針對這兩點來談談,第一點: 對類中的資料及其操作進行封裝,還是先看圖吧:


因為這裡使用的是Rose畫圖,所以所有的畫圖操作都是在Rose上執行的。需要說明一下:這裡畫的是一張簡單的普通類圖,類圖的屬性和方法是可選的,而這裡的正向工程和反向功能有點類似於Java web裡面的Hibernate的一個重要作用:將表映射成類,也可以將類映射成表,當然這裡的是一張類圖而不是資料庫裡面的表。

第二點:標明類與類之間的關係。類與類之間的關係主要有一下幾種:1. 泛化關係(繼承關係)、2. 實現關係(介面與實作類別的關係)、3. 關聯關係(這個比較複雜,這要包含單向關聯、雙向關聯、自關聯、彙總關聯、組合關聯)、4. 依賴關係(項目開發中基本很少畫)。下面以圖的方式進行講解:

1,泛化(繼承)關係:注意是子類指向父類,且箭頭為三角形,連線為實線。

2,實現關係(介面與實作類別的關係):這個在Java web中經常用到,比如在Spring中,經常會調用DAO層介面的對象(通過IOC配置xml的方式來setXx產生介面對象)方法來處理Service層的業務(如:登入、註冊等)。注意是實作類別指向介面,且箭頭為三角形,連線為虛線。


3,關聯關係:

a)單向關聯:就拿追MM來說,很多人都稀罕她,但她都不稀罕。


b)雙向關聯:就拿夫妻來說,一個男的只能有一個老婆,而一個女的只能有一個老公。


c)自關聯:典型的,就拿Menu菜單來說,子功能表和父菜單封裝的資料都一樣,只是Menu類中要有自己的引用。


d)彙總關聯:彙總表示的是整體和部分的關係,比如說:有輛汽車報廢了,但其輪胎有兩個還是好的,它可以供別的汽車使用。(畫圖時切記:整體指向部分):


e)組合關聯:組合也是整體和部分的關係,與彙總最大的區別在於:整體可以控制部分的生命週期。比如:一家IT公司倒閉了,那麼其部分也將不複存在。


注意:整體指向部分,與彙總關聯不同的是:組合的菱形箭頭是實心的,而彙總的菱形箭頭的空心的。

4. 依賴關係:存在於方法中的臨時變數、方法簽名中的參數等,由於項目中很少用到,所以這裡就不再贅述。


有點晚了,明天繼續,晚安。



對軟體開發中uml建模的理解和圖形整理(二)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.