UML概述

2021-04-08 11:14 更新

什么是 UML?

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):

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)行文檔化。

UML 概念模型:

對(duì)于 UML 的概念模型,我們有以下的理解:

  • 概念模型可以被定義為模型,它是由概念和它們之間的關(guān)系組成的。

  • 概念模型是在繪制 UML 圖之前,它幫助了解在現(xiàn)實(shí)世界中的各個(gè)實(shí)體,以及他們?nèi)绾位ハ嘟涣鳌?/p>

UML 描述的實(shí)時(shí)系統(tǒng),這是非常重要的一個(gè)概念模型。 

掌握 UML 概念模型可以通過學(xué)習(xí)以下三大要素達(dá)到:

  • UML 構(gòu)建模塊
  • 規(guī)則連接構(gòu)建模塊
  • UML 公共機(jī)制

UML 面向?qū)ο蟮母拍睿?/h2>

面向?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ī)制來以不同的形式存在.

面向?qū)ο蟮姆治雠c設(shè)計(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 在面向?qū)ο笤O(shè)計(jì)中的作用:

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 圖。

UML 基本元素

  • 三個(gè)基本模塊:事務(wù),關(guān)系,圖。
  •   
  • 四種事務(wù)   
    1. 結(jié)構(gòu)事務(wù):類,接口,協(xié)作,用例,活動(dòng)類,組件,節(jié)點(diǎn)。
    2. 行為事務(wù):交互,狀態(tài)機(jī)。
    3. 分組事務(wù):包
    4. 注釋事務(wù):注釋。
  •   
  • 四種關(guān)系
    1. 依賴
    2. 關(guān)聯(lián)
    3. 實(shí)現(xiàn)
    4. 泛化
  •   
  • 十種圖
    1. 用例圖
    2. 類圖
    3. 對(duì)象圖
    4. 包圖
    5. 部署圖
    6. 活動(dòng)圖
    7. 狀態(tài)圖
    8. 序列圖
    9. 協(xié)作圖
    10. 組件圖


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)