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