UML 是 OMG 在1997年1月提出了創(chuàng)建由對(duì)象管理組和 UML1.0 規(guī)范草案;
UML 是一種為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的標(biāo)準(zhǔn)語(yǔ)言;
UML 作為一種模型語(yǔ)言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語(yǔ)言和算法實(shí)現(xiàn);
UML 是不同于其他常見的編程語(yǔ)言,如 C + +,Java中,COBOL 等,它是一種繪畫語(yǔ)言,用來做軟件藍(lán)圖;
UML 不是一種編程語(yǔ)言,但工具可用于生成各種語(yǔ)言的代碼中使用 UML 圖;
UML 可以用來建模非軟件系統(tǒng)的處理流程,以及像在一個(gè)制造單元等.
UML 的目標(biāo)是定義一些通用的建模語(yǔ)言并對(duì)這些建模語(yǔ)言做出簡(jiǎn)單的說明,這樣可以讓建模者理解與使用。UML 也是為普通人和有興趣的人而開發(fā)的系統(tǒng),它可以是一個(gè)軟件或者使用非軟件,它必須是明確的。我們不將 UML 作為一個(gè)開發(fā)方法,而是隨著流程做一個(gè)成功的系統(tǒng)。
現(xiàn)在我們可以明確的了解 UML 的目標(biāo)就是 UML 被定義為一個(gè)簡(jiǎn)單的建模機(jī)制,幫助我們按照實(shí)際情況或者按照我們需要的樣式對(duì)系統(tǒng)進(jìn)行可視化;提供一種詳細(xì)說明系統(tǒng)的結(jié)構(gòu)或行為的方法;給出一個(gè)指導(dǎo)系統(tǒng)構(gòu)造的模板;對(duì)我們所做出的決策進(jìn)行文檔化。
對(duì)于 UML 的概念模型,我們有以下的理解:
概念模型可以被定義為模型,它是由概念和它們之間的關(guān)系組成的。
概念模型是在繪制 UML 圖之前,它幫助了解在現(xiàn)實(shí)世界中的各個(gè)實(shí)體,以及他們?nèi)绾位ハ嘟涣鳌?/p>
UML 描述的實(shí)時(shí)系統(tǒng),這是非常重要的一個(gè)概念模型。
掌握 UML 概念模型可以通過學(xué)習(xí)以下三大要素達(dá)到:
面向?qū)ο?(Object Oriented,OO) 是軟件開發(fā)方法,面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計(jì)和軟件開發(fā)。我們可以將 UML 描述為面向?qū)ο蟮姆治龊驮O(shè)計(jì)的繼任者。
一個(gè)對(duì)象中包含了數(shù)據(jù)和控制數(shù)據(jù)的方法,其中數(shù)據(jù)表示對(duì)象的狀態(tài),類描述的對(duì)象,他們也形成層次結(jié)構(gòu)模型真實(shí)世界的系統(tǒng)。表示為繼承層次結(jié)構(gòu),也可以以不同的方式按要求相關(guān)的類。
對(duì)象是現(xiàn)實(shí)世界的實(shí)體存在我們周圍像抽象,封裝,繼承,多態(tài)的基本概念,都可以使用 UML 表示。因此,UML 是強(qiáng)大到足以代表所有的概念存在于面向?qū)ο蟮姆治龊驮O(shè)計(jì)。
UML 圖是面向?qū)ο蟮母拍畹谋硎?,因此,學(xué)習(xí) UML 之前,詳細(xì)了解面向?qū)ο蟮母拍罹妥兊梅浅V匾?/p>
以下是一些面向?qū)ο蠡靖拍睿?/p>
對(duì)象: 對(duì)象代表一個(gè)實(shí)體的基本構(gòu)建塊.
類: 類是對(duì)象的藍(lán)圖.
抽象化: 抽象代表現(xiàn)實(shí)世界中實(shí)體的行為.
封裝: 封裝是將數(shù)據(jù)綁定在一起,并隱藏他們外部世界的機(jī)制。
繼承: 繼承是從現(xiàn)有的機(jī)制作出新的類。
多態(tài)性: 定義的機(jī)制來以不同的形式存在.
調(diào)查可以被定義為面向?qū)ο蟮姆治?,更具體地,它是調(diào)查對(duì)象。設(shè)計(jì)是指確定對(duì)象的協(xié)作。
所以重要的是要了解面向?qū)ο蟮姆治龊驮O(shè)計(jì)理念。現(xiàn)在,面向?qū)ο蟮姆治龅淖钪匾哪康氖且O(shè)計(jì)一個(gè)系統(tǒng)來識(shí)別對(duì)象。這一分析也做了為現(xiàn)有的系統(tǒng)?,F(xiàn)在,一種有效的分析是唯一可能的,當(dāng)我們能夠開始思考對(duì)象可以識(shí)別的方式。確定對(duì)象后,確定它們之間的關(guān)系,并最終產(chǎn)生的設(shè)計(jì)。
因此,面向?qū)ο蟮姆治雠c設(shè)計(jì)的目的可以描述為:
確定一個(gè)系統(tǒng)中的對(duì)象.
確定它們之間的關(guān)系.
做一個(gè)設(shè)計(jì),使用面向?qū)ο蟮恼Z(yǔ)言可以轉(zhuǎn)換為可執(zhí)行文件.
有三種基本應(yīng)用面向?qū)ο蟮母拍詈蛯?shí)施步驟。步驟可以被定義為:
OO Analysis --> OO Design --> OO implementation using OO languages |
以上三點(diǎn)可以詳細(xì)描述:
在面向?qū)ο蟮姆治觯钪匾哪康氖谴_定對(duì)象和描述他們以適當(dāng)?shù)姆绞?。如果這些對(duì)象的有效識(shí)別,那么接下來的設(shè)計(jì)工作是很容易的。對(duì)象應(yīng)確定職責(zé)。職責(zé)是對(duì)象所執(zhí)行的功能。每一個(gè)對(duì)象具有某種類型的要執(zhí)行的責(zé)任。當(dāng)這些責(zé)任協(xié)作系統(tǒng)的目的達(dá)成。
第二階段是面向?qū)ο蟮脑O(shè)計(jì)。在這個(gè)階段的重點(diǎn)是要求及其履行情況。在這一階段中的對(duì)象根據(jù)其預(yù)期的關(guān)聯(lián)協(xié)作。協(xié)作完成設(shè)計(jì)也完成了。
第三階段是面向?qū)ο蟮膱?zhí)行。在這個(gè)階段,設(shè)計(jì)采用面向?qū)ο笳Z(yǔ)言,如 Java,C++ 等。
UML 是一種建模語(yǔ)言,用于示范性軟件和非軟件系統(tǒng)。雖然 UML 用于非軟件系統(tǒng),重點(diǎn)是面向?qū)ο蟮能浖?yīng)用建模。大多數(shù)的 UML 圖到目前為止討論的用于模擬靜態(tài),動(dòng)態(tài)等不同的方面,如現(xiàn)在各方面的構(gòu)件是對(duì)象。
如果我們觀察到類圖,對(duì)象圖,協(xié)作圖,交互圖,將基本上基于對(duì)象的設(shè)計(jì)。
因此,面向?qū)ο蟮脑O(shè)計(jì)和 UML 之間的關(guān)系是非常重要的理解。根據(jù)要求,面向?qū)ο蟮脑O(shè)計(jì)轉(zhuǎn)化為 UML 圖。在詳細(xì)了解 UML 的面向?qū)ο蟮母拍顟?yīng)該學(xué)會(huì)正確。的面向?qū)ο蟮姆治雠c設(shè)計(jì)完成后,下一步是很容易的。從面向?qū)ο蟮姆治雠c設(shè)計(jì)的輸入是輸入的UML 圖。
更多建議: