UML復(fù)習(xí)題完整_第1頁
UML復(fù)習(xí)題完整_第2頁
UML復(fù)習(xí)題完整_第3頁
UML復(fù)習(xí)題完整_第4頁
UML復(fù)習(xí)題完整_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、不定項選擇題:1一個軟件產(chǎn)品是否成功,因素有( 需求收集是否正確,體系結(jié)構(gòu)的構(gòu)建是否合理, 測試是否完全,軟件的管理)。2開發(fā)過程中最困難的一個環(huán)節(jié)是( 人與人之間的交流)。3用例是從(用戶)的觀點對系統(tǒng)行為的一個描述。4順序圖所表達的是基于(時間順序)的動態(tài)交互。5當需要在項目中定制自己的元素時,可使用(構(gòu)造型來定制)。6表示一個操作中的參數(shù)和返回值的數(shù)據(jù)類型的稱呼是(形構(gòu))7多重性5,10表示(5或10)。8在找出了類的繼承關(guān)系后,通常可以用(抽象類|接口)來表示最上層的基類。9UML中的實現(xiàn)是一種特殊類型的繼承,因為它是指從一個(抽象類/接口)繼承。10使用用例的難點在于(用例中各個場景

2、的具體步驟)。11收集用例的方法是(與用戶交談)。12產(chǎn)生類圖和得到用例這兩個步驟,位于前面的是(沒有固定順序)。13面向?qū)ο罄碚撝?,對象之間發(fā)送信號,在UML狀態(tài)圖里就是(事件)。14順序圖中,動態(tài)創(chuàng)建對象表示法的特點是(是在時間線上的某一點創(chuàng)建,結(jié)束時尾部打X)。15當代軟件工程的特點是(允許各個階段進行迭代;各個階段沒有明顯的分界線;允許后期得到的信息返回,使得早期的能夠被修改)。16GRAPPLE中最重要的段是(需求收集)。17設(shè)計模式的基本要素有(名稱,問題|目的,解決方案,實施后的效果|后果)。18當我們想創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用(Abstract Fa

3、ctory|抽象工廠)模式。19當我們想將抽象部分和實現(xiàn)部分分離時,可以使用(Bridge|橋接)模式。20當我們想用不同的請求對客戶進行參數(shù)化時,可以使用(Command|命令)模式。21當我們想封裝不同算法并使它們可相互替換時,可以使用(Strategy|策略)模式。22面向?qū)ο笙到y(tǒng)中功能復(fù)用的兩種最常用技術(shù)是(類繼承和接口繼承)。對象組合,類繼承-產(chǎn)生類爆炸23面向?qū)ο笙到y(tǒng)中的“黑盒復(fù)用”是指(接口繼承|對象組合)。24對象組合是通過獲得(保存對方抽象類的指針)而在運行時刻動態(tài)定義的。25設(shè)計模式中應(yīng)優(yōu)先使用的復(fù)用技術(shù)是(接口繼承|對象組合)。26在Lexi系統(tǒng)中,我們把所有文檔元素都看

4、作是圖元,這樣,它們就有了相同的(類型|接口)。27Lexi系統(tǒng)中,我們之所以能對文檔采用Composite模式,是因為文檔的元素之間有(遞歸層次|樹型結(jié)構(gòu))關(guān)系。填空題:1軟件體系結(jié)構(gòu)是指一個系統(tǒng)的有目的的設(shè)計和規(guī)劃,這個設(shè)計規(guī)劃既不描述 活動 ,也不描述 如何開發(fā)產(chǎn)品,它只描述系統(tǒng)的 組成元素及其相互的 交互協(xié)作。2一個UML模型只描述了一個系統(tǒng) 要做什么,它并沒告訴我們系統(tǒng)是 如何實施的(怎么做)。3接口是可以在整個模型中反復(fù)使用的一組行為,是一個沒有 屬性而只有 操作 的類。4多重性指的是,某個類有 多 個對象可以和另一個類的 一個 對象關(guān)聯(lián)。5當一個類的對象可以充當多種角色時,自身

5、關(guān)聯(lián)就可能發(fā)生。6在泛化關(guān)系中, 子類 可以替代 父類 。也就是說,后者出現(xiàn)的地方,前者都可以出現(xiàn)。但是反過來卻不成立。7最通常的依賴關(guān)系是一個類操作的 型構(gòu)中用到了 其他類 的定義。8組成是 強類型 的聚集,因為聚集中的每個部分體只能屬于 一個整體。9實現(xiàn)的符號和繼承的符號有相似之處,兩者的唯一差別是實現(xiàn)關(guān)系用 虛線 表示,繼承關(guān)系用 實線 表示。10UML背后的兩個重量級概念是 面向?qū)ο蠛?用例 。11狀態(tài)圖和類圖、順序圖不同之處在于,后兩種圖能夠?qū)?一個對象 建立模型,而狀態(tài)圖只是對一個系統(tǒng)或者至少是一組類、對象或用例 建立模型。12狀態(tài)圖中3個常用的動作是 入口動作 、出口動作和 do

6、動作,也就是對象處于這個狀態(tài)是該做什么 。13順序圖中,消息用水平箭頭線表示;時間用垂直虛線 表示。14當邏輯發(fā)生分支時,在順序圖中用 生命線發(fā)生的分支 表示,在協(xié)作圖中用 嵌套的序號 表示。15順序圖強調(diào)的是交互的 時間順序 ,協(xié)作圖強調(diào)的是交互的 空間關(guān)系 和參與交互的對象的 上下文環(huán)境。16GRAPPLE把開發(fā)過程分為5個 段,之中又由許多動作組成。17GRAPPLE過程中,得到初步類圖是在 需求收集段,細化類圖是在 需求分析 段。 18每一個設(shè)計模式都集中于一個特定的 (面向?qū)ο笤O(shè)計問題|設(shè)計要點),描述了什么時候使用它|相互通信的對象或者類 以及使用的效果|解決方案和如何取舍|解決效

7、果 。19面向?qū)ο笙到y(tǒng)中功能復(fù)用的兩種最常用技術(shù)是類繼承和 接口繼承|對象組合。20設(shè)計模式中應(yīng)優(yōu)先使用接口|對象組合 而不是 類繼承。簡答題3簡述如何在實際工作中發(fā)現(xiàn)類。答:在與客戶的交談中,要注意客戶用來描述業(yè)務(wù)實體的名詞術(shù)語。這些名詞可作為領(lǐng)域模型中的類。還要注意你聽到的動詞,因為這些動詞可能會構(gòu)成這些類中的操作。當?shù)玫揭唤M類的核心列表后,應(yīng)當向客戶詢問在業(yè)務(wù)過程中每個類的作用。他們的回答將告訴你這些類的職責(zé)。5試使用UML的關(guān)系表示法,表示出大學(xué)計算機專業(yè)中如下這些課程的模型:C語言程序設(shè)計、C+語言程序設(shè)計、Windows程序設(shè)計、網(wǎng)絡(luò)程序設(shè)計。注意抽象類和依賴的使用。6畫出圖形用戶

8、界面GUI的狀態(tài)圖,要包括屏幕保護狀態(tài)。其中要表明相應(yīng)的事件、動作。8畫出自動飲料銷售機中,理想場景和“錢數(shù)不正確”的場景合并在一起的順序圖。13簡述實現(xiàn)繼承和接口繼承的區(qū)別?我們應(yīng)該盡量使用哪一種?答: 類繼承根據(jù)一個對象的實現(xiàn)定義了另一個對象的實現(xiàn)。簡而言之,它是代碼和表示的共享機制。然而,接口繼承描述了一個對象什么時候能被用來替代另一個對象。類繼承是派生中的類將繼承父類的所有屬性和方法,并且可以在派生類里添加自己的屬性和方法,而接口繼承則是在接口里只定義接口的方法,沒有屬性,并且方法不能實現(xiàn),只有在派生他的類才實現(xiàn)該方法。類繼承是編譯的時候新建對象,而接口實例是在運行時刻創(chuàng)建對象。我們應(yīng)

9、該盡量使用接口繼承,類繼承會產(chǎn)生類爆炸現(xiàn)象18Lexi系統(tǒng)的格式化問題中,我們引入了Compositor和Composition兩個類來實現(xiàn)“策略”模式。請畫出這兩個類各自的繼承關(guān)系和它們之間的協(xié)作關(guān)系。19Lexi系統(tǒng)的支持多種窗口平臺的問題中,我們使用了Window和WindowsImp類來實現(xiàn)橋接模式。請畫出這兩個類各自的繼承關(guān)系和它們之間的協(xié)作關(guān)系。1 軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是程序、數(shù)據(jù)及相關(guān)文檔的集合。機器可執(zhí)行的:程序及有關(guān)數(shù)據(jù)機器不可執(zhí)行的:與開發(fā)、運行、維護、使用和培訓(xùn)有關(guān)的文檔資料程序:由程序設(shè)計語言所描述的、能為計算機所識別、理解和處理的語句序列。數(shù)

10、據(jù):使程序能正常處理信息的數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)。文檔:一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù),即記錄軟件開發(fā)活動和階段性成果、理解軟件所必需的闡述性資料。軟件程序數(shù)據(jù)文檔 程序算法數(shù)據(jù)結(jié)構(gòu)軟件的特點1) 軟件是一種邏輯實體,而不是具體的物理實體。因而它具有抽象性。軟件的抽象性特征使它與計算機硬件及其它工程實體有著根本區(qū)別。2) 軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程,其生產(chǎn)主要是研制,可以零成本地大量復(fù)制軟件產(chǎn)品。3) 在軟件的運行和使用期間,沒有硬件那樣的機械磨損、老化問題,有著無備件特征。4) 軟件系統(tǒng)復(fù)雜,成本昂貴,涉及社會因素。2 按照軟件服務(wù)的范圍,可以把軟件劃分為項目軟件和產(chǎn)品

11、軟件。3 軟件危機 是指計算機軟件開發(fā)和維護過程中所遇到的一系列嚴重的問題。這些問題不僅僅是不能正常運行的軟件才具有的,實際上幾乎所有軟件都不同程度的存在這些問題。概括說,軟件危機包含下述兩方面的問題:如何開發(fā)軟件,以滿足對軟件日益增長的需求;如何維護數(shù)量不斷膨脹的已有軟件。軟件危機的典型表現(xiàn): 成本高、軟件質(zhì)量得不到保證、進度難以控制、軟件維護困難4 軟件工程 是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法開發(fā)維護軟件,把經(jīng)過時間考驗、被證明是正確的管理技術(shù)和當前能夠得到最好的技術(shù)方法結(jié)合起來,以經(jīng)濟的開發(fā)出高質(zhì)量的軟件,并有效的維護它。5 軟件工程三要素及其辯

12、證關(guān)系質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎(chǔ)。質(zhì)量管理促進了過程的改進,創(chuàng)造了許多行之有效的軟件開發(fā)方法和工具。軟件工程釆用層次化的方法,每個層次都包括過程、方法、工具三要素。方法支撐過程和工具,過程和工具又促進方法學(xué)的研究。從小到大:工具、方法、過程、軟件質(zhì)量6 軟件工程中相關(guān)的人員通常擔當用戶、客戶、項目管理人員、軟件工程人員四種角色。7 軟件從定義開始,經(jīng)過開發(fā)、使用和維護,直到最終退役的全過程稱為軟件生存周期。8 軟件過程指制作軟件產(chǎn)品的一組活動及其結(jié)果。9 軟件過程模型 是從一特定角度提出的軟件過程的簡化描述?!澳P偷谋举|(zhì)在于簡化”軟件過程模型就是對描述的實際過程的抽象,它

13、包括構(gòu)成軟件過程的各種活動、軟件產(chǎn)品及軟件工程人員參與的不同角色。10 瀑布模型的特點1) 階段間具有順序性和依賴性 2) 推遲實現(xiàn)的觀點 3) 質(zhì)量保證的觀點11 螺旋模型的每一個周期都包括計劃制定、風(fēng)險分析、工程實現(xiàn)和項目評審4 個階段。12 噴泉模型是是以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求為動力,以對象來驅(qū)動的一種軟件過程模型。面向?qū)ο蠓椒ǖ幕A(chǔ)1 面向?qū)ο筌浖こ谭椒ㄓ擅嫦驅(qū)ο蠓治?、面向?qū)ο笤O(shè)計和面向?qū)ο蟪绦蛟O(shè)計/實現(xiàn)三部分組成。2 面向?qū)ο蠓椒ǖ幕舅枷氡M可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述問題的問題空間(即

14、問題域)與實現(xiàn)解法的解空間(即求解域)在結(jié)構(gòu)上盡可能一致。3 對象在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物都可以作為對象,它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何有明確邊界和意義的東西。例如,一名職工、一家公司、一個窗口、一座圖書館、一本圖書、貸款和借款等,都可以作為一個對象??傊?,對象是對問題域中某個實體的抽象,設(shè)立某個對象就反映了軟件系統(tǒng)保存有關(guān)它的信息,并具有與它進行交互的能力。4 對象的特點1 以數(shù)據(jù)為中心:操作圍繞對其數(shù)據(jù)所需要做的處理來設(shè)置,不設(shè)置與這些數(shù)據(jù)無關(guān)的操作,而且操作結(jié)果往往與當時所處的狀態(tài)(數(shù)據(jù)的值)有關(guān)。2 對象是主動的:它與傳統(tǒng)的

15、數(shù)據(jù)有本質(zhì)的不同,不是被動地等待對它進行處理,相反,它是進行處理的主體。3 實現(xiàn)了數(shù)據(jù)封裝:對象好像是一只黑盒子,它的私有數(shù)據(jù)完全被封裝在盒子內(nèi)。對私有數(shù)據(jù)的訪問或處理只能通過公有的操作進行。4 本質(zhì)上具有并行性:不同對象各自獨立地處理自身的數(shù)據(jù),彼此通過發(fā)送消息傳遞信息完成通訊。5 模塊獨立性好:對象是OO軟件的基本模塊。5 類 類是具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的一組相似對象的抽象,即表示某些對象在屬性和操作方面的共同特征。 類是在對象之上的抽象,有了類以后,對象則是類的具體化,是類的實例。把一組對象的共同特性加以抽象并存貯在一個類中的能力,是面向?qū)ο蠹夹g(shù)最重要的一點!6 屬性 屬性是類中對象

16、所具有的數(shù)據(jù)值,是對客觀世界實體所具有性質(zhì)的抽象。 不同對象的同一屬性可以具有相同或不同的屬性值。7 方法方法就是對象所能執(zhí)行的操作(Operation)。它描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法。8 通常,一個消息由接受消息的對象、消息標識符、0 或多個變元/消息參數(shù)組成。9 談?wù)勀銓γ嫦驅(qū)ο蠓椒ㄖ邢⒌睦斫猓?如何要求對象完成一定的處理動作?對象間如何進行聯(lián)系?所有這一切都只能通過消息傳遞來實現(xiàn)。 傳遞消息的對象稱為發(fā)送者,接受消息的對象稱為接收者。 消息中只包含傳遞者的要求,它告訴接收者需要哪些處理,但并不指示接收者應(yīng)該怎樣完成這些處理。 消息完全由接收者解釋,接收者獨立決定采用什么方

17、式完成所需的處理,發(fā)送者對接收者不起任何控制作用。 一個對象能夠接收不同形式、不同內(nèi)容的多個消息;相同形式的消息可以送往不同的對象,不同的對象對于形式不同的消息可以有不同的解釋,能夠做出不同的反映。 一個對象可以同時往多個對象傳遞信息,兩個對象也可以同時向某個對象傳遞消息。 接受者響應(yīng)消息的過程10 消息接受者響應(yīng)消息的過程:1、選擇符合消息要求的操作 2 、執(zhí)行該操作 3、將控制權(quán)返回調(diào)用者11 繼承 廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們。 在面向?qū)ο蠹夹g(shù)中,繼承是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。12 繼承機制在面向?qū)ο蠓椒ㄖ械闹匾?3 多態(tài)多態(tài)即

18、在類的等級的不同層次中可以共享(公用)一個方法的名稱,然而不同層次中的每個類卻各自按照需要來實現(xiàn)這個行為。當對象接收發(fā)送給他的消息時,根據(jù)該對象所隸屬的類動態(tài)選用在該類中定義的實現(xiàn)算法。UML 概述1UML 是Unified Modeling Language 的縮寫,即統(tǒng)一建模語言2UML 綜合符號、文本語法、圖形機制三種機制來表達應(yīng)用問題在需求、設(shè)計和實現(xiàn)級的模型。3UML 的視圖機制的內(nèi)容UML 中提供了靜態(tài)視圖、用例視圖、實現(xiàn)視圖、配置視圖、狀態(tài)機視圖、活動視圖、交互視圖、模型管理視圖。4 主題域在視圖的更高層次,UML 中把視圖劃分為結(jié)構(gòu)性主題域、動態(tài)主題域、模型管理主題域3 個主題

19、域。用例視圖1 用例視圖從外部用戶的角度捕獲系統(tǒng)、子系統(tǒng)或類的行為。它將系統(tǒng)功能劃分為對活動者具有意義的事務(wù),這些功能片稱為用例。2 活動者每個活動者參與一個或多個用例,活動者的內(nèi)部實現(xiàn)與用例無關(guān),活動者被一些列定義狀態(tài)的屬性來描述。3 建立用例圖的步驟1、獲取Actor 2、獲取用例 3、標示關(guān)系 -Actor和用例的關(guān)系 Actor和Actor的關(guān)系 用例和用例的關(guān)系4 用例文檔用例文檔是在理解用戶需求基礎(chǔ)上產(chǎn)生的,它是用例圖中用例實現(xiàn)的文字描述。用例文檔包含用例名稱、用例描述、用例的前置條件、后置條件以及過程描述等內(nèi)容。靜態(tài)視圖1 靜態(tài)視圖的作用靜態(tài)視圖是UML 的基礎(chǔ)。靜態(tài)視圖中個概念

20、是應(yīng)用中具有意義的概念與軟件相關(guān)的所有概念。靜態(tài)視圖捕獲對象結(jié)構(gòu),將面向?qū)ο笙到y(tǒng)的數(shù)據(jù)結(jié)構(gòu)和行為統(tǒng)一成單個的對象結(jié)構(gòu)。它將行為實體描述為離散的模型元素,不包含任何動態(tài)行為的細節(jié)。2 類的屬性/操作的可見性 描述了類在軟件系統(tǒng)中代表的事物(即對象)所具備的特性。 類可以有任意數(shù)目的屬性,也可以沒有屬性。 在UML中,類屬性的語法為:可見性 屬性名:類型 初值 屬性字符串包括公共的、私有的、保護的和包內(nèi)可見性,分別采用+、-、#、標示3 為類的屬性設(shè)置初值的目的?1、保護系統(tǒng)的完整性,防止漏掉取值或被非法的值破壞系統(tǒng)的完整性。2、為用戶提供易用性。4 類和類之間的關(guān)聯(lián)關(guān)系關(guān)聯(lián)表示兩個類之間存在的某

21、種語義上的聯(lián)系。5 舉例說明普通關(guān)聯(lián)的定義細節(jié)普通關(guān)聯(lián)是最常見的關(guān)聯(lián)關(guān)系,只要在類和類之間存在著聯(lián)接關(guān)系就可以用普通關(guān)聯(lián)表示。 普通關(guān)聯(lián)的圖示符號是聯(lián)接兩個類之間的直線; 通常關(guān)聯(lián)是雙向的,可以在一個方向上為關(guān)聯(lián)命名,而在另一方向上給予另一不同的名稱(或不予以命名)。為避免混淆,可以在各名稱前添加一個表示方向的符號。 在表示關(guān)聯(lián)的直線兩端,可以標示管理的重數(shù)。重數(shù)表示該類有多少個對象與對方的一個對象連接。重數(shù)表是方法有:1 一個對象; * 表示多個對象; 0.1 表示0個或一個對象;0.* 表示0個或多個對象; 1+或1.*表示1到多個對象例:普通關(guān)聯(lián)具體實例如圖所示:上圖所示,一個作家可以使

22、用1到多臺計算機;一臺計算機可為0至多個作家使用。(靜態(tài)視圖)6 舉例說明關(guān)聯(lián)類的定義過程?有時為了說明關(guān)聯(lián)性質(zhì)可能需要一些附加信息。可以引入關(guān)聯(lián)類記錄這些關(guān)聯(lián)信息。關(guān)聯(lián)種每個聯(lián)接和關(guān)聯(lián)類的一個對象相關(guān)聯(lián)。關(guān)聯(lián)類的符號表示如下圖所示:例:從圖中可以看出,一個電梯控制器控制著多臺電梯,它們之間的聯(lián)接對應(yīng)一個隊列,而每個隊列存儲著來自電梯控制器和點提按鈕的請求服務(wù)信息。電梯控制器選擇一個合適的電梯為乘客服務(wù)。(靜態(tài)視圖)5 類的組合關(guān)系和聚合關(guān)系的區(qū)別和聯(lián)系 有時兩個具有關(guān)聯(lián)的類具有著“整體/部分”的關(guān)系,其中一類描述了較大的事物(“整體”),它有較小的事物(部分)組成這種關(guān)系成為聚合。 聚合關(guān)系

23、描述“has a”關(guān)系,意味著整體對象擁有部分對象,其圖形表示如下:(靜態(tài)視圖) 組合是聚合的變體,相對聚合它添加了很多語義信息。它表示的是更強的擁有關(guān)系,而且整體與部分的生命周期是一致的。 這就意味著在組合中,一個對象在一個事件內(nèi)只能是一個組合的一部分,如在窗口系統(tǒng)中,一個Frame只能隸屬于一個Window,其圖形表示如下:(靜態(tài)視圖)6 對象圖對象圖是某個時間點系統(tǒng)的映像,通常作為系統(tǒng)的一個實例使用。對象圖描述了可能發(fā)生的實例,它是系統(tǒng)的一個快照。7 對象圖繪制的步驟,并舉例說明交互視圖1 協(xié)作協(xié)作是對上下文中交互實現(xiàn)某種行為對象群體的描述,它描述了許多對象合作實現(xiàn)特定目標的行為。協(xié)作具

24、有結(jié)構(gòu)和行為兩個方面:結(jié)構(gòu)方面包含了目標行為的上下文信息,如有關(guān)的角色、關(guān)系等;行為方面由綁定于角色對象間的一些列交換消息描述。2 交互交互是由協(xié)作中分類角色、關(guān)聯(lián)角色進行交換的一系列消息。3 順序圖的交互表達機制順序圖以二維表來顯示交互。 縱向是時間軸,時間自上而下; 橫向顯示了協(xié)作中單個對象的分類角色。每個分類角色表現(xiàn)為垂直列,即時間線。 消息表示為從一個對象生命線到另一個對象生命線的箭頭。箭頭自上而下按照時間順序安排。4 協(xié)作圖中的對象類別協(xié)作圖把對象分成四組:在整個協(xié)作中存在的對象;交互中創(chuàng)建的對象(約束destoryed);交互中被銷毀的對象(約束new) ;交互中被創(chuàng)建和銷毀的對象

25、(約束transient) 。5 請比較順序圖和協(xié)作圖,并討論它們的應(yīng)用場景。順序圖和協(xié)作圖都顯示了交互,但是它們的側(cè)重點不同:順序圖顯示了時間次序,但沒有顯式指明對象之間的關(guān)系;協(xié)作圖清晰的顯示了對象間的關(guān)系,但實踐次序必須從順序號中讀取。鑒于此,順序圖常常用于場景的表示,協(xié)作圖則在展示過程細節(jié)時更適用。狀態(tài)機視圖1 狀態(tài)機視圖 通過對每個對象的生命周期進行建模,描述了對象時間上的動態(tài)行為。2 狀態(tài)機狀態(tài)機是展示狀態(tài)與狀態(tài)轉(zhuǎn)換的圖。狀態(tài)機是一個類的對象所有可能的生命歷程的模型。狀態(tài)機是一個對象的局部視圖,一個將對象與其外部世界分離開來,獨立的監(jiān)測它的行為。狀態(tài)機是對象局部化的視圖,是一種很好

26、的精確描述指明行為的方法。3 事件可以劃分為信號事件、調(diào)用事件、變更/改變事件、時間事件四種類別。4 狀態(tài)描述了一個對象生命期中的一個時間段。5 觸發(fā)器事件觸發(fā)器事件是引起轉(zhuǎn)換的事件。事件可以有參數(shù),以供轉(zhuǎn)換的動作使用。6 談?wù)勀銓顟B(tài)圖中事件的理解? 事件是發(fā)生在時間和空間上值得注意的事情。它在一時間點上發(fā)生,沒有持續(xù)時間。如果某一事情的發(fā)生造成了影響,那么在狀態(tài)機模型中它是一個事件。 當我們使用事件這個詞時,通常是指一個事件的描述符號。事件可能有參數(shù)來辨別每個實例,就像類用屬性來辨別每個對象一樣。 事件可以劃分為各種類別信號事件、調(diào)用事件、變更/改變事件、時間事件。7 某建筑有一部電梯,該

27、電梯初始安裝在一層。當電梯空閑時間超時時,無論電梯當前在那一樓層,都將移向一層(即底層),到達一層后即停留,以等待用戶服務(wù)請求得到達。請采用狀態(tài)圖對電梯系統(tǒng)建模?;顒右晥D1 通常,活動圖用來建模操作/計算流和工作流。2 活動圖從本質(zhì)上是一個流程圖,顯示了從活動到活動的控制流。3 活動 一個活動是一個狀態(tài)機中進行的非原子執(zhí)行單元。 活動最終導(dǎo)致一些動作,這些動作由可執(zhí)行的原子計算組成。 動作包括調(diào)用一個操作,發(fā)送一個信號,創(chuàng)建/撤銷某對象等。4 動作狀態(tài) 動作狀態(tài)代表了可執(zhí)行的原子計算,每一個原子計算都代表了一個動作的執(zhí)行。 動作狀態(tài)不能再分解,即動作狀態(tài)可以發(fā)生,但動作狀態(tài)的工作不能中斷。 在

28、UML中動作狀態(tài)的工作所占用的時間一般可以忽略。5 動作狀態(tài)和活動狀態(tài)的區(qū)別 活動狀態(tài)、動作狀態(tài)僅僅是狀態(tài)機中狀態(tài)的特殊種類。 當進入一個動作或活動狀態(tài)時你是簡單的執(zhí)行動作/活動狀態(tài); 當結(jié)束一個動作/活動狀態(tài)時控制權(quán)就傳送給下一個動作/活動。 一個活動狀態(tài)在語義上等價于在適當?shù)胤秸归_的活動圖,直到該活動圖緊緊看到動作為止。6 使用活動圖建模工作流的原則? 為工作流建立一個焦點,即觀測的視角; 選擇對工作流中的具有高層職責(zé)的業(yè)務(wù)對象建模,并為每個主要的對象建立泳道; 識別工作流的初始狀態(tài)的前置條件和停止狀態(tài)的后置條件,這樣有助于識別工作流的邊界; 從工作流的初始狀態(tài)開始,按照時間順序表示并連接

29、活動狀態(tài)/動作狀態(tài); 將復(fù)雜的動作或多次出現(xiàn)的動作集合進行合并,形成一個活動狀態(tài),必要時在一個活動圖中展開; 找出連接活動/動作狀態(tài)的轉(zhuǎn)換,考慮順序流、并發(fā)流等情況; 如果工作流中涉及重要的對象,則把他們加入到活動圖中; 如果對表達對象流的意圖是必要的,則顯示其變化的值和狀態(tài);7 活動視圖和交互視圖的區(qū)別? 交互視圖強調(diào)從對象到對象的控制流,而活動圖強調(diào)從活動到活動的控制流。 交互視圖觀測的是傳送消息的對象,活動圖觀測的是對象間傳送的操作。物理視圖1構(gòu)件是定義了良好接口的物理實現(xiàn)單元,它是系統(tǒng)中可替換的部分。每個構(gòu)件體現(xiàn)了系統(tǒng)設(shè)計中特定類的實現(xiàn);2 構(gòu)件包含代碼特征和身份特征兩方面的特征。3

30、構(gòu)件和類的區(qū)別和聯(lián)系 相同點1、 都可以是實現(xiàn)一組接口;2、 都可以參與依賴、泛化、關(guān)聯(lián)關(guān)系;3、 都可以嵌套;4、 都可以具有實例;5、都可以參與交互; 不同點 類表示邏輯抽象,而構(gòu)件表示存在于Byte世界的物理抽象,即構(gòu)件可以存在于節(jié)點之上;這一項差異指明了建模時候是采用構(gòu)建還是類的決策基礎(chǔ) 構(gòu)件表示的是物理模塊而不是邏輯模塊,而類處于不同的抽象級別;可以看出類和構(gòu)件的關(guān)系,構(gòu)件是類等邏輯元素的物理實現(xiàn),可以采用顯式展示類和構(gòu)件的依賴關(guān)系 類可以擁有屬性和操作,而構(gòu)件擁有得只能夠是通過其接口訪問的操作;特別指出接口是類和構(gòu)件的橋梁,它連接了系統(tǒng)的邏輯模型和物理模型4、構(gòu)件實現(xiàn)的接口稱為示出

31、接口export interface,即構(gòu)件提供給其他構(gòu)件的服務(wù)接口;構(gòu)件使用的接口稱作引入接口import interface,即應(yīng)用它的構(gòu)件必須遵循這個接口并以此為基礎(chǔ)構(gòu)造。5 構(gòu)件的種類有實施構(gòu)件、執(zhí)行構(gòu)件、工作產(chǎn)品構(gòu)件三種類型。6 構(gòu)件的特點 構(gòu)件是系統(tǒng)中的一個物理實現(xiàn)片斷,它是實現(xiàn)域中的元素; 一個構(gòu)件基本獨立于其他構(gòu)件,但很少獨立存在。通常為了完成某項功能,構(gòu)件需要一個結(jié)構(gòu)化的語境; 構(gòu)件是系統(tǒng)中可以替換的部分,是系統(tǒng)設(shè)計和組建的基石; 構(gòu)件完成明確的功能,在邏輯和物理上具有粘聚性,它代表了一個更大系統(tǒng)中的一段有意義的結(jié)構(gòu)/行為塊; 構(gòu)件符合一系列的接口。符合一個接口的構(gòu)件滿足接口

32、的約定,且在接口適用的所有語境中可以被替換。7 構(gòu)件有兩種視圖,分別是黑箱視圖和白箱視圖。黑箱視圖顯示構(gòu)件的外觀,包括它的需求接口、提供接口、如何與其他構(gòu)件關(guān)聯(lián)。黑箱視圖不指定構(gòu)件的內(nèi)部實現(xiàn);白箱視圖顯示那些類、接口、其他構(gòu)件協(xié)作完成了該構(gòu)件的功能,即白箱視圖顯示構(gòu)件的成員元素及其關(guān)系。8 節(jié)點節(jié)點是表示計算資源的運行時的物理對象,它們通常具有內(nèi)存和處理能力。9 比較節(jié)點和構(gòu)件? 相同點1、 二者都有名稱;2、都可以參與依賴、泛化、關(guān)聯(lián)關(guān)系;3、 都允許嵌套; 4、 都可以擁有實例; 5、 都可以參與交互; 不同點 構(gòu)件是參與系統(tǒng)執(zhí)行的事物,節(jié)點是執(zhí)行構(gòu)件的事物;即節(jié)點執(zhí)行構(gòu)件,構(gòu)件是被節(jié)點執(zhí)

33、行的事物 構(gòu)件表示邏輯元素的物理打包,節(jié)點表示構(gòu)件的物理部署;指示出節(jié)點和構(gòu)件的關(guān)系一個構(gòu)件是一組其他邏輯單元物理化的事物,而一個節(jié)點是構(gòu)件部署的地點,可以采用依賴關(guān)系顯式表示構(gòu)件和節(jié)點的關(guān)系10 請使用部署圖建模如下場景:某軟件包3dpacman.jar 被部署到Desktop PC 上。11 部署圖有描述符形式和實例形式:描述符形式說明那些構(gòu)件可以存在于那些節(jié)點上,那些節(jié)點可以被連接等;實例形式表現(xiàn)了作為系統(tǒng)配置的具體節(jié)點實例上的具體構(gòu)件實例的位置,這是部署圖的常見形式。模型管理機制1 包是將多個元素組織為語義相關(guān)組的通用機制。一個包擁有或引用的模型元素稱為該包的內(nèi)容。2 包和其中擁有的元

34、素之間是組合關(guān)系3 包可見性包括公共的、私有的、保護的三種類別。4 包的引入和示出引入授權(quán)一個包中的元素可以訪問另一個包中的元素的單項許諾。在UML 中使用一個由構(gòu)造型import 修飾的依賴為引入關(guān)系建模,通過把抽象包裝成組塊,然后用引入關(guān)系控制對它們的訪問,就能夠控制大量抽象的復(fù)雜性。包的公共部分稱為示出。一個包示出的部分僅僅對顯式引入這個包的那些包中的內(nèi)容可見。5 包與包之間的關(guān)系包括引入、示出、泛化和依賴關(guān)系四種類型。6 UML 中定義了包的五種標準構(gòu)造型:虛包faade、樁Stub、框架Framework、子系統(tǒng)Sub-System、系統(tǒng)System。擴展機制1 UML 擴展機制包括

35、構(gòu)造型、標記值、約束。2 擴展機制的表示面向?qū)ο蟮能浖こ袒A(chǔ)1 按照工作重點的不同可以把軟件設(shè)計階段分解為概要設(shè)計和詳細設(shè)計兩個子階段。2 用例文檔轉(zhuǎn)換成協(xié)作圖或順序圖案例分析題型1 根據(jù)系統(tǒng)模塊部署描述,生成部署圖 2 用例文檔轉(zhuǎn)換成協(xié)作圖或順序圖 3 順序圖和協(xié)作圖的轉(zhuǎn)換 4 從代碼到狀態(tài)圖 5 從代碼到類圖,從類圖到代碼框架 6 根據(jù)系統(tǒng)功能需求描述繪制用例圖 7 根據(jù)算法的語言/詳細設(shè)計工具,轉(zhuǎn)換生成活動圖; 8 根據(jù)當前狀態(tài)、外部事件、執(zhí)行的相應(yīng)動作、目標狀態(tài)的數(shù)據(jù)生成狀態(tài)圖 9 根據(jù)模型描述模型細節(jié)_UML期末復(fù)習(xí)題1(B)可用于描述用戶接口、設(shè)備控制器和其他具有反饋的子系統(tǒng),它

36、還可用于描述在生命其中期中跨越多個不同性質(zhì)階段的被動對象的行為,在每一個階段該對象都有自己特殊的行為。 A狀態(tài)機視圖B模型管理視圖C動態(tài)視圖D靜態(tài)視圖 2(A)是對象與其他外部世界相互關(guān)聯(lián)的唯一途徑。 A消息傳遞B狀態(tài)轉(zhuǎn)換C接口D函數(shù)調(diào)用 3(C)是在分析模型的基礎(chǔ)上,添加了設(shè)計元素的結(jié)果,使得分析模型更加接近系統(tǒng)實現(xiàn)。 A領(lǐng)域模型B數(shù)據(jù)模型C設(shè)計模型D概念模型4在UML活動圖中,(C)表示活動需要輸入的對象或者作為活動的處理結(jié)果輸出的對象。 A并發(fā)控制B決策點C對象D活動5UML通過圖形化的表示機制從多個側(cè)面對系統(tǒng)的分析和設(shè)計模型進行刻畫,其中(B)包括構(gòu)件圖,它描述軟件系統(tǒng)中各組成構(gòu)建,構(gòu)

37、件的內(nèi)部結(jié)構(gòu)以及構(gòu)件之間的依賴關(guān)系。 A行為視圖B構(gòu)件視圖C結(jié)構(gòu)視圖D用例視圖6在UML順序圖中,如果一條消息從對象a傳向?qū)ο骲,那么其(A)是一條從b指向a虛線有向邊,它表示原消息的處理已經(jīng)完成,處理結(jié)果(如果有的話)沿原消息傳回。 A返回消息B創(chuàng)建消息C自消息D銷毀消息 7在UML中,(B)可以對模型元素進行有效地組織,如類,用例,構(gòu)件,從而構(gòu)成具有一定意義的單元。 A構(gòu)件B包C節(jié)點D連接8(C)描述軟件系統(tǒng)中的構(gòu)件及構(gòu)件之間的構(gòu)成關(guān)系和依賴關(guān)系。 A狀態(tài)圖B對象圖C構(gòu)件圖D部署圖9泛化使得(B)操作成為可能,即操作的實現(xiàn)是由它們所使得的對象的類,而不是由調(diào)用者確定的。 A多重B多態(tài)C傳參

38、D傳值10在用例圖中,執(zhí)行者之間的關(guān)系只有(C)一種。 A擴展B包含C繼承D實現(xiàn)11以下哪個選項不是狀態(tài)圖中三個常用的活動之一(D)? A入口動作B出口動作C動作D中間動作12如果用例A和用例B相似,但A的動作序列是通過改寫B(tài)的部分動作或者擴展B的動作而獲得的,則稱(C)。 A用例A包含用例B B用例A擴展用例B C用例A繼承用例B D用例A實現(xiàn)用例B 13UML中所謂的“泛化”可以用以下哪個術(shù)語來代替(B)? A聚合B繼承C抽象D封裝14在UML活動圖中,(B)表示操作之間的信息交換。 A控制流B信息流C初始活動D活動 15在面向?qū)ο蟪绦蛟O(shè)計中,對象與對象之間的協(xié)作是通過_B_機制來實現(xiàn)的。

39、 A參數(shù)傳遞B消息傳遞 C深拷貝D淺拷貝16一般情況下,可以將面向?qū)ο笾械木酆细拍顓^(qū)分為(B)關(guān)系。 A繼承B關(guān)聯(lián)C組合D聚合 17在狀態(tài)圖中,(B)表示兩個狀態(tài)之間的關(guān)系;源狀態(tài)和目的狀態(tài)。 A監(jiān)護條件B事件C狀態(tài)D轉(zhuǎn)換18以下哪個不是面向?qū)ο蟮母拍?D)?A封裝B多態(tài)C抽象D聚類19UML的英文全稱是(A)?AUnified Modeling LanguageBUser Manage LanguageCUnit Modeling LanguageD以上都不對20下列對操作描述錯誤的是(D)A接口可以定義操作B類可以定義操作C操作可以作為順序圖中的消息D對象可以定義操作21在UML模型中,類

40、用(B)表示A直角矩形B圓角矩形C橢圓D牛眼睛22接口的構(gòu)造型是(B)AsignBinterfaceCcomponentDmode23下列哪些選項不可以具有繼承關(guān)系(B)A類B參與者C用例D活動24類圖中可以指明哪些信息(D)A屬性B操作C職責(zé)D以上都可以25設(shè)計視圖的靜態(tài)方面采用(B )表現(xiàn)A交互圖B類圖和對象圖C狀態(tài)圖D活動圖26用例試圖的靜態(tài)方面由( A)來表現(xiàn)A用例圖B交互圖C狀態(tài)圖D活動圖27常用的UML工具有很多,下列哪個不是(D)AroseBpowerdesignCvisioDvss28在UML中面向?qū)ο蟮母拍钣泻芏?,下列哪個不是(D)A抽象B繼承C封裝D線程29在活動圖中,接收

41、信號用(B)表示 A凸角五邊形B凹角五邊形C圓角矩形 D直角矩形30在活動圖中,發(fā)送信號用(A)表示 A凸角五邊形B凹角五邊形C圓角矩形D直角矩形多選題:1狀態(tài)圖中常用的動作有(ABC)A動作B入口動作C出口動作D觸發(fā)動作2UML中表示類之間“關(guān)系”的視圖有(ABC)A關(guān)聯(lián)B泛化C依賴D實現(xiàn)3用例描述中包含的內(nèi)容有(ABCD)A發(fā)起用例的參與者B用例的前置條件C用例的后置條件D從用例中獲益的參與者4類之間的關(guān)系包括(BCD)A鏈B繼承C多重性D聚集5完整的類可視化表示包括元素(ABC)A職責(zé)和約束B屬性C操作D接口判斷題:1用例圖中包含關(guān)系是指一個用例繼承了另一個用例(wrong)2順序圖中每

42、個對象向下方向伸展的虛線是對象的生命線(right)3只有狀態(tài)圖采用泳道(wrong)4部署圖一般把節(jié)點分成處理器和外部軟件(wrong)5協(xié)作圖和順序圖是等價的(right)6一臺計算機有很多零部件,例如:鍵盤,鼠標,主板,顯示器等等,我們可以用一個聚集圖來描述,也就是說計算機是一個聚集體(right)7對象之間協(xié)作可以通過相互發(fā)送消息來實現(xiàn),也就是消息可以是雙向的(right)8順序圖所表達的是基于時間順序的動態(tài)交互(right)9用例是從用戶的觀點對系統(tǒng)行為的一個描述(right)10狀態(tài)圖中狀態(tài)一般分成順序子狀態(tài)和隨機子狀態(tài)(right)UML復(fù)習(xí)系列之一(基本概念)【原創(chuàng)】1.UML

43、簡介UML (Unified Modeling Language統(tǒng)一建模語言)是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)造者用標準的、易于理解的方式建立起能夠表達出他們想象力的系統(tǒng)藍圖,并且提供一種機制,以便于不同的人之間有效地共享和交流設(shè)計結(jié)果。UML是一套系統(tǒng)的“圖”表示法,通過各種不同的“圖”產(chǎn)生出系統(tǒng)“模型”(一種易于使用和易于理解的對象模型)。UML模型只說明一個系統(tǒng)應(yīng)該做什么,并沒有告訴我們應(yīng)該怎么做。2.面向?qū)ο蠛喗橐詫ο鬄橹行?,以類和繼承為構(gòu)造機制,充分利用接口和多態(tài)提供靈活性,來抽象和描述客觀世界,并由此設(shè)計和構(gòu)建出相應(yīng)的系統(tǒng)?;跇?gòu)建的軟件開發(fā)方法就是面向?qū)ο蠹夹g(shù)孕育出來的。相關(guān)

44、概念:對象,類,抽象,繼承,多態(tài),封裝,接口。對象:數(shù)據(jù)(對象屬性描述)和操作(對象行為描述)的封裝體。類:具有共同屬性特征和行為特征的對象的抽象描述。多態(tài):在運行時刻決定執(zhí)行代碼的技術(shù)。接口:對操作規(guī)范的說明。構(gòu)建:一個物理的、可替換的系統(tǒng)部分,它表現(xiàn)了一個接口集合。3.UML中的類圖由一個矩形表示。類名、屬性、操作、職責(zé)(描述類是做什么的)都在區(qū)域各自的方框中??梢栽陬悎D中指定屬性的類型和初始值,操作的參數(shù)和參數(shù)類型。類之間的關(guān)系:A.關(guān)聯(lián):類之間由連接關(guān)系,每個類都扮演某種角色。:實線B.繼承:子類和父類的關(guān)系。(UML中也稱之為“泛化”):空心箭頭的實線C.依賴:一個類操作的型構(gòu)中用到

45、了另一個類的定義。:箭頭虛線D.聚集:一個類由幾個部分組成(如個人電腦包括CPU,主板,磁盤,內(nèi)存,鼠標鍵盤等)E.組成:表示強類型的聚集,每個聚集的部分只能屬于一個整體F.接口:描述類的部分行為的一組操作,是一個類提供給另一個類的一組操作 (舉例:汽車的方向盤控制,我們并不需要知道其中的傳動原理,只關(guān)系它的操作)G.實現(xiàn):一個類和它的接口之間的關(guān)系 說明:一個類可以實現(xiàn)多個接口,一個接口也可以被多個類實現(xiàn) 接口和依賴舉例: 洗衣機- 洗衣機控制器(接口)-人 接口 依賴4.用例圖用例是幫助分析員和用戶確定系統(tǒng)使用情況的UML組件,一組用例就是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。可以認為用例

46、是系統(tǒng)的一組使用場景,每個場景描述一個事件的序列,每個序列由一個人、或另一個系統(tǒng)、或一臺硬件設(shè)備、或時間的流逝所發(fā)起。發(fā)起事件序列的實體叫做“參與者”(actor)。用例復(fù)用:從各個步驟序列中抽取出公共步驟形成一個每個用例都要使用的附加用例,我們也可以由此得到一個擴展用例。參與者、用例和互連線共同組成了“用例模型”,例如:參與者-系統(tǒng)(用例)-參與者用例的文檔描述:發(fā)起用例的參與者用例的假設(shè)條件用例中的前置條件場景中的步驟場景完成后的后置條件從用例中獲益的參與者5.狀態(tài)圖對象(或行為元素)改變了自己的狀態(tài)(以響應(yīng)事件或時間的流逝),這種表征系統(tǒng)變化的方法即可用狀態(tài)圖。狀態(tài)圖只是對單個對象建立模

47、型。狀態(tài)圖的一些細節(jié)選項:入口動作、動作、其他動作或事件。引起轉(zhuǎn)移發(fā)生的事件叫做觸發(fā)器事件,也可以是無觸發(fā)器轉(zhuǎn)移。轉(zhuǎn)移細節(jié)可以添加保護條件(只有當條件滿足時,轉(zhuǎn)移才能發(fā)生)。一個狀態(tài)可以由自己的子狀態(tài),子狀態(tài)由兩種形式:順序子狀態(tài)和并發(fā)子狀態(tài)。6.順序圖順序圖由以下對象組成:對象用矩形框表示,消息用帶箭頭的實線表示,時間用垂直虛線表示。A.對象:向下伸展的虛線叫做對象的生命線。B.消息:帶有實心箭頭的實線表示調(diào)用消息,空心箭頭的返回虛線叫做返回消息,異步消息用空心箭頭的實現(xiàn)表示。C.時間:流逝自頂向下。說明:順序圖中交互時間也可以做到復(fù)用!7.協(xié)作圖寫作圖是對象的擴展,處理展示出對象之間的關(guān)聯(lián)

48、,還顯示出對象之間的消息傳遞。順序圖按照時間順序布圖,寫作圖按照空間組織布圖。8.活動圖用于簡化描述一個過程或者操作的工作步驟?;顒有蛄械竭_某一點需要作出判定,然后執(zhí)行一個并發(fā)路徑。涌道:表示每個角色負責(zé)的活動??衫斫鉃轫樞驁D和活動圖的簡單結(jié)合。9.構(gòu)件圖(Component)定義一個系統(tǒng)的功能。一個重要特征是它具有潛在的復(fù)用性!處理構(gòu)件的時候,必須處理構(gòu)件的即可。10.部署圖:各個軟硬件系統(tǒng)的相互連接圖。11.包圖包給一組元素提供了一個命名空間(namespace),包之間關(guān)系可為泛化、依賴等。12.在開發(fā)過程中運用UML傳統(tǒng)過程方法學(xué):瀑布模型:分析(analysis),設(shè)計(design

49、),編碼(coding)和部署(deployment)一個階段一個階段的進行,其缺點在于不利于項目開發(fā)過程中對問題的逐步理解是隨著開發(fā)過程的深入而增強的。改進方法:快速應(yīng)用工程指導(dǎo)原則(Guidelines for Rapid APPLication Engineering,GRAPPLE),下面作簡單介紹。grapple有一下列段:需求收集(requirements gathering)A.發(fā)現(xiàn)領(lǐng)域過程(產(chǎn)品:捕獲業(yè)務(wù)過程中的步驟和判定點的活動圖)B.領(lǐng)域分析(產(chǎn)品:高層的類圖和會談記錄)C.識別協(xié)作系統(tǒng)(產(chǎn)品:部署圖和軟件構(gòu)件以及其依賴關(guān)系)D.發(fā)現(xiàn)系統(tǒng)需求(產(chǎn)品:包圖,需要進行聯(lián)合應(yīng)用開

50、發(fā)會議)E.將結(jié)果提交給客戶分析(analysis)A.理解系統(tǒng)的用法(產(chǎn)品:一組用例圖)B.充實用例(產(chǎn)品:每個用例步驟的文本描述)C.細化類圖(產(chǎn)品:細化了的類圖)E.分析對象狀態(tài)變化(產(chǎn)品:狀態(tài)圖)F.定義對象之間的交互(產(chǎn)品:順序圖和協(xié)作圖)G.分析與協(xié)作系統(tǒng)的集成(產(chǎn)品:詳細的系統(tǒng)部署圖和數(shù)據(jù)模型)設(shè)計(design)A.開發(fā)和細化對象圖(產(chǎn)品:對象圖和活動圖)B.開發(fā)構(gòu)件圖(產(chǎn)品:構(gòu)件圖)C.制定部署計劃(產(chǎn)品:部署圖)D.設(shè)計和開發(fā)用戶界面原型(產(chǎn)品:所有用例的完成)E.測試設(shè)計(產(chǎn)品:用測試腳本構(gòu)成本動作的工作產(chǎn)品)F.開始編制文檔(產(chǎn)品:文檔編制員和開發(fā)人員共同編制文檔,制定

51、每個文檔的高層結(jié)構(gòu))開發(fā)(development)A.編制代碼(產(chǎn)品:代碼)B.測試代碼(產(chǎn)品:單元測試,繼承測試,系統(tǒng)測試等)C.構(gòu)建用戶界面和用戶界面到代碼的連接和測試(產(chǎn)品:帶有用戶界面的功能系統(tǒng))D.完成文檔(產(chǎn)品:所有文檔)部署(deployment)A.編制備份和恢復(fù)計劃(產(chǎn)品:備份和恢復(fù)計劃)B.在硬件上安裝最終系統(tǒng)(產(chǎn)品:安全部署好的計算機系統(tǒng))C.測試安裝后的系統(tǒng)(產(chǎn)品:測試后的工作產(chǎn)品)D.慶祝(產(chǎn)品:新系統(tǒng)產(chǎn)生)UML即統(tǒng)一建模語言。其概念為: (1)UML是編寫軟件藍圖的標準語言; (2)UML以可視化方式指定、建構(gòu)以及記錄軟件為主系統(tǒng)的產(chǎn)出。 UML是完全面向?qū)ο蟮模?/p>

52、是圖形化的,它為系統(tǒng)開發(fā)的不同參與者(包括客戶)提供不同層次和角度的圖; UML所提供的主要圖有:類圖、對象圖、用例圖、狀態(tài)圖、時序圖、活動圖、協(xié)作圖、構(gòu)件圖、和部署圖。最重要和使用最多的3種圖是用例圖(User Case Diagram)、時序圖(Secquence Diagram)和類圖(Class Diagram)。 用例圖是從用戶的角度來描述系統(tǒng)的外部功能的圖。對不同的用戶,系統(tǒng)應(yīng)該有不同的功能,所以一個系統(tǒng)的用例圖通常會有多個。 時序圖是從系統(tǒng)實現(xiàn)的角度來描述每一個用例,可見一個用例一般應(yīng)該有一個對應(yīng)的時序圖。它描述的是一個用例中用戶與系統(tǒng)進行消息傳遞,系統(tǒng)各部件(類)之間進行消息傳

53、遞的關(guān)系和順序。時序圖表現(xiàn)的是系統(tǒng)具體實施的靜態(tài)邏輯,從它可以直接接聯(lián)系到代碼中一個模塊的具體實現(xiàn)邏輯,所以它對系統(tǒng)邏輯的具體實施是最重要的。 類圖直接對應(yīng)到源代碼。在面向?qū)ο蟮某绦蛟O(shè)計中,整個系統(tǒng)都是由類及其實例(對象)通過相互之間發(fā)送消息以及各自的消息處理函數(shù)來實現(xiàn)的。時序圖描述了各個類之間要發(fā)送的消息,類圖則表明該如何來發(fā)送、接收和處理這些消息,這包括各種屬性和方法。 要完整的畫出這3類圖,特別是在開始的時候,是不太實際的。往往UML圖對系統(tǒng)的分析與設(shè)計是一個指導(dǎo),并不能很完全地畫出所有的圖。UML只是一種設(shè)計方法,在設(shè)計的時候不應(yīng)強求完美。作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。 (1) UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外UML還

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論