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

下載本文檔

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

文檔簡(jiǎn)介

一、選擇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、邊界值分析方法是取輸入/輸出等價(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軟件過程能力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)意味著一個(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)件之間是實(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ù)人員可以通過該系統(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)度。

intGetMax(intn,intdatalist[])

{

intk=0;

for(intj=1;j<n;j++)

if(datalist[j]>datalist[k])k=j;

returnk;

}(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,datalist[0]=1,預(yù)期結(jié)果:k=0Path2:取n=2,datalist[0]=1,datalist[1]=0,預(yù)期結(jié)果:k=0Path3:取n=2,datalist[0]=0,datalist[1]=1,預(yù)期結(jié)果:k=15、下圖顯示了某個(gè)學(xué)校課程管理系統(tǒng)的部分類圖,其中一個(gè)學(xué)生(student)可以知道所有注冊(cè)課程的教師(instructor),一個(gè)教師也可以知道所有注冊(cè)課程的學(xué)生。

現(xiàn)在提出一個(gè)新的需求:"一個(gè)教師也可以是某些課程的學(xué)生",那么下面設(shè)計(jì)A-C中哪一個(gè)是最好的?為什么?設(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)填入圖中的()。

供選擇的答案:

①高效性②通用性③保密性④專用性⑤系統(tǒng)軟件⑥中間件⑦應(yīng)用軟件⑧支撐軟件⑨特定業(yè)務(wù)⑩子系統(tǒng)一、選擇1、(A)是軟件生存期中的一系列相關(guān)軟件工程活動(dòng)的集合,它由軟件規(guī)格說明、軟件設(shè)計(jì)與開發(fā)、軟件確認(rèn)、軟件改進(jìn)等活動(dòng)組成。A軟件過程B軟件工具C質(zhì)量保證D軟件工程2、(D)是以追求更高的效益和效率為目標(biāo)的持續(xù)性活動(dòng)。A質(zhì)量策劃B質(zhì)量控制C質(zhì)量保證D質(zhì)量改進(jìn)3、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軟件過程性能C軟件過程能力D軟件過程4、在各種不同的軟件需求中,功能需求描述了用戶使用產(chǎn)品必須要完成的任務(wù),可以在用例模型或方案腳本中予以說明,(C)是從各個(gè)角度對(duì)系統(tǒng)的約束和限制,反映了應(yīng)用對(duì)軟件系統(tǒng)質(zhì)量和特性的額外要求。A業(yè)務(wù)需求B功能要求C非功能需求D用戶需求5、(A)意味著一個(gè)操作在不同的類中可以有不同的實(shí)現(xiàn)方式。A多態(tài)性B多繼承C類的復(fù)用D封裝6、在面向?qū)ο蟮南到y(tǒng)中,系統(tǒng)責(zé)任的良好分配原則是(B)。A在類之間均勻分配B集中分配在少數(shù)控制類中C根據(jù)交互圖的消息進(jìn)行分配D根據(jù)個(gè)人喜好進(jìn)行分配7、軟件配置項(xiàng)是軟件配置管理的對(duì)象,即軟件工程過程中產(chǎn)生的(C)。A接口B軟件環(huán)境C信息項(xiàng)D版本8、軟件測(cè)試計(jì)劃開始于需求分析階段,完成于(B)階段。A需求分析B軟件設(shè)計(jì)C軟件實(shí)現(xiàn)D軟件測(cè)試二、問答題1、判斷下列敘述的正確性,將結(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)在需求分析之前,因此,軟件需求規(guī)格說明書不應(yīng)成為軟件可行性分析的依據(jù)。(4).(√)模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化,建模是為了更好地理解所開發(fā)的系統(tǒng)。(5).(×)UML語言支持面向?qū)ο蟮闹饕拍睿⑴c具體的開發(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)度有可能拖延時(shí),增加開發(fā)人員并不能加快進(jìn)度。(10).(×)軟件技術(shù)復(fù)審是由用戶和測(cè)試人員實(shí)施的一種質(zhì)量保證活動(dòng)。改正:軟件技術(shù)復(fù)審是由軟件開發(fā)人員實(shí)施的一種質(zhì)量保證活動(dòng)。2、你認(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á)能力。3、需求工程包括哪些基本活動(dòng)?每一項(xiàng)活動(dòng)的主要任務(wù)是什么?答:(1)需求獲?。▎栴}識(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)及其變更情況。4、為什么軟件需要維護(hù)?簡(jiǎn)述軟件維護(hù)的過程。答:在軟件開發(fā)完成交付用戶使用后,為了保證軟件在一個(gè)相當(dāng)長(zhǎng)的時(shí)期能夠正常運(yùn)行,就需要對(duì)軟件進(jìn)行維護(hù)。軟件維護(hù)的過程:(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)行決定。5、根據(jù)下面給出的規(guī)格說明,利用等價(jià)類劃分的方法,給出足夠的測(cè)試用例。"一個(gè)程序讀入3個(gè)整數(shù),它們分別代表一個(gè)三角形的3個(gè)邊長(zhǎng)。該程序判斷所輸入的整數(shù)是否構(gòu)成一個(gè)三角形,以及該三角形是一般的、等腰的或等邊的,并將結(jié)果打印出來。"要求:設(shè)三角形的3條邊分別為A、B、C,并且(1)列出等價(jià)類表,格式如下:輸入條件有效等價(jià)類無效等價(jià)類是否構(gòu)成一個(gè)三角形(1)A>0且B>0且C>0且

A+B>C且B+C>A且

A+C>B。(2)A≤0或B≤0或C≤0

(3)A+B≤C或A+C≤B

或B+C≤A是否等腰三角形(4)A=B或A=C或B=C(5)A≠B且A≠C且B≠C是否等邊三角形(6)A=B且A=C且B=C(7)A≠B或A≠C或B≠C(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】覆蓋等價(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】覆蓋等價(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é)果為不是等邊三角形。6、下圖顯示了配置管理中的存取和控制,請(qǐng)選擇合適的答案,將其對(duì)應(yīng)的序號(hào)填入()中。A①B⑥C⑨D⑧供選擇的答案:A:①軟件工程人員②配置人員③質(zhì)量保證人員B:④異步控制⑤同步控制⑥存取控制C~D:⑦管理⑧登入⑨檢出⑩填寫變更請(qǐng)求7、UML關(guān)系包括關(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)系。8、下圖顯示了某個(gè)學(xué)校課程管理系統(tǒng)的部分類圖,其中一個(gè)學(xué)生(student)可以知道所有注冊(cè)課程的教師(instructor),一個(gè)教師也可以知道所有注冊(cè)課程的學(xué)生。現(xiàn)在提出一個(gè)新的需求:"一個(gè)教師也可以是某些課程的學(xué)生",那么下面設(shè)計(jì)A~C中哪一個(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:一、選擇1、在軟件生存周期的瀑布模型中一般包括計(jì)劃、(C)、設(shè)計(jì)、編碼、測(cè)試、維護(hù)等階段。A可行性分析B需求采集C需求分析D問題定義2、ISO9000是由ISO/TC176制定的關(guān)于(B)和質(zhì)量保證的國(guó)際標(biāo)準(zhǔn)。A質(zhì)量控制B質(zhì)量管理C質(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í)序圖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)換圖11、在項(xiàng)目計(jì)劃發(fā)生延遲的情況下,增加更多的程序員一定會(huì)加快進(jìn)度。錯(cuò)12、軟件錯(cuò)誤可能出現(xiàn)在開發(fā)過程的早期,越早修改越好。對(duì)13、不完善的系統(tǒng)定義往往是導(dǎo)致軟件項(xiàng)目失敗的主要原因。對(duì)14、一個(gè)成功的項(xiàng)目唯一提交的就是運(yùn)行程序。錯(cuò)15、只有質(zhì)量差的軟件產(chǎn)品才需要維護(hù)。錯(cuò)16、UML是一種直觀化、明確化、構(gòu)建和文檔化軟件產(chǎn)物的通用語言。錯(cuò)17、一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。對(duì)18、面向?qū)ο蟮姆治鍪敲嫦蛴?jì)算機(jī)系統(tǒng)建立軟件系統(tǒng)的對(duì)象模型。錯(cuò)19、軟件工作的考慮范圍主要是程序設(shè)計(jì)和實(shí)現(xiàn)。錯(cuò)20、等價(jià)類劃分方法將所有可能的輸入數(shù)據(jù)劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)作為測(cè)試用例。對(duì)二、問答題1、(共10分)下圖顯示了McCall質(zhì)量模型,請(qǐng)選擇正確的答案,并將其對(duì)應(yīng)的序號(hào)填入圖中的括號(hào)(3596)。供選擇的答案:①高效性②通用性③可測(cè)試性④專用性⑤可復(fù)用性⑥可使用性⑦應(yīng)用軟件⑧支撐軟件⑨正確性⑩硬件環(huán)境2、(共10分)UML關(guān)系包括關(guān)聯(lián)、聚合、泛化、實(shí)現(xiàn)、依賴等5種類型,請(qǐng)將合適的關(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)系。3、(共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)提高軟件開發(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ù)方案。(3)發(fā)展為最終的產(chǎn)品原型作為一種構(gòu)造工具,是產(chǎn)品最初子集的完整功能實(shí)現(xiàn),通過一系列小規(guī)模的開發(fā)循環(huán),你可以完成整個(gè)產(chǎn)品的開發(fā)。3.在下列用例圖中,哪些是系統(tǒng)角色?Banknetwork、Manager、Clerk4、(共20分)下面是一段插入排序的程序,將R[k+1]插入到R[1…k]的適當(dāng)位置。R[0]=R[k+1];j=k;while(R[j]>R[0]){R[j+1]=R[j];j--;}R[j+1]=R[0];用路徑覆蓋方法為它設(shè)計(jì)足夠的測(cè)試用例(while循環(huán)次數(shù)為0、1、2次)。畫出該程序的流程圖:測(cè)試用例設(shè)計(jì)循環(huán)

次數(shù)輸入數(shù)據(jù)

預(yù)期結(jié)果覆蓋路徑j(luò)R[i-2]R[i-1]R[i]R[i+1]R[0]jR[i-2]R[i-1]R[i]R[i+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.類圖 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)目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.?dāng)?shù)據(jù)流圖14.為了使軟件具有清晰結(jié)構(gòu)和良好的風(fēng)格,下面關(guān)于程序設(shè)計(jì)風(fēng)格的敘述不可取的有(C)A.盡量不要進(jìn)行浮點(diǎn)數(shù)的相等比較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.JAVA C.C# D.C19.下列測(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.控制耦合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.輸入、變換、輸出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)階段的任務(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.軟件完整性36.軟件需求分析應(yīng)確定的是用戶對(duì)軟件的(A)。A.功能需求和非功能需求B.性能需求C.非功能需求D.功能需求37.在軟件開發(fā)中,(A)是指對(duì)將要開發(fā)的系統(tǒng)的開發(fā)成本進(jìn)行估算,然后與可能取得的效益進(jìn)行比較和權(quán)衡。A.成本—效益分析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.為不同的用戶和功能提供一致的界面服務(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.編碼階段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.注釋用來說明程序段,需要在每一行都要加注釋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ù)結(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ū)ο蟮闹饕卣鞒龑?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“軟件生命周期”理論將軟件過程劃分到軟件開發(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è)模塊之間傳遞的是數(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)模塊與樁模塊。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ì)、編碼、測(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)答題什么是軟件工程?答:是指用工程、科學(xué)和數(shù)學(xué)的原則與方法開發(fā)、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)和管理方法。功能內(nèi)聚和順序內(nèi)聚各有什么特點(diǎn)?哪一個(gè)的內(nèi)聚程度更高?答:順序內(nèi)聚指一個(gè)模塊中各個(gè)處理元素都密切相關(guān)同一功能且必須順序執(zhí)行,前一功能的輸出就是下一功能元素的輸入。功能內(nèi)聚是最高程度的內(nèi)聚;RUP模型的優(yōu)點(diǎn)有哪些?答:各個(gè)圖之間的關(guān)系去看UML相關(guān)的書籍。目的很明顯是用圖形代替描述性的語言更加直觀,容易參照和業(yè)務(wù)溝通。對(duì)系統(tǒng)進(jìn)行抽象設(shè)計(jì)有哪些優(yōu)點(diǎn)?傳統(tǒng)的構(gòu)架建模方法有哪些?傳統(tǒng)的詳細(xì)設(shè)計(jì)建模方法有哪些?面向?qū)ο蟮脑O(shè)計(jì)建模方法又有哪些?(每種要求至少說出2種)數(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ì)完整精確地描述一個(gè)系統(tǒng)。數(shù)據(jù)字典的主要元素有:數(shù)據(jù)元素、數(shù)據(jù)流、處理和數(shù)據(jù)文件或者數(shù)據(jù)庫(kù)。詳細(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ì)。什么是白盒測(cè)試?白盒測(cè)試主要有哪幾種測(cè)試技術(shù)?答:白盒測(cè)試又稱玻璃盒測(cè)試。使用白盒方法導(dǎo)出測(cè)試用例是依據(jù)模塊的編碼,即模塊的內(nèi)部邏輯,對(duì)測(cè)試者是可見的,故稱白盒測(cè)試。白盒測(cè)試主要有基本途徑測(cè)試、條件測(cè)試和循環(huán)測(cè)試等。軟件開發(fā)有哪些特性?10增量模型有哪些優(yōu)點(diǎn)?11瀑布模型的主要缺陷是什么?答:按照瀑布模型來開發(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í)施活動(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è)試用例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)有如下功能:(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耦合方式,為什么?并說明可以采用何種方式降藕。publicclassTest{ publicintcalSum(Workerw) //Worker為類名{ intwLevel=w.getLevel(); intwSalary=w.getSalary(); //計(jì)算工人獎(jiǎng)金收入等}.......}這段程序存在印記耦合,因?yàn)樵摮绦驅(qū)㈩惵暶鳛榱朔椒ǖ膮?shù)類型??刹捎媒涌诨蛘吆?jiǎn)單參數(shù)類型的方法降藕。6首先說出什么是基本途徑測(cè)試,然后為以下程序流程圖設(shè)計(jì)基本途徑測(cè)試的測(cè)試用例,并標(biāo)明路徑?;就緩綔y(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(覆蓋x≤1,y≠0,x≠2,z≤1,通過路徑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é)文化程度當(dāng)技術(shù)員。請(qǐng)根據(jù)以上材料分別采用偽碼和判定樹兩種方式描述之。偽碼表示:IF年齡<20THEN IF文化程度=初中THEN 脫產(chǎn)學(xué)習(xí) ELSE 工作為電工 ENDIFELSE IF年齡≤35THEN IF文化程度=大學(xué)THEN 工作為技術(shù)員 ELSE IF性別=男性THEN 工作為鉗工 ELSE 工作為車工 ENDIF ENDIF ENDIFELSE IF文化程度=大學(xué)THEN 工作為技術(shù)員 ELSE 工作為材料員 ENDIFENDIF判定樹表示:8閱讀下列說明,回答問題。說明:某圖書管理系統(tǒng)的主要功能如下:1.圖書管理系統(tǒng)的資源目錄中記錄著所有可供讀者借閱的資源,每項(xiàng)資源都有一個(gè)唯一的索引號(hào)。系統(tǒng)需登記每項(xiàng)資源的名稱、出版時(shí)間和資源狀態(tài)(可借閱或已借出)。2.資源分兩類:圖書和唱片。對(duì)于圖書,系統(tǒng)還需登記作者和頁數(shù);對(duì)于唱片,還需登記演唱者和介質(zhì)類型(CD或磁帶)。3.讀者信息保存在該系統(tǒng)的讀者信息數(shù)據(jù)庫(kù)中,記錄的信息包括:讀者的識(shí)別碼和姓名。系統(tǒng)為每個(gè)讀者創(chuàng)建了一個(gè)借書記錄文件,用來保存讀者所借資源的相關(guān)信息?,F(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)。系統(tǒng)的所用名詞如下表所示:圖書管理系統(tǒng)資源目錄讀者資源索引號(hào)系統(tǒng)名稱出版時(shí)間資源狀態(tài)圖書唱片作者頁數(shù)演唱者介質(zhì)類型CD磁帶讀者信息讀者信息數(shù)據(jù)庫(kù)識(shí)別碼姓名借書記錄文件信息建立如下類圖,回答問題。請(qǐng)從名詞表中挑選名詞為a、b、c三個(gè)類替換類名。a資源目錄b圖書c唱片資源條目和b、c三個(gè)類都有各自的屬性,請(qǐng)分別寫出它們的屬性名。資源條目屬性:索引號(hào)、名稱、出版時(shí)間、資源狀態(tài)圖書屬性:作者、頁數(shù)唱片屬性:演唱者、介質(zhì)類型識(shí)別關(guān)系多重度,完成(1)(2)(3)(4)。(1)1(2)0··n或0··*(3)0··n或0··*(4)19比較下列兩段語句,從編碼風(fēng)格的角度分析其優(yōu)、劣。程序段一:/position_xisthepositionxofobject;position_yisthepositionyofobject;/ifa>bthen a=belse ifposition_x>position_ythen b=position_y else a=position_x endifendif程序段二:ifa>bthenifx>ythenb=yelsea=xendifelsea=bendif程序段一比程序段二好(1)開頭給出了序言性注視(2)使用了縮進(jìn)使程序結(jié)構(gòu)更清晰(3)變量名定義更清楚10某個(gè)用戶輸入設(shè)定有如下規(guī)則:只能輸入‘#’或三位數(shù)字;假定設(shè)計(jì)的程序可接受所有符合規(guī)定的密碼,請(qǐng)使用等價(jià)類劃分法為其設(shè)計(jì)測(cè)試用例,并給出預(yù)期結(jié)果是有效還是無效。劃分等價(jià)類有效等價(jià)類無效等價(jià)類1.#;2.三位數(shù);1.

有非數(shù)字字符;2.少于三位數(shù)字;3.多于三位數(shù)字。

設(shè)計(jì)測(cè)試方案有效等價(jià)類測(cè)試用例1:# 有效測(cè)試用例2:123 有效無效等價(jià)類測(cè)試用例3:A12 無效測(cè)試用例4:12 無效測(cè)試用例5:1234 無效11欲開發(fā)一個(gè)銀行的活期存取款業(yè)務(wù)的處理系統(tǒng):儲(chǔ)戶將填好的存/取款單和存折交給銀行工作人員,然后由系統(tǒng)作以下處理;(1)業(yè)務(wù)分類處理:系統(tǒng)首先根據(jù)儲(chǔ)戶所填的存/取款單,確定本次業(yè)務(wù)的性質(zhì),并將存/取款單和存折交下一步處理;(2)存款處理:系統(tǒng)將存款單上的存款金額分別記錄在存折和帳目文件中,并將現(xiàn)金存入現(xiàn)金庫(kù);最后將存折還給儲(chǔ)戶;(3)取款處理:系統(tǒng)將取款單上的取款金額分別記錄在存折和帳目文件中,并從現(xiàn)金庫(kù)提取現(xiàn)金;最后將現(xiàn)金和存折還給儲(chǔ)戶。該系統(tǒng)的總體圖如下圖所示,請(qǐng)畫出該系統(tǒng)的零級(jí)圖。五.綜合題1.假設(shè)你需要?jiǎng)澇鲆粋€(gè)小組專門開發(fā)一個(gè)組件,該組件的樂觀尺寸Sopt為7000LOC,最有可能尺寸Sm為9000LOC,保守尺寸Spress為14000LOC;這種組件的平均生產(chǎn)率為500LOC/月,平均開發(fā)成本為每月6000元。請(qǐng)根據(jù)以上給出的條件計(jì)算該組件的開發(fā)成本以及該小組的工作量,要求給出計(jì)算步驟。首先計(jì)算該組件的LOC估計(jì)值EV=(Sopt+4Sm+Spress)/6=(7000+4*9000+14000)/6=9500行該組件的每行近似成本為6000/500=12元組件的開發(fā)成本為12*9500=114000元?jiǎng)t所需工作量為9500/500=16人-月2.假設(shè)你是一個(gè)公司的項(xiàng)目經(jīng)理,將要接手一個(gè)軟件項(xiàng)目,開發(fā)一個(gè)電子商務(wù)網(wǎng)站,你的團(tuán)隊(duì)有60人左右,且擁有豐富的架站經(jīng)驗(yàn),對(duì)于該項(xiàng)目所要使用的J2EE平臺(tái)十分熟悉,并且在以往的開發(fā)過程中積累了大量可復(fù)用的構(gòu)件。不過客戶要求的時(shí)間非常急,只有3個(gè)月。試根據(jù)材料回答如下問題:(1)作為項(xiàng)目經(jīng)理,你將采用何種過程模型進(jìn)行開發(fā)?為什么?采用RAD模型開發(fā)。原因:團(tuán)隊(duì)人力資源充足,技術(shù)經(jīng)驗(yàn)豐富,又有類似的開發(fā)經(jīng)歷并擁有可復(fù)用構(gòu)件,在客戶要求開發(fā)速度的情況下RAD模型是非常好的選擇。(2)假設(shè)項(xiàng)目實(shí)際進(jìn)行時(shí)的進(jìn)度情況與計(jì)劃情況不一致,有可能造成無法按期完工的情況,作為項(xiàng)目經(jīng)理,你該如何應(yīng)對(duì)?答:A項(xiàng)目持續(xù)時(shí)間壓縮法,如趕工或并行實(shí)施;B資源分配平衡技術(shù),如把稀缺的資源先分配給關(guān)鍵路徑上的任務(wù);C時(shí)差法,如將緊缺資源從時(shí)差較長(zhǎng)的任務(wù)調(diào)整到關(guān)鍵任務(wù)上;D時(shí)間-成本平衡法,通過增加最低相關(guān)成本來縮短工期。3.假設(shè)您剛剛升任一家軟件公司的項(xiàng)目經(jīng)理,將率領(lǐng)一個(gè)40人的團(tuán)隊(duì),用ASP.NET開發(fā)一個(gè)在線購(gòu)物系統(tǒng)。該系統(tǒng)應(yīng)用前景良好。不過您所在的公司之前一直使用J2EE平臺(tái)開發(fā),對(duì)微軟的.NET不夠熟悉,好在客戶要求的時(shí)間不是很緊,有12個(gè)月的時(shí)間可用于開發(fā)。請(qǐng)根據(jù)以上材料回答如下問題:(1)您打算采用何種軟件過程模型來組織開發(fā)?為什么?RUP模型或增量模型、螺旋模型等。原因:項(xiàng)目規(guī)模較大,需要多人協(xié)作開發(fā);需求不清楚,缺乏相關(guān)領(lǐng)域的經(jīng)驗(yàn);技術(shù)基礎(chǔ)薄弱,缺乏準(zhǔn)備;使用此類演進(jìn)模型,可以再開發(fā)過程中與用戶很好地交互,減少開發(fā)風(fēng)險(xiǎn)。可在早期迭代中構(gòu)造原型產(chǎn)品,盡快熟悉業(yè)務(wù)需求;在后面的迭代中,完善構(gòu)架,逐步開發(fā)出符合用戶需求的產(chǎn)品。(2)作為項(xiàng)目經(jīng)理,請(qǐng)你分析該項(xiàng)目可能存在的風(fēng)險(xiǎn)有哪些?剛剛當(dāng)上項(xiàng)目經(jīng)理,缺乏管理經(jīng)驗(yàn);項(xiàng)目規(guī)模大,需要足夠的人力支持;缺乏領(lǐng)域經(jīng)驗(yàn),用戶需求還不夠清楚;技術(shù)經(jīng)驗(yàn)缺乏等。以圖書管理系統(tǒng)為例1.需求分析階段有哪些任務(wù)要完成?文檔內(nèi)容有哪些答:一、確定對(duì)系統(tǒng)的綜合要求1.功能需求:這方面的需求指定系統(tǒng)必須提供的服務(wù)。通過需求分析應(yīng)該劃分出系統(tǒng)必須完成的所有功能。2.性能需求:性能需求指定系統(tǒng)必須滿足的定時(shí)約束或容量約束,通常包括速度(響應(yīng)時(shí)間)、信息量速率、主存容量、磁盤容量、安全性等方面的需求。3.可靠性和可用性需求:可靠性需求定量地指定系統(tǒng)的可靠性。可用性與可靠性密切相關(guān),它量化了用戶可以使用系統(tǒng)的程度。4.出錯(cuò)處理需求:這類需求說明系統(tǒng)對(duì)環(huán)境錯(cuò)誤應(yīng)該怎樣響應(yīng)。例如,如果它接收到從另一個(gè)系統(tǒng)發(fā)來的違反協(xié)議格式的消息,應(yīng)該做什么?注意,上述這類錯(cuò)誤并不是由該應(yīng)用系統(tǒng)本身造成的。5.接口需求:接口需求描述應(yīng)用系統(tǒng)與它的環(huán)境通信的格式。常見的接口需求有:用戶接口需求;硬件接口需求;軟件接口需求;通信接口需求。6.約束:設(shè)計(jì)約束或?qū)崿F(xiàn)約束描述在設(shè)計(jì)或?qū)崿F(xiàn)應(yīng)用系統(tǒng)時(shí)應(yīng)遵守的限制條件。在HYPERLINK"/search?word=%E9%9C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論