日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

UML建模相關(guān)概念

 星光閃亮圖書館 2017-09-22

1. UML--Unified Modeling Language

language: 語(yǔ)言
modeling: 建模   

unified: 統(tǒng)一的


2. 模型

簡(jiǎn)單理解:是對(duì)現(xiàn)實(shí)的簡(jiǎn)化,是對(duì)系統(tǒng)從語(yǔ)義上近似的抽象。

模型的作用:

  • 精確捕獲和表達(dá)項(xiàng)目的要求與應(yīng)用領(lǐng)域中的知識(shí),以使各方面利益相關(guān)者能夠理解并達(dá)成一致;
  • 便于用戶和各個(gè)領(lǐng)域的專家評(píng)審;
  • 降低復(fù)雜度;
  • 提高開(kāi)發(fā)效率和質(zhì)量;
  • 模型可以作為軟件系統(tǒng)維護(hù)和升級(jí)時(shí)的文檔。

建模方法 = 建模語(yǔ)言 + 建模過(guò)程
建模語(yǔ)言定義了用于表示設(shè)計(jì)的符號(hào)(通常是圖形符號(hào))
建模過(guò)程描述進(jìn)行設(shè)計(jì)所需要遵循的步驟


建模的四原則:

  1. 選擇建立什么樣的模型對(duì)如何發(fā)現(xiàn)和解決問(wèn)題具有重要的影響。 
  2. 每個(gè)模型可以有多種表達(dá)方式。 
  3. 最好的模型總是能夠切合實(shí)際。 
  4. 孤立的模型是不完整的。任何好的系統(tǒng)都是由一些幾乎獨(dú)立的模型拼湊出來(lái)的。

3. 面向?qū)ο蟮幕居^點(diǎn)

  • 客觀世界由對(duì)象組成。
  • 具有相同數(shù)據(jù)和相同操作的對(duì)象可以歸并為一個(gè)類。從一個(gè)類可以派生出許多對(duì)象。
  • 類可以派生出子類,子類和父類形成類的層次結(jié)構(gòu)。
  • 對(duì)象之間通過(guò)消息相互聯(lián)系。
  • 面向?qū)ο?對(duì)象+類+繼承+通信

一般/特殊(分類)結(jié)構(gòu):表現(xiàn)事務(wù)的一般與特殊的關(guān)系。術(shù)語(yǔ)稱為泛化與特化的關(guān)系。

組裝結(jié)構(gòu):表現(xiàn)對(duì)象類之間的部分與整體關(guān)系。

實(shí)例連接:表現(xiàn)對(duì)象間的靜態(tài)聯(lián)系。通過(guò)對(duì)象的屬性來(lái)表現(xiàn)對(duì)象之間的關(guān)系。

消息連接:對(duì)象之間的通信聯(lián)系。表現(xiàn)對(duì)象行為的動(dòng)態(tài)聯(lián)系。

4. 面向?qū)ο蠓治龅幕具^(guò)程

  1. 發(fā)現(xiàn)對(duì)象,從對(duì)象中抽象出類的定義。
  2. 識(shí)別對(duì)象的內(nèi)部特征。定義屬性和服務(wù)
  3. 識(shí)別對(duì)象的外部關(guān)系。建立一般/特殊結(jié)構(gòu)、整體/部分結(jié)構(gòu)、實(shí)例連接、消息連接
  4. 劃分主題,建立主題圖。 
  5. 定義用例,建立交互圖。發(fā)現(xiàn)活動(dòng)者、定義用例
  6. 建立詳細(xì)說(shuō)明。模型的詳細(xì)定義與解釋,分散在其它活動(dòng)之中
  7. 原型開(kāi)發(fā)??煞磸?fù)進(jìn)行


5. 面向?qū)ο蠓治龅膶哟?/span>

對(duì)象模型通常由五個(gè)層次組成:

  1. 類與對(duì)象層
  2. 屬性層
  3. 服務(wù)層
  4. 結(jié)構(gòu)層
  5. 主題層

主題(Subject)層:主題給出分析模型的總體概貌,是控制讀者在同一時(shí)間所能考慮的模型規(guī)模的機(jī)制。
類-&-對(duì)象(Class & Object)層:對(duì)象是數(shù)據(jù)及其處理的抽象。它反映了保存有關(guān)信息和與現(xiàn)實(shí)世界交互的能力。
結(jié)構(gòu)(Structure)層:結(jié)構(gòu)表示問(wèn)題域的復(fù)雜性。類 - 成員結(jié)構(gòu)反映了一般 - 特殊關(guān)系,整體 - 部分結(jié)構(gòu)反映了整體 - 部分的關(guān)系。
屬性(Attribute)層:屬性是數(shù)據(jù)元素,用來(lái)描述對(duì)象或分類結(jié)構(gòu)的實(shí)例,可在圖中給出并在對(duì)象的儲(chǔ)存中指定,即給出對(duì)象定義的同時(shí),指定屬性。
服務(wù)(Serves)層:服務(wù)是接收到消息后必須執(zhí)行的一些處理,可在圖上標(biāo)明它并在對(duì)象的儲(chǔ)存中指定,即給出對(duì)象定義的同時(shí),定義服務(wù)。
五個(gè)層次就像合并在一起的五個(gè)透明的圖層一樣,每一層從不同角度將對(duì)象模型更細(xì)化、更具體化。

面向?qū)ο蟮哪P偷奈鍌€(gè)層次對(duì)應(yīng)著分析建模的五個(gè)主要活動(dòng)。這五個(gè)活動(dòng)的工作可以不按順序進(jìn)行,也沒(méi)必要完成一項(xiàng)活動(dòng)后才開(kāi)始另一項(xiàng)活動(dòng)工作。也就是說(shuō),五個(gè)主要活動(dòng)可以同時(shí)(并行)處理;可以從較高抽象層轉(zhuǎn)移到較低的具體層,然后再返回到較高抽象層繼續(xù)處理;當(dāng)系統(tǒng)分析員在確定類-&-對(duì)象的同時(shí),想到該類的服務(wù),則可以先確定服務(wù)后,再返回去繼續(xù)尋找類-&-對(duì)象;沒(méi)有必要遵循自頂向下,逐步求精的原則。



6. 面向?qū)ο蠓治龅幕驹瓌t

  1. 抽象原則(類 對(duì)象 一般類 屬性 服務(wù))
  2. 分類原則(把具有相同屬性和服務(wù)的對(duì)象化為一類)
  3. 聚合原則(將整體化為若干部分)
  4. 關(guān)聯(lián)原則(用關(guān)聯(lián)原則可以明確的表示對(duì)象之間的靜態(tài)聯(lián)系,實(shí)例連接)
  5. 消息通信原則(動(dòng)態(tài)聯(lián)系)

7. 面向?qū)ο笤O(shè)計(jì)基本過(guò)程

  1. 設(shè)計(jì)對(duì)象與類;
  2. 設(shè)計(jì)系統(tǒng)結(jié)構(gòu);
  3.  設(shè)計(jì)問(wèn)題論域子系統(tǒng);
  4. 設(shè)計(jì)人機(jī)交互子系統(tǒng);
  5. 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng);
  6. 設(shè)計(jì)任務(wù)管理子系統(tǒng);
  7. 設(shè)計(jì)優(yōu)化,提高系統(tǒng)的性能。

設(shè)計(jì)系統(tǒng)結(jié)構(gòu):一個(gè)軟件由若干子系統(tǒng)組成,一個(gè)子系統(tǒng)由若干組件構(gòu)成,設(shè)計(jì)系統(tǒng)結(jié)構(gòu)的主要任務(wù)就是設(shè)計(jì)組件與子系統(tǒng),以及它們相互的靜態(tài)和動(dòng)態(tài)關(guān)系。
系統(tǒng)結(jié)構(gòu)兩種形式:層次結(jié)構(gòu)、塊狀結(jié)構(gòu)。

問(wèn)題論域子系統(tǒng):?jiǎn)栴}論域子系統(tǒng)負(fù)責(zé)實(shí)現(xiàn)領(lǐng)域的業(yè)務(wù)服務(wù)。應(yīng)包括與應(yīng)用領(lǐng)域的業(yè)務(wù)直接相關(guān)的全部類與對(duì)象。對(duì)OOA模型中的某些類、對(duì)象、結(jié)構(gòu)、屬性、操作進(jìn)行調(diào)整。

人機(jī)交互子系統(tǒng):主要任務(wù)是設(shè)計(jì)系統(tǒng)界面。內(nèi)容包括:用戶分類、描述交互場(chǎng)景、設(shè)計(jì)人機(jī)交互操作命令、操作順序,設(shè)計(jì)人機(jī)交互類如窗口、對(duì)話框、菜單等。

數(shù)據(jù)管理子系統(tǒng):數(shù)據(jù)管理子系統(tǒng)負(fù)責(zé)數(shù)據(jù)的管理:錄入、操縱、檢索、存儲(chǔ)、輸出等。設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)的主要任務(wù)是:確定數(shù)據(jù)管理方法,設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu),設(shè)計(jì)實(shí)現(xiàn)數(shù)據(jù)管理的對(duì)象類。

任務(wù)管理子系統(tǒng):一個(gè)系統(tǒng)運(yùn)行時(shí)將有相當(dāng)數(shù)量的進(jìn)程被激活執(zhí)行。任務(wù)管理子系統(tǒng)的任務(wù)就是協(xié)調(diào)和管理進(jìn)程。設(shè)計(jì)軟件系統(tǒng)內(nèi)部模塊運(yùn)行的管理機(jī)制,把事件驅(qū)動(dòng)、時(shí)鐘驅(qū)動(dòng)、優(yōu)先級(jí)管理等任務(wù)分配給軟、硬件執(zhí)行。

設(shè)計(jì)優(yōu)化:設(shè)計(jì)的結(jié)果要盡可能的優(yōu)化,盡量提高系統(tǒng)的性能。各性能指標(biāo)之間常存在矛盾,應(yīng)權(quán)衡考慮選取一個(gè)折衷方案。 準(zhǔn)則:弱耦合、強(qiáng)內(nèi)聚、減少通信開(kāi)銷、良好的可擴(kuò)充性。


8. 類的設(shè)計(jì)原則

  1. 類公共接口的單獨(dú)成員應(yīng)該是類的操作符。
  2. 類A的實(shí)例不應(yīng)該直接發(fā)送消息給類B的成員。
  3. 操作符是公共的,當(dāng)且僅當(dāng)類實(shí)例的用戶可用。
  4. 屬于類的每個(gè)操作符要么訪問(wèn)、要么修改類的某個(gè)數(shù)據(jù)。
  5. 類必須盡可能少地依賴其他類。
  6. 兩個(gè)類之間的互相作用應(yīng)該是顯式的。
  7. 繼承結(jié)構(gòu)的父類應(yīng)該是目標(biāo)概念的抽象模型。

9. 基于UML的面向?qū)ο蠓治鲈O(shè)計(jì)過(guò)程

步驟:

  1. 識(shí)別系統(tǒng)的用例和角色。通過(guò)需求分析;最后得到用例圖。
  2. 進(jìn)行系統(tǒng)分析,并抽象出類。
  3. 設(shè)計(jì)系統(tǒng)和系統(tǒng)中的類及其行為。
  • 結(jié)構(gòu)設(shè)計(jì)   定義包(子系統(tǒng))、包間依賴關(guān)系、主要通信機(jī)制
  • 詳細(xì)設(shè)計(jì)    細(xì)化包內(nèi)容,清晰描述類及其實(shí)例行為

詳細(xì)的步驟(不是固定的):

  1. 發(fā)現(xiàn)對(duì)象,從對(duì)象中抽象出類的定義。
  2. 識(shí)別對(duì)象的內(nèi)部特征。定義屬性和服務(wù)。
  3. 識(shí)別對(duì)象的外部關(guān)系。建立一般/特殊結(jié)構(gòu)、整體/部分結(jié)構(gòu)、實(shí)例連接、消息連接。
  4. 劃分主題,建立主題圖。
  5. 定義用例,建立交互圖。發(fā)現(xiàn)活動(dòng)者、定義用例。
  6. 建立詳細(xì)說(shuō)明。模型的詳細(xì)定義與解釋,分散在其它活動(dòng)之中。
  7. 原型開(kāi)發(fā)??煞磸?fù)進(jìn)行

10. 發(fā)現(xiàn)對(duì)象和定義類

(1)發(fā)現(xiàn)對(duì)象
根本出發(fā)點(diǎn):?jiǎn)栴}域和系統(tǒng)責(zé)任
問(wèn)題域側(cè)重于從客觀存在的事物發(fā)現(xiàn)系統(tǒng)中的對(duì)象,系統(tǒng)責(zé)任側(cè)重于從系統(tǒng)范圍內(nèi)的每一項(xiàng)職責(zé)由哪些對(duì)象來(lái)完成發(fā)現(xiàn)對(duì)象,兩者同時(shí)考慮,只考慮問(wèn)題域?qū)е虏恢滥男┦挛镆约八麄兊哪切┨卣髟撋釛?,那些該提取,容易使某些功能?shí)現(xiàn)不了;只考慮系統(tǒng)責(zé)任,使系統(tǒng)中的對(duì)象不能真實(shí)反映問(wèn)題域。
例如:書和衣服若從問(wèn)題域抽象得到的一定是完全不同的類,如果在系統(tǒng)中僅被作為銷售商品時(shí),那么他們就具有相同的屬性和方法,此時(shí),我們就可以將他們合并為一個(gè)類商品

(2)抽象出對(duì)象類
幾種常見(jiàn)問(wèn)題:

  • 從問(wèn)題域抽象出的完全不同的若干類對(duì)象經(jīng)系統(tǒng)責(zé)任為目標(biāo)的抽象保留下來(lái)的屬性和方法完全相同。解決方法:合并
  • 出現(xiàn)屬性和服務(wù)相似的類。解決方法:建立一般/特殊結(jié)構(gòu)或整體/部分結(jié)構(gòu)
  • 出現(xiàn)對(duì)同一事物的重復(fù)描述。

11. UML中的視圖

視圖的分類:

  1. 用例視圖   系統(tǒng)使用實(shí)例
  2. 邏輯視圖   系統(tǒng)邏輯結(jié)構(gòu)
  3. 組件視圖   系統(tǒng)構(gòu)成
  4. 并發(fā)視圖   系統(tǒng)并發(fā)特性
  5. 配置視圖   系統(tǒng)的配置

這5種視圖組合構(gòu)成UML完整模型。

下面詳細(xì)分析這五種視圖:

  • 用例視圖

用途:描述系統(tǒng)應(yīng)該具備的功能,即被稱為參與者的外部用戶所能觀察到的功能。

用例視圖是幾個(gè)視圖的核心,它的內(nèi)容直接驅(qū)動(dòng)其他視圖的開(kāi)發(fā)。

  • 邏輯視圖

用途:描述用例視圖中提出的系統(tǒng)功能的實(shí)現(xiàn)。邏輯視圖既描述系統(tǒng)的靜態(tài)結(jié)構(gòu),也描述系統(tǒng)內(nèi)部的動(dòng)態(tài)協(xié)作關(guān)系。

組成:靜態(tài)結(jié)構(gòu)在類圖和對(duì)象圖中進(jìn)行描述;動(dòng)態(tài)模型在狀態(tài)圖、時(shí)序圖、協(xié)作圖以及活動(dòng)圖中進(jìn)行描述。

  • 并發(fā)視圖

用途:考慮資源的有效利用、代碼的并行執(zhí)行以及系統(tǒng)環(huán)境中異步事件的處理。

組成:狀態(tài)圖、協(xié)作圖和活動(dòng)圖。

  • 組件視圖

用途:描述系統(tǒng)的實(shí)現(xiàn)模塊以及它們之間的依賴關(guān)系

  • 配置視圖

用途:顯示系統(tǒng)的物理部署,并描述位于節(jié)點(diǎn)實(shí)例上的運(yùn)行組件實(shí)例的部署情況 。例如一個(gè)程序或?qū)ο笤谀呐_(tái)計(jì)算機(jī)上執(zhí)行,執(zhí)行程序的各節(jié)點(diǎn)設(shè)備之間是如何連接的。

12. UML中包含九種圖

主要分為兩類:靜態(tài)圖和動(dòng)態(tài)圖。
(1)靜態(tài)圖
    UML中有5種靜態(tài)圖:用例圖、類圖、對(duì)象圖、組件圖和配置圖。

(2)動(dòng)態(tài)圖:

       UML中有4種動(dòng)態(tài)圖:時(shí)序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖

13. UML中的事物

UML中的事物包括結(jié)構(gòu)事物、行為(動(dòng)作)事物、組織(分組)事物、注釋事物。

  • 結(jié)構(gòu)事物

         結(jié)構(gòu)事物包括7種:類、接口、協(xié)作、用例、活動(dòng)類、組件和節(jié)點(diǎn)。

                類:類是具有相同屬性、相同方法、相同語(yǔ)義和相同關(guān)系的一組對(duì)象的集合。

                接口: 接口是指類或組件所提供的、可以完成特定功能的一組操作的集合,換句話說(shuō),接口描述了類或組件的對(duì)外的、可見(jiàn)的動(dòng)作。
               協(xié)作:協(xié)作定義了交互的操作,是一些角色和其他元素一起工作,提供一些合作的動(dòng)作。這些動(dòng)作比元素的總和要大。因此,協(xié)作具有結(jié)構(gòu)化、動(dòng)作化、維的特性。一個(gè)給定的類可能是幾個(gè)協(xié)作的組成部分。這些協(xié)作代表構(gòu)成系統(tǒng)的模式的實(shí)現(xiàn)。協(xié)作在UML中用一個(gè)虛線畫的橢圓和它的名字來(lái)表示。
              用例:用例描述一系列的動(dòng)作,這些動(dòng)作是系統(tǒng)對(duì)一個(gè)特定角色執(zhí)行,產(chǎn)生值得注意的結(jié)果的值。在模型中use case通常用來(lái)組織動(dòng)作事物。Use case是通過(guò)協(xié)作來(lái)實(shí)現(xiàn)的。

在UML 中,use case為一個(gè)實(shí)線橢圓,通常還有它的名字。
              活動(dòng)類:活動(dòng)類是對(duì)擁有線程并可發(fā)起控制活動(dòng)的對(duì)象(往往稱為主動(dòng)對(duì)象)的抽象。它的對(duì)象有一個(gè)或多個(gè)進(jìn)程或線程?;顒?dòng)類和類很相象,只是它的對(duì)象代表的元素的行為和其他的元素是同時(shí)存在的。

在UML 中活動(dòng)類的畫法和類相同,只是邊框用粗線條。
              組件:組件是物理上或可替換的系統(tǒng)部分,它實(shí)現(xiàn)了一個(gè)接口集合。在一個(gè)系統(tǒng)中,你可能會(huì)遇到不同種類的組件,例如COM+ 或JAVA BEANS。

組件在UML中用如下的圖表示:


             節(jié)點(diǎn):節(jié)點(diǎn)是一個(gè)物理元素,它在運(yùn)行時(shí)存在,代表一個(gè)可計(jì)算的資源,如一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器等。通常占用一些內(nèi)存和具有處理能力。一個(gè)組件集合一般來(lái)說(shuō)位于一個(gè)節(jié)點(diǎn),但有可能從一個(gè)結(jié)點(diǎn)轉(zhuǎn)到另一個(gè)節(jié)點(diǎn)。

節(jié)點(diǎn)通常用如下的圖形表示:

  • 動(dòng)作事物

動(dòng)作事物主要有兩種:交互和狀態(tài)機(jī)。
(1)交互
    是由一組對(duì)象之間在特定上下文中,為達(dá)到特定的目的而進(jìn)行的一系列消息交換而組成的動(dòng)作。交互中組成動(dòng)作的對(duì)象的每個(gè)操作都要詳細(xì)列出,包括消息、動(dòng)作次序(消息產(chǎn)生的動(dòng)作),連接(對(duì)象之間的連接)。

在UML 中消息畫成帶箭頭的直線,通常加上操作的名字。

(2)狀態(tài)機(jī)

       狀態(tài)機(jī)是對(duì)象的一個(gè)或多個(gè)狀態(tài)的集合。     

  • 分組事物

分組事物是UML模型中負(fù)責(zé)分組的部分,可以把它看作一個(gè)個(gè)盒子,每個(gè)盒子里面的對(duì)象關(guān)系相對(duì)復(fù)雜,而盒子與盒子之間的關(guān)系相對(duì)簡(jiǎn)單。成組事物只有一種:包。
       包是一種有組織地將一系列元素分組的機(jī)制。

  • 注釋事物

屬于這一類的只有注釋。注釋即是UML模型的解釋部分。
在UML圖中,一般表示為折起一角的矩形。


14. UML通用機(jī)制

  • 修飾

為圖中的模型元素增加了語(yǔ)義。


  • 注釋

以自由的文本形式出現(xiàn)的。
信息類型是不被UML解釋的一個(gè)字符串。


  •  規(guī)格說(shuō)明

UML 中預(yù)定義的特性:
    文檔(Documentation)
   職責(zé)(Responsibility)
   永久性(Persistence)
   并發(fā)性(Concurrency)

  • 通用劃分

兩種通用劃分(General Division):
1.  型-實(shí)例(值)

描述一個(gè)通用描述符與單個(gè)元素項(xiàng)之間的對(duì)應(yīng)關(guān)系。


2.  接口-實(shí)現(xiàn)

實(shí)例:


  • 擴(kuò)展機(jī)制

(1)構(gòu)造型

由建模者設(shè)計(jì)的新的模型元素。
新的模型元素的設(shè)計(jì)要以UML已定義的模型元素為基礎(chǔ)。


(2)標(biāo)記值

附加到任何模型元素上的命名的信息塊。


(3)約束
用某種形式化語(yǔ)言或自然語(yǔ)言表達(dá)的語(yǔ)義關(guān)系的文字說(shuō)明。




    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多