軟件工程練習(xí)題_第1頁(yè)
軟件工程練習(xí)題_第2頁(yè)
軟件工程練習(xí)題_第3頁(yè)
軟件工程練習(xí)題_第4頁(yè)
軟件工程練習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章概述(習(xí)題與參考答案)

一、判斷題

1.軟件等于計(jì)算機(jī)程序,設(shè)計(jì)軟件就是編寫(xiě)程序的過(guò)程。(X)

2.軟件工具的作用是為了延長(zhǎng)軟件產(chǎn)品的壽命。(X)

3.軟件危機(jī)的主要表現(xiàn)是軟件的復(fù)雜性急劇增加,軟件價(jià)格和需求量上升。(X)

4.面向?qū)ο蟮能浖_(kāi)發(fā)方法是以功能分析和數(shù)據(jù)分析為基礎(chǔ)的。(X)

5.軟件工程的過(guò)程是管理和控制產(chǎn)品質(zhì)量的關(guān)鍵,它定義了技術(shù)方法的采用I、工程產(chǎn)品的產(chǎn)生、

里程碑的建立、質(zhì)量的保證和變更的管理。(J)

二、選擇題

1.下列關(guān)于軟件的說(shuō)法中正確的是:(A)

A.軟件是計(jì)算機(jī)程序、規(guī)程以及運(yùn)行計(jì)算機(jī)系統(tǒng)可能需要的相關(guān)文檔和數(shù)據(jù)。

B.一般來(lái)說(shuō),軟件只有在其行為與設(shè)計(jì)者的目標(biāo)一致的情況下才能成功。

C.由于軟件是產(chǎn)品,因此可以應(yīng)用其他工程制品所用的技術(shù)進(jìn)行生產(chǎn)。

D.大多數(shù)軟件產(chǎn)品在其生命周期中不需要增強(qiáng)功能。

2.軟件是計(jì)算機(jī)程序、規(guī)程以及運(yùn)行計(jì)算機(jī)系統(tǒng)可能需要的相關(guān)文檔和()。(C)

A.操作系統(tǒng)B.硬件系統(tǒng)

C.數(shù)據(jù)D.外部環(huán)境

3.()因素促使計(jì)算機(jī)系統(tǒng)越來(lái)越復(fù)雜。(D)

A.計(jì)算機(jī)內(nèi)存和存儲(chǔ)容量上的巨大增長(zhǎng)B.外部輸入/輸出選項(xiàng)的更加多樣性

C.計(jì)算機(jī)體系結(jié)構(gòu)方面的深刻變化D.以上所有選項(xiàng)

4.下面的()不再是現(xiàn)代軟件工程師關(guān)注的問(wèn)題。(A)

A.為什么計(jì)算機(jī)硬件的成本這么高?B.為什么軟件需要很長(zhǎng)時(shí)間才能完成?

C.為什么不能在產(chǎn)品發(fā)布前去除軟件錯(cuò)誤?D.為什么開(kāi)發(fā)一個(gè)軟件的成本這么高?

5.軟件會(huì)逐漸退化而不會(huì)磨損,其原因在于()。(C)

A.軟件通常暴露在惡劣的環(huán)境下B.軟件錯(cuò)誤通常發(fā)生在使用之后

C.不斷的變更使組件接口之間引起錯(cuò)誤D.軟件備件很難訂購(gòu)

6.根據(jù)軟件服務(wù)對(duì)象的范圍不同,軟件可劃分為():(B)

A.應(yīng)用軟件、支撐軟件、系統(tǒng)軟件B.通用軟件、定制軟件

C.實(shí)時(shí)處理軟件、分時(shí)軟件D.批處理軟件、交互式軟件

7.下面說(shuō)法正確的是():(B)

A.購(gòu)買(mǎi)大多數(shù)計(jì)算機(jī)系統(tǒng)所需的硬件比軟件更昂貴。

B.軟件工程知識(shí)體系將軟件工程知識(shí)分解成10個(gè)知識(shí)域。

C.通用軟件是由某個(gè)特定客戶(hù)委托,軟件開(kāi)發(fā)組織在合同的約束下所開(kāi)發(fā)的軟件。

D.運(yùn)行正確的軟件就是高質(zhì)量的軟件。

8.軟件危機(jī)的主要表現(xiàn)是軟件產(chǎn)品的質(zhì)量低劣以及()。(D)

A.軟件成本太高B.開(kāi)發(fā)技術(shù)落后

C.軟件規(guī)模大D.軟件生產(chǎn)率低下

9.下面關(guān)于軟件危機(jī)的說(shuō)法中正確的是()o(C)

A.軟件危機(jī)在20世紀(jì)70年代末期全面爆發(fā)

B.當(dāng)前先進(jìn)的軟件工程方法已經(jīng)解決了軟件危機(jī)的問(wèn)題

C.軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題

D.軟件危機(jī)是指在軟件產(chǎn)品中存在一系列的質(zhì)量問(wèn)題

10.軟件工程的基本目標(biāo)是()。(B)

A.消除軟件固有的復(fù)雜性B.開(kāi)發(fā)高質(zhì)量的軟件

C.努力發(fā)揮開(kāi)發(fā)人員的創(chuàng)造性潛能D.更好地維護(hù)正在使用的軟件產(chǎn)品

11.()是將系統(tǒng)化的、規(guī)范的、可定量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程。(D)

A.軟件產(chǎn)品B.軟件過(guò)程

C.軟件測(cè)試D.軟件工程

12.軟件工程的三要素包括方法、工具和()。(C)

A.軟件系統(tǒng)B.硬件環(huán)境

C.過(guò)程D.人員

13.目前使用最廣泛的兩種軟件工程的方法是()。(D)

A.結(jié)構(gòu)化方法、Jackson方法B.面向?qū)ο蠓椒?、維也納方法

C.Jackson方法、維也納方法D.結(jié)構(gòu)化方法、面向?qū)ο蠓椒?/p>

14.下列關(guān)于面向?qū)ο蠓椒ㄕf(shuō)法錯(cuò)誤的是():(D)

A.面向?qū)ο蠓椒ㄊ菑默F(xiàn)實(shí)世界中客觀存在的事物出發(fā),盡可能地運(yùn)用人類(lèi)的自然思維方式來(lái)構(gòu)

造軟件系統(tǒng)。

B.面向?qū)ο蠓椒▽?shí)現(xiàn)了客觀世界到計(jì)算機(jī)系統(tǒng)的平滑過(guò)渡,容易為人們所理解。

C.在面向?qū)ο蠓椒ㄖ?,?duì)象所具有的封裝性和信息隱蔽等特性,使其容易實(shí)現(xiàn)軟件復(fù)用。

D.采用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)的系統(tǒng)一旦出現(xiàn)錯(cuò)誤,很難定位和修改,系統(tǒng)的可維護(hù)性差。

15.遺留系統(tǒng)是指():(A)

A.那些過(guò)時(shí)或存在問(wèn)題的計(jì)算機(jī)系統(tǒng),通常是許多年以前開(kāi)發(fā)的。

B.不會(huì)因?yàn)橄到y(tǒng)中存在的錯(cuò)誤、環(huán)境的異常或惡意的攻擊而導(dǎo)致系統(tǒng)失效。

C.在事件或數(shù)據(jù)產(chǎn)生時(shí),立即予以處理,并及時(shí)反饋信號(hào),控制需要監(jiān)測(cè)和控制的過(guò)程的系統(tǒng)。

D.把一組輸入作業(yè)或一批數(shù)據(jù)以成批處理的方式一次運(yùn)行,按順序逐個(gè)處理完的系統(tǒng)。

16.軟件工程師在從事軟件工作時(shí)應(yīng)使用下面的()準(zhǔn)則。(E)

A.從來(lái)不為個(gè)人獲利而竊取數(shù)據(jù)

B.從來(lái)不散布或出售項(xiàng)目中自己工作的信息

C.從來(lái)不故意毀壞或修改別人的程序、文件或數(shù)據(jù)

D.從來(lái)不侵犯?jìng)€(gè)人、小組或組織的隱私

E.以上所有選項(xiàng)

17.軟件工程學(xué)的目的和意義是()。(A)

A.應(yīng)用科學(xué)的方法和工程化的規(guī)范管理來(lái)指導(dǎo)軟件開(kāi)發(fā)

B.克服軟件危機(jī)

C.作好軟件開(kāi)發(fā)的培訓(xùn)工作

D.以較低的成本開(kāi)發(fā)出高質(zhì)量的軟件2

18.軟件的主要特性包括復(fù)雜性、可變性和()。(A)

A.不可見(jiàn)性B.高成本

C.定制性D.非獨(dú)立性

19.軟件開(kāi)發(fā)面臨的主要問(wèn)題包括過(guò)分依賴(lài)人工、開(kāi)發(fā)工作大量重復(fù)、生產(chǎn)率低以及()。(A)

A.軟件難以重用B.開(kāi)發(fā)成本高

C.開(kāi)發(fā)技術(shù)落后D.軟件復(fù)雜

20.下列屬于面向?qū)ο箝_(kāi)發(fā)方法的是()。(B)

A.BoochB.UML

C.CoadD.OMT

三、簡(jiǎn)答題

1.請(qǐng)舉出一個(gè)軟件失敗的實(shí)例,簡(jiǎn)要描述該事件發(fā)生的情景和導(dǎo)致失敗的原因。

答案要點(diǎn):

[實(shí)例1]Ariane5火箭

1996年4月,Ariane5火箭首次發(fā)射,在升空大約40秒且高度不到4公里處,火箭突然

發(fā)生爆炸。該事件造成了50億美元的損失,其原因在于一個(gè)程序中試圖將64位浮點(diǎn)數(shù)轉(zhuǎn)換成16

位整數(shù)時(shí)產(chǎn)生溢出。同時(shí),由于系統(tǒng)缺少錯(cuò)誤處理程序?qū)?shù)據(jù)溢出進(jìn)行管理,而相關(guān)的備份軟件僅

僅是復(fù)制而成的,在數(shù)據(jù)溢出發(fā)生時(shí)系統(tǒng)根本無(wú)法處理這個(gè)錯(cuò)誤。

[實(shí)例2]美國(guó)愛(ài)國(guó)者導(dǎo)彈系統(tǒng)

美國(guó)愛(ài)國(guó)者導(dǎo)彈防御系統(tǒng)曾經(jīng)應(yīng)用于海灣戰(zhàn)爭(zhēng)對(duì)抗伊拉克的飛毛腿導(dǎo)彈,并普遍受到贊譽(yù),但

也確實(shí)發(fā)生了幾次對(duì)抗失利。1991年2月,一枚導(dǎo)彈在沙特阿拉伯的多哈由于對(duì)抗失利造成28

名美國(guó)士兵喪生。問(wèn)題的癥結(jié)在于導(dǎo)彈的軟件包含一個(gè)累加計(jì)時(shí)故障,一個(gè)很小的系統(tǒng)時(shí)鐘錯(cuò)誤積

累起來(lái)就可能拖延14個(gè)小時(shí),從而造成跟蹤系統(tǒng)失去準(zhǔn)確度。

2.軟件與其他工程學(xué)科所產(chǎn)生的制品有什么根本區(qū)別?

答案要點(diǎn):

軟件與其他工程學(xué)科所產(chǎn)生的制品的區(qū)別有:

(1)軟件是人類(lèi)思維和智能所延伸的產(chǎn)物,其數(shù)據(jù)、狀態(tài)和邏輯關(guān)系的組合以及人類(lèi)思維的

復(fù)雜性和不確定性導(dǎo)致它本身具有極高的復(fù)雜性;

(2)軟件具有不可見(jiàn)性,它是抽象的,形式化和邏輯化的。

(3)軟件具有可變性,有用的軟件需要不斷地修改和擴(kuò)展,但是頻繁的修改可能導(dǎo)致軟件的

退化;

(4)軟件的開(kāi)發(fā)在很大程度上依然是手工作坊式的,難以實(shí)現(xiàn)工廠(chǎng)化的生產(chǎn)。

3.請(qǐng)舉例說(shuō)明定制軟件與通用軟件的區(qū)別?

答案要點(diǎn):

定制軟件是由某個(gè)特定客戶(hù)委托,軟件開(kāi)發(fā)組織在合同的約束下開(kāi)發(fā)的軟件。如企業(yè)ERP系統(tǒng)、

衛(wèi)星控制系統(tǒng)、空中交通指揮系統(tǒng)等屬于定制軟件。

通用軟件是由軟件開(kāi)發(fā)組織開(kāi)發(fā),面向市場(chǎng)用戶(hù)公開(kāi)銷(xiāo)售的獨(dú)立運(yùn)行系統(tǒng),有時(shí)也被稱(chēng)為套裝

軟件。如操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、字處理軟件等屬于通用軟件。

4.軟件工程包括哪些基本要素?請(qǐng)簡(jiǎn)要說(shuō)明這些要素及其作用。

答案要點(diǎn):

軟件工程包括過(guò)程、方法和工具三個(gè)要素。

軟件工程過(guò)程定義了技術(shù)方法的采用、工程產(chǎn)品(包括模型、文檔、數(shù)據(jù)、報(bào)告、表格等)的

產(chǎn)生、里程碑的建立、質(zhì)量的保證和變更的管理,從而將人員、技術(shù)、組織與管理有機(jī)地結(jié)合在一

起,實(shí)現(xiàn)在規(guī)定的時(shí)間和預(yù)算內(nèi)開(kāi)發(fā)高質(zhì)量軟件的目標(biāo);

軟件工程方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù),通常包括某種語(yǔ)言或圖形的模型表示方法、

良好的設(shè)計(jì)實(shí)踐以及質(zhì)量保證標(biāo)準(zhǔn)等;

軟件工程工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境,輔助軟件開(kāi)發(fā)任務(wù)的完

成。現(xiàn)有的軟件工具覆蓋了從需求分析、系統(tǒng)建模、代碼生成、程序調(diào)試和軟件測(cè)試等多個(gè)方面,

形成了集成化的軟件工程開(kāi)發(fā)環(huán)境CASEo

5.請(qǐng)說(shuō)明軟件具有哪些本質(zhì)特性?

答案要點(diǎn):

軟件的本質(zhì)特性有復(fù)雜性、一致性、可變性、不可見(jiàn)性。

復(fù)雜性:在大型軟件系統(tǒng)中,無(wú)數(shù)種數(shù)據(jù)、狀態(tài)和邏輯關(guān)系的可能組合以及人類(lèi)思維的復(fù)雜性

和不確定性導(dǎo)致的理解歧義和差異,使整個(gè)系統(tǒng)的復(fù)雜性急劇增加。軟件本質(zhì)上的復(fù)雜性使軟件產(chǎn)

品難以理解,影響軟件過(guò)程的有序性和軟件產(chǎn)品的可靠性,并使維護(hù)過(guò)程變得十分困難。

致性:軟件必須遵從人為的慣例并適應(yīng)已有的技術(shù)和系統(tǒng),軟件需要隨接口的不同而改變,

隨時(shí)間的推移而變化,而這些變化是不同的人設(shè)計(jì)的結(jié)果,因此,軟件必須遵循各種接口、協(xié)議和

標(biāo)準(zhǔn),在有些情況下,兼容性是軟件開(kāi)發(fā)的目標(biāo)。

可變性:軟件是隨著應(yīng)用、硬件、用戶(hù)和社會(huì)等各種因素的變化而不斷地被修改和擴(kuò)展。當(dāng)軟

件被應(yīng)用之后,人們往往希望超越原有的應(yīng)用邊界進(jìn)行軟件功能的提升或擴(kuò)展;另外,由于軟件必

須依附于硬件平臺(tái),因此需要隨著硬件設(shè)備的更新和接口的不同而變化。

不可見(jiàn)性:軟件是客觀世界空間和計(jì)算機(jī)空間之間的一種邏輯實(shí)體,不具有物理的形體特征。

人們一直試圖使用不同的技術(shù)進(jìn)行軟件可視化,但軟件仍然保持著無(wú)法可視化的固有特性,從而剝

奪了一些具有強(qiáng)大功能的概念工具的構(gòu)造思路。由于軟件的不可見(jiàn)性,定義“需要做什么”成為軟

件開(kāi)發(fā)的根本問(wèn)題。

6.請(qǐng)說(shuō)明結(jié)構(gòu)化開(kāi)發(fā)方法的特點(diǎn)與不足。

答案要點(diǎn):

結(jié)構(gòu)化開(kāi)發(fā)方法的特點(diǎn):

(1)以算法作為基本構(gòu)造單元,強(qiáng)調(diào)自頂向下的功能分解,對(duì)功能和數(shù)據(jù)進(jìn)行一定程度的分離;

(2)要求控制集中在高層模塊中,不同模塊之間的控制信息需要通過(guò)上、下調(diào)用來(lái)傳遞。

結(jié)構(gòu)化開(kāi)發(fā)方法的不足:

(1)由于采用功能與數(shù)據(jù)分離的軟件設(shè)計(jì)結(jié)構(gòu),它與人類(lèi)的現(xiàn)實(shí)世界環(huán)境有著根本性的差別,

因此使得人們對(duì)現(xiàn)實(shí)世界的認(rèn)識(shí)與編程之間存在理解上的鴻溝;

(2)由于強(qiáng)調(diào)臼頂向下的功能分解,上下層模塊存在著十分緊密的依賴(lài),因此,系統(tǒng)變動(dòng)和修

改十分困難,不便于軟件重用;

(3)由于控制集中在高層模塊中,模塊間的直接通信受限制,且控制信息的傳送效率低、易出

錯(cuò),因此難以適應(yīng)突出控制特性的系統(tǒng)要求。

7.軟件工程是以系統(tǒng)的、可控的、有效的方式產(chǎn)生高質(zhì)量的軟件,請(qǐng)說(shuō)明你對(duì)“高質(zhì)量軟件”含

義的理解。

答案要點(diǎn):

軟件質(zhì)量是軟件產(chǎn)品與明確的和隱含的需求相一致的程度,它通常由一系列的質(zhì)量特性來(lái)進(jìn)行

描述,包括正確性、可靠性、有效性、可用性、復(fù)用性、可維護(hù)性、可移植性等。例如,除了要求

軟件正確運(yùn)行之外,人們可能還希望軟件運(yùn)行的響應(yīng)時(shí)間符合要求、軟件使用方便快捷、程序代碼

易于理解等,而“程序代碼易于理解”往往是一種用戶(hù)沒(méi)有明確提出的需求,但卻是影響軟件演化

的重要因素。

8.有人認(rèn)為“軟件工程過(guò)于耗費(fèi)時(shí)間,并且妨礙開(kāi)發(fā)人員的編程效率?!蹦闶欠裾J(rèn)同這種觀點(diǎn)?

請(qǐng)闡述理由。

答案要點(diǎn):

這一觀點(diǎn)是不正確的。

軟件開(kāi)發(fā)遠(yuǎn)不只是編程,管理不當(dāng)導(dǎo)致的混亂、工作重復(fù)、交流不暢等才是大多軟件項(xiàng)目效率

低下的主要原因。雖然直接編程在開(kāi)發(fā)前期看來(lái)效率高,但是不完整的、不清晰的或錯(cuò)誤的需求和

設(shè)計(jì)將導(dǎo)致在開(kāi)發(fā)后期反復(fù)地修改程序,反而降低了整個(gè)開(kāi)發(fā)效率,其質(zhì)量也無(wú)法保證,甚至導(dǎo)致

軟件開(kāi)發(fā)最終失敗的結(jié)果。

軟件工程是幫助人們?cè)谟邢薜臅r(shí)間、金錢(qián)預(yù)算和人力、物力資源的約束下開(kāi)發(fā)出質(zhì)量盡量高的

軟件的一系列理論和工具,雖然它在編程之外的工作上花費(fèi)了大量時(shí)間,但所耗費(fèi)的時(shí)間與精力并

不像其表面上所看起來(lái)的那樣冗余與低效,而是從總體上做好整個(gè)體系的設(shè)計(jì)與把握,全方位地規(guī)

劃開(kāi)發(fā)過(guò)程,對(duì)節(jié)省成本、提高效率、保證最終產(chǎn)品質(zhì)量起到了事半功倍的作用。

9.請(qǐng)簡(jiǎn)要描述SWEBOK所包含的10個(gè)知識(shí)域。

答案要點(diǎn):

軟件工程知識(shí)體系的10個(gè)知識(shí)域包括:

(1)軟件需求:需求定義為解決真實(shí)世界問(wèn)題而必須展示的特性。軟件需求的知識(shí)域包括六個(gè)

子域,即軟件需求工程過(guò)程、需求獲取、需求分析、需求規(guī)格說(shuō)明、需求驗(yàn)證、需求管理。

(2)軟件設(shè)計(jì):根據(jù)IEEE,設(shè)計(jì)既是定義一個(gè)系統(tǒng)或組件的體系結(jié)構(gòu)、組件、接口和其他特

征的過(guò)程,又是這個(gè)過(guò)程的結(jié)果。軟件設(shè)計(jì)的知識(shí)域包括軟件設(shè)計(jì)基礎(chǔ)、軟件設(shè)計(jì)關(guān)鍵問(wèn)題、軟件

結(jié)構(gòu)與體系結(jié)構(gòu)、軟件設(shè)計(jì)質(zhì)量的分析與評(píng)價(jià)、軟件設(shè)計(jì)符號(hào)、軟件設(shè)計(jì)的策略與方法六個(gè)子域。

(3)軟件構(gòu)造:它指通過(guò)編碼、驗(yàn)證、單元測(cè)試、集成測(cè)試和排錯(cuò)的組合,具體創(chuàng)建一個(gè)可以

工作的、有意義的軟件,其知識(shí)域包括降低復(fù)雜性、預(yù)知多樣性、結(jié)構(gòu)化驗(yàn)證、使用外部標(biāo)準(zhǔn)四個(gè)

子域。

(4)軟件測(cè)試:它是由在有限測(cè)試用例集合上,根據(jù)期望的行為,對(duì)程序的行為進(jìn)行的動(dòng)態(tài)驗(yàn)

證組成,測(cè)試用例是實(shí)際上無(wú)限的執(zhí)行域中適當(dāng)選擇出來(lái)的。軟件測(cè)試包括五個(gè)子域,即軟件測(cè)試

基礎(chǔ)和測(cè)試級(jí)別、測(cè)試技術(shù)、測(cè)試相關(guān)的度量、測(cè)試過(guò)程管理。

(5)軟件維護(hù):軟件一旦投入運(yùn)行,就可能出現(xiàn)異常,運(yùn)行環(huán)境可能發(fā)生改變,用戶(hù)會(huì)提出新

的需求。生命周期軟件維護(hù)階段從軟件交付時(shí)開(kāi)始,但是維護(hù)活動(dòng)出現(xiàn)得還要早。軟件維護(hù)的知識(shí)

域包括四個(gè)子域,即基本概念、維護(hù)過(guò)程、關(guān)鍵問(wèn)題、維護(hù)技術(shù)。

(6)軟件配置管理:為了系統(tǒng)地控制配置的變更和維護(hù)在整個(gè)系統(tǒng)生命周期中的完整性和可追

蹤性,而標(biāo)志軟件在時(shí)間上不同點(diǎn)的配置的學(xué)科。軟件配置管理包括六個(gè)子域,即軟件配置管理過(guò)

程管理、軟件配置標(biāo)志、軟件配置控制、軟件配置狀態(tài)報(bào)告、軟件配置審計(jì)、軟件發(fā)行管理和交付。

(7)軟件工程管理:處理軟件工程的管理與度量,雖然度量是所有知識(shí)域的一個(gè)重要方面,但

是這里涉及的是度量程序的專(zhuān)題。軟件工程管理包括組織管理、過(guò)程/項(xiàng)目管理、軟件工程度量三個(gè)

子域。

(8)軟件工程過(guò)程:涉及軟件工程過(guò)程本身的定義、實(shí)現(xiàn)、評(píng)定、度量、管理、變更和改進(jìn)。

軟件工程過(guò)程知識(shí)域包括六個(gè)子域,即基本概念、過(guò)程基礎(chǔ)設(shè)施、過(guò)程度量、過(guò)程定義、定性分析、

過(guò)程實(shí)施和變更。

(9)軟件工程工具與方法:軟件工程工具和方法知識(shí)域包括軟件開(kāi)發(fā)環(huán)境、軟件開(kāi)發(fā)方法兩個(gè)

子域。其中,軟件開(kāi)發(fā)環(huán)境是支持軟件開(kāi)發(fā)過(guò)程的計(jì)算機(jī)工具,軟件開(kāi)發(fā)方法是軟件開(kāi)發(fā)活動(dòng)的組

織方法,目的是系統(tǒng)化的組織開(kāi)發(fā)活動(dòng)以實(shí)現(xiàn)成功最大化。

(10)軟件質(zhì)量:是貫穿整個(gè)軟件工程活動(dòng)的關(guān)注焦點(diǎn),包括軟件質(zhì)量概念、軟件質(zhì)量保證與

驗(yàn)證和確認(rèn)的R的和計(jì)劃、SQA與V&V的活動(dòng)及質(zhì)量。

10.結(jié)合IEEE/ACM《軟件工程職業(yè)道德和職業(yè)行為準(zhǔn)則》,試分別舉例闡述每一項(xiàng)原則。

答案要點(diǎn):

IEEE/ACM聯(lián)合制定的《軟件工程職業(yè)道德利職業(yè)行為準(zhǔn)則》,包括有關(guān)專(zhuān)業(yè)軟件工程師行為和

決斷的八項(xiàng)原則:

(1)公眾:軟件工程人員應(yīng)始終與公眾利益保持一致。在適當(dāng)?shù)那闆r下軟件工程人員應(yīng)當(dāng)講誠(chéng)

信,堅(jiān)決反對(duì)各種弄虛作假現(xiàn)象,不承接自己能力尚難以勝任的任務(wù),對(duì)已經(jīng)承諾的事,要保證做

到,在情況變化和有特殊原因,實(shí)在難以做到時(shí).,應(yīng)及早向當(dāng)事人報(bào)告和說(shuō)明;忠實(shí)做好各種作業(yè)

記錄,不隱瞞、不虛構(gòu),對(duì)提交的軟件產(chǎn)品和及其功能,在有關(guān)文檔上不作夸大不實(shí)的說(shuō)明。

(2)客戶(hù)和雇主:在與公眾利益保持一致的原則下,軟件工程人員應(yīng)滿(mǎn)足客戶(hù)和雇主的最大利

益。軟件工程人員應(yīng)具有良好的知識(shí)產(chǎn)權(quán)保護(hù)觀念,自覺(jué)抵制各種違反知識(shí)產(chǎn)權(quán)保護(hù)法規(guī)的行為,

不購(gòu)買(mǎi)和使用盜版的軟件,不參與侵犯知識(shí)產(chǎn)權(quán)的活動(dòng),在自己開(kāi)發(fā)的產(chǎn)品中不拷貝、復(fù)用未獲得

使用許可的他方內(nèi)容。

(3)產(chǎn)品:軟件工程人員應(yīng)當(dāng)確保他們的產(chǎn)品及其改進(jìn)符合盡可能高的專(zhuān)業(yè)標(biāo)準(zhǔn)。努力做到充

分理解所從事軟件的規(guī)格說(shuō)明,保證他們所從事的軟件說(shuō)明是良好的文檔、可滿(mǎn)足用戶(hù)需要和經(jīng)過(guò)

適當(dāng)批準(zhǔn)的,對(duì)他們從事或建議的項(xiàng)目,做出實(shí)際和定量的估算,包括成本、進(jìn)度、人員、質(zhì)量和

輸出,并對(duì)估算的不確定性做出評(píng)估,確保對(duì)其從事的軟件和文檔資料有合適的測(cè)試、排錯(cuò)和評(píng)審。

(4)判斷:軟件工程人員應(yīng)當(dāng)具備公正和獨(dú)立的職業(yè)判斷力。軟件工程人員對(duì)受他們?cè)u(píng)估的軟

件或文檔,應(yīng)保持職業(yè)的客觀性,不參與欺騙性的經(jīng)濟(jì)行為,如行賄、重復(fù)收費(fèi)或其他不正當(dāng)經(jīng)濟(jì)

行為,只有在對(duì)本人監(jiān)督下準(zhǔn)備的文檔,或在本人專(zhuān)業(yè)知識(shí)范圍內(nèi)并經(jīng)本人同意的情況下才簽署文

檔,對(duì)無(wú)法回避和避免的利益沖突,應(yīng)告示所有有關(guān)方面,當(dāng)他們、他們的雇主或客戶(hù)之間存在未

公開(kāi)和潛在利益沖突時(shí),拒絕以會(huì)員或顧問(wèn)身份參加與軟件事務(wù)相關(guān)的私人、政府或職業(yè)團(tuán)體。

(5)管理:軟件工程管理者和領(lǐng)導(dǎo)者應(yīng)擁護(hù)和倡導(dǎo)合乎道德的有關(guān)軟件開(kāi)發(fā)和維護(hù)的管理方法。

軟件工程管理者和領(lǐng)導(dǎo)者應(yīng)對(duì)其從事的項(xiàng)目保證良好的管理,包括提高質(zhì)量和減少風(fēng)險(xiǎn)等有效手段,

保證軟件工程人員在遵循標(biāo)準(zhǔn)之前便知曉這些手段;保證軟件工程人員知道雇主是如何保護(hù)對(duì)雇主

或其他人保密的口令、文件和信息的有關(guān)策略和方法;布置工作任務(wù)應(yīng)先考慮軟件工程人員的教育

和經(jīng)驗(yàn)有相應(yīng)的水平,再加上有進(jìn)一步教育和成長(zhǎng)的要求等。

(6)職業(yè):在與公眾利益一致的原則下,軟件工程人員應(yīng)當(dāng)提高職業(yè)的信譽(yù)。作為一名職業(yè)人

員,不以犧牲職業(yè)、客戶(hù)或雇主利益為代價(jià),謀求自身利益,服從所有監(jiān)管作業(yè)的法規(guī),除非這種

要求與公眾利益有不-?致時(shí)例外:要精確敘述自己所從事軟件工作的特性,不僅避免錯(cuò)誤的斷言,

也要防止那些可能造成猜測(cè)投機(jī)、空洞無(wú)物、欺騙性、誤導(dǎo)性或者有疑問(wèn)的斷言;對(duì)所從事的軟件

和相關(guān)文檔,負(fù)起檢測(cè)、修正和報(bào)告錯(cuò)誤的責(zé)任等。

(7)同行:軟件工程人員對(duì)其同行應(yīng)持平等和支持的態(tài)度。講團(tuán)結(jié)、講合作,有良好的團(tuán)隊(duì)協(xié)

作精神,善于溝通和交流,在業(yè)務(wù)討論匕積極坦率地發(fā)表自己的觀點(diǎn)和意見(jiàn),對(duì)理解不清楚和有

疑問(wèn)的地方,決不放過(guò),在做同級(jí)評(píng)審和技術(shù)審核時(shí),實(shí)事求是地反映和指出問(wèn)題,對(duì)事不對(duì)人,

要自覺(jué)協(xié)助項(xiàng)目經(jīng)理做好項(xiàng)目管理,積極提出工作改進(jìn)建議。

(8)自我:軟件工程人員應(yīng)當(dāng)終身學(xué)習(xí)專(zhuān)業(yè)知識(shí),促進(jìn)合乎道德的職'業(yè)實(shí)踐方法。面對(duì)飛速發(fā)

展的技術(shù),軟件工程人員能自覺(jué)跟蹤技術(shù)發(fā)展動(dòng)態(tài),積極參與各種技術(shù)交流、技術(shù)培訓(xùn)和繼續(xù)教育

活動(dòng),不斷改進(jìn)和提高自己的技能,自覺(jué)參與項(xiàng)目管理和軟件過(guò)程改進(jìn)活動(dòng)。能注意對(duì)個(gè)人軟件過(guò)

程活動(dòng)的監(jiān)控和管理,積累工程數(shù)據(jù),研究和不斷改進(jìn)自己的軟件生產(chǎn)效率和質(zhì)量,并積極參與發(fā)

展高效的團(tuán)隊(duì)軟件過(guò)程管理,使各項(xiàng)軟件產(chǎn)出,都能達(dá)到國(guó)際和國(guó)家標(biāo)準(zhǔn)與規(guī)范。努力提高自己的

技術(shù)和職業(yè)道德素質(zhì),力爭(zhēng)做到與國(guó)際接軌,提交的軟件和文檔資料能符合國(guó)際和國(guó)家的有關(guān)技術(shù)

標(biāo)準(zhǔn),在職業(yè)道德規(guī)范上,也能符合國(guó)際軟件工程師職業(yè)道德規(guī)范標(biāo)準(zhǔn)。

[本章小結(jié)]

軟件是計(jì)算機(jī)程序、規(guī)程以及運(yùn)行計(jì)算機(jī)系統(tǒng)可能需要的相關(guān)文檔和數(shù)據(jù),具有復(fù)雜性、一致

性、不可見(jiàn)性和可變性等本質(zhì)特性。根據(jù)軟件服務(wù)對(duì)象的范圍不同,軟件可劃分為通用軟件和定制

軟件。

軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)重問(wèn)題。

軟件工程是一門(mén)交叉性的工程學(xué)科,重點(diǎn)研究如何以系統(tǒng)的、可控的、高效的方式開(kāi)發(fā)和維護(hù)

高質(zhì)量軟件的問(wèn)題。IEEE的定義為:軟件工程是①將系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟

件的開(kāi)發(fā)、運(yùn)行和維護(hù),即工程化應(yīng)用到軟件上;②對(duì)①中所述方法的研究。

軟件工程以關(guān)注軟件質(zhì)量為目標(biāo),包括過(guò)程、方法和工具等三個(gè)要素。其中,軟件過(guò)程涉及開(kāi)

發(fā)軟件產(chǎn)品的一組活動(dòng)及其結(jié)果;軟件工程方法為軟件開(kāi)發(fā)過(guò)程提供“如何做”的技術(shù);CASE工

具為軟件開(kāi)發(fā)方法提供自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境,輔助軟件開(kāi)發(fā)任務(wù)的完成。

軟件工程知識(shí)體系SWEBOK為軟件工程學(xué)科的邊界提供一致確認(rèn)的特征,為支持該學(xué)科的知識(shí)

體系提供指導(dǎo)。它將軟件工程知識(shí)分解成10個(gè)知識(shí)域,即軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件

測(cè)試、軟件維護(hù)、軟件配置管理、軟件工程管理、軟件工程過(guò)程、軟件工程工具和方法、軟件質(zhì)量。

軟件工程人員不但需要熟練掌握軟件工程的知識(shí)與技能,具備從事工程實(shí)踐所需的專(zhuān)業(yè)能力,

還必須要認(rèn)識(shí)和遵循社會(huì)倫理和職業(yè)道德,具有強(qiáng)烈的職業(yè)責(zé)任感。IEEE計(jì)算機(jī)學(xué)會(huì)和ACM聯(lián)合

制定了《軟件工程職業(yè)道德和職業(yè)行為準(zhǔn)則》,包括有關(guān)專(zhuān)業(yè)軟件工程師行為和決斷的八項(xiàng)原則,

包括公眾、客戶(hù)和雇主、產(chǎn)品、判斷、管理、職業(yè)、同行、自我。

第2章軟件過(guò)程(習(xí)題與參考答案)

一、簡(jiǎn)要回答下列問(wèn)題

1.請(qǐng)簡(jiǎn)要說(shuō)明軟件過(guò)程的概念和基本元素。

答案要點(diǎn):

軟件過(guò)程是軟件工程人員為了獲得軟件產(chǎn)品在軟件工具支持下實(shí)施的一系列軟件工程活動(dòng),它

應(yīng)該明確定義以下元素:過(guò)程中所執(zhí)行的活動(dòng)及其順序關(guān)系;每一個(gè)活動(dòng)的內(nèi)容和步驟;團(tuán)隊(duì)人員

的工作和職責(zé)。

2.請(qǐng)描述快速原型過(guò)程模型的各個(gè)階段。

答案要點(diǎn):

快速原型方法的目的是解決軟件需求不明確給開(kāi)發(fā)帶來(lái)風(fēng)險(xiǎn)的問(wèn)題,其關(guān)鍵在于盡可能“快速”

地建造原型,通過(guò)用戶(hù)對(duì)原型的評(píng)價(jià)最終確定系統(tǒng)的需求。

快速原型過(guò)程模型包括以下階段:

原型需求分析:分析和提煉所收集到的客戶(hù)需求;

原型開(kāi)發(fā):基于初步的需求快速建造一個(gè)可以運(yùn)行的軟件原型,實(shí)現(xiàn)客戶(hù)或未來(lái)的用戶(hù)與系統(tǒng)

的交互;

原型評(píng)價(jià):由用戶(hù)或客戶(hù)對(duì)該原型進(jìn)行評(píng)價(jià),需要的話(huà)再進(jìn)一步細(xì)化待開(kāi)發(fā)軟件的需求,并繼

續(xù)調(diào)整原型直至需求確定下來(lái)為止。

快速原型模型的缺點(diǎn):原型系統(tǒng)的內(nèi)部結(jié)構(gòu)可能不好,導(dǎo)致軟件產(chǎn)品質(zhì)量下降;所選用的開(kāi)發(fā)技術(shù)

和工具不一定符合主流。

3.對(duì)于下列每一個(gè)過(guò)程模型,分別列舉一個(gè)可以適用的具體軟件項(xiàng)目。

(1)瀑布模型

(2)快速原型模型

(3)增量模型

(4)形式化方法模型

(5)基于組件的開(kāi)發(fā)模型

答案要點(diǎn):

(1)瀑布模型

項(xiàng)目舉例:某項(xiàng)目需要在一種新型機(jī)器上,為一種已知語(yǔ)言開(kāi)發(fā)一個(gè)普通的編譯器。

選用分析:由于該項(xiàng)目的語(yǔ)言是已知的,需求是明確的和穩(wěn)定的,整個(gè)系統(tǒng)屬于中小規(guī)模,因

此適合采用瀑布模型進(jìn)行軟件開(kāi)發(fā)。

(2)快速原型模型

項(xiàng)目舉例:某公司需要給火車(chē)站開(kāi)發(fā)一個(gè)交互式火車(chē)車(chē)次查詢(xún)系統(tǒng),這是火車(chē)站首次使用該系

統(tǒng)。

9

選用分析:本項(xiàng)目的主要問(wèn)題在于用戶(hù)需要方面,該系統(tǒng)與最終用戶(hù)的交互是十分關(guān)鍵的,但

是在項(xiàng)目初期用戶(hù)的需求基本上是不知道的,因此適合采用快速原型方法來(lái)確定用戶(hù)需求,在需求

確定的基礎(chǔ)上再開(kāi)發(fā)最終系統(tǒng)。

(3)增量模型

項(xiàng)目舉例:某公司開(kāi)發(fā)一個(gè)通用CAD軟件產(chǎn)品,產(chǎn)品需求是逐步完善的,某些需求在一定范圍

內(nèi)是明確的,某些需求需要進(jìn)一步細(xì)化,但是迫于市場(chǎng)競(jìng)爭(zhēng)的壓力產(chǎn)品需要盡快上市。

選用分析:通用CAD軟件產(chǎn)品具有一定的成熟度,總體需求和軟件系統(tǒng)結(jié)構(gòu)是可以確定的,但

是實(shí)現(xiàn)該產(chǎn)品所有功能需要比較長(zhǎng)的開(kāi)發(fā)周期。為了盡快上市可以采用增量模型實(shí)行多版本的發(fā)布

策略,既可以很快占領(lǐng)市場(chǎng)又可以為后續(xù)版本的需求定義奠定基礎(chǔ)。

(4)形式化方法模型

項(xiàng)目舉例:某公司開(kāi)發(fā)一個(gè)汽車(chē)防抱死剎車(chē)控制系統(tǒng)。

選用分析:由于該系統(tǒng)對(duì)安全性和可靠性要求極高,需要在系統(tǒng)運(yùn)行之前進(jìn)行相關(guān)性能的檢驗(yàn),

因此適合采用形式化方法開(kāi)發(fā)該系統(tǒng)。

(5)基于組件的開(kāi)發(fā)模型

項(xiàng)目舉例:某公司開(kāi)發(fā)企業(yè)管理ERP系統(tǒng),包括銷(xiāo)售、庫(kù)存、生產(chǎn)、財(cái)務(wù)、物流、人力資源等

部分,在系統(tǒng)實(shí)施過(guò)程中不同的企業(yè)具有?定的需求差異。

選用分析:企業(yè)ERP系統(tǒng)具有組件化的結(jié)構(gòu),在不同企業(yè)實(shí)施時(shí)應(yīng)該盡量重用已有的組件,因

此適合采用基于組件的開(kāi)發(fā)模型開(kāi)發(fā)該系統(tǒng),在直接應(yīng)用或者修改使用的基礎(chǔ)匕最終進(jìn)行組件開(kāi)

發(fā)和系統(tǒng)集成。

4.在螺旋模型中,風(fēng)險(xiǎn)分析的作用是什么?

答案要點(diǎn):

在螺旋模型中,軟件開(kāi)發(fā)是在風(fēng)險(xiǎn)等級(jí)的指導(dǎo)下進(jìn)行的。首先確定該階段的目標(biāo),完成這些目

標(biāo)的選擇方案及其約束條件;其次從風(fēng)險(xiǎn)角度分析方案的開(kāi)發(fā)策略,努力排除各種潛在的風(fēng)險(xiǎn),在

需求不適當(dāng)?shù)那闆r下可能需要建造原型系統(tǒng);如果某些風(fēng)險(xiǎn)不能排除,該方案可能立即終止,否則

繼續(xù)啟動(dòng)下一步的軟件開(kāi)發(fā)和驗(yàn)證工作,并再次通過(guò)風(fēng)險(xiǎn)分析規(guī)定過(guò)程遵循的策略;最后,評(píng)價(jià)該

階段的結(jié)果,并規(guī)劃下一個(gè)迭代。

從上述過(guò)程中可以看出,風(fēng)險(xiǎn)分析的作用是通過(guò)識(shí)別項(xiàng)目中的高風(fēng)險(xiǎn)問(wèn)題,使開(kāi)發(fā)人員制定適

當(dāng)?shù)拈_(kāi)發(fā)策略消除這些風(fēng)險(xiǎn)。

二、選擇題

1.()是軟件生存期中的一系列相關(guān)軟件工程活動(dòng)的集合,它由軟件規(guī)格說(shuō)明、軟件設(shè)計(jì)與開(kāi)發(fā)、

軟件確認(rèn)、軟件演化等活動(dòng)組成。(A)

A.軟件過(guò)程B.軟件工具

C.軟件產(chǎn)品D.軟件工程

2.軟件過(guò)程的基本活動(dòng)包括()。(A)

10

A.分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、演化B.溝通、計(jì)劃、建模、構(gòu)造、部署

C.計(jì)劃、分析、設(shè)計(jì)、實(shí)現(xiàn)、調(diào)試D.溝通、風(fēng)險(xiǎn)管理、度量、產(chǎn)品化、評(píng)審

3.下列說(shuō)法正確的是():(C)

A.軟件需求規(guī)格說(shuō)明書(shū)在軟件開(kāi)發(fā)過(guò)程中具有重要的作用,它是軟件可行性分析的依據(jù)。

B.軟件設(shè)計(jì)是根據(jù)需求規(guī)格說(shuō)明,確定軟件體系結(jié)構(gòu)。

C.驗(yàn)證和確認(rèn)需要指出軟件是否符合規(guī)格說(shuō)明以及是否滿(mǎn)足客戶(hù)的需求。

D.維護(hù)軟件的成本是很高的,應(yīng)該在開(kāi)發(fā)階段考慮維護(hù)的問(wèn)題,而質(zhì)量好的軟件則不需要維護(hù)

4.軟件開(kāi)發(fā)的瀑布模型是()o(A)

A.適用于需求被清晰定義的情況B.一種需要快速構(gòu)造可運(yùn)行程序的方法

C.最適合于大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的項(xiàng)目D.已不能用于現(xiàn)代環(huán)境的過(guò)時(shí)模型

5.軟件開(kāi)發(fā)的增量模型是()o(B)

A.適用于需求被清晰定義的情況B.一種需要快速構(gòu)造核心產(chǎn)品的方法

C.最適合于大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的項(xiàng)目D.一種不適用于商業(yè)產(chǎn)品的創(chuàng)新模型

6.快速原型開(kāi)發(fā)模型是()o(B)

A.適用于客戶(hù)需求被明確定義的情況B.適用于客戶(hù)需求難以清楚定義的情況

C.最適合于大規(guī)模團(tuán)隊(duì)開(kāi)發(fā)的項(xiàng)目D.很難產(chǎn)生有意義產(chǎn)品的一種冒險(xiǎn)模型

7.演化式軟件過(guò)程模型()。(D)

A.本質(zhì)上是迭代的B.可以很容易適應(yīng)需求的變化

C.通常不會(huì)拋棄所產(chǎn)生的系統(tǒng)D.以上所有選項(xiàng)

8.螺旋模型()。(C)

A.在軟件產(chǎn)品發(fā)布時(shí)結(jié)束B(niǎo).比增量模型更加混亂

C.在每一次迭代過(guò)程中包含項(xiàng)目風(fēng)險(xiǎn)評(píng)價(jià)D.以上所有選項(xiàng)

9.基于組件的開(kāi)發(fā)模型()。(C)

A.只適用于計(jì)算機(jī)硬件設(shè)計(jì)

B.不能支持可重用組件的開(kāi)發(fā)

C.在面向?qū)ο蠹夹g(shù)獲得支持的情況下應(yīng)用得更好

D.增加了開(kāi)發(fā)風(fēng)險(xiǎn)和成本

10.形式化方法模型是將數(shù)學(xué)方法用于()。(D)

A.定義計(jì)算機(jī)系統(tǒng)的規(guī)格說(shuō)明B.開(kāi)發(fā)無(wú)錯(cuò)誤的計(jì)算機(jī)系統(tǒng)

C.驗(yàn)證計(jì)算機(jī)系統(tǒng)的正確性D.以上所有選項(xiàng)

11.在軟件過(guò)程的需求階段,可能產(chǎn)生的過(guò)程制品有():(A)

A.構(gòu)想文檔、需求模型、軟件需求規(guī)格說(shuō)明

B.用戶(hù)手冊(cè)、設(shè)計(jì)模型、軟件體系結(jié)構(gòu)文檔、工作分解結(jié)構(gòu)

C.分布規(guī)格說(shuō)明、軟件開(kāi)發(fā)計(jì)戈U、軟件變更申請(qǐng)、軟件體系結(jié)構(gòu)文檔

D.軟件變更申請(qǐng)、軟件測(cè)試報(bào)告、發(fā)布版本說(shuō)明、軟件開(kāi)發(fā)計(jì)劃

11

12.螺旋模型將軟件過(guò)程劃分為若干個(gè)開(kāi)發(fā)回線(xiàn),每一個(gè)回線(xiàn)表示開(kāi)發(fā)過(guò)程的一個(gè)階段,每個(gè)階段

的活動(dòng)包括():(C)

A.制定計(jì)劃、風(fēng)險(xiǎn)分析、項(xiàng)目規(guī)劃、實(shí)施工程

B.制定計(jì)劃、原型設(shè)計(jì)、風(fēng)險(xiǎn)分析、實(shí)施工程

C.制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)施工程、客戶(hù)評(píng)價(jià)

D.項(xiàng)目規(guī)劃、原型設(shè)計(jì)、實(shí)施工程、原型評(píng)價(jià)

13.下面的軟件過(guò)程模型中,()適用于龐大、復(fù)雜并具有高風(fēng)險(xiǎn)的系統(tǒng)開(kāi)發(fā)。(D)

A.瀑布模型B.增量模型

C.快速原型模型D.螺旋模型

14.下面的軟件過(guò)程模型中,()提高了開(kāi)發(fā)效率和產(chǎn)品質(zhì)量,充分體現(xiàn)軟件復(fù)用的思想。(A)

A.基于組件的開(kāi)發(fā)模型B.增量模型

C.快速原型模型D.螺旋模型

15.下面的軟件過(guò)程模型中,()適用于用戶(hù)需求逐步細(xì)化的情況。(B)

A.瀑布模型B.增量模型

C.快速原型模型D.螺旋模型

三、判斷題

1.快速原型模型包括原型開(kāi)發(fā)利原型分析兩個(gè)階段。(X)

2.瀑布模型的最大優(yōu)點(diǎn)是將軟件開(kāi)發(fā)的各個(gè)階段劃分得十分清晰。(X)

3.基于組件的開(kāi)發(fā)模型適用于那些對(duì)安全性、可靠性和保密性要求極高的軟件系統(tǒng)。(X)

4.軟件需求規(guī)格說(shuō)明是確定系統(tǒng)需要的服務(wù)以及運(yùn)行與開(kāi)發(fā)中所受約束的過(guò)程,也稱(chēng)為需求工程。

(J)

5.可行性分析的任務(wù)是研究問(wèn)題的范圍,探索這個(gè)問(wèn)題是否值得去解,是否有可行的解決辦法。

(J)

四、論述題

5.軟件工程過(guò)程有哪幾個(gè)基本過(guò)程活動(dòng)?

答案要點(diǎn):

軟件工程過(guò)程的基本活動(dòng)包括:

(1)問(wèn)題提出:開(kāi)展技術(shù)探索和市場(chǎng)調(diào)查等活動(dòng),研究系統(tǒng)的可行性和可能的解決方案,確定

待開(kāi)發(fā)系統(tǒng)的總體目標(biāo)和范圍。

(2)軟件需求說(shuō)明:分析、整理和提煉所收集到的用戶(hù)需求,建立完整分析模型,編寫(xiě)軟件需

求規(guī)格說(shuō)明和初步的用戶(hù)手冊(cè)。通過(guò)評(píng)審需求規(guī)格說(shuō)明,確保對(duì)用戶(hù)需求達(dá)到共同的理解與認(rèn)識(shí)。

(3)軟件設(shè)計(jì):根據(jù)軟件需求規(guī)格說(shuō)明文檔,確定軟件的體系結(jié)構(gòu),再進(jìn)一步設(shè)計(jì)每個(gè)系統(tǒng)部

件的實(shí)現(xiàn)算法、數(shù)據(jù)結(jié)構(gòu)和接口等,編寫(xiě)軟件設(shè)計(jì)說(shuō)明書(shū),并組織進(jìn)行設(shè)計(jì)評(píng)審。

(4)軟件實(shí)現(xiàn):將所設(shè)計(jì)的各個(gè)子系統(tǒng)編寫(xiě)成計(jì)算機(jī)可接受的程序代碼。

12

(5)軟件確認(rèn):在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,測(cè)試軟件的各個(gè)組成模塊,并將各個(gè)模塊集成起來(lái),

測(cè)試整個(gè)產(chǎn)品的功能和性能是否滿(mǎn)足己有的規(guī)格說(shuō)明。

(6)軟件演化:整個(gè)軟件過(guò)程是一個(gè)不斷演化的過(guò)程,軟件開(kāi)發(fā)覆蓋從概念的提出到形成一個(gè)

可運(yùn)行系統(tǒng)的整個(gè)過(guò)程,軟件維護(hù)則是系統(tǒng)投入使用后所產(chǎn)生的修改。

6.請(qǐng)描述瀑布模型的各個(gè)階段及其優(yōu)缺點(diǎn)。

答案要點(diǎn):

瀑布模型規(guī)定了各項(xiàng)軟件工程活動(dòng),包括:制定軟件項(xiàng)目計(jì)劃,進(jìn)行需求分析和定義,軟件設(shè)

計(jì),程序編碼,測(cè)試及運(yùn)行維護(hù)。并且規(guī)定了它們自上而下,相互銜接的固定次序,如同瀑布流水,

逐級(jí)下落。瀑布模型的每項(xiàng)開(kāi)發(fā)活動(dòng)均具有以下特征:

(1)從上一項(xiàng)活動(dòng)接受本項(xiàng)活動(dòng)的工作對(duì)象,做為輸入:

(2)利用這一輸入實(shí)施本項(xiàng)活動(dòng)應(yīng)完成的內(nèi)容;

(3)給出本項(xiàng)活動(dòng)的工作成果,做為輸出傳給下一項(xiàng)活動(dòng);

(4)對(duì)本項(xiàng)活動(dòng)實(shí)施的工作進(jìn)行評(píng)審。若其工作得到確認(rèn),則繼續(xù)進(jìn)行下一項(xiàng)活動(dòng),否則返回

前項(xiàng),甚至更前項(xiàng)的活動(dòng)進(jìn)行返工。

瀑布模型的優(yōu)點(diǎn):

(1)嚴(yán)格規(guī)范軟件開(kāi)發(fā)過(guò)程,克服了非結(jié)構(gòu)化的編碼和修改過(guò)程的缺點(diǎn);

(2)強(qiáng)調(diào)文檔的作用,要求每個(gè)階段都要仔細(xì)驗(yàn)證。

瀑布模型的缺點(diǎn):

(1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量;

(2)由于開(kāi)發(fā)模型是線(xiàn)性的,用戶(hù)只有等到整個(gè)過(guò)程的末期才能見(jiàn)到開(kāi)發(fā)成果,很難響應(yīng)客戶(hù)

的變更要求;

(3)早期的錯(cuò)誤可能要等到開(kāi)發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來(lái)嚴(yán)重的后果

7.請(qǐng)描述軟件開(kāi)發(fā)的增量模型的各個(gè)階段及其優(yōu)缺點(diǎn)。

答案要點(diǎn):

在增量模型中軟件被作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試,在開(kāi)發(fā)的各個(gè)階段并

不交付一個(gè)可運(yùn)行的完整產(chǎn)品,而是交付滿(mǎn)足客戶(hù)需求的一個(gè)子集的可運(yùn)行產(chǎn)品。經(jīng)過(guò)評(píng)審形成下

一個(gè)增量開(kāi)發(fā)計(jì)劃,不斷重復(fù),直到產(chǎn)生最終的完善產(chǎn)品。

該模型適應(yīng)了用戶(hù)逐步細(xì)化需求的形成過(guò)程,以減少軟件開(kāi)發(fā)過(guò)程的返工。特點(diǎn)是各階段并步

交付可運(yùn)行的完整產(chǎn)品,而是滿(mǎn)足客戶(hù)需求的一個(gè)子集的可運(yùn)行產(chǎn)品。

增量模型的優(yōu)點(diǎn):

(1)較好地適應(yīng)需求的變化,用戶(hù)可以不斷地看到所開(kāi)發(fā)軟件的可運(yùn)行中間版本;

(2)重要功能被首先交付,從而使其得到最多的測(cè)試。

增量模型的缺點(diǎn):

(1)加入的構(gòu)件不能破壞己經(jīng)構(gòu)造好的系統(tǒng)部分,因而軟件應(yīng)具備開(kāi)放式的體系結(jié)構(gòu)。

(2)由了需求變化是不可避免的,增量模型適應(yīng)這種能力大大優(yōu)于瀑布模型,但是軟件的開(kāi)發(fā)

過(guò)程不好控制。

13

8.請(qǐng)描述形式化模型的各個(gè)階段及其優(yōu)缺點(diǎn)。

答案要點(diǎn):

形式化模型結(jié)合了形式化軟件開(kāi)發(fā)方法和程序自動(dòng)生成技術(shù),采用形式化需求規(guī)格說(shuō)明和變換

技術(shù)等技術(shù)手段,生產(chǎn)目標(biāo)程序系統(tǒng)。該模型開(kāi)發(fā)過(guò)程包括需求定義、形式化描述、形式化轉(zhuǎn)化、

集成和系統(tǒng)測(cè)試。為了確認(rèn)形式化規(guī)格說(shuō)明與軟件需求的一致性,往往以形式化規(guī)格說(shuō)明為基礎(chǔ)開(kāi)

發(fā)一個(gè)軟件原型,用戶(hù)可以從人機(jī)界面、系統(tǒng)主要功能和性能等幾個(gè)方面對(duì)原型進(jìn)行評(píng)審。必要時(shí),

可以修改軟件需求、形式化規(guī)格說(shuō)明和原型,直至原型被確認(rèn)為止。這時(shí)軟件開(kāi)發(fā)人員即可對(duì)形式

化的規(guī)格說(shuō)明進(jìn)行一系列的程序變換,直至生成計(jì)算機(jī)系統(tǒng)可以接受的目標(biāo)代碼。

形式化模型的優(yōu)點(diǎn):由于數(shù)學(xué)方法具有嚴(yán)密性和準(zhǔn)確性,形式化方法開(kāi)發(fā)過(guò)程所交付的軟件系

統(tǒng)具有較少的缺陷和較高的安全性。

形式化模型的缺點(diǎn):

(1)開(kāi)發(fā)人員需要具備一定技能并經(jīng)過(guò)特殊訓(xùn)練后才能掌握形式化開(kāi)發(fā)方法;

(2)現(xiàn)實(shí)應(yīng)用的系統(tǒng)大多數(shù)是交互性強(qiáng)的軟件,但是這些系統(tǒng)難以用形式化方法進(jìn)行描述;

(3)形式化描述和轉(zhuǎn)換是一項(xiàng)費(fèi)時(shí)費(fèi)力的工作,采用這種方法開(kāi)發(fā)系統(tǒng)在成本和質(zhì)量等方面并

不占有優(yōu)勢(shì)。

9.請(qǐng)描述基于組建的開(kāi)發(fā)模型的各個(gè)階段及其優(yōu)缺點(diǎn)。

答案要點(diǎn):

基于組件的開(kāi)發(fā)模型由軟件的需求分析和定義、體系結(jié)構(gòu)設(shè)計(jì)、構(gòu)件庫(kù)建立、應(yīng)用軟件構(gòu)建,

以及測(cè)試和發(fā)布5個(gè)階段組成?;诮M件的開(kāi)發(fā)活動(dòng)從標(biāo)識(shí)候選組件開(kāi)始,通過(guò)搜查已有組件庫(kù),

確認(rèn)所需要的組件是否已經(jīng)存在。如果已經(jīng)存在,則從組件庫(kù)中提取出來(lái)復(fù)用;否則采用面向?qū)ο?/p>

方法開(kāi)發(fā)它。之后利用提取出來(lái)的組件通過(guò)語(yǔ)法和語(yǔ)義檢查后將這些組件通過(guò)膠合代碼組裝到一起

實(shí)現(xiàn)系統(tǒng),這個(gè)過(guò)程是迭代的。

基于組件的開(kāi)發(fā)模型的優(yōu)點(diǎn):

(1)充分體現(xiàn)了軟件復(fù)用的思想,降低了開(kāi)發(fā)風(fēng)險(xiǎn)和成本;

(2)可以快速交付所開(kāi)發(fā)的軟件。

基于組件的開(kāi)發(fā)模型的缺點(diǎn):由于某些商業(yè)組件是不能進(jìn)行修改的,系統(tǒng)的演化將受到一定程

度的限制。

五、設(shè)計(jì)創(chuàng)新題

1.某大學(xué)準(zhǔn)備開(kāi)發(fā)一個(gè)新的學(xué)生注冊(cè)選課系統(tǒng),以替換一個(gè)現(xiàn)有的系統(tǒng)。請(qǐng)?jiān)O(shè)計(jì)一個(gè)適用于該

系統(tǒng)開(kāi)發(fā)的過(guò)程模型,并進(jìn)一步描述該模型。

答案要點(diǎn):

假設(shè)原有的學(xué)生注冊(cè)課程系統(tǒng)是由學(xué)生手工提交書(shū)面選課單,教師手工提交成績(jī)單,教務(wù)管理

人員在客戶(hù)端錄入學(xué)生選課結(jié)果和課程成績(jī);而在新的選課系統(tǒng)中,所有用戶(hù)在自己的計(jì)算機(jī)上通

14

過(guò)Internet訪(fǎng)問(wèn)和操作該系統(tǒng),該軟件系統(tǒng)需要更新服務(wù)器和數(shù)據(jù)庫(kù)等系統(tǒng),并擴(kuò)充一些新功能和

提高系統(tǒng)性能。

從該系統(tǒng)的具體情況來(lái)看,系統(tǒng)的需求是比較容易明確的,整個(gè)系統(tǒng)的結(jié)構(gòu)需要重新設(shè)計(jì),但

是原有的遺留系統(tǒng)中有些部分是可以重用的,因此我們可以采用組件模型實(shí)施軟件開(kāi)發(fā):

(1)統(tǒng)需求分析:由于該系統(tǒng)是現(xiàn)有系統(tǒng)的擴(kuò)展,因此首先可以經(jīng)過(guò)一個(gè)簡(jiǎn)單的需求分析階段,

從而確定新系統(tǒng)的需求。

(2)遺留系統(tǒng)分析:在需求確定的基礎(chǔ)上,開(kāi)發(fā)人員分析遺留系統(tǒng)并研究新系統(tǒng)的總體結(jié)構(gòu),

選擇重用原有的課程信息管理部分,重新開(kāi)發(fā)選課部分,必要時(shí)適當(dāng)修改系統(tǒng)需求,最終確定系統(tǒng)

需求和總體結(jié)構(gòu)。

(3)設(shè)計(jì)開(kāi)發(fā)階段:開(kāi)發(fā)人員進(jìn)一步設(shè)計(jì)相關(guān)子系統(tǒng),將原有的課程信息管理部分封裝為子系

統(tǒng),重新開(kāi)發(fā)學(xué)生選課子系統(tǒng),并實(shí)現(xiàn)與外部付費(fèi)系統(tǒng)的接口。

(4)系統(tǒng)測(cè)試階段:開(kāi)發(fā)人員將所有子系統(tǒng)集成在一起,交給測(cè)試人員開(kāi)始全面的功能測(cè)試和

性能測(cè)試。根據(jù)所報(bào)告的測(cè)試問(wèn)題,開(kāi)發(fā)人員調(diào)試和修改程序。

(5)系統(tǒng)交付階段:測(cè)試通過(guò)后,開(kāi)發(fā)人員將系統(tǒng)及其相關(guān)文檔交付用戶(hù)驗(yàn)收。

10.請(qǐng)舉例說(shuō)明不同的過(guò)程模型組合使用的情況。

答案要點(diǎn):

在第3題中提到的企業(yè)管理ERP系統(tǒng)項(xiàng)目中,可以將快速原型方法、組件開(kāi)發(fā)模型和增量模型

組合在一起使用,即在需求分析階段采用原型方法確定需求,采用組件化的結(jié)構(gòu)設(shè)計(jì)整個(gè)系統(tǒng),并

采用增量方式逐步交付整個(gè)系統(tǒng)。

[本章小結(jié)]

軟件過(guò)程是軟件工程人員為了獲得軟件產(chǎn)品在軟件工具支持下實(shí)施的?系列軟件工程活動(dòng),

一般包括問(wèn)題提出、軟件需求說(shuō)明、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件確認(rèn)和軟件演化等基本活動(dòng)。

軟件過(guò)程應(yīng)該明確定義團(tuán)隊(duì)人員的工作和職責(zé),所執(zhí)行的活動(dòng)及其順序關(guān)系,以及活動(dòng)的內(nèi)容

和步驟。

軟件過(guò)程模型是對(duì)實(shí)際過(guò)程的抽象描述,描述了從問(wèn)題提出到軟件演化直到廢棄,跨越整個(gè)生

命周期的系統(tǒng)開(kāi)發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架,包括軟件過(guò)程的活動(dòng)、

軟件產(chǎn)品以及參與人員的不同角色。

常見(jiàn)的軟件過(guò)程模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、形式化方法模型、

基于組件的開(kāi)發(fā)模型等,每個(gè)軟件開(kāi)發(fā)組織應(yīng)該選擇適合于該組織的軟件開(kāi)發(fā)模型。

瀑布模型適用于在開(kāi)發(fā)的早期階段軟件需求被完整確定的情況;快速原型模型適用于強(qiáng)調(diào)系統(tǒng)

與用戶(hù)的交互,且用戶(hù)需求不明確的情況;增量模型適用于用戶(hù)需求逐步細(xì)化的情況;螺旋模型由

于強(qiáng)調(diào)風(fēng)險(xiǎn)分析,因此適用于龐大、復(fù)雜并具有高風(fēng)險(xiǎn)的系統(tǒng)開(kāi)發(fā);形式化方法模型適用于對(duì)安全

性、可靠性和保密性要求極高的軟件系統(tǒng),這些系統(tǒng)需要在投入運(yùn)行前進(jìn)行驗(yàn)證;基于組件的開(kāi)發(fā)

模型開(kāi)發(fā)具有組件化的結(jié)構(gòu)的軟件系統(tǒng)。

15

第3章軟件項(xiàng)目管理(習(xí)題與參考答案)

一、判斷題

1.項(xiàng)目管理在現(xiàn)代軟件開(kāi)發(fā)中是不太重要的,因?yàn)榇蠖鄶?shù)項(xiàng)目能夠及時(shí)完成并成功交付。(X)

2.隨著項(xiàng)目計(jì)劃的不斷形成,產(chǎn)品分解和過(guò)程分解經(jīng)常是同時(shí)發(fā)生的。(,)

3.估算不可靠的唯一原因是估算人員缺乏經(jīng)驗(yàn)。(X)

4.由于軟件項(xiàng)目估算不完全可靠,所以項(xiàng)目開(kāi)始后可以忽略這些估算。(X)

5.估計(jì)待開(kāi)發(fā)軟件產(chǎn)品的規(guī)模必須基于像代碼行等直接度量單位。(X)

6.由于今天個(gè)人計(jì)算機(jī)不斷發(fā)展壯大,人們不再采用軟件團(tuán)隊(duì)的開(kāi)發(fā)方式。(X)

7.功能點(diǎn)估算技術(shù)不能用于估算面向?qū)ο蟮能浖#╔)

8.軟件項(xiàng)目延遲是不可避免的,而且無(wú)法解釋其原因。(X)

9.將開(kāi)發(fā)團(tuán)隊(duì)人數(shù)增加一倍可以保證項(xiàng)目完成時(shí)間減少一半。(X)

10.軟件工作產(chǎn)品一旦成為基線(xiàn)就不能再更改了。(X)

11.如果開(kāi)發(fā)小組使用自動(dòng)化的項(xiàng)目數(shù)據(jù)庫(kù)工具,那么就不需要變更控制。(X)

二、選擇題

1.軟件項(xiàng)目管理的“4P”是()。(C)

A.people,performance,payoff,productB.people,product,performance,process

C.people,product,process,projectD.people,process,payoff,product

2.在軟件管理資源要求中,最為重要的、起決定性的資源是()。(D)

A.開(kāi)發(fā)工具B.軟件工程的方法

C.硬件環(huán)境D.人員

3.下列關(guān)于軟件項(xiàng)目管理的說(shuō)法中,錯(cuò)誤的是():(B)

A.軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人

員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng).

B.軟件項(xiàng)目管理所涉及的范圍覆蓋了整個(gè)軟件需求分析階段。

C.降低復(fù)雜性和控制變化是軟件項(xiàng)目管理的關(guān)鍵問(wèn)題。

D.軟件項(xiàng)目管理的對(duì)象是軟件工程項(xiàng)目。

4.軟件項(xiàng)目的生命周期包括()、()、()、()4個(gè)階段。(A)

A.項(xiàng)目啟動(dòng)、項(xiàng)目規(guī)劃、項(xiàng)目實(shí)施、項(xiàng)目收尾

B.確定項(xiàng)目活動(dòng)、預(yù)算項(xiàng)目成本、監(jiān)控項(xiàng)目執(zhí)行、安裝培訓(xùn)軟件

C.確定項(xiàng)目范圍、建立項(xiàng)目環(huán)境、控制項(xiàng)目變更、總結(jié)項(xiàng)目經(jīng)驗(yàn)

D.建立項(xiàng)目團(tuán)隊(duì)、制定進(jìn)度計(jì)劃、管理項(xiàng)目風(fēng)險(xiǎn)、客戶(hù)驗(yàn)收項(xiàng)目

5.軟件項(xiàng)目規(guī)劃的第一步是()。(D)

16

A.確定項(xiàng)目預(yù)算B.選擇團(tuán)隊(duì)的組織模型

C.確定項(xiàng)目的約束D.建立項(xiàng)目的目標(biāo)和范圍

6.下面的()方法最不適合你向團(tuán)隊(duì)成員解釋他或她為什么表現(xiàn)不合格。(B)

A.個(gè)人談話(huà)B.項(xiàng)目團(tuán)隊(duì)會(huì)議

C.正式報(bào)告D.電子郵件

7.功能點(diǎn)估算技術(shù)需要以()為基礎(chǔ)進(jìn)行問(wèn)題分解。(A)

A.信息域B.項(xiàng)目進(jìn)度

C.軟件功能D.過(guò)程活動(dòng)

8.軟件開(kāi)發(fā)團(tuán)隊(duì)的每一個(gè)成員都應(yīng)該參與計(jì)劃活動(dòng),以便()。(C)

A.降低計(jì)劃的粒度B.深入地分析需求

C.所有成員同意該計(jì)劃D.開(kāi)始設(shè)計(jì)

9.在攻克技術(shù)難題時(shí),最佳的開(kāi)發(fā)團(tuán)隊(duì)組織模型是()o(A)

A.民主式結(jié)構(gòu)B.主程序員式結(jié)構(gòu)

C.技術(shù)管理式結(jié)構(gòu)D.以上所有選項(xiàng)都不是

10.下列開(kāi)發(fā)團(tuán)隊(duì)組織模型中,可以組成層次式的結(jié)構(gòu),適合大規(guī)模的軟件開(kāi)發(fā)項(xiàng)目的是()。(C)

A.民主式結(jié)構(gòu)B.主程序員式結(jié)構(gòu)

C.技術(shù)管理式結(jié)構(gòu)D.以上所有選項(xiàng)都不是

11.主程序員式的軟件開(kāi)發(fā)組織模型除主程序員外,還包括()。(D)

A.程序員B.后備程序員

C.秘書(shū)D.以上所有選項(xiàng)

12.在選擇開(kāi)發(fā)團(tuán)隊(duì)組織結(jié)構(gòu)時(shí)應(yīng)考慮()因素。(D)

A.溝通的復(fù)雜程度B.最終程序的規(guī)模大小

C.發(fā)布日期的嚴(yán)格程度D.選項(xiàng)A,B和C

13.在軟件開(kāi)發(fā)過(guò)程中避免受挫的最佳方法之一是()。(A)

A.給予團(tuán)隊(duì)成員對(duì)于過(guò)程和技術(shù)決策的更多控制權(quán)

B.給予團(tuán)隊(duì)成員對(duì)于過(guò)程和技術(shù)決策的更少控制權(quán)

C.向團(tuán)隊(duì)成員隱瞞壞消息直到事情有所改善

D.根據(jù)生產(chǎn)效率獎(jiǎng)勵(lì)團(tuán)隊(duì)成員

14.下面的()不是引起項(xiàng)目協(xié)調(diào)困難的個(gè)因素。(B)

A.軟件項(xiàng)目的互操作性B.軟件的性能

C.軟件規(guī)模D.軟件項(xiàng)目的不確定性

15.在進(jìn)行項(xiàng)目范圍活動(dòng)時(shí),問(wèn)題分解的主要范圍是()o(D)

A.客戶(hù)工作流程B.需要發(fā)布的功能

C.用于發(fā)布功能的過(guò)程D.選項(xiàng)B和C

17

16.為了將項(xiàng)目失敗的風(fēng)險(xiǎn)減少到最小,項(xiàng)目經(jīng)理需要采取()o(D)

A.將項(xiàng)目團(tuán)隊(duì)規(guī)模增加一倍B.要求更大的預(yù)算

C.順利地開(kāi)始D.跟蹤過(guò)程

17.軟件項(xiàng)目規(guī)劃的目的是()。(C)

A.使客戶(hù)相信項(xiàng)目是可行的B.使用歷史項(xiàng)目數(shù)據(jù)

C.使項(xiàng)目管理者合理地估算成本和進(jìn)度1).在投標(biāo)項(xiàng)目之前確定大概的利潤(rùn)邊界

18.軟件項(xiàng)目所需的人數(shù)應(yīng)該()。(D)

A.在估計(jì)開(kāi)發(fā)需要的努力之后決定B.由項(xiàng)目預(yù)算數(shù)量決定

C.從評(píng)價(jià)系統(tǒng)復(fù)雜性來(lái)決定D.以上所有選項(xiàng)

19.代碼行估算技術(shù)需要以()為基礎(chǔ)進(jìn)行問(wèn)題分解。(C)

A.信息域值B.項(xiàng)目進(jìn)度

C.軟件功能D.軟件過(guò)程活動(dòng)

20.經(jīng)驗(yàn)估算模型是基于()o(C)

A.專(zhuān)家基于過(guò)去項(xiàng)目經(jīng)驗(yàn)的判斷B.期望值估計(jì)的細(xì)化

C.來(lái)自歷史項(xiàng)目數(shù)據(jù)的回歸模型D.反復(fù)試驗(yàn)決定參數(shù)和系數(shù)

21.COCOMOII是現(xiàn)代經(jīng)驗(yàn)估算模型的一個(gè)實(shí)例,它需要以()為單位的程序規(guī)模信息。(B)

A.功能點(diǎn)B.代碼行

C.工作量D.以上任何選項(xiàng)

22.軟件風(fēng)險(xiǎn)總是包括()兩個(gè)特性。(C)

A.救火和危機(jī)管理B.已知的和未知的風(fēng)險(xiǎn)

C.不確定和損失D.安置人員和預(yù)算

23.風(fēng)險(xiǎn)分析是指()。(A)

A.對(duì)己識(shí)別的風(fēng)險(xiǎn)進(jìn)行估計(jì)和評(píng)價(jià),確定風(fēng)險(xiǎn)發(fā)生的概率與后果。

B.關(guān)注影響較大的風(fēng)險(xiǎn),并制定出具體的風(fēng)險(xiǎn)應(yīng)對(duì)策略。

C.監(jiān)控風(fēng)險(xiǎn)發(fā)生的情況,及早發(fā)現(xiàn)風(fēng)險(xiǎn)事件的征兆和苗頭。

D.監(jiān)控風(fēng)險(xiǎn)管理計(jì)劃的落實(shí)情況,確保該計(jì)劃的有效實(shí)施

24.下面的()是有效的軟件配置項(xiàng)。(D)

A.與合同、過(guò)程、計(jì)劃和產(chǎn)品有關(guān)的文檔和數(shù)據(jù)。

B.源代碼、目標(biāo)代碼、可執(zhí)行程序

C.相關(guān)產(chǎn)品,包括軟件工具、庫(kù)內(nèi)可復(fù)用軟件、外購(gòu)軟件及用戶(hù)提供的軟件。

D.以上所有選項(xiàng)

25.基線(xiàn)是指在項(xiàng)目生命周期的不同時(shí)間點(diǎn)上,一個(gè)或一組配置項(xiàng)通過(guò)()而進(jìn)入正式受控的一種

狀態(tài)。(C)

A.存取控制B.質(zhì)量控制

C.正式評(píng)審D.變更管理

18

26.下面的()不是軟件配置管理的任務(wù)。(C)

A.變更控制B.配置狀態(tài)報(bào)告

C.統(tǒng)計(jì)質(zhì)量控制D.版本控制

三、簡(jiǎn)答題

1.簡(jiǎn)要說(shuō)明軟件項(xiàng)目管理的過(guò)程。

參考答案:

軟件項(xiàng)目管理是為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、

進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。軟件項(xiàng)目管理的主要過(guò)程如

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論