高級(jí)軟件工程標(biāo)準(zhǔn)答案_第1頁(yè)
高級(jí)軟件工程標(biāo)準(zhǔn)答案_第2頁(yè)
高級(jí)軟件工程標(biāo)準(zhǔn)答案_第3頁(yè)
高級(jí)軟件工程標(biāo)準(zhǔn)答案_第4頁(yè)
高級(jí)軟件工程標(biāo)準(zhǔn)答案_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、解釋下列概念學(xué)科:相對(duì)獨(dú)立的知識(shí)體系。方法:實(shí)現(xiàn)一個(gè)目標(biāo)或做某事的方式、技巧、技術(shù)或系統(tǒng)化過程。方法學(xué):對(duì)某個(gè)\o"知識(shí)"知識(shí)領(lǐng)域探索知識(shí)的原則或方法而作的系統(tǒng)分析。模型:對(duì)現(xiàn)實(shí)(事物或?qū)嶓w)的簡(jiǎn)化(或抽象)表示。模型是抽象的產(chǎn)物!視圖:在SQL中:和物理表相對(duì)應(yīng),臨時(shí)性的虛表。在MVC軟件架構(gòu)模式中:圖形界面。在軟件工程中:指從系統(tǒng)的令人感興趣的視點(diǎn)依某種視角,通過壓縮細(xì)節(jié),只保留必要的元素而形成的簡(jiǎn)潔的系統(tǒng)表示模型。即,視圖是模型的某一選定刻面即簡(jiǎn)潔表示。概念模型:是對(duì)真實(shí)世界中問題域內(nèi)的事物的描述,不是對(duì)軟件設(shè)計(jì)的描述。概念模型=功能模型+結(jié)構(gòu)模型+行為模型。組件:系統(tǒng)的一個(gè)物理實(shí)現(xiàn)塊??蚣埽菏钦麄€(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法。架構(gòu):存儲(chǔ)在ActiveDirectory中的對(duì)象類別和屬性的描述。對(duì)于每一個(gè)對(duì)象類別來說,該架構(gòu)定義了對(duì)象類必須具有的屬性,它也可以有附加的屬性,并且該對(duì)象可以是它的父對(duì)象。信息域:一系列關(guān)聯(lián)信息的集合而形成的一個(gè)領(lǐng)域。用例:對(duì)一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作將產(chǎn)生對(duì)特定的參與者有價(jià)值而且可觀察的結(jié)果。實(shí)體對(duì)象:具有圖形表示的數(shù)據(jù)庫(kù)對(duì)象。軟件體系結(jié)構(gòu):是一組體系結(jié)構(gòu)元素的特定組織形式。體系結(jié)構(gòu)元素分為3類:負(fù)責(zé)完成數(shù)據(jù)加工的處理元素;作為被加工的信息的數(shù)據(jù)元素;把體系結(jié)構(gòu)的不同部分連接到一起的連接元素。ORM:對(duì)象-關(guān)系映射,主要實(shí)現(xiàn)程序?qū)ο蟮疥P(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)的映射。簡(jiǎn)答題2.1什么是模型?為什么要建立模型?建模的原則是什么?模型:對(duì)現(xiàn)實(shí)(事物或?qū)嶓w)的簡(jiǎn)化(或抽象)表示。模型是抽象的產(chǎn)物!為什么建模(軟件建模)?清楚、準(zhǔn)確、可視地說明與定義系統(tǒng)的結(jié)構(gòu)與行為的方法(簡(jiǎn)化問題復(fù)雜度,分析定義);作為指導(dǎo)系統(tǒng)構(gòu)造的基礎(chǔ)與模板(設(shè)計(jì)基礎(chǔ));作為涉眾(stakeholder利益相關(guān)者)交流的工具與成果(交流);對(duì)分析與決策的結(jié)果規(guī)范化、文檔化(成果)。建模原則((不同程度、細(xì)度、粒度、維度)):僅當(dāng)需要模型時(shí),才夠建(按需構(gòu)建)選擇要?jiǎng)?chuàng)建什么模型,對(duì)如何動(dòng)手解決問題和如何形成解決方案有著意義深遠(yuǎn)的影響。(選擇構(gòu)建)可以在不同的精度級(jí)別上表示每一種模型。(分層構(gòu)件)最好的模型是與現(xiàn)實(shí)相聯(lián)系的(一致構(gòu)建)單個(gè)模型或視圖是不充分的。對(duì)每個(gè)重要的系統(tǒng)最好用一組幾乎獨(dú)立的模型從多個(gè)視角去處理。這些視圖一起從整體上描繪了軟件藍(lán)圖(組合構(gòu)建。功能、結(jié)構(gòu)、行為模型)盡可能使用草圖討論,重要程度不足的草圖模型直接入文檔,重要性高的圖使用CASE工具繪制成藍(lán)圖入文檔。每個(gè)模型應(yīng)配有必要的文字說明(數(shù)據(jù)字典)。2.2什么是問題域和系統(tǒng)責(zé)任?舉例說明其區(qū)別與聯(lián)系?問題域(問題空間):待開發(fā)系統(tǒng)的應(yīng)用領(lǐng)域,即在客觀世界中由該系統(tǒng)處理的業(yè)務(wù)范圍。如要為銀行開發(fā)一個(gè)業(yè)務(wù)處理系統(tǒng),銀行就是這個(gè)系統(tǒng)的問題域。銀行的日常業(yè)務(wù)(如金融業(yè)務(wù)、個(gè)人儲(chǔ)蓄、國(guó)債發(fā)行、投資管理等)、行政管理及與此有關(guān)的人和物都屬于問題域。系統(tǒng)責(zé)任:被開發(fā)系統(tǒng)應(yīng)具有的職能。1.(數(shù)據(jù)/屬性屬于系統(tǒng)責(zé)任范疇-存儲(chǔ)/記錄功能)2.系統(tǒng)責(zé)任和問題域語(yǔ)義上有很大部分是重疊的,但有區(qū)別。如前述銀行業(yè)務(wù)處理系統(tǒng),銀行就是這個(gè)系統(tǒng)的問題域,銀行的日常業(yè)務(wù)(如金融業(yè)務(wù)、個(gè)人儲(chǔ)蓄、國(guó)債發(fā)行和投資管理等)、行政管理及與此有關(guān)的人和物都屬于問題域。盡管銀行內(nèi)部的行政管理屬于問題域,但是在當(dāng)前的這個(gè)業(yè)務(wù)處理系統(tǒng)中并不屬于系統(tǒng)責(zé)任。另一方面,像對(duì)計(jì)算機(jī)信息的定期備份這樣的功能屬于系統(tǒng)責(zé)任,但不屬于問題域。識(shí)別對(duì)象的系統(tǒng)責(zé)任需要合理的抽象:例如,開發(fā)圖書館管理系統(tǒng)和開發(fā)書店圖書銷售管理系統(tǒng)均涉及書籍對(duì)象。但抽象卻不同:前者要設(shè)計(jì)一個(gè)BOOK類,且每本書均為該類的一個(gè)對(duì)象,因?yàn)橄到y(tǒng)要記錄每本書借給哪個(gè)讀者;后者中,只需把同一版本的一種書看成一個(gè)對(duì)象類,并記錄其書名、數(shù)量、單價(jià)等信息即可。2.4什么是方法?它有哪些構(gòu)成要素?方法:實(shí)現(xiàn)一個(gè)目標(biāo)或做某事的方式、技巧、技術(shù)或系統(tǒng)化過程。方法構(gòu)成:基本概念+原理+運(yùn)用過程+檢驗(yàn)/評(píng)價(jià)標(biāo)準(zhǔn)+實(shí)例。2.5什么是軟件模型視圖?建模時(shí)創(chuàng)建哪些視圖?(多視角建模)軟件工程中:指從系統(tǒng)的令人感興趣的視點(diǎn)依某種視角,通過壓縮細(xì)節(jié),只保留必要的元素而形成的簡(jiǎn)潔的系統(tǒng)表示模型。即,視圖是模型的某一選定刻面即簡(jiǎn)潔表示。表2-1模型視圖視圖名稱視圖內(nèi)容圖形元素觀察角度用戶模型視圖(用例視圖)系統(tǒng)的功能和行為能力建模用例圖用戶、分析師、架構(gòu)師,面向功能的劃分結(jié)構(gòu)模型視圖(設(shè)計(jì)視圖)指領(lǐng)域問題的靜態(tài)結(jié)構(gòu)(類、對(duì)象和關(guān)系)建模類圖、對(duì)象圖設(shè)計(jì)師,面向結(jié)構(gòu)的劃分,類和接口,及其關(guān)系行為模型視圖(進(jìn)程視圖)系統(tǒng)的動(dòng)態(tài)或行為建?;顒?dòng)圖、狀態(tài)圖、交互圖設(shè)計(jì)師,面向線程、進(jìn)程實(shí)現(xiàn)模型視圖(實(shí)現(xiàn)視圖)組件模型,系統(tǒng)的結(jié)構(gòu)建模組件圖設(shè)計(jì)師、架構(gòu)師進(jìn)行組件配置、發(fā)布的設(shè)計(jì)環(huán)境模型視圖(實(shí)施視圖)系統(tǒng)物理結(jié)構(gòu),組件與物理節(jié)點(diǎn)的配置、發(fā)布、交付、安裝模型部署圖(實(shí)施圖)軟件運(yùn)行環(huán)境、系統(tǒng)的拓?fù)浣Y(jié)構(gòu)、實(shí)施方案設(shè)計(jì)2.6舉例說明系統(tǒng)、模型與視圖三者的關(guān)系?系統(tǒng)、模型與視圖關(guān)系:模型是系統(tǒng)的抽象表示、視圖刻畫模型的某個(gè)刻面,一個(gè)模型往往由其多個(gè)視圖表示,一個(gè)系統(tǒng)的模型和其視圖往往有重疊。例如:System:航空器Models:航空器仿真器(模型1),比例模型(模型2)Views(模型1):設(shè)計(jì)藍(lán)圖,電子線路視圖,燃料系統(tǒng)視圖(藍(lán)圖視圖含有其他兩子系統(tǒng)標(biāo)識(shí)成分)2.7面向?qū)ο蟮娜髾C(jī)制是什么?解釋他們的主要作用面向?qū)ο蟮娜髾C(jī)制是封裝、繼承和多態(tài).封裝提供了一個(gè)有效的途徑來保護(hù)數(shù)據(jù)不被意外的破壞。繼承主要實(shí)現(xiàn)重用代碼,節(jié)省開發(fā)時(shí)間。編譯時(shí)的多態(tài)性為我們提供了運(yùn)行速度快的特點(diǎn),而運(yùn)行時(shí)的多態(tài)性則帶來了高度靈活和抽象的特點(diǎn)。2.8簡(jiǎn)單闡述KarlE.Wiegers關(guān)于軟件需求的描述。2.9舉例說明軟件需求三個(gè)層次之間的關(guān)系。三種需求關(guān)系示例一:業(yè)務(wù)需求可能是:“用戶能有效地糾正文檔中的拼寫錯(cuò)誤”,該產(chǎn)品的包裝盒封面上可能會(huì)標(biāo)明這是個(gè)滿足業(yè)務(wù)需求的拼寫檢查器。對(duì)應(yīng)的用戶需求可能是:找出文檔中的拼寫錯(cuò)誤并通過一個(gè)提供的替換項(xiàng)列表來供選擇替換拼錯(cuò)的詞。對(duì)應(yīng)的軟件(功能)需求可能是:找到并高亮度提示錯(cuò)詞;顯示提供替換詞的對(duì)話框以及實(shí)現(xiàn)整個(gè)文檔范圍的替換。三種需求關(guān)系例證二:業(yè)務(wù)需求可能是:公司內(nèi)部,所有部門數(shù)據(jù)實(shí)現(xiàn)共享用戶需求:能通過方便的操作方式將當(dāng)部門數(shù)據(jù)匯總到總公司的中心數(shù)據(jù)庫(kù)中。或:分布存儲(chǔ),但用戶能訪問自由訪問其它部門的數(shù)據(jù)紅色為準(zhǔn)確找到的,綠色為老師附帶給的答案,(只有2.13的第一問是在網(wǎng)上找的)2.10需求分析面臨的主要挑戰(zhàn)是什么?問題域和系統(tǒng)責(zé)任的復(fù)雜性(隔行如隔山。未知領(lǐng)域出現(xiàn)。更清晰的理解、更高明的見解!故需簡(jiǎn)單直觀高效的方法)交流問題(共同語(yǔ)言)需求的不斷變化(問題域本身、客戶主觀因素、市場(chǎng)競(jìng)爭(zhēng)、經(jīng)費(fèi)與技術(shù)因素等賭友影響。故需要凍結(jié)相對(duì)穩(wěn)定的需求)軟件復(fù)用的要求(軟件復(fù)用是提高軟件開發(fā)效率,改善軟件質(zhì)量的重要技術(shù)。故需復(fù)用機(jī)制)2.11簡(jiǎn)述軟件需求分析的主要步驟與過程。問題(需求)獲?。╡licitation)(進(jìn)一步分為訪談?wù){(diào)研、誘導(dǎo)澄清子過程)分析編寫規(guī)格說明(specification)驗(yàn)證(verification)2.12簡(jiǎn)述軟件需求建模的主要方法及其特點(diǎn)。(信息、功能分解、結(jié)構(gòu)和OO)方法:功能分解+結(jié)構(gòu)化(面向數(shù)據(jù)流的DFD)+信息建模(面向信息結(jié)構(gòu)的Jackson,ERD)+OO功能分解(優(yōu)點(diǎn):易理解、抽象原則、模塊化;缺點(diǎn):易變不穩(wěn)、接口非問題域事物、不全面)結(jié)構(gòu)化(優(yōu)點(diǎn):較全面、逐步求精的難度分解原則、分析到設(shè)計(jì)的指導(dǎo)性原則;缺點(diǎn):側(cè)重功能、概念體系非問題域、轉(zhuǎn)化不嚴(yán)格、概念各不同)信息建模(優(yōu)點(diǎn)::實(shí)體抽象、靜態(tài)結(jié)構(gòu)描述、轉(zhuǎn)化嚴(yán)格、理論體系完整;不足:側(cè)重?cái)?shù)據(jù))面向?qū)ο螅ㄌ攸c(diǎn):?jiǎn)栴}域的事物,概念一致、抽象、分類、封裝、信息隱蔽、消息通訊、多態(tài);優(yōu)點(diǎn):概念一致、思維一致、模型穩(wěn)定、可維護(hù)性高、模型可復(fù)用性強(qiáng)、有助于提高開發(fā)效率與質(zhì)量)2.13簡(jiǎn)述統(tǒng)一建模語(yǔ)言(UML)的主要作用及其和OO方法之間的關(guān)系。作用:uml在面向?qū)ο蠓治龊驮O(shè)計(jì)中具有重大的作用。從應(yīng)用的角度看,當(dāng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)時(shí),首先是描述需求;其次根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);第三步是描述系統(tǒng)的行為。關(guān)系:建模使用OO方法時(shí),才用UML-建模語(yǔ)言;UML是OMG推薦的統(tǒng)一、標(biāo)準(zhǔn)化、廣泛使用的OO建模語(yǔ)言。2.14UML由哪些部分組成?簡(jiǎn)述他們的作用?UML概念模型UML概念模型UML構(gòu)造塊((vocabulary/syntax))規(guī)則(semantics)公共機(jī)制(如擴(kuò)展機(jī)制)構(gòu)造塊:UML的模型元素,是模型的主體。規(guī)則:支配基本構(gòu)造塊如何放在一起。不能簡(jiǎn)單地把UML的構(gòu)造塊按隨機(jī)的方式堆放在一起。像任何語(yǔ)言一樣,UML有一套規(guī)則。公共機(jī)制:運(yùn)用于整個(gè)UML的公共機(jī)制、擴(kuò)展機(jī)制。2.15簡(jiǎn)述用例建模步驟的過程?(識(shí)別角色、識(shí)別場(chǎng)景、辨識(shí)用例、細(xì)化用例、識(shí)別角色和用例的關(guān)系、必要時(shí),使用包簡(jiǎn)化用例圖)識(shí)別角色識(shí)別場(chǎng)景辨識(shí)用例細(xì)化用例識(shí)別角色、用例中的關(guān)系必要時(shí),使用包簡(jiǎn)化用例圖2.16簡(jiǎn)述用例建模的主要技術(shù)。(用戶目標(biāo)技術(shù)、CRUD、事件分析、短語(yǔ)動(dòng)詞識(shí)別)一:用戶目標(biāo)技術(shù)-與用戶交談,討論他們?yōu)樾孪到y(tǒng)設(shè)定的目標(biāo)。二:CRUD(Create,ReadorReport,UpdateandDelete)技術(shù)-分析師標(biāo)識(shí)由系統(tǒng)處理所有的數(shù)據(jù)元素,并建立創(chuàng)建,報(bào)告,更新和刪除數(shù)據(jù)項(xiàng)的用例。三:事件分解技術(shù)-此技術(shù)側(cè)重于辨識(shí)要求系統(tǒng)作出響應(yīng)的事件以及確定系統(tǒng)必須如何作出響應(yīng)。四:動(dòng)詞短語(yǔ)識(shí)別技術(shù),從問題域中搜尋系統(tǒng)使用的動(dòng)詞短語(yǔ),作為候選用例,然后抽象、排除不合理用例。2.17簡(jiǎn)述對(duì)象模型的目標(biāo)及過程。(識(shí)辨對(duì)象與類、準(zhǔn)備數(shù)據(jù)字典、識(shí)辨關(guān)聯(lián)與聚集、識(shí)辨對(duì)象與鏈的屬性、使用繼承組織和簡(jiǎn)化類、復(fù)審并精化模型、分組類成為模塊)–識(shí)辨對(duì)象與類(Identifyobjectsandclasses)–準(zhǔn)備數(shù)據(jù)字典(Preparedatadictionary)–識(shí)辨關(guān)聯(lián)與聚集(Identifyassociationsandaggregations)–識(shí)辨對(duì)象與鏈的屬性(Identifyattributesofobjectsandlinks)–使用繼承組織和簡(jiǎn)化(對(duì)象與類Organizeandsimplifyusinginheritance–復(fù)審并精化模型(Iterateandrefinethemodel)分組類成為模塊(主題Groupclassesintomodules)2.18簡(jiǎn)述系統(tǒng)設(shè)計(jì)的主要任務(wù)。(設(shè)計(jì)目標(biāo)、系統(tǒng)分解、目標(biāo)實(shí)現(xiàn)與優(yōu)化)識(shí)別設(shè)計(jì)目標(biāo)(主要和優(yōu)先滿足的系統(tǒng)質(zhì)量需求)設(shè)計(jì)初始系統(tǒng)分解-使用標(biāo)準(zhǔn)架構(gòu)風(fēng)格為起點(diǎn)細(xì)化分解模型,實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。2.19系統(tǒng)設(shè)計(jì)的主要產(chǎn)品有哪些?設(shè)計(jì)目標(biāo)(總則、決策)軟件體系結(jié)構(gòu)問題分解和求解方案構(gòu)建的高層策略的選擇子系統(tǒng)職責(zé)、相互依賴關(guān)系映射子系統(tǒng)到硬件和軟件組件全局?jǐn)?shù)據(jù)流、存取控制和數(shù)據(jù)存儲(chǔ)的設(shè)計(jì)決策邊界用例:描述系統(tǒng)配置、起、停和出錯(cuò)處理三、選擇填空(25分)1.下列關(guān)于用例特征的描述錯(cuò)誤的是(D)A.為角色提供某種可度量?jī)r(jià)值的一系列活動(dòng)的抽象描述B.一個(gè)用例實(shí)現(xiàn)用戶的一個(gè)具體目標(biāo)C.一個(gè)用例是用戶的一個(gè)可見功能D.一個(gè)用例是場(chǎng)景的實(shí)例2.CMM能力成熟度模型定義了一個(gè)階梯式演進(jìn)框架,分為五個(gè)等級(jí),按從低到高次序是(初始、重復(fù)、定義、管理、優(yōu)化)A.初始級(jí)、已管理級(jí)、已定義級(jí)、可重復(fù)級(jí)、優(yōu)化級(jí)B.初始級(jí)、已定義級(jí)、已管理級(jí)、可重復(fù)級(jí)、優(yōu)化級(jí)C.初始級(jí)、已管理級(jí)、已定義級(jí)、可重復(fù)級(jí)、優(yōu)化級(jí)D.初始級(jí)、已定義級(jí)、可重復(fù)級(jí)、已管理級(jí)、優(yōu)化級(jí)3.使用Abbott自然語(yǔ)言識(shí)別法分析建模時(shí),常常將(B)A.普通名詞映射為實(shí)例,專有名詞映射為類B.普通名詞映射為類,專有名詞映射為實(shí)例C.普通名詞映射為類,專有名詞和形容詞映射為類的屬性D.專有名詞映射為類,Doing型動(dòng)詞映射為類的操作4.Jacobson,1999認(rèn)為分析對(duì)象模型由三類對(duì)象構(gòu)成,它們是(C)A.分析對(duì)象、設(shè)計(jì)對(duì)象和實(shí)現(xiàn)對(duì)象B.類、類間關(guān)系與約束C.實(shí)體對(duì)象、邊界對(duì)象和控制對(duì)象D.數(shù)據(jù)對(duì)象、結(jié)構(gòu)對(duì)象和行為對(duì)象5.面向?qū)ο蠓治雠c設(shè)計(jì)的起點(diǎn)是(C)A.企業(yè)需求描述B.功能需求描述C.用例需求描述D.靜態(tài)結(jié)構(gòu)需求描述6.根據(jù)KarlE.Wiegers的描述,軟件需求分為(J)和非功能性需求兩個(gè)部分。其中,(J)性需求又進(jìn)一步分為(C)、(D)和(J)三個(gè)層次。(C)需求從總體上描述了為什么要開發(fā)系統(tǒng),組織希望達(dá)到什么目標(biāo)。一般使用遠(yuǎn)景與范圍文檔來記錄該需求。(D)反映用戶對(duì)所要開發(fā)的系統(tǒng)提出的各種要求和期望,其中包括系統(tǒng)的功能、性能、保密和交互方式等(A)性要求,以及成本、交付時(shí)間和資源使用限制等非技術(shù)性要求。選項(xiàng):A.技術(shù)B.非技術(shù)C.業(yè)務(wù)需求D.用戶需求E.性能需求F.效能需求G.功能性H.系統(tǒng)需求I.非功能性J.功能需求7.根據(jù)KarlE.Wiegers,軟件的功能需求主要來源于(B)、(C)、(D)(F)和(G)。選項(xiàng):A.技術(shù)需求B.用戶需求C.質(zhì)量屬性D.系統(tǒng)需求E.非技術(shù)性需求F.業(yè)務(wù)規(guī)則G.約束8.UML概念模型的構(gòu)成元素分類包括(B)A.結(jié)構(gòu)事物、行為事物、分組事物和注釋事物B.構(gòu)造塊、規(guī)則和公共機(jī)制C.事物、關(guān)系和圖D.說明機(jī)制、公共劃分、修飾和擴(kuò)展機(jī)制9.UML構(gòu)造塊包括(B)A.構(gòu)造塊、規(guī)則和公共機(jī)制B.事物、關(guān)系和圖C.結(jié)構(gòu)事物、行為事物、分組事物和注釋事物D.詳述、修飾、通用劃分和擴(kuò)展機(jī)制10.UML事物構(gòu)造塊包括(C)A.構(gòu)造塊、規(guī)則和公共機(jī)制B.事物、關(guān)系和圖C.結(jié)構(gòu)事物、行為事物、分組事物和注釋事物D.詳述、修飾、通用劃分和擴(kuò)展機(jī)制11對(duì)一類的意義進(jìn)行描述的正確方式是采用(C)A.標(biāo)記值B.規(guī)格描述C.注釋D.構(gòu)造型12將下述UML工具模型依據(jù)其建模作用,填入隨后的軟件架構(gòu)4+1視圖模型中的對(duì)應(yīng)模型標(biāo)識(shí)位置中(見用例圖、對(duì)象圖示例)。這些UML工具是:類圖、組件圖、順序圖、協(xié)作圖、狀態(tài)圖、部署圖。圖1.軟件架構(gòu)4+1視圖模型21閱讀下面的類圖,下述說法不正確的是(B)A.一個(gè)航標(biāo)監(jiān)控器可以監(jiān)控一個(gè)浮標(biāo)的多個(gè)雷達(dá)感應(yīng)器B.一個(gè)航標(biāo)監(jiān)控器可以監(jiān)控一個(gè)立標(biāo)和一個(gè)浮標(biāo)C.一個(gè)航標(biāo)監(jiān)控器可以監(jiān)控一個(gè)立標(biāo)的多個(gè)航標(biāo)指示燈D.一個(gè)航標(biāo)監(jiān)控器可以監(jiān)控一個(gè)立標(biāo)或一個(gè)浮標(biāo)22下圖是訂單管理系統(tǒng)中計(jì)算訂單價(jià)格的順序圖,根據(jù)該圖可知訂單類具有(A)組服務(wù)A.getProduct(),getPriceDetails(),getQuantity(),getBasePrice(),calculateDiscounts(),getdiscountInfo()B.calculatePrice(),getBasePrice(),calculateDiscounts()C.getProduct(),getPriceDetails(),getQuantity()D.calculatePrice()23當(dāng)想要澄清和探索涉及多個(gè)對(duì)象的單個(gè)用例的情況時(shí)候,適于用A.交互圖B.狀態(tài)轉(zhuǎn)換圖C.活動(dòng)圖D.類圖24當(dāng)想要澄清和探索一個(gè)對(duì)象在多個(gè)用例中的作用的時(shí)候,適于用A.交互圖B.狀態(tài)轉(zhuǎn)換圖C.活動(dòng)圖D.類圖25當(dāng)想要澄清和探索多個(gè)對(duì)象在多個(gè)用例中的作用的時(shí)候,適于用A.交互圖B.狀態(tài)轉(zhuǎn)換圖C.活動(dòng)圖D.類圖26根據(jù)下述Java源代碼繪制順序圖publicclassSale{privateList<SaleLineItem>items=newArrayList<SaleLineItem>();publicMoneygetTotal(){Moneytotal=newMoney();Moneysubtotal=null;For(SaleLineItemlineItem:items){Subtotal=lineItem.getSubtotal();Total.add(subtotal);}returntotal;}}27持久化對(duì)象的主要的候選對(duì)象是()A.邊界對(duì)象以及多對(duì)多關(guān)聯(lián)類B.問題域?qū)嶓w對(duì)象以及多對(duì)多關(guān)聯(lián)類C.控制對(duì)象和實(shí)體對(duì)象D.控制對(duì)象以及多對(duì)多關(guān)聯(lián)類四、關(guān)系辨識(shí)(25分)。1給出下面陳述的UML類圖描述。一個(gè)公司包含若干個(gè)部門,每個(gè)部門有若干名職員,有些職員是經(jīng)理,每個(gè)部門有一名經(jīng)理負(fù)責(zé)管理該部門的下屬職員。2.給出下面陳述的UML類圖描述。UML概念模型包括三類元素:構(gòu)造塊、規(guī)則和公共機(jī)制。其中,構(gòu)造塊又分為事物、關(guān)系和圖,而圖分為行為圖和結(jié)構(gòu)圖。3.辨識(shí)下述用例之間的關(guān)系(includes或extends),并標(biāo)于圖中。<<include>><<include>><<extends>><<extends>><<include>><<include>><<extends>><<extends>>4.分析下面的類圖,繪制新的類圖將下述多對(duì)多關(guān)系轉(zhuǎn)換成一對(duì)多關(guān)系。(5分)5.下面是關(guān)于領(lǐng)域?qū)ο驟mployee和Work及其測(cè)試類EmployeeWork的Java描述,用UML類圖描述上述三類及其關(guān)系importjava.util.ArrayList;publicclassEmployeeWork{ publicstaticvoidmain(String[]args){ Employee[]em=newEmployee[2]; Work[]wk=newWork[3]; em[0]=newEmployee(11); em[1]=newEmployee(12); wk[0]=newWork(21); wk[1]=newWork(22); wk[2]=newWork(23); em[0].addWork(wk[0]); em[0].addWork(wk[2]);em[1].addWork(wk[0]);wk[0].addEmployee(em[0]);wk[0].addEmployee(em[1]);wk[2].addEmployee(em[0]);System.out.println(java.util.Arrays.toString(em));System.out.println(java.util.Arrays.toString(wk));}}classEmployee{privateintemployeeNo;privateArrayList<Work>works=newArrayList<Work>();publicEmployee(intemployeeNo){this.employeeNo=employeeNo;}publicvoidaddWork(Workwork){ works.add(work);}publicArrayList<Work>getWorkList(){ returnworks;}}classWork{ privateintwNo; privateArrayList<Employee>employees=newArrayList<Employee>(); publicWork(intwNo){ this.wNo=wNo; } publicvoidaddEmployee(Employeeemployee){ employees.add(employee); } publicArrayList<Employee>getWorkList(){ returnemployees; }}Employee和Work類的關(guān)系不確定所以沒畫。6常見的UML事物間的關(guān)系包括關(guān)聯(lián)、聚合、組合、泛化、依賴和實(shí)現(xiàn),下列符號(hào)是他們的UML圖形表示,請(qǐng)將它們代表的關(guān)系的名稱填入相應(yīng)的圖符后面的括號(hào)中(如:關(guān)聯(lián)所示)。(依賴)(依賴)(泛化)(組合)(實(shí)現(xiàn))(聚合)(關(guān)聯(lián))7判斷下列類之間的關(guān)系,并用連線和右面的關(guān)系類別關(guān)聯(lián)。文件–文件內(nèi)容文件–文件編輯器文件–Word文件編輯器–文本編輯器文件–文件格式文件格式--文件閱讀器Web頁(yè)面–超連接文件聚合組合繼承關(guān)聯(lián)8給出下列UML事物之間的關(guān)系<<extends>><<extends>><<include>><<include>><<include>><<extends>><<extends>><<include>><<include>><<include>>9給出下列UML事物之間的關(guān)系Window類實(shí)現(xiàn)接口AbstractWindow,ConsoleWindow和DialogBox是它的子類,一個(gè)窗口可以包含0或多個(gè)Component,如Label和Combox等。0..*10..*110下面關(guān)于用例描述錯(cuò)誤的是(b)A.用例是涉眾交流的手段之一B.用例是人機(jī)交互設(shè)計(jì)的基礎(chǔ)C.用例是黑盒測(cè)試用例設(shè)計(jì)的基礎(chǔ)。D.用例描述的是用戶交互11以下是有關(guān)格式化文檔處理發(fā)生的事件,最適合作為用戶用例的是()A.定義一個(gè)風(fēng)格B.使用一個(gè)風(fēng)格格式化一個(gè)文檔C.改變一個(gè)風(fēng)格D.拷貝一個(gè)文檔的風(fēng)格到另一文檔12使用連線將下面左右兩列有對(duì)應(yīng)關(guān)系的概念關(guān)聯(lián)用戶模型視圖對(duì)象圖結(jié)構(gòu)模型視圖用例圖類圖行為模型視圖組件圖活動(dòng)圖實(shí)現(xiàn)模型視圖部署圖狀態(tài)圖環(huán)境模型視圖交互圖13.使用連線指出下述各UML類圖與軟件開發(fā)階段之間的關(guān)系實(shí)現(xiàn)分析設(shè)計(jì)概念15給出下面陳述的UML類圖描述。一個(gè)人可能持有0或多張卡,每張卡屬于0個(gè)(不指名)或一人持有,每張卡可能授權(quán)0或多個(gè)人使用,每個(gè)人可能被授權(quán)使用0或多張卡16給出下面陳述的UML類圖描述。一個(gè)程序由語(yǔ)句塊組成,每個(gè)語(yǔ)句塊或者是(is-a)簡(jiǎn)單語(yǔ)句、或者是復(fù)合語(yǔ)句;而一個(gè)復(fù)合語(yǔ)句包含0個(gè)或多個(gè)語(yǔ)句塊。17下圖中類“教授”和“人”之間的單項(xiàng)關(guān)聯(lián)“指導(dǎo)”的完整含義是什么?一個(gè)教授可以指導(dǎo)0個(gè)人或者多個(gè)人。18給出下面陳述的概念模型的UML類圖描述。一部電梯系統(tǒng)包含一個(gè)電梯控制器,一個(gè)轎廂系統(tǒng),多個(gè)樓層面板系統(tǒng)及一個(gè)緊急制動(dòng)器幾個(gè)部分組成。轎廂系統(tǒng)由轎廂、轎廂驅(qū)動(dòng)系統(tǒng)、兩扇電梯門,轎廂呼叫按鈕,廂內(nèi)樓層指示器和運(yùn)動(dòng)方向指示器組成,它們均由電梯控制器直接控制;樓層面板系統(tǒng)包含樓層面板控制器、上下樓層呼叫按鈕,大廳樓層指示器和大廳運(yùn)動(dòng)方向指示器幾部分組成,面板控制器負(fù)責(zé)該部分的控制及其和電梯控制器的交互19給出下述實(shí)體概念模型持久化的數(shù)據(jù)庫(kù)解決方案。可以設(shè)計(jì)六張表,單獨(dú)的Student表、Teacher表、Course表,以及學(xué)生和老師的關(guān)系表S_T表、學(xué)生和課程的關(guān)系表S_C表以及老師和課程的關(guān)系表T_C表。20下述Java程序的輸出結(jié)果是什么?它違反了什么設(shè)計(jì)原則?為什么?1000(違反了李氏替換原則,因?yàn)樵趖est類中,用A定義,用B實(shí)例化,所以,在調(diào)用computer方法時(shí),先調(diào)用B中的compute方法,A的同名compute方法被覆蓋。)classA{publicintcompute(inta,intb){returna/b;}}classBextendsA{ publicintcompute(inta,intb){ returna*b; } }publicclassTest{ publicstaticvoidmain(String[]args){ intc1=50,c2=20; Aa=newB(); System.out.println("Useparentclasstocompute"+c1+"/"+c2+"="+pute(c1,c2)); } }21閱讀下述Java程序,回答后續(xù)問題publicclassChartRenderClient{ publicstaticvoidmain(String[]args){ ChartRendercr=newChartRender(); cr.display("pie"); }}classPie{ publicvoiddisplay(){ System.out.println("顯示餅圖"); }}classBar{ publicvoiddisplay(){ System.out.println("顯示棒圖"); }}classChartRender{ publicvoiddisplay(StringchartType){ if(chartType.equals("pie")){ Piechart=newPie(); chart.display(); } elseif(chartType.equals("bar")){ Barchart=newBar(); chart.display(); }}}(1)使用UML類圖描述程序結(jié)構(gòu)(2)按照上述代碼的思路,假如服務(wù)端ChartRender要提供新的統(tǒng)計(jì)圖,如折線Line程序需作什么變動(dòng)?2.1增新類LineclassLine{ publicvoiddisplay(){ System.out.println("顯示折線圖"); }}2.2修改CharTrender類的display方法,增加控制策略代碼……elseif(chartType.equals("line")){ Linechart=newLine(); chart.display(); }(3)上述變化說明服務(wù)端部分的設(shè)計(jì)違反了什么原則?為什么?3.1違背依賴倒置原則-高層ChartRender依賴了底層Line3.2違背了開閉原則-底層變化增Line類導(dǎo)致高層ChartType的修改(4)改變服務(wù)端部分的設(shè)計(jì)架構(gòu),使其滿足設(shè)計(jì)原則?(5)給出你的設(shè)計(jì)方案的Java實(shí)現(xiàn),客戶端顯示折線圖。classPieextendsAbstractChart{ publicvoiddispl

溫馨提示

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

評(píng)論

0/150

提交評(píng)論