日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

什么是UML

UML全稱是:Unified Modeling Language 又稱統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言。

統(tǒng)一建模語言UML是OMG(Object Management Group)在1997年發(fā)表的圖標(biāo)式軟件設(shè)計(jì)語言,它綜合了很多種當(dāng)時已經(jīng)存在的面向?qū)ο蟮慕UZ言、方法和過程。

為什么我們要使用UML?

軟件工程的目標(biāo):利用工程化的方法在給定成本、進(jìn)度的前提下,開發(fā)出具有可維護(hù)性、正確性、可移植性的軟件. 提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難隨著軟件工程地進(jìn)展,IT界想用一種語言來描述它們完成的需求,設(shè)計(jì),但是不同的公司開發(fā)了自己的產(chǎn)品。于是乎,為了統(tǒng)一起來,就有了OMG組織

【ObjectManagementGroup對象管理組織】,這個組織讓這種描述需求、設(shè)計(jì)的語言統(tǒng)一了,就稱作是UML 了。也就是說,UML用來給我們設(shè)計(jì),需求分析。

類圖

類圖(Class Diagram)是顯示類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系的圖。類圖最基本的元素是類或接口。

如下圖:

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

第一層是類名。類名不能省略,必須顯示

第二層是屬性層。一個屬性可以是public、private或protected。一個屬性的左面如果有一個加號( ),表示它是public;左面如果是一個減號(-),表示它是privae;左面如果是一個(#),表示它是protected。

第三層是方法層。一個方法可以是public、private或protected。一個方法的左面如果有一個加號( ),表示它是public;左面如果是一個減號(-),表示它是privae;左面如果是一個(#),表示它是protected;如果方法下面有一個下劃線,表明是一個靜態(tài)的方法。

類圖用于描述系統(tǒng)中的類與類之間的各種關(guān)系

1. 繼承(泛化)

概念:泛化是一種一般與特殊、一般與具體之間關(guān)系的描述,具體描述建立在一般描述的基礎(chǔ)之上,并對其進(jìn)行了擴(kuò)展。在程序中是通過繼承類實(shí)現(xiàn)的。比如狗是對動物的具體描述,在面向?qū)ο笤O(shè)計(jì)的時候一般把狗設(shè)計(jì)為動物的子類。

表示方法:空心三角形箭頭的實(shí)線,子類指向父類。

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

2.實(shí)現(xiàn)

概念:實(shí)現(xiàn)是一種類與接口的關(guān)系,表示類是接口所有特征和行為的實(shí)現(xiàn),在程序中一般通過類實(shí)現(xiàn)接口來描述。

表示方法:空心三角形箭頭的虛線,實(shí)現(xiàn)類指向接口.

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

3.依賴

概念:是一種使用的關(guān)系,即一個類的實(shí)現(xiàn)需要另一個類的協(xié)助,所以要盡量不使用雙向的互相依賴,在程序中一般表現(xiàn)為類A中的方法需要類B的實(shí)例作為其參數(shù)或者變量,而類A本身并不需要引用類B的實(shí)例作為其成員變量。

表示方法:虛線箭頭,類A指向類B。

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

4.關(guān)聯(lián)

概念:表示類與類之間的聯(lián)接,它使一個類知道另一個類的屬性和方法,這種關(guān)系比依賴更強(qiáng)、不存在依賴關(guān)系的偶然性、關(guān)系也不是臨時性的,一般是長期性的,在程序中被關(guān)聯(lián)類B以類屬性的形式出現(xiàn)在關(guān)聯(lián)類A中,也可能是關(guān)聯(lián)類A引用了一個類型為被關(guān)聯(lián)類B的全局變量。

表示方法:實(shí)線箭頭,類A指向類B

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

5.聚合

概念:聚合關(guān)聯(lián)關(guān)系的一種特例,是強(qiáng)的關(guān)聯(lián)關(guān)系。聚合是整體和個體之間的關(guān)系,即has-a的關(guān)系,整體與個體可以具有各自的生命周期,部分可以屬于多個整體對象,也可以為多個整體對象共享。程序中聚合和關(guān)聯(lián)關(guān)系是一致的,比如計(jì)算機(jī)與CPU、公司與員工的關(guān)系等;表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分表示方法:尾部為空心菱形的實(shí)線箭頭(也可以沒箭頭),類A指向類B

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

6.組合

概念:組合也是關(guān)聯(lián)關(guān)系的一種特例。組合是一種整體與部分的關(guān)系,即contains-a的關(guān)系,比聚合更強(qiáng)。部分與整體的生命周期一致,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束,組合關(guān)系不能共享。程序中組合和關(guān)聯(lián)關(guān)系是一致的,只能從語義級別來區(qū)分。

表示方法:尾部為實(shí)心菱形的實(shí)現(xiàn)箭頭(也可以沒箭頭),類A指向類B

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

get最新最全的IT技能,免費(fèi)領(lǐng)取各種編程資料(Java、python、前端、大數(shù)據(jù)、區(qū)塊鏈….)

歡迎關(guān)注公眾號【傳智播客博學(xué)谷】,小谷等你來!

用例圖

用例圖顯示誰將是系統(tǒng)的使用者、用戶希望系統(tǒng)提供什么服務(wù)以及系統(tǒng)能夠?yàn)橛脩籼峁┦裁礃拥姆?wù);從用戶的角度描述系統(tǒng)的功能。用例圖最常用來描述系統(tǒng)以及子系統(tǒng)

下圖是描述一個論壇網(wǎng)站,游客、會員與管理員可以使用不同的功能的用例圖

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

時序圖

時序圖有時又叫做序列圖、活動序列圖。作為交互圖的一種,序列交互圖按照時間順序從上到下顯示每個使用案例。下圖所示的例子是一個普通網(wǎng)站登錄的時序圖。

干貨|關(guān)于UML統(tǒng)一建模語言(uml 統(tǒng)一建模語言)

UML建模工具

有很多工具可以幫助我們畫出UML圖。這樣的工具包括如下內(nèi)容:

  • Rational Rose
  • Rational Rose是Rational公司出品的一種www.rational.com 收費(fèi)軟件
  • UDE – community
  • JUDE是一個中日合作的軟件項(xiàng)目,有商業(yè)化的Professional版本和免費(fèi)的Community版本,最大的區(qū)別是免費(fèi)版的不支持UML 2.0,對于一般應(yīng)用足夠了。
  • 下載地址:http://astah.net/editions/community有收費(fèi)和免費(fèi)的
  • BOUml
  • 一個免費(fèi)的UML 2工具箱,支持C ,Java以及Idl。
  • 下載地址:http://bouml.free.fr/免費(fèi)
  • Microsoft Visio
  • Microsoft Visio是Windows操 作系統(tǒng)下運(yùn)行的流程圖和矢量繪圖軟件,它是Microsoft Office軟 件的一個部分可以繪制UML圖,本文檔建模工具選擇就是 Visio.
  • 下載地址:www.microsoft.com 收費(fèi)軟件

總結(jié)

通過以上講解,在軟件開發(fā)的過程中,可以使用UML建模語言對項(xiàng)目中的業(yè)務(wù)進(jìn)行分析和設(shè)計(jì),掌握了這些圖形的創(chuàng)建可以幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求。

寫在最后

get最新最全的IT技能,免費(fèi)領(lǐng)取各種編程資料(Java、python、前端、大數(shù)據(jù)、區(qū)塊鏈….)

歡迎關(guān)注公眾號【傳智播客博學(xué)谷】,小谷等你來!

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
南昌市| 合江县| 景宁| 华安县| 西青区| 加查县| 太康县| 沧州市| 阜南县| 枝江市| 大宁县| 怀柔区| 芦溪县| 佛冈县| 海淀区| 镇巴县| 宁德市| 吴江市| 汪清县| 青铜峡市| 柳河县| 申扎县| 阿拉善盟| 疏附县| 新绛县| 阿克苏市| 宣威市| 苏尼特左旗| 酒泉市| 贺州市| 古浪县| 金山区| 德格县| 通化县| 襄汾县| 抚州市| 叶城县| 德江县| 红河县| 大安市| 噶尔县|