UML建模試習(xí)題2_第1頁
UML建模試習(xí)題2_第2頁
UML建模試習(xí)題2_第3頁
UML建模試習(xí)題2_第4頁
UML建模試習(xí)題2_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一套試題一選擇題1. 在用例建模中,一些全局的非功能性需求和設(shè)計約束應(yīng)該在哪個需求工件中描述:( )A. 用例模型 B. 用例規(guī)約 C. 補充規(guī)約 D. 詞匯表2. 在用UML對系統(tǒng)進行動態(tài)建模時,通常使用活動圖。利用活動圖有兩方面作用:一是對工作流建模,一是對操作建模,此時把活動圖作為( )A. 程序流程圖 B. 系統(tǒng)流程圖 C. 數(shù)據(jù)流程圖 D. 處理流程圖3. 在UML中,依賴性也是連接兩個類,對其說法正確的是( )A. 依賴性總是單向的 B. 依賴性不一定是單向的C. 依賴性總是雙向的 D. 依賴性可以是雙向的4. 動作事物是UML模型中的動態(tài)部分,他們是模型的動詞,代表什么上的動作

2、( )A. 時間和空間 B. 時間和對象 C. 空間和對象 D. 對象5. UML中的分組事物是什么( )A. 視圖 B. 部署圖 C. 組件 D. 包6. UML支持的建模方式有:(請選擇最合理的答案)( )A. 靜態(tài)建模、動態(tài)建模 B. 動態(tài)建模、功能建模 C. 靜態(tài)建模、功能建模 D. ABC都支持7. 在用例建模中,用例的粒度、個數(shù)以及模型元素之間的關(guān)系復(fù)雜程度應(yīng)該由什么指導(dǎo)原則決定( )A. 可理解性 B. 模塊化 C. 用例任務(wù)的單一性 D. ABC都不是8. 在系統(tǒng)用例建模中,我們判斷用例建模工作是否結(jié)束的主要標志是:( )A. 功能需求的完備性 B. 模型是否易于理解 C. 是

3、否存在不一致性 D. ABC都不是9. 對UML中的包(Package)說法正確且最合理的是:( )A. 管理模型復(fù)雜度的機制B. 一種容器,包中可以容納其他任意的模型元素C. 包中可以容納其他的包D. ABC都對10. 關(guān)于UML中的消息描述錯誤的是:( )A. 消息可以從一個對象發(fā)向該對象自身。B. 消息是對象之間的通信。消息是對象之間的通信。C. 在序列圖中,消息被表示為從一個對象下端引出的垂直虛線。D. 兩個對象間的交互表現(xiàn)為一個對象發(fā)送一個消息給另一個對象。二,填空題1. UML統(tǒng)一了_和 _的表示法,而且對其做了進一步的發(fā)展。2. 在Rose系統(tǒng)用例的描述中,事件流的目的是_。這個

4、文檔詳細描述 _。 .3. 在用UML對系統(tǒng)的靜態(tài)用例視圖建模時,使用用例圖可以對系統(tǒng)的_建模,還可以對系統(tǒng)的_建模。4. 在UML中,_是描述整體和部分的關(guān)系,且部分可以獨立于整體而存在。5. 軟件是由_、 數(shù)據(jù)和_組成。按軟件的服務(wù)對象劃分,軟件可以分為_和_ 。6. 統(tǒng)一過程中的四個階段是: _、_、_、_、三,簡答題1. 用例的泛化關(guān)系和包含關(guān)系的區(qū)別與聯(lián)系。2. 用例模型中擴展用例與包含用例之間的區(qū)別是什么?3. 簡述統(tǒng)一建模語言(UML)4. 協(xié)作圖和順序圖的區(qū)別。四,判斷題1. UML不支持對元模型的擴展定義。( )2. 元模型為UML的所有元素在語法和定義上提供了簡單、一致和通

5、用的定義性說明,使開發(fā)者能在語義上取得一致。( )3. 在Rose的活動圖中,泳道的名稱就是執(zhí)行泳道中所有活動的角色。( )4. 在Rose業(yè)務(wù)模型和系統(tǒng)模型的區(qū)別在于業(yè)務(wù)模型針對用戶,而系統(tǒng)模型針對所建的系統(tǒng)。( )5. 在UML中,實體類保存要放進永久存儲體的信息。( )6. 在Rose系統(tǒng)模型中,使用案例是面向?qū)崿F(xiàn)的過程而不是面向?qū)ο筮^程。( )7. 在Rose建模中,每個業(yè)務(wù)用例都有一個或多個系統(tǒng)用例對應(yīng)。( )8. 在Rose的系統(tǒng)用例描述中,前提條件是指開始使用案例之前必須滿足的條件。( )9. 迭代是絕對不能被重疊進行的。( )10. 在UML中,控制類負責(zé)業(yè)務(wù)邏輯的實現(xiàn)。( )

6、五,作圖題1. 已知三個類A.B和C.其中類A由類B的一個實類和類C的1個或多個實類構(gòu)成.請畫出能夠正確表示類A,B和C之間關(guān)系的UML類圖.2. 一個圖書管理系統(tǒng)中,書籍是該系統(tǒng)內(nèi)的重要對象之一,請結(jié)合所學(xué)知識,分析該對象在整個系統(tǒng)的各個狀態(tài)變化,畫出書籍的狀態(tài)圖第二套試題1面向?qū)ο蟮幕竞x所謂面向?qū)ο缶褪腔趯ο蟾拍?,以對象為中心,以類和繼承為構(gòu)造機制,充分利用接口和多態(tài)提供靈活性,來認識、理解、刻劃客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)。2多態(tài)性是一種方法,這種方法使得在多個類中可以定義同一個操作或?qū)傩悦⒃诿總€類中可以有不同的實現(xiàn)。多態(tài)性是一種特性,這種特性使得一個屬性或變量在不同的時

7、期可以表示不同類的對象。在一個接口后面隱藏了許多不同的實現(xiàn)3覆蓋和重載覆蓋:是指在子類中重新定義與父類同名的方法。重載:是指在同一個類中定義的幾個操作或操作符都具有相同的名字。4接口的概念:所謂接口就是對操作規(guī)范的說明。通俗地說,接口只是說明函數(shù)應(yīng)該做什么(What),但沒有定義函數(shù)如何做(How)。5UML的主要包括3種構(gòu)造塊:1)事物):構(gòu)成模型圖的一些基本圖示符號,它們表示一些面向?qū)ο蟮幕靖拍睢?)關(guān)系:表示基本圖示符號之間的關(guān)系。3)圖:特定的視角對系統(tǒng)所作的抽象描述。事物是對模型中最具有代表性的成分的抽象;關(guān)系把事物結(jié)合在一起;圖聚集了相關(guān)的事物。6在UML中有4種事物:- 結(jié)構(gòu)事

8、物- 行為事物- 分組事物- 注釋事物7協(xié)作:協(xié)作定義了一個交互,它是由一組共同工作以提供某協(xié)作行為的角色和其它元素構(gòu)成的群體,這些協(xié)作行為大于所有元素的各自行為的總和。因此,協(xié)作有結(jié)構(gòu)、行為和維度。8交互:交互是這樣一種行為,他由在特定語境中共同完成一定特定任務(wù)的一組對象之間交換的消息組成。一個對象群體的行為或單個操作的行為可用一個交互來描述。Interaction 涉及一些其他元素,包括消息、動作序列(由一個消息所引起的行為)、links (對象間的連接)。9在UML中有4種關(guān)系:-關(guān)聯(lián):描述了兩個或多個類之間的結(jié)構(gòu)性關(guān)系。-依賴Dependency An dependency is a

9、semantic relationship between two things in which a change to one thing (the independent thing) may affect the semantics of the other things (the dependent thing ).-泛化:泛化是一種特殊/一般關(guān)系,特殊元素(子元素)的對象可替代一般元素(父元素)的對象。用這種方法,子元素共享了父元素的結(jié)構(gòu)和行為。-實現(xiàn): 實現(xiàn)是類元之間的語義關(guān)系,在該關(guān)系中一個類元描述了另一個類元保證實現(xiàn)的契約。10UML有用于描述如下事物的語義規(guī)則:命名 為事物

10、、關(guān)系和圖起名范圍 給一個名稱以特定含義的語境可見性 怎樣讓其他人使用或看見名稱完整性 事物如何正確、一致地相互聯(lián)系執(zhí)行 運行或模擬動態(tài)模型的含義是什么11UML中有4種貫穿整個語言且一致應(yīng)用的公共機制:1) 詳述 UML的詳述提供了一個語義底版,它包含了一個系統(tǒng)的各模型的所有部分,并且各部分相互聯(lián)系,并保持一致。因此,UML的圖只不過是對底版的簡單視覺投影,每一個圖展現(xiàn)了系統(tǒng)的一個特定的方面。2) 修飾 UML表示法中的每一個元素都有一個基本符號,可以把各種修飾細節(jié)加到這個符號上。3) 通用劃分 類/對象二分法,接口/實現(xiàn)二分法。4) 擴展機制 對UML圖示符號的擴展。包括:-構(gòu)造型Ster

11、eotype 新構(gòu)造塊建模-標注值Tagged value 新屬性建模-約束Constraint 新語義規(guī)則建模12UML 預(yù)定義了6種可應(yīng)用于關(guān)聯(lián)關(guān)系的約束:1) 隱式- 表示關(guān)系不是顯式的,而僅是概念性的。2) 有序- 表示關(guān)聯(lián)一端的對象集是顯式有序的。3) 可變- 可以自由增加、移動和改變對象之間的鏈(links)。4) 只增- 可以從關(guān)聯(lián)另一端的一個對象增加新的鏈。5) 凍結(jié)- 一旦從從關(guān)聯(lián)另一端的對象增加了一個鏈,就不能對它修改或刪除。6) 或- 表示在一組關(guān)聯(lián)中,對每個關(guān)聯(lián)的對象只能有一個顯式的關(guān)聯(lián)。13UML 預(yù)定義了4種可應(yīng)用于泛化關(guān)系的約束:1) 完全2) 不完全3) 互斥4

12、) 重疊14UML應(yīng)用的三要素,工具、過程、表示法。15UML應(yīng)與軟件工程過程相結(jié)合,典型的軟件過程的特點:用況驅(qū)動的、以軟件構(gòu)架為中心的、迭代的。16一種典型的軟件架構(gòu)的表示:4+1 View 用例視圖:從系統(tǒng)外部的操作者的角度來描述系統(tǒng)需求。邏輯視圖:描述系統(tǒng)內(nèi)部的靜態(tài)結(jié)構(gòu)和動態(tài)行為,即從內(nèi)部描述如何設(shè)計實現(xiàn)系統(tǒng)功能。實現(xiàn)視圖:系統(tǒng)的物理實現(xiàn),描述系統(tǒng)由哪些程序構(gòu)件所組成。進程視圖:描述系統(tǒng)運行時的架構(gòu),強調(diào)并發(fā)系統(tǒng)中存在的各種通信和同步問題。實施視圖:描述系統(tǒng)的拓樸結(jié)構(gòu),描述系統(tǒng)的軟件與各種硬件設(shè)備之間的配置關(guān)系。17UML預(yù)定義了17個依賴的構(gòu)造型,可分成六組:(一) 類圖中8種1)綁

13、定- 表明源對目標模板使用給定的實際參數(shù)進行實例化。2) 導(dǎo)出- 表明可以從目標計算出源。3) 友元- 表明源對目標的特定可見性。4) 的實例- 表明源對象是目標類元的一個實例。5)參數(shù)表明操作與參數(shù)的關(guān)系。6) 強類型- 表明目標是源的強類型;強類型是一個類元,其對象都是一個給定父類的子類。7) 精化- 表明源比目標處于更精細的抽象程度上。8) 使用- 表明源元素的語義依賴于目標元素的公共部分的語義。(二)包之間的2種依賴1) 訪問- 表明源包有權(quán)引用目標包中的元素。2)引入- 是一種訪問,它表明把目標包的公共內(nèi)容加入到源包的命名空間(好像這些內(nèi)容已被聲明在源包中)。(三) 用例之間的2種依

14、賴1) 延伸- 表明目標用況延伸了源用況的行為。2)包含- 表明源用況在其指定的位置上顯式地合并了另一個用況的行為。 (四) 對象交互建模之間的3種依賴1) 變成- 描述了目標對象與源對象是相同的,但在后續(xù)的時間點上屬性值、狀態(tài)或角色可能會不同。2) 調(diào)用- 表明源操作調(diào)用目標操作。3) 復(fù)制- 表明目標對象是源對象的精確復(fù)制,但目標對象是獨立的。(五) 狀態(tài)機中的1種依賴1) 發(fā)送- 表明源操作向目標發(fā)送事件。(六) One stereotype is in the context of organizing the elements of your system into subsyste

15、m.1) 跟蹤- 表明目標是源的歷史上祖先。18Associations, Aggregation, & Composition19關(guān)聯(lián)與依賴、泛化的比較依賴是對表示了不同重要級別的類建模,依賴是使用關(guān)系。泛化是對表示了不同抽象級別的類建模,泛化是“is a kindof”關(guān)系。關(guān)聯(lián)是對相互同等的兩個類建模,關(guān)聯(lián)描述了類的對象間相互作用的結(jié)構(gòu)路徑。關(guān)聯(lián)的數(shù)據(jù)驅(qū)動觀點: 對于每一對類,如果需要從一個類的對象到另一個類的對象導(dǎo)航,就要在這兩個類之間說明一個關(guān)聯(lián)。關(guān)聯(lián)的行為驅(qū)動觀點: 對于每一對類,如果一個類的對象要與另一個類中不作為其操作的參數(shù)的對象相互交互,就要在這兩個類之間說明一個關(guān)聯(lián)。21節(jié)

16、點(Node)是一個物理元素,它在運行時存在,代表一個可計算的資源,通常占用一些內(nèi)存和具有處理能力。一個構(gòu)件集合一般來說位于一個節(jié)點,但有可能從一個節(jié)點轉(zhuǎn)到另一個節(jié)點。23UML 預(yù)定義了5種可應(yīng)用于包的構(gòu)造型:1) 虛包- 描述一個包只是其他一些包的視圖。2) 框架- 描述一個主要由模式組成的包。3) 樁- 描述一個作為另一個包的public內(nèi)容代理的包。4) 子系統(tǒng)- 描述一個表示被建模的整個系統(tǒng)的一個獨立部分的包5) 系統(tǒng)- 描述一個表示被建模的整個系統(tǒng)的包。24鏈指明了一個對象向另一個對象(或自身)發(fā)送消息的路徑。多數(shù)時候,這樣標定一個路徑的存在就足夠了。如果需要更精細地表示路徑是如何

17、存在的,可以將鏈的端點用以下標準構(gòu)造型修飾:- 關(guān)聯(lián): 說明對應(yīng)的對象通過關(guān)聯(lián)是可見的。- 自身: 說明對應(yīng)的對象因為是本操作的調(diào)遣者,所以是可見。- 全局: 說明對應(yīng)的對象在全局范圍內(nèi)可見。- 局部: 說明對應(yīng)的對象在局部范圍內(nèi)可見。- 參數(shù): 說明對應(yīng)的對象因為是一個參數(shù),所以是可見。25轉(zhuǎn)換一個轉(zhuǎn)換是兩個狀態(tài)之間的一種關(guān)系,表示對象將在第一個狀態(tài)中執(zhí)行一定的動作,并在某個特定事件發(fā)生而某個特定的條件滿足時進入第二個狀態(tài)。一個轉(zhuǎn)換由5部分組成:1) 源狀態(tài)2) 事件觸發(fā)3) 監(jiān)護條件4) 動作5) 目標狀態(tài)26歷史狀態(tài)允許一個組合狀態(tài)包含順序子狀態(tài),以記住來自組合狀態(tài)的轉(zhuǎn)換之前的最后活動著

18、的子狀態(tài)。27活動圖的幾個基本要素 活動狀態(tài) 活動狀態(tài)之間的轉(zhuǎn)移 判斷: 一種表示判斷決策的特殊活動 保證條件: 只有保證條件為真時轉(zhuǎn)移才發(fā)生。 同步條: 一種表示活動之間的同步的特殊活動, 起點和終點:起點有且只有一個,終點可有一個或多個。28所謂泳道技術(shù),是將活動用虛線分成一些縱向區(qū)域,這些縱向區(qū)域稱為泳道。每個區(qū)域代表一個特定類,或者人,或者部門的責(zé)任區(qū)。 泳道技術(shù)是活動圖中引入的一種面向?qū)ο髾C制??蔀樘崛☆惣胺治龈鱾€對象之間的交互提供方便。一、請參閱課件,完成以下填空:1、UML 1.0是 1997 年發(fā)布的。2、UML為建模者和建模支持工具的開發(fā)者提供了標準的 圖形符號 和正文語法。

19、3、設(shè)有模型元素x,y,若修改x的定義可能引起對y的定義的修改,則稱元素y 依賴于 元素x。4、在關(guān)聯(lián)關(guān)系中,屬性“階元”表示 有多少個對象參與關(guān)聯(lián)。5、當靜態(tài)建模完成后,類的屬性名字 和 類型 肯定被明確定義。6、傳統(tǒng)軟件工程中的可行性研究在RUP中稱為 需求分析(前景分析)。 7、W3C DOM規(guī)范與MSXML之間的關(guān)系在UML中稱為 實現(xiàn) 關(guān)系。8、如果根據(jù)RUP建模,則需求分析在 初始階段 進行,程序設(shè)計在細化 階段進行。9、在描述參與者時,主要考慮它在系統(tǒng)中扮演的 角色 ,而不是在組織中的職位。10、用例描述了系統(tǒng)所執(zhí)行的動作序列集,一個用例是代表軟件系統(tǒng)的一項 功能 。11、系統(tǒng)用

20、例由 參與者 激活。12、用例之間存在三種關(guān)系:類屬(一般化)、包含和擴充。其中,包含和擴充實際上是UML建模元素四種關(guān)系中的 一般化 關(guān)系。13、 事件流 用于規(guī)定用例的行為。14、在UML靜態(tài)建模時,其分析階段主要是通過分析 問題域,確定系統(tǒng)中的類,畫出類圖或動態(tài)圖。15、在UML靜態(tài)建模時,其設(shè)計階段的目的是要確定一種易轉(zhuǎn)化為 代碼 的設(shè)計方案,設(shè)計階段又可分為 結(jié)構(gòu) 設(shè)計和 詳細 設(shè)計。16 主動 對象不需要其他對象請求就主動表現(xiàn)的行為,而反映型對象只是響應(yīng)外部事件,在響應(yīng)一個事件后,又會變回空閑狀態(tài),等待下一個事件。17、UML動態(tài)建模主要通過繪制 順序 圖、協(xié)作圖、 活動 圖和狀態(tài)

21、圖來輔助分析或描述系統(tǒng)用例或類的重要操作的算法。18、在UML動態(tài)建模時,主要通過分析對象的消息傳遞來確定系統(tǒng)的行為,而消息通常表示一個對象要調(diào)用另一個對象中的 操作 。19、在時序圖中,分支或迭代條件使用 括起來,而約束條件使用 括起來。20、在活動圖中, 動作狀態(tài) 表示了正在執(zhí)行的不可分解的計算,而 活動狀態(tài) 是可分解的且可中斷的。21、 狀態(tài) 圖描述了系統(tǒng)對象隨時間變化的動態(tài)行為,并展現(xiàn)了對象狀態(tài)的變化及變化的原因。22、在狀態(tài)圖中,躍遷 表示一個對象內(nèi)部狀態(tài)在某個事件發(fā)生并且滿足某個條件時的轉(zhuǎn)移。23、UML的交互作用圖分為, 順序 圖和 協(xié)作 圖。24、用戶需求報告文檔是客戶、軟件開

22、發(fā)人員和項目管理人員共同工作的基礎(chǔ),是供方交付產(chǎn)品和需方驗收產(chǎn)品的依據(jù)。25、在進行需求分析時,系統(tǒng)分析員必須從 功能性需求、非功能性需求和可用性需求等方面展開分析。26、在UML中,類圖可分為三個層次:概念層、說明層和實現(xiàn)層。 概念層層主要任務(wù)是識別對象和類; 說明層 層主要任務(wù)是定義類的屬性和操作; 實現(xiàn)層 層允許使用編程語言描述類的操作的算法。27、系統(tǒng)界面類的屬性主要是指窗體或表單中的 數(shù)據(jù)類型 ,系統(tǒng)界面類的操作主要是指窗體或表單中的 參數(shù)和返回值 。28、在UML動態(tài)模型中,一個對象在某個時刻如果其屬性具有確定的 變化信息 ,則稱之對象的狀態(tài)。29、在UML動態(tài)模型中, 并發(fā) 表示

23、多線程操作。30、在UML中, 靜態(tài) 圖可以替代傳統(tǒng)軟件工程中的系統(tǒng)模塊結(jié)構(gòu)圖。四、問答題1、在動態(tài)建模技術(shù)中,消息和事件有何區(qū)別?消息:通常表示一個對象要調(diào)用另一個對象中的操作消息:表示操作調(diào)用第一個消息由主動對象發(fā)送。當收到消息時,接收對象立即開始活動,即對象被激活。消息用帶有標簽的箭頭表示。事件:表示一個對象接收到一個消息(1) 調(diào)用事件:調(diào)用事件引發(fā)方法的執(zhí)行(2) 消息事件:消息表示只在對象之間傳遞信息,因此消息事件觸發(fā)的唯一操作 (3) 改變事件:改變事件表示當滿足某種條件時改變對象狀態(tài),改變事件使用關(guān)鍵字when()引用條件。(4) 時間事件:使用關(guān)鍵字when()或after(

24、)說明事件觸發(fā)的時間條件2、在順序圖、協(xié)作圖、活動圖和狀態(tài)圖中能用于用例建模的是哪些圖能用于操作建模的是哪些圖能用于分析對象內(nèi)部行為的是哪些圖用于用例建模的只能是用例圖。用于操作建模的是順序圖、協(xié)作圖、活動圖。用于分析對象內(nèi)部行為的是狀態(tài)圖。3、對象、屬性、服務(wù)的命名規(guī)則是什么? 對象的命名:類的名字應(yīng)符合其包含的每一對象。類的名字,應(yīng)該反映每個對象個體,而不是整個群體。采用名詞或帶有定語的名詞,使用規(guī)范的詞匯,使用問題域?qū)<壹坝脩敉ǔJ褂玫脑~匯。使用適當?shù)恼Z言文字。如:各軟件開發(fā)文檔用中文,類及其屬性和服務(wù)的命名使用英文。(注意:建立中英文命名對照表。)服務(wù)的命名:命名:動詞+名詞屬性的命名

25、:使用英文4、在UML中什么是用例如何識別用例在UML中,用例Use Case規(guī)定了系統(tǒng)或部份系統(tǒng)的行為,描述了系統(tǒng)所執(zhí)行的動作序列集,并為參與者產(chǎn)生一個可供觀察的結(jié)果。一個用例描述一個從頭至尾的完整的功能。面對一個大系統(tǒng),可先列出參與者清單,再對每個參與者列出其用例。可通過以下問題幫助識別用例:每個參與者的任務(wù)是什么有參與者將要創(chuàng)建、存儲、改變、刪除或讀取系統(tǒng)中的信息嗎什么用例會創(chuàng)建、存儲、改變、刪除或讀取該信息參與者需要通知系統(tǒng)外部的突然變化嗎需要通知參與者系統(tǒng)中正在發(fā)生的事情嗎什么用例將支持和維護系統(tǒng)所有功能需求都能被用例執(zhí)行嗎系統(tǒng)需要何種輸入輸出輸入從何來輸出到何處去當前運行系統(tǒng)的主要

26、問題(手工操作、計算機操作)5、UML中有五種圖,分別用于描述什么?用例圖:描述系統(tǒng)功能靜態(tài)圖:描述系統(tǒng)的內(nèi)部結(jié)構(gòu),包括類圖和對象圖行為圖:描述系統(tǒng)對象的行為,包括狀態(tài)圖和活動圖交互圖:描述對象之間的交互關(guān)系,包括時序圖、協(xié)作圖實現(xiàn)圖:描述系統(tǒng)的架構(gòu)與配置,包括組件圖和配置圖6、在UML靜態(tài)建模時,如何繪制類圖?建立類圖主要描述類間關(guān)系:1. 用戶界面類的類圖 2. 實體類的類圖 3. 實現(xiàn)用例的類圖7、需求分析為什么重要為什么難需求分析就是根據(jù)業(yè)務(wù)建模的產(chǎn)品,以及對用戶現(xiàn)場的分析和確認,進行分析,最后書寫用戶需求報告和需求規(guī)格說明書。需求獲取是否成功,直接關(guān)系到軟件開發(fā)的成敗問題。需求分析不

27、徹底或不確定,將使設(shè)計、編碼、測試無法進行用戶需求報告是客戶、軟件開發(fā)人員和項目管理人員共同工作的基礎(chǔ),是供方交付產(chǎn)品和需方驗收產(chǎn)品的依據(jù)需求分析要占整個開發(fā)時間或工作量的30%左右需求獲取的錯誤,屬于軟件開發(fā)中的早期錯誤,但將在后續(xù)的設(shè)計和實現(xiàn)中進行發(fā)散式的傳播。為什么難?用戶需求具有動態(tài)性,即需求的不穩(wěn)定性。用戶需求具有模糊性,即需求的不準確性。用戶最終要和開發(fā)者對需求達成完全一致的認識,并在需求報告上簽字,要承擔(dān)責(zé)任。2、UML中的交互圖有兩種,分別是順序圖和協(xié)作圖,請分析一下兩者之間的主要差別和各自的優(yōu)缺點。掌握利用兩種圖進行的設(shè)計的方法。答:協(xié)作圖可視化地表示了對象之間隨時間發(fā)生的交

28、互,它除了展示對象之間的關(guān)聯(lián),還顯示出對象之間的消息傳遞。與順序圖一樣,協(xié)作圖也展示對象之間的交互關(guān)系。順序圖強調(diào)的是交互的時間順序,而協(xié)作圖強調(diào)的是交互的語境和參與交互的對象的整體組織。順序圖按照時間順序布圖,而協(xié)作圖按照空間組織布圖。順序圖可以清晰地表示消息之間的順序和時間關(guān)系,但需要較多的水平方向的空間。協(xié)作圖在增加對象時比較容易,而且分支也比較少,但如果消息比較多時難以表示消息之間的順序。1、簡述UML中接口與類的區(qū)別?(1) 接口不同于類或類型,它不描述任何結(jié)構(gòu)(因此不包含任何屬性),也不描述任何實現(xiàn)(因此不包含任何實現(xiàn)操作的方法)。(2) 同類一樣,接口可以有一些操作,這些操作可以

29、用可見性、參數(shù)、返回值等約束等來修飾。(3) 像類一樣,一個接口也可以參與泛化、關(guān)聯(lián)和依賴關(guān)系。2、簡述狀態(tài)圖和活動圖的區(qū)別?(1) 活動圖用來建模某個過程的活動序列,以活動為中心。(2) 狀態(tài)圖用來建模對象生命期中的所有階段,以狀態(tài)為中心。(3) 活動圖中一個活動結(jié)束后將立即進入下一個活動,在狀態(tài)圖中狀態(tài)的轉(zhuǎn)移可能需要事件的觸發(fā)。1、簡述面向?qū)ο蟮乃膫€基本特征?(1) 抽象:就是過濾掉對象與當前開發(fā)工作無關(guān)部分特性,只剩下所需要的屬性和操作。(2) 繼承:是指一個對象直接從一個類中得到的屬性和方法。(3) 多態(tài):不同的類有時具有相同名稱的操作。(4) 封裝:實質(zhì)是當一個對象執(zhí)行自己的操作時,

30、它對外界隱藏了操作的細節(jié)。2、類圖與對象圖的區(qū)別?(1) 類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。類圖不但定義了系統(tǒng)中的類,表示了類之間的聯(lián)系(如關(guān)聯(lián)、依賴、聚合等),還描述了類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。(2) 類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。(3) 對象圖是類圖的實例,使用與類圖類似的標識。(4) 它們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。3、UML與開發(fā)語言的區(qū)別?(1) UML是一種可視化建模語言,而不是可視化程序設(shè)計語言,它不能代替其他的程序設(shè)計語言;(2) UML

31、只是一種工具和程序設(shè)計的基礎(chǔ)。4、簡述泛化關(guān)系中的抽象類、葉子類和根類?用于對類的網(wǎng)格結(jié)構(gòu)建模,其中有位于頂層的較為一般的抽象和位于底層的較為特殊的抽象。在這些抽象層次中,經(jīng)常要指明一些類是抽象的,這意味著這些類沒有直接的實例。在uML中,通過把一個類的名稱寫為斜體來指明這個類是抽象的。一個類沒有任何子類,這樣的元素稱作葉子類,在UML中通過在類名的下面寫一個特性leaf來指明。一個類沒有任何父類,這樣的元素稱作根類,在UML中通過在類名的下面寫一個特性root來指明。5、簡述類繼承和接口繼承的區(qū)別我們應(yīng)該盡量使用哪一種類繼承根據(jù)一個對象的實現(xiàn)定義了另一個對象的實現(xiàn)。簡而言之,它是代碼和表示的共享機制。然而,接口繼承描述了一個對象什么時候能被用來替代另一個對象。類繼承是派生中的類將繼承父類的所有屬性和方法,并且可以在派生類里添加自己的屬性和方法,而接口繼承則是在接口里只定義接口的方法,沒有屬性,并且方法不能實現(xiàn),只有在派生他的類才實現(xiàn)該方法。類繼承是編譯的時候新建對象,而接口實例是在運行時刻創(chuàng)建對象。我們應(yīng)該盡量使用接口繼承,類繼承會產(chǎn)生類爆炸現(xiàn)象。2什么是高內(nèi)聚度 高內(nèi)聚度是對一個類中的各個職責(zé)之間相關(guān)程度和集中程度的度量。一個具有高度相關(guān)職責(zé)的類并且這個類所能完成的工作量不是特別巨大,那么它就具有高內(nèi)聚度。包括兩個意思:不要給一個類分派太多的職責(zé),在履行職責(zé)時盡量將部分職責(zé)分

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論