軟件工程復(fù)習(xí)題及答案(完整)_第1頁(yè)
軟件工程復(fù)習(xí)題及答案(完整)_第2頁(yè)
軟件工程復(fù)習(xí)題及答案(完整)_第3頁(yè)
軟件工程復(fù)習(xí)題及答案(完整)_第4頁(yè)
軟件工程復(fù)習(xí)題及答案(完整)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、窗體頂端一、 選擇1、文檔是軟件產(chǎn)品的一部分,沒有文檔的軟件就不稱其為軟件。 對(duì) 2、在需求分析過程中,分析員要從用戶那里解決的最重要的問題是給該軟件提供哪些信息。 錯(cuò)3、需求規(guī)格說明書在軟件開發(fā)中具有重要的作用,它也可以作為軟件可行性分析的依據(jù)。 錯(cuò)4、建立用例模型的步驟包括確定角色、確定用例和繪制用例圖。 錯(cuò)5、數(shù)據(jù)流圖建立系統(tǒng)的功能模型,它由數(shù)據(jù)流、加工和數(shù)據(jù)存貯組成。錯(cuò)6、軟件配置管理是一組標(biāo)識(shí)、組織和控制修改源程序的活動(dòng)。 錯(cuò)7、UML是一種直觀化、明確化、構(gòu)建和文檔化軟件產(chǎn)物的通用語言。 錯(cuò)8、好的測(cè)試是用少量的測(cè)試用例運(yùn)行程序,發(fā)現(xiàn)被測(cè)程序盡可能多的錯(cuò)誤。 對(duì)9、邊界值分析方法是

2、取輸入/輸出等價(jià)類的邊界值作為測(cè)試用例。 對(duì)10、面向?qū)ο蟮姆治鍪敲嫦蛴?jì)算機(jī)系統(tǒng)建立軟件系統(tǒng)的對(duì)象模型。錯(cuò)11、 (D)是將系統(tǒng)化的、規(guī)范的、可定量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程,它包括方法、工具和過程三個(gè)要素。 A 軟件過程 B 軟件測(cè)試 C 軟件生存周期 D 軟件工程 12、 ISO9000是由ISO/TC176制定的關(guān)于(B)和質(zhì)量保證的國(guó)際標(biāo)準(zhǔn)。 A 質(zhì)量控制 B 質(zhì)量管理 C 質(zhì)量策劃 D 質(zhì)量改進(jìn) 13、 CMM提供了一個(gè)框架,將軟件過程改進(jìn)的進(jìn)化步驟組織成5個(gè)成熟度等級(jí)。除第1級(jí)外,每個(gè)等級(jí)都包含了實(shí)現(xiàn)該成熟度等級(jí)目標(biāo)的若干(B)。 A 關(guān)鍵實(shí)踐 B 關(guān)鍵過程域 C 軟

3、件過程能力 D 軟件過程14、 在軟件開發(fā)的各種資源中,(D)是最重要的資源。 A 開發(fā)工具 B 方法 C 硬件環(huán)境 D 人員 15、 軟件的復(fù)雜性是(A),它引起人員通信困難、開發(fā)費(fèi)用超支、開發(fā)時(shí)間超時(shí)等問題。 A 固有的 B 人為的 C 可消除的 D 不可降低的 16、 在各種不同的軟件需求中,(D)描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明。 A 業(yè)務(wù)需求 B 功能需求 C 非功能需求 D 用戶需求 17、 原型化方法是用戶和軟件開發(fā)人員之間進(jìn)行的一種交互過程,適用于(A)系統(tǒng)。 A 需求不確定的 B 需求確定的 C 管理信息 D 決策支持 18、 (A)意味

4、著一個(gè)操作在不同的類中可以有不同的實(shí)現(xiàn)方式。 A 多態(tài)性 B 多繼承 C 類的可復(fù)用 D 信息隱蔽 19、 時(shí)序圖反映對(duì)象之間發(fā)送消息的時(shí)間順序,它與(D)是同構(gòu)的。 A 用例圖 B 類圖 C 活動(dòng)圖 D 協(xié)作圖 20、 單元測(cè)試的測(cè)試用例主要根據(jù)(D)的結(jié)果來設(shè)計(jì)。 A 需求分析 B 源程序 C 概要設(shè)計(jì) D 詳細(xì)設(shè)計(jì)窗窗體頂端二、 填空題1、 在學(xué)校中,一個(gè)學(xué)生可以選修多門課程,一門課程可以由多個(gè)學(xué)生選修,那么學(xué)生和課程之間是關(guān)聯(lián)關(guān)系。2、 類A的一個(gè)操作調(diào)用類B的一個(gè)操作,且這兩個(gè)類之間不存在其他關(guān)系,那么類A和類B之間是依賴關(guān)系。3、 用例及其協(xié)作之間是實(shí)現(xiàn)關(guān)系。4、接口及其實(shí)現(xiàn)類或構(gòu)

5、件之間是實(shí)現(xiàn)關(guān)系。5、 動(dòng)物與老虎之間是泛化關(guān)系。三、 問答題1、 軟件復(fù)用的范圍不僅僅涉及源程序代碼,請(qǐng)至少列出5種可能復(fù)用的軟件元素??蓮?fù)用的軟件元素包括(選5種): 項(xiàng)目計(jì)劃、成本估計(jì)、體系結(jié)構(gòu)、需求模型和規(guī)格說明、設(shè)計(jì)、用戶文檔和技術(shù)文檔、用戶界面、數(shù)據(jù)結(jié)構(gòu)、測(cè)試用例。2、 傳統(tǒng)"瀑布模型"的主要缺陷是什么?試說明造成缺陷的原因。傳統(tǒng)"瀑布模型"的主要缺陷及其原因:在項(xiàng)目的早期,用戶常常很難清楚地給出所有需求,瀑布模型卻要求如此。由于瀑布模型的特點(diǎn),早期的錯(cuò)誤直到開發(fā)晚期才能被發(fā)現(xiàn),開發(fā)的風(fēng)險(xiǎn)較大。3、某學(xué)校需要開發(fā)一個(gè)學(xué)生成績(jī)管理系統(tǒng),教務(wù)人員

6、可以通過該系統(tǒng)維護(hù)學(xué)生信息、課程信息和成績(jī)信息,學(xué)生可以隨時(shí)查詢自己的成績(jī)單,該系統(tǒng)的實(shí)體關(guān)系圖如下所示:請(qǐng)問圖中是否應(yīng)該增加"教務(wù)人員"?試說明理由。不應(yīng)該增加"教務(wù)人員",因?yàn)榻虅?wù)人員只是該系統(tǒng)的一個(gè)使用者,系統(tǒng)不處理其屬性信息。4、下面是一段求最大值的程序,其中datalist是數(shù)據(jù)表,n是datalist的長(zhǎng)度。       int GetMax(int n, int datalist )       

7、60; int k=0;               for ( int j=1; j<n; j+ )                        if ( datalistj > da

8、talistk ) k=j;                return k; (1) 畫出該程序的控制流圖,并計(jì)算其McCabe環(huán)路復(fù)雜性??刂屏鲌D如下,McCabe環(huán)路復(fù)雜性為3。(2) 用基本路徑覆蓋法給出測(cè)試路徑。測(cè)試路徑:Path1: Path2: Path3: (3) 為各測(cè)試路徑設(shè)計(jì)測(cè)試用例。測(cè)試用例: Path1: 取n=1,datalist0 = 1, 預(yù)期結(jié)果:k=0 Path2: 取n=2,datalis

9、t0 = 1,datalist1 = 0, 預(yù)期結(jié)果:k=0 Path3: 取n=2,datalist0 = 0,datalist1 = 1, 預(yù)期結(jié)果:k=15、下圖顯示了某個(gè)學(xué)校課程管理系統(tǒng)的部分類圖,其中一個(gè)學(xué)生(student)可以知道所有注冊(cè)課程的教師(instructor),一個(gè)教師也可以知道所有注冊(cè)課程的學(xué)生。              現(xiàn)在提出一個(gè)新的需求:"一個(gè)教師也可以是某些課程的學(xué)生",那么下面設(shè)計(jì)AC中哪一個(gè)是最

10、好的?為什么?設(shè)計(jì)B是最好的。學(xué)生和教員均可以從Candidate類繼承而來;抽象出Role類,使Candidate類與Role類之間形成多對(duì)多的關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)了"一個(gè)人既是教師又是某門課的學(xué)生"這個(gè)需求。       設(shè)計(jì)A:  設(shè)計(jì)B:       設(shè)計(jì)C: 6、 所謂分層體系結(jié)構(gòu)是按層組織軟件的一種軟件體系結(jié)構(gòu),其中每層軟件建立在低一層的軟件層上,下圖顯示了一種分層體系結(jié)構(gòu)。請(qǐng)選擇正確的答案,將其對(duì)應(yīng)的序號(hào)填入圖中的(

11、)。 供選擇的答案:  高效性 通用性 保密性 專用性 系統(tǒng)軟件 中間 件 應(yīng)用軟件 支撐軟件 特定業(yè)務(wù) 子系統(tǒng)窗體底端一、 選擇、(A)是軟件生存期中的一系列相關(guān)軟件工程活動(dòng)的集合,它由軟件規(guī)格說明、軟件設(shè)計(jì)與開發(fā)、軟件確認(rèn)、軟件改進(jìn)等活動(dòng)組成。A 軟件過程B 軟件工具C質(zhì)量保證D 軟件工程、(D )是以追求更高的效益和效率為目標(biāo)的持續(xù)性活動(dòng)。A 質(zhì)量策劃B 質(zhì)量控制 C質(zhì)量保證 D質(zhì)量改進(jìn)、CMM提供了一個(gè)框架,將軟件過程改進(jìn)的進(jìn)化步驟組織成5個(gè)成熟度等級(jí)。除第1級(jí)外,每一級(jí)都包含了實(shí)現(xiàn)這一級(jí)目標(biāo)的若干關(guān)鍵過程域,每一個(gè)關(guān)鍵過程域又包含若干(A)。 A關(guān)鍵實(shí)踐B 軟件過

12、程性能C 軟件過程能力 D軟件過程、在各種不同的軟件需求中,功能需求描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明,(C)是從各個(gè)角度對(duì)系統(tǒng)的約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性的額外要求。A 業(yè)務(wù)需求B 功能要求C 非功能需求D 用戶需求、(A)意味著一個(gè)操作在不同的類中可以有不同的實(shí)現(xiàn)方式。 A 多態(tài)性B 多繼承C 類的復(fù)用D 封裝、在面向?qū)ο蟮南到y(tǒng)中,系統(tǒng)責(zé)任的良好分配原則是(B)。 A在類之間均勻分配B 集中分配在少數(shù)控制類中C根據(jù)交互圖的消息進(jìn)行分配 D根據(jù)個(gè)人喜好進(jìn)行分配、軟件配置項(xiàng)是軟件配置管理的對(duì)象,即軟件工程過程中產(chǎn)生的(C)。 A 接口B軟件環(huán)

13、境C信息項(xiàng)D版本、軟件測(cè)試計(jì)劃開始于需求分析階段,完成于(B)階段。 A需求分析B軟件設(shè)計(jì)C 軟件實(shí)現(xiàn)D 軟件測(cè)試二、問答題、判斷下列敘述的正確性,將結(jié)果(正確,×錯(cuò)誤)填入( )中,并改正錯(cuò)誤的說法。(1).(×)在軟件開發(fā)的過程中,若能推遲暴露其中的錯(cuò)誤,則為修復(fù)和改正錯(cuò)誤所花費(fèi)的代價(jià)就會(huì)降低。 改正:在軟件開發(fā)的過程中,一個(gè)錯(cuò)誤修復(fù)和改正得越晚,為此所花費(fèi)的代價(jià)就會(huì)越高。 (2).()在需求分析中,分析員要從用戶那里解決的最重要的問題是明確軟件做什么。(3).(×)軟件需求規(guī)格說明書在軟件開發(fā)中具有重要的作用,是軟件可行性分析的依據(jù)。 改正:軟件可行性分析應(yīng)

14、在需求分析之前,因此,軟件需求規(guī)格說明書不應(yīng)成為軟件可行性分析的依據(jù)。(4).()模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化,建模是為了更好地理解所開發(fā)的系統(tǒng)。(5).(×)UML語言支持面向?qū)ο蟮闹饕拍?,并與具體的開發(fā)過程相關(guān)。 改正:UML語言支持面向?qū)ο蟮母拍?,并?dú)立于具體的開發(fā)過程。(6).()用例圖定義了系統(tǒng)的功能需求,它是從系統(tǒng)的外部看系統(tǒng)功能,并不描述系統(tǒng)內(nèi)部對(duì)功能的具體實(shí)現(xiàn)。(7).(×)好的測(cè)試用例應(yīng)能證明軟件是正確的。 改正:好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。(8).()白盒測(cè)試僅與程序的內(nèi)部結(jié)構(gòu)有關(guān),完全可以不考慮程序的功能要求。(9).()當(dāng)軟件開發(fā)項(xiàng)目的進(jìn)度有可能

15、拖延時(shí),增加開發(fā)人員并不能加快進(jìn)度。(10).(×)軟件技術(shù)復(fù)審是由用戶和測(cè)試人員實(shí)施的一種質(zhì)量保證活動(dòng)。 改正:軟件技術(shù)復(fù)審是由軟件開發(fā)人員實(shí)施的一種質(zhì)量保證活動(dòng)。、你認(rèn)為一個(gè)好的軟件開發(fā)人員應(yīng)具備哪些基本素質(zhì)?答:(1)牢固掌握計(jì)算機(jī)軟件的基本知識(shí)和技能; (2) 善于分析和綜合問題,具有嚴(yán)密的邏輯思維能力; (3) 工作踏實(shí)細(xì)致,遵循標(biāo)準(zhǔn)和規(guī)范,具有嚴(yán)格的科學(xué)作風(fēng); (4) 工作有耐心、有毅力、有責(zé)任心; (5) 善于聽取別人的意見,善于與周圍人員團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系;(6) 具有良好的書面和口頭表達(dá)能力。、需求工程包括哪些基本活動(dòng)?每一項(xiàng)活動(dòng)的主要任務(wù)是什么?答:(1

16、)需求獲?。▎栴}識(shí)別): 采集、識(shí)別和提取用戶的需求,對(duì)問題和需求形成文檔化的描述,使各種人員達(dá)成一致的理解和認(rèn)可。 (2) 需求分析: 分析和綜合所采集的信息,建立系統(tǒng)的詳細(xì)邏輯模型。 (3) 需求規(guī)格說明: 編寫軟件需求規(guī)格說明書,明確、完整和準(zhǔn)確地描述已確定的需求。 (4) 需求驗(yàn)證: 評(píng)審軟件需求規(guī)格說明,以保證其正確性、一致性、完備性、準(zhǔn)確性和清晰性。 (5) 需求管理: 定義需求基線,在整個(gè)項(xiàng)目過程中跟蹤需求狀態(tài)及其變更情況。、為什么軟件需要維護(hù)?簡(jiǎn)述軟件維護(hù)的過程。答:在軟件開發(fā)完成交付用戶使用后,為了保證軟件在一個(gè)相當(dāng)長(zhǎng)的時(shí)期能夠正常運(yùn)行,就需要對(duì)軟件進(jìn)行維護(hù)。 軟件維護(hù)的過程

17、:(1) 確認(rèn)維護(hù)要求。 (2) 對(duì)于改正性維護(hù)申請(qǐng),評(píng)價(jià)錯(cuò)誤的嚴(yán)重性。對(duì)于嚴(yán)重的錯(cuò)誤,立即安排人員,分析問題原因,進(jìn)行"救火"性的緊急維護(hù);對(duì)于不嚴(yán)重的錯(cuò)誤,根據(jù)任務(wù)情況和輕重緩急進(jìn)行統(tǒng)一安排。 (3) 對(duì)于適應(yīng)性和完善性維護(hù)申請(qǐng),需要確定申請(qǐng)的優(yōu)先級(jí),然后安排維護(hù)工作。并不是所有的完善性維護(hù)申請(qǐng)都必須承擔(dān),需要考慮商業(yè)需要、現(xiàn)有資源、未來發(fā)展方向等進(jìn)行決定。、根據(jù)下面給出的規(guī)格說明,利用等價(jià)類劃分的方法,給出足夠的測(cè)試用例。"一個(gè)程序讀入3個(gè)整數(shù),它們分別代表一個(gè)三角形的3個(gè)邊長(zhǎng)。該程序判斷所輸入的整數(shù)是否構(gòu)成一個(gè)三角形,以及該三角形是一般的、等腰的或等邊的,

18、并將結(jié)果打印出來。"要求:設(shè)三角形的3條邊分別為A、B、C,并且(1) 列出等價(jià)類表,格式如下:輸入條件 有效等價(jià)類 無效等價(jià)類 是否構(gòu)成一個(gè)三角形(1)A0且B0且C0且ABC且BCA且ACB。(2)A0或B0或C0(3)ABC或ACB或BCA是否等腰三角形(4)AB或AC或BC(5)AB且AC且BC是否等邊三角形(6)AB且AC且BC(7)AB或AC或BC(2) 設(shè)計(jì)測(cè)試用例,格式如下:用例n:輸入【A,B,C】覆蓋等價(jià)類(列出等價(jià)類序號(hào)),輸出結(jié)果為。用例1:輸入【3,4,5】覆蓋等價(jià)類(1,2,3,4,5,6),輸出結(jié)果為構(gòu)成一般三角形。用例2:三者取一輸入【0,1,2】覆蓋

19、等價(jià)類(2),輸出結(jié)果為不構(gòu)成三角形。 輸入【1,0,2】覆蓋等價(jià)類(2),輸出結(jié)果為不構(gòu)成三角形。 輸入【1,2,0】覆蓋等價(jià)類(2),輸出結(jié)果為不構(gòu)成三角形。用例3:三者取一輸入【1,2,3】覆蓋等價(jià)類(3),輸出結(jié)果為不構(gòu)成三角形。 輸入【1,3,2】覆蓋等價(jià)類(3),輸出結(jié)果為不構(gòu)成三角形。 輸入【3,1,2】覆蓋等價(jià)類(3),輸出結(jié)果為不構(gòu)成三角形。用例4:三者取一輸入【3,3,4】覆蓋等價(jià)類(1)(4),輸出結(jié)果為等腰三角形。 輸入【3,4,4】覆蓋等價(jià)類(1)(4),輸出結(jié)果為等腰三角形。 輸入【3,4,3】覆蓋等價(jià)類(1)(4),輸出結(jié)果為等腰三角形。用例5:輸入【3,4,5】

20、覆蓋等價(jià)類(1)(5),輸出結(jié)果為不是等腰三角形。用例6:輸入【3,3,3】覆蓋等價(jià)類(1)(6),輸出結(jié)果為等邊三角形。用例7:三者取一輸入【3,4,4】覆蓋等價(jià)類(1)(4)(7),輸出結(jié)果為不是等邊三角形。 輸入【3,4,3】覆蓋等價(jià)類(1)(4)(7),輸出結(jié)果為不是等邊三角形。 輸入【3,3,4】覆蓋等價(jià)類(1)(4)(7),輸出結(jié)果為不是等邊三角形。、下圖顯示了配置管理中的存取和控制,請(qǐng)選擇合適的答案,將其對(duì)應(yīng)的序號(hào)填入( )中。A B C D 供選擇的答案:A: 軟件工程人員 配置人員 質(zhì)量保證人員B: 異步控制 同步控制 存取控制CD: 管理 登入 檢出 填寫變更請(qǐng)求、UML關(guān)

21、系包括關(guān)聯(lián)、聚合、泛化、實(shí)現(xiàn)、依賴等5種類型,請(qǐng)將合適的關(guān)系填寫在下列描述的( )中。 用例及其協(xié)作之間是(實(shí)現(xiàn))關(guān)系。 在學(xué)校中,一個(gè)學(xué)生可以選修多門課程,一門課程可以由多個(gè)學(xué)生選修,那么學(xué)生和課程之間是(關(guān)聯(lián))關(guān)系。 類A的一個(gè)操作調(diào)用類B的一個(gè)操作,且這兩個(gè)類之間不存在其他關(guān)系,那么類A和類B之間是(依賴)關(guān)系。 在MFC類庫(kù)中,Window類和DialogBox類之間是(泛化)關(guān)系。 森林和樹木之間是(聚合)關(guān)系。、下圖顯示了某個(gè)學(xué)校課程管理系統(tǒng)的部分類圖,其中一個(gè)學(xué)生(student)可以知道所有注冊(cè)課程的教師(instructor),一個(gè)教師也可以知道所有注冊(cè)課程的學(xué)生?,F(xiàn)在提出一

22、個(gè)新的需求:"一個(gè)教師也可以是某些課程的學(xué)生",那么下面設(shè)計(jì)AC中哪一個(gè)是最好的?為什么?設(shè)計(jì)C最好。 學(xué)生和教員均可以從Candidate類繼承而來; 抽象出Role類,使Candidate類與Role類之間形成多對(duì)多的關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)了"一個(gè)人既是教師又是某門課的學(xué)生"這個(gè)需求。 設(shè)計(jì)A:設(shè)計(jì)B:設(shè)計(jì)C:窗體頂端一、 選擇、在軟件生存周期的瀑布模型中一般包括計(jì)劃、(C)、設(shè)計(jì)、編碼、測(cè)試、維護(hù)等階段。A 可行性分析B 需求采集C 需求分析D 問題定義、ISO9000是由ISO/TC176制定的關(guān)于(B)和質(zhì)量保證的國(guó)際標(biāo)準(zhǔn)。A 質(zhì)量控制B 質(zhì)量管理C

23、質(zhì)量策劃D 質(zhì)量改進(jìn) 3. 軟件工程的基本要素包括方法、工具和(A)。 A過程B 軟件系統(tǒng)C 硬件環(huán)境D 人員 4. 軟件的復(fù)雜性是(A),它引起人員通信困難、開發(fā)費(fèi)用超支、開發(fā)時(shí)間超時(shí)等問題。A 固有的B 人為的C 可消除的D 不可降低的 5. 軟件需求分析階段的測(cè)試手段一般采用(C)。 A總結(jié)B 階段性報(bào)告C 需求分析評(píng)審D 不測(cè)試 6. (C)是把對(duì)象的屬性和操作結(jié)合在一起,構(gòu)成一個(gè)獨(dú)立的對(duì)象,其內(nèi)部信息對(duì)外界是隱蔽的,外界只能通過有限的接口與對(duì)象發(fā)生聯(lián)系。 A多態(tài)性 B繼承 C 封裝D 消息 7. 協(xié)作圖反映收發(fā)消息的對(duì)象的結(jié)構(gòu)組織,它與(D)是同構(gòu)的。 A用例圖B類圖C 活動(dòng)圖D 時(shí)

24、序圖 8. 軟件測(cè)試是為了(B)而執(zhí)行程序的過程。 A糾正錯(cuò)誤B發(fā)現(xiàn)錯(cuò)誤C 避免錯(cuò)誤D 證明正確 9. 面向?qū)ο蠓治鍪菍?duì)系統(tǒng)進(jìn)行(A)的一種方法。 A需求建模B 程序設(shè)計(jì)C 設(shè)計(jì)評(píng)審D 測(cè)試驗(yàn)收 10. 在結(jié)構(gòu)化分析方法中,(C)表達(dá)系統(tǒng)內(nèi)部數(shù)據(jù)運(yùn)動(dòng)的圖形化技術(shù)。 A 數(shù)據(jù)字典B 實(shí)體關(guān)系圖C 數(shù)據(jù)流圖D 狀態(tài)轉(zhuǎn)換圖、在項(xiàng)目計(jì)劃發(fā)生延遲的情況下,增加更多的程序員一定會(huì)加快進(jìn)度。 錯(cuò)、軟件錯(cuò)誤可能出現(xiàn)在開發(fā)過程的早期,越早修改越好。對(duì) 、不完善的系統(tǒng)定義往往是導(dǎo)致軟件項(xiàng)目失敗的主要原因。對(duì)、一個(gè)成功的項(xiàng)目唯一提交的就是運(yùn)行程序。錯(cuò)、只有質(zhì)量差的軟件產(chǎn)品才需要維護(hù)。錯(cuò)、UML是一種直觀化、明確化、

25、構(gòu)建和文檔化軟件產(chǎn)物的通用語言。錯(cuò)、一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。對(duì)、面向?qū)ο蟮姆治鍪敲嫦蛴?jì)算機(jī)系統(tǒng)建立軟件系統(tǒng)的對(duì)象模型。錯(cuò)、軟件工作的考慮范圍主要是程序設(shè)計(jì)和實(shí)現(xiàn)。 錯(cuò)、等價(jià)類劃分方法將所有可能的輸入數(shù)據(jù)劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測(cè)試用例。 對(duì)二、 問答題、(共10分)下圖顯示了McCall質(zhì)量模型,請(qǐng)選擇正確的答案,并將其對(duì)應(yīng)的序號(hào)填入圖中的括號(hào)( 3596)。供選擇的答案: 高效性 通用性 可測(cè)試性 專用性 可復(fù)用性 可使用性 應(yīng)用軟件 支撐軟件 正確性 硬件環(huán)境、(共10分)UML關(guān)系包括關(guān)聯(lián)、聚合、泛化、實(shí)現(xiàn)、依賴等5種類型,請(qǐng)將合適的

26、關(guān)系填寫在下列描述的( )中。1. 在學(xué)校中,一個(gè)導(dǎo)師可以指導(dǎo)多個(gè)研究生,一個(gè)研究生可以由多個(gè)導(dǎo)師指導(dǎo),那么導(dǎo)師和研究生之間是(關(guān)聯(lián))關(guān)系。2. 交通工具與卡車之間是(泛化)關(guān)系。3. 公司與部門之間是(聚合)關(guān)系。4. 圖形與矩形之間是(泛化)關(guān)系。5. 參數(shù)類及其實(shí)例類之間是(實(shí)現(xiàn))關(guān)系。、(共20分)回答下列問題:1. 軟件工程的基本目標(biāo)是什么?軟件工程旨在開發(fā)滿足用戶需要、及時(shí)交付、不超過預(yù)算和無故障的軟件,其主要目標(biāo)如下: (1) 合理預(yù)算開發(fā)成本,付出較低的開發(fā)費(fèi)用;(2) 實(shí)現(xiàn)預(yù)期的軟件功能,達(dá)到較好的軟件性能,滿足用戶的需求;(3) 提高所開發(fā)軟件的可維護(hù)性,降低維護(hù)費(fèi)用;(4

27、) 提高軟件開發(fā)生產(chǎn)率,及時(shí)交付使用。2. 原型化方法主要用于解決什么問題?試說明這種方法的主要優(yōu)缺點(diǎn)。建立原型的主要原因是為了解決在產(chǎn)品開發(fā)的早期階段需求不確定的問題,用戶、經(jīng)理和其他非技術(shù)項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者發(fā)現(xiàn)在確定和開發(fā)產(chǎn)品時(shí),原型可以使他們的想象更具體化。原型在軟件開發(fā)過程中可以起到以下主要作用:(1) 明確并完善需求 原型作為一種需求工具,它初步實(shí)現(xiàn)所理解的系統(tǒng)的一部分。用戶對(duì)原型的評(píng)價(jià)可以指出需求中的許多問題,在你開發(fā)真正產(chǎn)品之前,可以最低的費(fèi)用來解決這些問題。(2) 探索設(shè)計(jì)選擇方案 原型作為一種設(shè)計(jì)工具,用它可以探索不同的用戶界面技術(shù),使系統(tǒng)達(dá)到最佳的可用性,并且可以評(píng)價(jià)可能的技術(shù)

28、方案。(3) 發(fā)展為最終的產(chǎn)品 原型作為一種構(gòu)造工具,是產(chǎn)品最初子集的完整功能實(shí)現(xiàn),通過一系列小規(guī)模的開發(fā)循環(huán),你可以完成整個(gè)產(chǎn)品的開發(fā)。3. 在下列用例圖中,哪些是系統(tǒng)角色?Bank network、Manager、Clerk、(共20分)下面是一段插入排序的程序,將Rk+1插入到R1k的適當(dāng)位置。R0 = Rk+1; j = k;while (Rj > R0)Rj+1 = Rj;j-;Rj+1 = R0;用路徑覆蓋方法為它設(shè)計(jì)足夠的測(cè)試用例(while循環(huán)次數(shù)為0、1、2次)。 畫出該程序的流程圖:測(cè)試用例設(shè)計(jì)循環(huán)次數(shù)輸 入 數(shù) 據(jù) 預(yù) 期 結(jié) 果覆 蓋 路 徑j(luò)Ri-2

29、Ri-1RiRi+1R0jRi-2 Ri-1RiRi+1約束路 徑0i-122i-12<  i-111i-11= 1i-1322i-1-123>< i-2322i-1-123>=2i13422i-21234>>< i23422i-22234>>= 單項(xiàng)選擇題1. 哪個(gè)活動(dòng)可在可行性分析階段進(jìn)行?(D) A.編碼B.測(cè)試C.設(shè)計(jì)D.制訂市場(chǎng)營(yíng)銷計(jì)劃2. 在數(shù)據(jù)流程圖中,有名字及方向的成分是(C)。 A.控制流B.信息流C.數(shù)據(jù)流D.信號(hào)流3. 以下各圖中不是UML使用的圖是(A)。 A.數(shù)據(jù)流程圖B.用例圖C.類

30、圖D.順序圖4. 下圖中,類的關(guān)系是(A)。 A.依賴B.關(guān)聯(lián)C.聚集D.泛化5. 甘特圖是一種(D)。 A.UML模型B.過程模型C.系統(tǒng)構(gòu)架的抽象模型D.進(jìn)度計(jì)劃的表達(dá)方式6. 下面不屬于軟件配置管理任務(wù)的是(D)。 A.變更控制B.配置審核C.狀態(tài)報(bào)告D.用例分析7. 數(shù)據(jù)耦合、公共耦合、印記耦合、控制耦合的耦合性從低到高的順序是(B) A.數(shù)據(jù)、公共、印記、控制B.數(shù)據(jù)、印記、控制、公共C.控制、數(shù)據(jù)、印記、公共D.控制、數(shù)據(jù)、公共、印記8. 軟件需求分析的主要任務(wù)是準(zhǔn)確地定義出要開發(fā)的軟件系統(tǒng)是(C)A.如何做B.怎么做C.做什么D.對(duì)誰做9. 可行性分析研究的目的是(B)A.爭(zhēng)取項(xiàng)

31、目B.項(xiàng)目值得開發(fā)否C.開發(fā)項(xiàng)目D.規(guī)劃項(xiàng)目10. 具有風(fēng)險(xiǎn)分析的軟件生存周期模型是(C)A.瀑布模型B.噴泉模型C.螺旋模型D.增量模型11. 開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做(C) A.軟件工程B.軟件周期C.軟件危機(jī)D.軟件產(chǎn)生12. 程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是(C)A只能用來描述簡(jiǎn)單程序B不能嵌套使用C單入口,單出口D僅用于自動(dòng)控制系統(tǒng)13. 數(shù)據(jù)字典是用來定義_中的各個(gè)成份的具體含義的。(D)A流程圖B功能結(jié)構(gòu)圖C系統(tǒng)結(jié)構(gòu)圖D數(shù)據(jù)流圖14. 為了使軟件具有清晰結(jié)構(gòu)和良好的風(fēng)格,下面關(guān)于程序設(shè)計(jì)風(fēng)格的敘述不可取的有(C)A. 盡量不要進(jìn)行浮點(diǎn)數(shù)的

32、相等比較B. 應(yīng)當(dāng)有適量的注釋C. 盡可能對(duì)代碼優(yōu)化D. 使用有意義的標(biāo)識(shí)符15. 使用白盒技術(shù)設(shè)計(jì)測(cè)試用例的方法包括(B)A.邊界值分析B.循環(huán)測(cè)試C.等價(jià)類劃分D.回歸測(cè)試16. 下列模塊內(nèi)聚中,內(nèi)聚性最強(qiáng)的是(A)。A.功能內(nèi)聚B.偶然內(nèi)聚C.過程內(nèi)聚D.順序內(nèi)聚17. 若有一個(gè)計(jì)算類型的程序,它的輸入量只有一個(gè)X,其范圍是-1.0,1.0,現(xiàn)從輸入的角度考慮一組測(cè)試用例:-1.001,-1.0,1.0,1.001。設(shè)計(jì)這組測(cè)試用例的方法是(C)A.條件覆蓋法B.等價(jià)分類法C.邊界值分析法D.錯(cuò)誤推測(cè)法18. 下列哪一種程序設(shè)計(jì)語言不是面向?qū)ο蟮模―)。A.C+B.JAVAC.C#D.C

33、19. 下列測(cè)試方法不屬于集成測(cè)試的是(D)。A.自頂向下B.自底向上C.三明治測(cè)試D.自中間向兩極測(cè)試20. 關(guān)于用例的概念,下列說法不正確的是(C)。A.用例是一個(gè)連貫的功能性單元B.用例是通過Actor確認(rèn)的C.可以借助狀態(tài)轉(zhuǎn)換圖來描述用例D.用例是一個(gè)類,而不是事件21. 源程序文檔化要求在每個(gè)模塊之前加序言性注釋。該注釋內(nèi)容不應(yīng)有(B)A.模塊的功能B.語句的功能C.模塊的接口D.開發(fā)歷史22. DFD中的每個(gè)加工至少需要(D ) A. 一個(gè)輸入流 B. 一個(gè)輸出流 C. 一個(gè)輸入或輸出流 D. 一個(gè)輸入流和一個(gè)輸出流 23. 為了提高模塊的獨(dú)立性,模塊之間最好是( D) A. 控制

34、耦合 B. 公共耦合 C. 內(nèi)容耦合 D. 數(shù)據(jù)耦合 24. 測(cè)試的關(guān)鍵問題是(D ) A. 如何組織對(duì)軟件的評(píng)審 B. 如何驗(yàn)證程序的正確性 C. 如何采用綜合策略 D. 如何選擇測(cè)試用例 25. 軟件維護(hù)困難的主要原因是(C ) A. 費(fèi)用低 B. 人員少 C. 開發(fā)方法的缺陷 D. 得不到用戶支持 26. 源程序文檔化要求在每個(gè)模塊之前加序言性注釋。該注釋內(nèi)容不應(yīng)有(D) A. 模塊的功能 B. 語句的功能 C. 模塊的接口 D. 開發(fā)歷史 27. 結(jié)構(gòu)化程序設(shè)計(jì)采用的三種基本控制結(jié)構(gòu)是(C) A. 順序、分支、選擇 B. 選擇、循環(huán)、重復(fù) C. 順序、選擇、循環(huán) D. 輸入、變換、輸出

35、 28. 通信內(nèi)聚、過程內(nèi)聚、順序內(nèi)聚和時(shí)間內(nèi)聚的內(nèi)聚性從高到低順序是(D)A.通信、過程、順序、時(shí)間B.通信、時(shí)間、順序、過程C.順序、通信、時(shí)間、過程D.順序、通信、過程、時(shí)間29. 使用程序設(shè)計(jì)的控制結(jié)構(gòu)導(dǎo)出測(cè)試用例的測(cè)試方法是(B)A、黑盒測(cè)試 B、白盒測(cè)試 C、邊界測(cè)試 D、系統(tǒng)測(cè)試 30. 軟件工程學(xué)的目的應(yīng)該是最終解決軟件生產(chǎn)的(B)問題。A.提高軟件的開發(fā)效率B.使軟件生產(chǎn)工程化C.消除軟件的生產(chǎn)危機(jī)D.加強(qiáng)軟件的質(zhì)量保證31. 軟件過程模型有多種,下列選項(xiàng)中,(C)不是軟件過程模型。A.螺旋模型B.增量模型C.行為模型D.瀑布模型32. 準(zhǔn)確地解決“軟件系統(tǒng)必須做什么”是(C

36、)階段的任務(wù)。A.可行性研究B.詳細(xì)設(shè)計(jì)C.需求分析D.編碼33 下列哪個(gè)是RAD模型的優(yōu)點(diǎn)(B)。A.適用于可變需求B.開發(fā)速度快C.適用于高風(fēng)險(xiǎn)項(xiàng)目D.可用于超大規(guī)模軟件項(xiàng)目開發(fā)34. 瀑布模型是一種什么模型?(B)A風(fēng)險(xiǎn)驅(qū)動(dòng)模型B線性開發(fā)模型C增量模型D迭代模型35. 下列哪個(gè)不屬于軟件的基礎(chǔ)特征量?(D)A. 軟件規(guī)模B.開發(fā)成本C.開發(fā)期限D(zhuǎn).軟件完整性36. 軟件需求分析應(yīng)確定的是用戶對(duì)軟件的(A)。A. 功能需求和非功能需求B. 性能需求C. 非功能需求D. 功能需求37. 在軟件開發(fā)中,(A)是指對(duì)將要開發(fā)的系統(tǒng)的開發(fā)成本進(jìn)行估算,然后與可能取得的效益進(jìn)行比較和權(quán)衡。A.成本效

37、益分析B.可行性分析C.結(jié)構(gòu)化分析D.軟件需求分析38. 瀑布模型的關(guān)鍵不足在于(D)。 A. 過于簡(jiǎn)單B. 各個(gè)階段需要進(jìn)行評(píng)審 C. 過于靈活D. 不能適應(yīng)需求的動(dòng)態(tài)變更39. 下面說法正確的是(C )。 A. 經(jīng)過測(cè)試沒有發(fā)現(xiàn)錯(cuò)誤說明程序正確 B. 測(cè)試的目標(biāo)是為了證明程序沒有錯(cuò)誤 C. 成功的測(cè)試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試 D. 成功的測(cè)試是沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試 40. 軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性的分離,是指軟件的(C)。A、繼承性B、共享性 C、封裝性D、抽象性41. 下面哪個(gè)不屬于良好的人機(jī)界面設(shè)計(jì)原則?(B)A. 系統(tǒng)的全部界面格式和風(fēng)格一致B. 為不同的用戶和功能提供

38、一致的界面服務(wù)C. 力求用戶輸入量最少D. 具有幫助功能42. 當(dāng)模塊中包含復(fù)雜的條件組合,只有(A)能夠清晰地表達(dá)出各種動(dòng)作之間的對(duì)應(yīng)關(guān)系。 A判定表和判定樹B盒圖C流程圖D關(guān)系圖43. 下面哪個(gè)不是基于抽象的軟件設(shè)計(jì)原則?(C)A里氏替換原則B. 開-閉原則C. 遠(yuǎn)離實(shí)現(xiàn)原則D. 依賴倒轉(zhuǎn)原則44. 假設(shè)目標(biāo)系統(tǒng)如下圖的層次結(jié)構(gòu),對(duì)其按寬度優(yōu)先順序進(jìn)行集成測(cè)試,正確的順序是(B)。A. abehcfidgilmkB. abcdefghijklmC. abehcdfigjklmD. lmhijkefgbcda45. 下列哪個(gè)階段不是軟件生存期三個(gè)階段中的內(nèi)容(C)。A 定義階段B 開發(fā)階段C

39、 編碼階段D 維護(hù)階段46. 模塊的內(nèi)聚性最高的是(D ) A.邏輯內(nèi)聚B.時(shí)間內(nèi)聚C.偶然內(nèi)聚D.功能內(nèi)聚47 采用甘特圖表示軟件項(xiàng)目進(jìn)度安排,下列說法中正確的是(D) A.能夠反映多個(gè)任務(wù)之間的復(fù)雜關(guān)系B.能夠直觀表示任務(wù)之間相互依賴制約關(guān)系 C.能夠表示哪些任務(wù)是關(guān)鍵任務(wù)D.能夠表示子任務(wù)之間的并行和串行關(guān)系48. DFD中的每個(gè)加工至少需要(D)A. 一個(gè)輸入流B. 一個(gè)輸出流C. 一個(gè)輸入或輸出流D. 一個(gè)輸入流和一個(gè)輸出流49. 下列關(guān)于功能性注釋不正確的說法是( B)A. 功能性注釋嵌在源程序中,用于說明程序段或語句的功能以及數(shù)據(jù)的狀態(tài) B. 注釋用來說明程序段,需要在每一行都要

40、加注釋C. 可使用空行或縮進(jìn),以便很容易區(qū)分注釋和程序 D. 修改程序也應(yīng)修改注釋50. 需求規(guī)格說明書的作用不包括(C)A軟件驗(yàn)收的依據(jù)B用戶與開發(fā)人員對(duì)軟件要做什么的共同理解C軟件可行性研究的依據(jù)D軟件設(shè)計(jì)的依據(jù)51. 為了克服軟件危機(jī),人們提出了用( D)的原理來設(shè)計(jì)軟件,這就是軟件工程誕生的基礎(chǔ)。A. 數(shù)學(xué) B. 軟件學(xué) C. 運(yùn)籌學(xué) D. 工程學(xué)52. 以下哪一項(xiàng)不是軟件危機(jī)的表現(xiàn)形式(C )。 A. 開發(fā)的軟件不滿足用戶需要B. 開發(fā)的軟件可維護(hù)性差 C. 開發(fā)的軟件價(jià)格便宜D. 開發(fā)的軟件可靠性差53. 結(jié)構(gòu)化設(shè)計(jì)是一種面向( A)的設(shè)計(jì)方法。 A. 數(shù)據(jù)流B. 模塊 C. 數(shù)據(jù)

41、結(jié)構(gòu)D. 程序 54. 與確認(rèn)測(cè)試階段有關(guān)的文檔是( A)。 A. 需求規(guī)格說明書B. 概要設(shè)計(jì)說明書 C. 詳細(xì)設(shè)計(jì)說明書D. 源程序55 軟件開發(fā)的需求活動(dòng),其主要任務(wù)是(D)。A. 給出軟件解決方案B. 給出系統(tǒng)模塊結(jié)構(gòu)C. 定義模塊算法D. 定義需求并建立系統(tǒng)模型56. 一個(gè)項(xiàng)目是否開發(fā),從經(jīng)濟(jì)上來說是否可行,歸根結(jié)底是取決于( A)。 A. 成本估算B. 項(xiàng)目計(jì)劃C. 工程管理D. 工程網(wǎng)絡(luò)圖 57. 在面向?qū)ο蟮脑O(shè)計(jì)中,我們應(yīng)遵循的設(shè)計(jì)準(zhǔn)則除了模塊化、抽象、低耦合、高內(nèi)聚以外,還有(B )。 A. 隱藏復(fù)雜性B. 信息隱蔽 C. 經(jīng)常類的復(fù)用D. 類的開發(fā) 58. 面向?qū)ο蟮闹饕?/p>

42、征除對(duì)象惟一性、封裝、繼承外,還有(A )。 A. 多態(tài)性B. 完整性 C. 可移植性D. 兼容性 59、軟件是一種(C)A、程序B、數(shù)據(jù)     C、邏輯產(chǎn)品D、物理產(chǎn)品 60、軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性的分離,是指軟件的(C)。A、繼承性B、共享性 C、封裝性D、抽象性61、單元測(cè)試是發(fā)現(xiàn)編碼錯(cuò)誤,集成測(cè)試是發(fā)現(xiàn)模塊的接口錯(cuò)誤,確認(rèn)測(cè)試是為了發(fā)現(xiàn)功能錯(cuò)誤,那么系統(tǒng)測(cè)試是為了發(fā)現(xiàn)(C)的錯(cuò)誤。A、接口錯(cuò)誤B、編碼錯(cuò)誤C、性能、質(zhì)量不合要求D、功能錯(cuò)誤二、填空題1由客戶和用戶在軟件開發(fā)團(tuán)隊(duì)的管理下執(zhí)行的測(cè)試稱作B測(cè)試。2“軟件生命周期”理

43、論將軟件過程劃分到軟件開發(fā)的三個(gè)時(shí)期中,分別是軟件定義時(shí)期、軟件開發(fā)時(shí)期和_。3設(shè)銀行年利率為i,假設(shè)n年后能收入F元,則當(dāng)前的價(jià)值為_。4數(shù)據(jù)流程圖是一個(gè)分層的概念模型,分為三個(gè)層次,分別是總體圖、實(shí)施圖、細(xì)節(jié)圖。5數(shù)據(jù)字典定義了4種元素,分別是數(shù)據(jù)元素、數(shù)據(jù)字典、處理和數(shù)據(jù)文件或者數(shù)據(jù)庫(kù)。6時(shí)序圖、協(xié)作圖、狀態(tài)圖這些都屬于UML中的行為建模圖。7一個(gè)軟件項(xiàng)目中,對(duì)LOC進(jìn)行估計(jì),保守值為1000,最有可能值為800,樂觀值為600,則可估計(jì)出期望值為800。8數(shù)據(jù)流程圖又稱實(shí)施圖,用來表示系統(tǒng)中的計(jì)算節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)和通信路徑與節(jié)點(diǎn)上運(yùn)行的軟構(gòu)件等。9當(dāng)A模塊調(diào)用B模塊時(shí),若兩個(gè)模塊之間傳遞

44、的是數(shù)值型參數(shù),則這兩個(gè)模塊的耦合方式是數(shù)據(jù)耦合。10數(shù)據(jù)流圖中的箭頭表示數(shù)據(jù)流。11軟件設(shè)計(jì)活動(dòng)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),前者的目的是確定目標(biāo)系統(tǒng)的總體結(jié)構(gòu),后者是在此基礎(chǔ)上進(jìn)一步精化。12RUP模型將軟件開發(fā)過程分為4個(gè)大的階段,分別是先啟、精化、構(gòu)建和產(chǎn)品化。13由客戶和用戶在他們的工作現(xiàn)場(chǎng)進(jìn)行的測(cè)試稱作_。14軟件設(shè)計(jì)活動(dòng)一般分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。15傳統(tǒng)的結(jié)構(gòu)化軟件工程方法中,人們通過面向?qū)ο蠓治鎏岣吣K的抽象程度。16依據(jù)模塊的編碼導(dǎo)出測(cè)試用例,這種測(cè)試稱作測(cè)試用例。17程序的三種基本控制結(jié)構(gòu)包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。18在單元測(cè)試時(shí),需要為被測(cè)模塊設(shè)計(jì)驅(qū)動(dòng)模塊

45、與樁模塊。19需求分析應(yīng)交付的主要文檔是需求規(guī)格說明。20設(shè)計(jì)出軟件的初步結(jié)構(gòu)以后,應(yīng)該進(jìn)一步分解或合并模塊,力求降低耦合提高內(nèi)聚。21劃分模塊時(shí)盡量做到高低內(nèi)聚耦合,保持模塊的獨(dú)立性。22類的實(shí)例化是用類創(chuàng)建對(duì)象的過程。23若年利率為i,現(xiàn)存入P元, n年后可得錢數(shù)為F=P×i×n+P 。24在面向?qū)ο蠓椒ㄖ?,?duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對(duì)象的統(tǒng)一體中。25類中操作的實(shí)現(xiàn)過程叫方法。26在處理過程定義中,對(duì)于復(fù)雜的條件組合問題,用自然語言不能直觀清楚地表述,因此常常使用判定表、判定樹方法。27軟件生存周期一般可分為問題定義、可行性研究、需求分析、設(shè)計(jì)、編

46、碼、測(cè)試、運(yùn)行與維護(hù)階段。28一個(gè)進(jìn)行學(xué)生成績(jī)統(tǒng)計(jì)的模塊其功能是先對(duì)學(xué)生的成績(jī)進(jìn)行累加,然后求平均值,則該模塊的內(nèi)聚性是順序內(nèi)聚。29從結(jié)構(gòu)化程序設(shè)計(jì)到面向?qū)ο?,是程序設(shè)計(jì)方法的又一次飛躍。30軟件生存周期一般可分為問題定義、可行性研究、需求分析、設(shè)計(jì)、編碼、測(cè)試、運(yùn)行與維護(hù)階段。31數(shù)據(jù)流圖的基本符號(hào)包括外部實(shí)體、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流。三簡(jiǎn)答題1. 什么是軟件工程?答: 是指用工程、科學(xué)和數(shù)學(xué)的原則與方法開發(fā)、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理方法。2. 功能內(nèi)聚和順序內(nèi)聚各有什么特點(diǎn)?哪一個(gè)的內(nèi)聚程度更高?答:順序內(nèi)聚指一個(gè)模塊中各個(gè)處理元素都密切相關(guān)同一功能且必須順序執(zhí)行,前一功能的輸

47、出就是下一功能元素的輸入。功能內(nèi)聚是最高程度的內(nèi)聚;3. RUP模型的優(yōu)點(diǎn)有哪些?答:各個(gè)圖之間的關(guān)系去看UML相關(guān)的書籍。目的很明顯是用圖形代替描述性的語言更加直觀,容易參照和業(yè)務(wù)溝通。4. 對(duì)系統(tǒng)進(jìn)行抽象設(shè)計(jì)有哪些優(yōu)點(diǎn)?5. 傳統(tǒng)的構(gòu)架建模方法有哪些?傳統(tǒng)的詳細(xì)設(shè)計(jì)建模方法有哪些?面向?qū)ο蟮脑O(shè)計(jì)建模方法又有哪些?(每種要求至少說出2種)6. 數(shù)據(jù)字典與數(shù)據(jù)流程圖和狀態(tài)變遷圖相比較有什么特點(diǎn)?它的基本元素有哪些? 答:數(shù)據(jù)流程圖反映了系統(tǒng)的靜態(tài)特征,狀態(tài)變遷圖反映了系統(tǒng)的動(dòng)態(tài)特征。而它們都不能反映系統(tǒng)的具體細(xì)節(jié)。數(shù)據(jù)字典能夠進(jìn)一步描述模型的細(xì)節(jié)。以數(shù)據(jù)字典為中心的建模方法能夠相對(duì)完整精確地描

48、述一個(gè)系統(tǒng)。數(shù)據(jù)字典的主要元素有:數(shù)據(jù)元素、數(shù)據(jù)流、處理和數(shù)據(jù)文件或者數(shù)據(jù)庫(kù)。7. 詳細(xì)設(shè)計(jì)的任務(wù)是什么?具體包括哪些?答:詳細(xì)設(shè)計(jì)的任務(wù)是在軟件構(gòu)架的基礎(chǔ)上,進(jìn)一步確定如何實(shí)現(xiàn)目標(biāo)系統(tǒng),具體包括系統(tǒng)的模塊邏輯的詳細(xì)設(shè)計(jì)、系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)、系統(tǒng)數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)、系統(tǒng)人-機(jī)接口的設(shè)計(jì)。8. 什么是白盒測(cè)試?白盒測(cè)試主要有哪幾種測(cè)試技術(shù)?答:白盒測(cè)試又稱玻璃盒測(cè)試。使用白盒方法導(dǎo)出測(cè)試用例是依據(jù)模塊的編碼,即模塊的內(nèi)部邏輯,對(duì)測(cè)試者是可見的,故稱白盒測(cè)試。白盒測(cè)試主要有基本途徑測(cè)試、條件測(cè)試和循環(huán)測(cè)試等。9. 軟件開發(fā)有哪些特性?10 增量模型有哪些優(yōu)點(diǎn)?11 瀑布模型的主要缺陷是什么?答:按照

49、瀑布模型來開發(fā)軟件,只有當(dāng)分析員能夠做出準(zhǔn)確的需求分析時(shí),才能夠得到預(yù)期的正確結(jié)果。12 類之間的關(guān)系有哪些?13 什么是黑盒測(cè)試法?什么是白盒測(cè)試法?答:黑盒測(cè)試是把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程又稱功能測(cè)試;也就是說,在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。 白盒測(cè)試可以把程序看成裝在一個(gè)透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過程又稱結(jié)構(gòu)測(cè)試;按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序 中的每條通路是否都能按預(yù)定要求正確工作。14軟件實(shí)施

50、活動(dòng)就是編碼嗎?為什么?15作為軟件工程中的重要環(huán)節(jié),軟件配置管理的任務(wù)有哪些?四設(shè)計(jì)題1分析如下DFD圖,指出其中有哪些錯(cuò)誤?(1)父圖的處理1沒有輸入流(2)子圖的數(shù)據(jù)流B應(yīng)為C(3)子圖的數(shù)據(jù)流F多余2假設(shè)一個(gè)數(shù)據(jù)庫(kù)產(chǎn)品規(guī)范要求該產(chǎn)品能夠處理從1到1000中間的任何數(shù)量的記錄。請(qǐng)首先為其劃分等價(jià)類,并利用等價(jià)類劃分和邊界值分析技術(shù)為其設(shè)計(jì)測(cè)試用例,并說明每個(gè)測(cè)試用例屬于某等價(jià)類成員還是屬于邊界值或是鄰接邊界值。等價(jià)類1:少于1個(gè)記錄等價(jià)類2:1到1000個(gè)記錄等價(jià)類3:多于1000個(gè)記錄測(cè)試用例1:0個(gè)記錄等價(jià)類1成員且鄰接邊界值測(cè)試用例2:1個(gè)記錄邊界值測(cè)試用例3:2個(gè)記錄鄰接邊界值測(cè)

51、試用例4:100個(gè)記錄等價(jià)類2的成員測(cè)試用例5:999個(gè)記錄鄰接邊界值測(cè)試用例6:1000個(gè)記錄邊界值測(cè)試用例7:1001個(gè)記錄等價(jià)類3成員且鄰接邊界值3工資計(jì)算系統(tǒng)中的一個(gè)子系統(tǒng)有如下功能: ( 1 )計(jì)算扣除部分由基本工資計(jì)算出應(yīng)扣除(比如水電費(fèi)、缺勤)的部分; ( 2 )計(jì)算獎(jiǎng)金部分根據(jù)職工的出勤情況計(jì)算出獎(jiǎng)勵(lì)金; ( 3 )計(jì)算工資總額部分根據(jù)輸入的扣除額及獎(jiǎng)金計(jì)算出總額; ( 4 )計(jì)算稅金部分由工資總額中計(jì)算出應(yīng)扣除各種稅金; ( 5 )生成工資表根據(jù)計(jì)算總額部分和計(jì)算稅金部分傳遞來的有關(guān)職工工資的詳細(xì)信息生成工資表。 試根據(jù)要求畫出該問題的數(shù)據(jù)流程圖。4一個(gè)考試錄取統(tǒng)計(jì)分?jǐn)?shù)子系統(tǒng)

52、有如下功能:(1) 計(jì)算標(biāo)準(zhǔn)分:根據(jù)考生原始分計(jì)算,得到標(biāo)準(zhǔn)分,存入考生分?jǐn)?shù)文件;(2) 計(jì)算錄取線分:根據(jù)標(biāo)準(zhǔn)分、招生計(jì)劃文件中的招生人數(shù),計(jì)算錄取線,存入錄取線文件。試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖。5閱讀如下程序,說出該程序?qū)儆谀姆N耦合方式,為什么?并說明可以采用何種方式降藕。public class Testpublic int calSum(Worker w)/Worker為類名int wLevel=w.getLevel();int wSalary=w.getSalary();/計(jì)算工人獎(jiǎng)金收入等.這段程序存在印記耦合,因?yàn)樵摮绦驅(qū)㈩惵暶鳛榱朔椒ǖ膮?shù)類型??刹捎媒涌诨蛘吆?jiǎn)單參數(shù)類型

53、的方法降藕。6首先說出什么是基本途徑測(cè)試,然后為以下程序流程圖設(shè)計(jì)基本途徑測(cè)試的測(cè)試用例,并標(biāo)明路徑。基本途徑測(cè)試是指覆蓋基本途徑集合的試驗(yàn)用例將使程序中的每條語句至少執(zhí)行一次。測(cè)試用例如下:x=3,y=0,z=3(覆蓋x>2,y=0,x=3,z>1,通過路徑abcde); x=1,y=1,z=1(覆蓋x1,y0,x2,z1,通過路徑ace)。7某廠對(duì)部分職工重新分配工作的政策是:年齡在20歲以下者,初中文化程度脫產(chǎn)學(xué)習(xí),高中文化程度當(dāng)電工;年齡在20歲至35歲之間者,中學(xué)文化程度男性當(dāng)鉗工,女性當(dāng)車工,大學(xué)文化程度都當(dāng)技術(shù)員;年齡在35歲以上者,中學(xué)文化程度當(dāng)材料員,大學(xué)文化程度

54、當(dāng)技術(shù)員。請(qǐng)根據(jù)以上材料分別采用偽碼和判定樹兩種方式描述之。偽碼表示:IF 年齡20 THEN IF 文化程度=初中 THEN脫產(chǎn)學(xué)習(xí)ELSE工作為電工ENDIFELSE IF 年齡35 THENIF 文化程度=大學(xué) THEN工作為技術(shù)員 ELSE IF 性別=男性 THEN工作為鉗工ELSE 工作為車工ENDIFENDIFENDIFELSE IF 文化程度=大學(xué) THEN工作為技術(shù)員ELSE 工作為材料員ENDIFENDIF判定樹表示:8閱讀下列說明,回答問題。說明:某圖書管理系統(tǒng)的主要功能如下:1.圖書管理系統(tǒng)的資源目錄中記錄著所有可供讀者借閱的資源,每項(xiàng)資源都有一個(gè)唯一的索引號(hào)。系統(tǒng)需登

55、記每項(xiàng)資源的名稱、出版時(shí)間和資源狀態(tài)(可借閱或已借出)。2.資源分兩類:圖書和唱片。對(duì)于圖書,系統(tǒng)還需登記作者和頁(yè)數(shù);對(duì)于唱片,還需登記演唱者和介質(zhì)類型(CD或磁帶)。3.讀者信息保存在該系統(tǒng)的讀者信息數(shù)據(jù)庫(kù)中,記錄的信息包括:讀者的識(shí)別碼和姓名。系統(tǒng)為每個(gè)讀者創(chuàng)建了一個(gè)借書記錄文件,用來保存讀者所借資源的相關(guān)信息。現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)。系統(tǒng)的所用名詞如下表所示:圖書管理系統(tǒng)資源目錄讀者資源索引號(hào)系統(tǒng)名稱出版時(shí)間資源狀態(tài)圖書唱片作者頁(yè)數(shù)演唱者介質(zhì)類型CD磁帶讀者信息讀者信息數(shù)據(jù)庫(kù)識(shí)別碼姓名借書記錄文件信息建立如下類圖,回答問題。(1) 請(qǐng)從名詞表中挑選名詞為a、b、c三個(gè)類替換類名。a 資源目錄 b 圖書 c 唱片(2) 資源條目和b、c三個(gè)類都有各自的屬性,請(qǐng)分別寫出它們的屬性名。資源條目屬性:索引號(hào)、名稱、出版時(shí)間、資源狀態(tài)圖書屬性:作者、頁(yè)數(shù)唱片屬性:演唱者、介質(zhì)類型(3) 識(shí)別關(guān)系多重度,完成(1)(2)(3)(4)。 (1)1 (2)0

溫馨提示

  • 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)論