女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

軟題庫 培訓(xùn)課程
當(dāng)前位置:信管網(wǎng) >> 其它資料 >> 文章內(nèi)容
項目管理理論與實踐教學(xué)——UML應(yīng)用
來源:信管網(wǎng) 2012年08月22日 【所有評論 分享到微信

本篇文章介紹UML的相關(guān)知識。參考《UML從入門到精通》

一、UML綜述

1. UML簡介

統(tǒng)一建模語言(UML)是一個通用的可視化建模語言,用于對軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。UML描述了一個系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為。 UML將系統(tǒng)描述為一些離散的相互作用的對象并最終為外部用戶提供一定功能的模型結(jié)構(gòu)。靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中重要對象的屬性和操作以及這些對象之間的相互關(guān)系。動態(tài)行為定義了對象的時間特性和對象為完成目標(biāo)而相互進(jìn)行通信的機(jī)制。從不同但相互聯(lián)系的角度對系統(tǒng)建立的模型可用于不同的目的。UML不是一門程序設(shè)計語言,但可以使用代碼生成器工具將 U M L模型轉(zhuǎn)換為多種程序設(shè)計語言代碼,或使用反向生成工具將程序源代碼轉(zhuǎn)換為UML。

2. UML的目標(biāo)

UML語言的開發(fā)有多個目標(biāo)。首先,最重要的目標(biāo)是使 U M L成為一個通用的建模語言,可供所有建模者使用。其次,我們希望UML 盡可能地采用源自O(shè)MT Booch, Objectory及其他主要方法的表示法,即使它能夠很好地支持設(shè)計工作,如封裝、分塊、記錄模型構(gòu)造思路。此外,我們希望UML能準(zhǔn)確表達(dá)當(dāng)前軟件開發(fā)中的熱點(diǎn)問題,比如大規(guī)模、分布、并發(fā)、方式和團(tuán)體開發(fā)等。

二、模型的性質(zhì)與用途

1. 什么是模型

軟件系統(tǒng)的模型用建模語言來表達(dá),如UML。模型包含語義信息和表示法,可以采取圖形和文字等多種不同形式。建立模型的目的是因為在某些用途中模型使用起來比操縱實物更容易和方便。

2. 模型的用途

軟件系統(tǒng)的不同模型可以捕獲關(guān)于這個軟件的應(yīng)用領(lǐng)域、使用方法、度量手段和構(gòu)造模式等方面的需求信息。在編寫程序代碼以前,軟件系統(tǒng)的模型可以幫助軟件開發(fā)人員方便地研究軟件的多種構(gòu)架和設(shè)計方案。軟件系統(tǒng)的一類模型可以說明這個系統(tǒng)的外部行為和系統(tǒng)中對應(yīng)于真實世界的有關(guān)信息,另一類模型可以展示系統(tǒng)中的類以及實現(xiàn)系統(tǒng)外部行為特性所需要的內(nèi)部操作。實現(xiàn)這些行為有多種方法。利用軟件系統(tǒng)的模型,可以獲得類的聲明、過程體、用戶界面、數(shù)據(jù)庫、合法使用的說明、配置草案以及與其他單位技術(shù)競爭情況的對比說明。軟件系統(tǒng)用視圖來組織信息:靜態(tài)結(jié)構(gòu)視圖、狀態(tài)機(jī)視圖、交互視圖、反映需求的視圖等等。

三、UML初覽

本章使用的例子是計算機(jī)管理的戲院售票系統(tǒng)。

1. UML視圖

在最上一層,視圖被劃分成三個視圖域:結(jié)構(gòu)分類、動態(tài)行為和模型管理。

UML視圖和圖

不同視圖元素間的部分關(guān)系

四、靜態(tài)視圖

1. 概述

靜態(tài)視圖是UML的基礎(chǔ)。模型中靜態(tài)視圖的元素是應(yīng)用中有意義的概念,這些概念包括真實世界中的概念、抽象的概念、實現(xiàn)方面的概念和計算機(jī)領(lǐng)域的概念,即系統(tǒng)中的各種概念。

靜態(tài)視圖說明了對象的結(jié)構(gòu)。一個面向?qū)ο蟮南到y(tǒng)使數(shù)據(jù)結(jié)構(gòu)和行為特征統(tǒng)一到一個獨(dú)立的對象結(jié)構(gòu)中。靜態(tài)視圖包括所有的傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)思想,同時也包括了數(shù)據(jù)操作的組織。數(shù)據(jù)和操作都可量化為類。

靜態(tài)視圖將行為實體描述成離散的模型元素,但是不包括它們動態(tài)行為的細(xì)節(jié)。靜態(tài)視圖將這些行為實體看作是將被類所指定、擁有并使用的物體。

靜態(tài)視圖中的關(guān)鍵元素是類元及它們之間的關(guān)系。類元是描述事物的建模元素。有幾種類元,包括類、接口和數(shù)據(jù)類型。包括用例和信號在內(nèi)的其他類元具體化了行為方面的事物。實現(xiàn)目的位于像子系統(tǒng)、構(gòu)件和節(jié)點(diǎn)這幾種類元之后。

對象是從建模者理解和構(gòu)造的系統(tǒng)中分離出來的離散單元。它是類的實例—即,它是一個其結(jié)構(gòu)和行為都由類來描述的具有身份的個體。對象是一個可識別的狀態(tài),該狀態(tài)的行為能被激發(fā)。

類元之間的關(guān)系有關(guān)聯(lián)、泛化及各種不同的依賴關(guān)系,包括實現(xiàn)和使用關(guān)系。

2. 類元

3. 關(guān)系

類元之間的關(guān)系有關(guān)聯(lián)、泛化、流及各種形式的依賴關(guān)系,包括實現(xiàn)關(guān)系和使用關(guān)系。

關(guān)聯(lián)關(guān)系描述了給定類的單獨(dú)對象之間語義上的連接。關(guān)聯(lián)提供了不同類間對象可以相互作用的連接。其余的關(guān)系涉及到類元自身的描述,而不是它們的實例。

泛化關(guān)系使父類元(超類)與更具體的后代類元(子類)連接在一起。泛化有利于類元的描述,可以不用多余的聲明,每個聲明都需加上從其父類繼承來的描述。繼承機(jī)制利用泛化關(guān)系的附加描述構(gòu)造了完整的類元描述。泛化和繼承允許不同的類元分享屬性、操作和它們共有的關(guān)系,而不用重復(fù)說明。

實現(xiàn)關(guān)系將說明和實現(xiàn)聯(lián)系起來。接口是對行為而非實現(xiàn)的說明,而類之中則包含了實現(xiàn)的結(jié)構(gòu)。一個或多個類可以實現(xiàn)一個接口,而每個類分別實現(xiàn)接口中的操作。

流關(guān)系將一個對象的兩個版本以連續(xù)的方式連接起來。它表示一個對象的值、狀態(tài)和位置的轉(zhuǎn)換。流關(guān)系可以將類元角色在一次相互作用中連接起來。流的種類包括變成(同一個對象的不同版本)和拷貝(從現(xiàn)有對象創(chuàng)造出一個新的對象)兩種。

依賴關(guān)系將行為和實現(xiàn)與影響其他類的類聯(lián)系起來。除了實現(xiàn)關(guān)系以外,還有好幾種依賴關(guān)系,包括跟蹤關(guān)系(不同模型中元素之間的一種松散連接) 、精化關(guān)系(兩個不同層次意義之間的一種映射) 、使用關(guān)系(在模型中需要另一個元素的存在) 、綁定關(guān)系(為模板參數(shù)指定值) 。使用依賴關(guān)系經(jīng)常被用來表示具體實現(xiàn)間的關(guān)系,如代碼層實現(xiàn)關(guān)系。在概括模型的組織單元,例如包時,依賴關(guān)系很有用,它在其上顯示了系統(tǒng)的構(gòu)架。例如編譯方面的約束可通過依賴關(guān)系來表示。

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

在關(guān)聯(lián)中如果同一個類出現(xiàn)不止一次,那么一個單獨(dú)的對象就可以與自己關(guān)聯(lián)。

一個類的關(guān)聯(lián)的任何一個連接點(diǎn)都叫做關(guān)聯(lián)端,與類有關(guān)的許多信息都附在它的端點(diǎn)上。關(guān)聯(lián)端有名字(角色名)和可見性等特性,而最重要的特性則是多重性,即一個類的多個實例與另一個類的一個實例相關(guān)。

如果一個關(guān)聯(lián)既是類又是關(guān)聯(lián),即它是一個關(guān)聯(lián)類,那么這個關(guān)聯(lián)可以有它自己的屬性。

如果一個關(guān)聯(lián)的屬性在一組相關(guān)對象中是唯一的,那么它是一個限定符,限定符是用來在關(guān)聯(lián)中從一組相關(guān)對象中標(biāo)識出獨(dú)特對象的值。

聚集和組成。聚集表示部分與整體關(guān)系的關(guān)聯(lián),它用端點(diǎn)帶有空菱形的線段表示,空菱形與聚集類相連接。組成是更強(qiáng)形式的關(guān)聯(lián),整體有管理部分的特有的職責(zé),它用一個實菱形物附在組成端表示。

5. 泛化

泛化關(guān)系是類元的一般描述和具體描述之間的關(guān)系,具體描述建立在一般描述的基礎(chǔ)之上,并對其進(jìn)行了擴(kuò)展。泛化用從子指向父的箭頭表示,指向父的是一個空三角形。

泛化的用途。泛化有兩個用途。第一個用途是用來定義下列情況:當(dāng)一個變量(如參數(shù)或過程變量)被聲明承載某個給定類的值時,可使用類(或其他元素)的實例作為值,這被稱作可替代性原則(由 Barbara Liskov提出);泛化的另一個用途是在共享祖先所定義的成分的前提下允許它自身定義增加的描述,這被稱作繼承。繼承是一種機(jī)制,通過該機(jī)制類的對象的描述從類及其祖先的聲明部分聚集起來。繼承允許描述的共享部分只被聲明一次而可以被許多類所共享,而不是在每個類中重復(fù)聲明并使用它,這種共享機(jī)制減小了模型的規(guī)模。

6. 實現(xiàn)

實現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,其中接口只是行為的說明而不是結(jié)構(gòu)或者實現(xiàn)。實現(xiàn)關(guān)系用一條帶封閉空箭頭的虛線來表示。

7. 依賴

依賴表示兩個或多個模型元素之間語義上的關(guān)系。根據(jù)這個定義,關(guān)聯(lián)和泛化都是依賴關(guān)系,但是它們有更特別的語義,故它們有自己的名字和詳細(xì)的語義。

依賴用一個從客戶指向提供者的虛箭頭表示:

8. 約束

約束用大括弧內(nèi)的文字表達(dá)式來表示,可以使用形式語言或自然語言。文字字符串可以寫成注釋或附加在依賴關(guān)系的箭頭旁。

五、用例視圖

1. 概述

當(dāng)用例視圖在外部用戶前出現(xiàn)時,它捕獲到系統(tǒng)、子系統(tǒng)或類的行為。它將系統(tǒng)功能劃分成對參與者(即系統(tǒng)的理想用戶)有用的需求。而交互功能部分被稱作用例。用例使用系統(tǒng)與一個或多個參與者之間的一系列消息來描述系統(tǒng)中的交互作用。參與者可以是人,也可以是外部計算機(jī)系統(tǒng)和外部進(jìn)程。

2. 參與者

參與者是與系統(tǒng)、子系統(tǒng)或類發(fā)生交互作用的外部用戶、進(jìn)程或其他系統(tǒng)的理想化概念。每個參與者可以參與一個或多個用例。參與者可以是人、另一個計算機(jī)系統(tǒng)或一些可運(yùn)行的進(jìn)程。

3. 用例

用例是外部可見的一個系統(tǒng)功能單元 ,這些功能由系統(tǒng)單元所提供,并通過一系列系統(tǒng)單元與一個或多個參與者之間交換的消息所表達(dá)。用例除了與其參與者發(fā)生關(guān)聯(lián)外,還可以參與系統(tǒng)中的多個關(guān)系:

一個用例也可以被定義為基用例的增量擴(kuò)展 ,這叫做擴(kuò)展關(guān)系。同一個基用例的幾個擴(kuò)展用例可以在一起應(yīng)用。基用例的擴(kuò)展增加了原有的語義 , 此時是基用例而不是擴(kuò)展用例被作為例子使用。

包含和擴(kuò)展關(guān)系可以用含有關(guān)鍵字《 i n c l u d e》和《e x t e n d》的帶箭頭的虛線表示。包括用例關(guān)系箭頭指向被包含的用例,擴(kuò)展關(guān)系箭頭指向被擴(kuò)展的用例。

一個用例也可以被特別列舉為一個或多個子用例,這被稱做用例泛化。當(dāng)父用例能夠被使用時,任何子用例也可以被使用。用例泛化與其他泛化關(guān)系的表示法相同,都用一個三角箭頭從子用例指向父用例。

六、狀態(tài)機(jī)視圖

1. 概述

狀態(tài)機(jī)視圖通過對類對象的生存周期建立模型來描述對象隨時間變化的動態(tài)行為。狀態(tài)是給定類的對象的一組屬性值 ,這組屬性值對所發(fā)生的事件具有相同性質(zhì)的反應(yīng)。狀態(tài)機(jī)用于描述類的行為,但它們也描述用例、協(xié)作和方法的動態(tài)行為。

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

狀態(tài)機(jī)是展示狀態(tài)與狀態(tài)轉(zhuǎn)換的圖。通常一個狀態(tài)機(jī)依附于一個類,并且描述一個類的實例對接受到的事件所發(fā)生的反應(yīng)。狀態(tài)機(jī)也可以依附于操作、用例和協(xié)作并描述它們的執(zhí)行過程。

3. 事件

事件是發(fā)生在時間和空間上的一點(diǎn)的值得注意的事情。它在時間上的一點(diǎn)發(fā)生,沒有持續(xù)時間。如果某一事情的發(fā)生造成了影響,那么在狀態(tài)機(jī)模型中它是一個事件。

4. 狀態(tài)

狀態(tài)描述了一個類對象生命期中的一個時間段。它可以用三種附加方式說明:在某些方面性質(zhì)相似的一組對象值;一個對象等待一些事件發(fā)生時的一段時間;對象執(zhí)行持續(xù)活動時的一段時間。狀態(tài)用具有圓形拐角的矩形表示。

5. 轉(zhuǎn)換

動作。當(dāng)轉(zhuǎn)換被引起時,它對應(yīng)的動作被執(zhí)行。動作是原子性的,一般是一個簡短的計算處理過程,通常是一個賦值操作或算術(shù)計算。

6. 組成狀態(tài)

一個簡單狀態(tài)沒有子結(jié)構(gòu),只帶有一組轉(zhuǎn)換和可能的入口和出口動作。組成狀態(tài)是一個被分解成順序的或并發(fā)的子狀態(tài)的狀態(tài)。

七、活動視圖

1. 概述

活動圖是一種特殊形式的狀態(tài)機(jī),用于對計算流程和工作流程建模。活動圖中的狀態(tài)表示計算過程中所處的各種狀態(tài),而不是普通對象的狀態(tài)。

2. 活動圖

活動圖是活動視圖的表示法。

泳道。將模型中的活動按照職責(zé)組織起來通常很有用。對象流?;顒訄D能表示對象的值流和控制流。對象流狀態(tài)表示活動中輸入或輸出的對象。如下圖:

八、交互視圖

1. 概述

對象間的相互作用體現(xiàn)了對象的行為。這種相互作用可以描述成兩種互補(bǔ)的方式,一種以獨(dú)立的對象為中心進(jìn)行考察,另一種以互相作用的一組對象為中心進(jìn)行考察。

2. 順序圖

順序圖將交互關(guān)系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對象的類元角色。類元角色用生命線表示。當(dāng)對象存在時,角色用一條虛線表示;當(dāng)對象的過程處于激活狀態(tài)時,生命線是一個雙道線。消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。

3. 協(xié)作圖

協(xié)作圖是一種類圖,它包含類元角色和關(guān)聯(lián)角色,而不僅僅是類元和關(guān)聯(lián)??梢詫ο髽?biāo)識成四個組:存在于整個交互作用中的對象;在交互作用中創(chuàng)建的對象(使用約束{ n e w });在交互作用中銷毀的對象(使用約束 { d e s t r o y e d });在交互作用中創(chuàng)建并銷毀的對象(使用約束 { t r a n s i e n t }) 。設(shè)計時可以首先表示操作開始時可得的對象和連接,然后決定控制如何流向圖中正確的對象去實現(xiàn)操作。

九、物理視圖

1. 概述

系統(tǒng)模型的大部分內(nèi)容反映了系統(tǒng)的邏輯和設(shè)計方面的信息,并且獨(dú)立于系統(tǒng)的最終實現(xiàn)單元。然而,為了可重用性和可操作性的目的,系統(tǒng)實現(xiàn)方面的信息也很重要。UML使用兩種視圖來表示實現(xiàn)單元:實現(xiàn)視圖和部署視圖。實現(xiàn)視圖將系統(tǒng)中可重用的塊包裝成具有可替代性的物理單元,這些單元被稱為構(gòu)件。部署視圖表示運(yùn)行時的計算資源(如計算機(jī)及它們之間的連接)的物理布置。

2. 構(gòu)件

構(gòu)件用一邊有兩個小矩形的一個長方形表示,它可以用實線與代表構(gòu)件接口的圓圈相連。

構(gòu)件圖表示了構(gòu)件之間的依賴關(guān)系。每個構(gòu)件實現(xiàn)(支持)一些接口,并使用另一些接口。如果構(gòu)件間的依賴關(guān)系與接口有關(guān),那么構(gòu)件可以被具有同樣接口的其他構(gòu)件替代。(構(gòu)件圖)

3. 節(jié)點(diǎn)

節(jié)點(diǎn)是表示計算資源的運(yùn)行時的物理對象,通常具有內(nèi)存和處理能力。節(jié)點(diǎn)可能具有用來辨別各種資源的構(gòu)造型,如C P U、設(shè)備和內(nèi)存等。節(jié)點(diǎn)可以包含對象和構(gòu)件實例。(部署圖)

十、模型管理視圖

1. 概述

任何大的系統(tǒng)都必須被分成幾個小的單元,這使得人們可以一次只處理有限的信息,并且分別處理這些信息的工作組之間不會互相干擾。模型管理由包及包之間的依賴關(guān)系組成。

2. 包

包是模型的一部分,模型的每一部分必須屬于某個包。建模者可以將模型的內(nèi)容分配到包中。但是為了使其能夠工作,分配必須遵循一些合理的原則,如公用規(guī)則、緊密耦合的實現(xiàn)和公用觀點(diǎn)等。U M L對如何組包并不強(qiáng)制使用什么規(guī)則,但是良好的解組會很大地增強(qiáng)模型的可維護(hù)性。

3. 包間的依賴關(guān)系

十一、擴(kuò)展機(jī)制

1. 概述

UML提供了幾種擴(kuò)展機(jī)制。包括約束、標(biāo)記值和構(gòu)造型。一定要記住擴(kuò)展是違反UML的標(biāo)準(zhǔn)形式的,并且使用它們會導(dǎo)致相互影響。在使用擴(kuò)展機(jī)制之前,建模者應(yīng)該仔細(xì)權(quán)衡它的好處和代價,特別是當(dāng)現(xiàn)有機(jī)制能夠合理工作時。

2. 約束

約束用大括弧內(nèi)的字符串表達(dá)式表示。約束可以附加在表元素、依賴關(guān)系或注釋上。

3. 標(biāo)記值

標(biāo)記值是一對字符串—一個標(biāo)記字符串和一個值字符串—存儲著有關(guān)元素的一些信息。標(biāo)記值用字符串表示,字符串有標(biāo)記名、等號和值。它們被規(guī)則地放置在大括弧內(nèi)。

4. 構(gòu)造型

構(gòu)造型是在一個已定義的模型元素的基礎(chǔ)上構(gòu)造的一種新的模型元素。構(gòu)造型的信息內(nèi)容和形式與已存在的基本模型元素相同,但是含義和使用不同。

掃碼關(guān)注公眾號

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。

相關(guān)內(nèi)容

發(fā)表評論  查看完整評論  

推薦文章