軟件工程簡(jiǎn)答題及論述題合集_第1頁(yè)
軟件工程簡(jiǎn)答題及論述題合集_第2頁(yè)
軟件工程簡(jiǎn)答題及論述題合集_第3頁(yè)
軟件工程簡(jiǎn)答題及論述題合集_第4頁(yè)
軟件工程簡(jiǎn)答題及論述題合集_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

簡(jiǎn)答題

笫一份

1、什么是軟件工程?它目標(biāo)和內(nèi)容是什么?

軟件工程就是用科學(xué)的知識(shí)和技術(shù)原理來(lái)定義,開(kāi)發(fā),維護(hù)軟件的一門學(xué)科。

軟件工程目標(biāo):付出較低開(kāi)發(fā)成本;達(dá)到要求的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移植;

只需較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。

軟件工程內(nèi)容:包括開(kāi)發(fā)技術(shù)和開(kāi)發(fā)管理兩個(gè)方面。

2、軟件開(kāi)發(fā)中有哪幾種過(guò)程模型?哪些適用于面向?qū)ο蟮能浖_(kāi)發(fā)?

軟件開(kāi)發(fā)中常見(jiàn)的軟件過(guò)程模型有瀑布模型、原型模型、螺旋模型、噴泉模型、統(tǒng)一軟件過(guò)程等。

其中噴泉模型、統(tǒng)一軟件過(guò)程適用于面向?qū)ο蟮能浖_(kāi)發(fā)。

3、什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具?

結(jié)構(gòu)化分析:簡(jiǎn)稱SA,面向數(shù)據(jù)流進(jìn)行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。

頂層抽象地描述整個(gè)系統(tǒng),底層具體地畫出系統(tǒng)工程的每個(gè)細(xì)節(jié)。中間層則是從抽象到具體的過(guò)

渡。使用數(shù)據(jù)流圖.數(shù)據(jù)字典,作為描述工具,使用結(jié)構(gòu)化語(yǔ)言,判定表,判定樹(shù)描述加工邏輯。

4、什么是軟件概要設(shè)計(jì)?該階段的基本任務(wù)是什么?

把一個(gè)軟件需求轉(zhuǎn)換為軟件表示時(shí),首先設(shè)計(jì)出軟件總的體系結(jié)構(gòu)。稱為概要設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)。

基本任務(wù):

⑴設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)

⑵進(jìn)行數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)的設(shè)計(jì)

⑶編寫概要設(shè)計(jì)的文檔

(優(yōu)平審

5、軟件維護(hù)有哪些內(nèi)容?

(1)校正性維護(hù)。在軟件交付使用后,一些隱含的錯(cuò)誤在某些特定的使用環(huán)境下會(huì)暴露出來(lái)。

為了識(shí)別和糾正錯(cuò)誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯(cuò)誤的過(guò)程,這個(gè)過(guò)程就稱為

校正性維護(hù)。

(2)適應(yīng)性維護(hù)。為了使應(yīng)用軟件適應(yīng)計(jì)算機(jī)硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而

修改軟件的過(guò)程稱為適應(yīng)性維護(hù)。

(3)完善性維護(hù)。為增加軟件功能、增強(qiáng)軟件性能、提高軟件運(yùn)行效率而進(jìn)行的維護(hù)活動(dòng)稱為

完善性維護(hù)。

(4)預(yù)防性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而對(duì)軟件進(jìn)行的修改稱為預(yù)防性維護(hù)。

6、軟件測(cè)試要經(jīng)過(guò)哪些步驟?這些測(cè)試與軟件開(kāi)發(fā)各階段之間有什么關(guān)系?

軟件測(cè)試要經(jīng)過(guò)的步驟是:?jiǎn)卧獪y(cè)試一集成測(cè)試-確認(rèn)測(cè)試一系統(tǒng)測(cè)試。

單元測(cè)試對(duì)源程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)

現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。該階段涉及編碼和詳細(xì)設(shè)計(jì)文檔。

集成測(cè)試是為了檢查與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問(wèn)題,也就是檢查概要設(shè)計(jì)是否合理有

效。

確認(rèn)測(cè)試主要是檢查已實(shí)現(xiàn)的軟件是否滿足需求規(guī)格說(shuō)明書中確定了的各種需求。

系統(tǒng)測(cè)試是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起

進(jìn)行測(cè)試。以確定軟件是否可以支付使用。

7、什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?

軟件生存周期:一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。

包括:可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。

8、衡量模塊獨(dú)立性的兩個(gè)標(biāo)準(zhǔn)是什么?各表示什么含義?

內(nèi)聚和耦合。

內(nèi)聚:又稱為塊內(nèi)聯(lián)系,指模塊內(nèi)部各成分之間相互關(guān)聯(lián)的程度,以高內(nèi)聚為設(shè)計(jì)目標(biāo)。

耦合:也稱塊間聯(lián)系,模塊之間相互聯(lián)系程度的度量,聯(lián)系越緊密,耦合性越強(qiáng),獨(dú)立性越差,

以低耦合為設(shè)計(jì)目標(biāo)。

9、什么是結(jié)構(gòu)分析方法?結(jié)構(gòu)化分析方法通過(guò)哪些步驟來(lái)實(shí)現(xiàn)?

結(jié)構(gòu)化分析:簡(jiǎn)稱SA,面向數(shù)據(jù)流進(jìn)行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。

頂層抽象地描述整個(gè)系統(tǒng),底層具體地畫出系統(tǒng)工程的每個(gè)細(xì)節(jié)。中間層則是從抽象到具體的過(guò)

渡。

實(shí)現(xiàn)的步驟:(1)了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。⑵抽象出當(dāng)前系統(tǒng)的邏

輯模型。⑶建立目標(biāo)系統(tǒng)的邏輯模型。(4)作進(jìn)一步補(bǔ)充和優(yōu)化。

10、什么是需求分析?需求分析階段的基本任務(wù)是什么?

需求分析:開(kāi)發(fā)人員準(zhǔn)確地理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)

化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格說(shuō)明的過(guò)程。

基本任務(wù):

⑴問(wèn)題識(shí)別

⑵分析與綜合,導(dǎo)出軟件的邏輯模型

⑶編寫文檔

11、什么樣是“事物流“?什么是”變換流"?

數(shù)據(jù)流圖(DFD)一般可分為“變換流“,“事物流”兩種。

口變換流”:由輸入、輸出、變換(或稱處理)三部分組成,是一順序結(jié)構(gòu)。

事物流”:它的某個(gè)加工,分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并且根據(jù)輸入值選

擇其中一個(gè)路徑來(lái)執(zhí)行。(這人加工稱為事務(wù)處理中心)

12、單元測(cè)試有哪些內(nèi)容?

單元測(cè)試主要針對(duì)模塊的以下五個(gè)基本特征進(jìn)行測(cè)試:

⑴模塊接口

⑵局部數(shù)據(jù)結(jié)構(gòu)

⑶重要的執(zhí)行路徑

⑷錯(cuò)誤處理

⑸邊界條件

13、什么是軟件生存周期模型?有哪些主要模型?

生存周期模型:描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開(kāi)發(fā)提供強(qiáng)有力的支持,

為開(kāi)發(fā)過(guò)程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開(kāi)發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期

模型化技術(shù)的基礎(chǔ),也是建立軟件開(kāi)發(fā)環(huán)境的核心。

主要有:濠布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。

14、軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容?

⑴模塊化:模塊是軟件的組成部分,是具有獨(dú)立功能且可命名的一段程序,所有模塊組成整體,

可以滿足問(wèn)題的要求。

⑵抽象認(rèn)識(shí)復(fù)雜現(xiàn)象過(guò)程所使用權(quán)的工具,只考慮事物本質(zhì)的共同特性,忽略細(xì)節(jié)和其它因素。

通過(guò)抽象確定組成軟件的過(guò)程實(shí)體,

⑶信息隱蔽:將模塊實(shí)現(xiàn)自身功能的細(xì)節(jié)與數(shù)據(jù)“隱蔽”起來(lái)。模塊間僅交換為完成系統(tǒng)功能所

必須的信息。

⑷模塊獨(dú)立性:每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能。

15、結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn)是什么?

主要有三個(gè):

1、采用自頂向下、逐步求精的程序設(shè)計(jì)方法

2、使用二種基本控制結(jié)構(gòu)構(gòu)造程序。任何程序都可以由順序、選擇、重復(fù)(循環(huán))二種基本控制結(jié)

構(gòu)構(gòu)造,這三種基本結(jié)構(gòu)的共同點(diǎn)是單入口、單出口。

3、主程序員組的組織形式。

16、詳細(xì)設(shè)計(jì)有哪幾種描述方法?

詳細(xì)設(shè)計(jì)的描述方法有圖形、表格和語(yǔ)言,其中圖形常用結(jié)構(gòu)化程序流程圖、盒圖和PAD(問(wèn)題

分析圖)為描述工具,語(yǔ)言常用過(guò)程設(shè)計(jì)語(yǔ)言(PDL)來(lái)作為工具。

17、單元測(cè)試中采用什么方法?

測(cè)試的方法是為被測(cè)試模塊編寫驅(qū)動(dòng)模塊和樁模塊來(lái)實(shí)現(xiàn)被測(cè)試單元的可運(yùn)行。通過(guò)驅(qū)動(dòng)模塊

來(lái)模擬被測(cè)試模塊的上級(jí)調(diào)用模塊,以上級(jí)模塊調(diào)用被測(cè)模塊的格式驅(qū)動(dòng)被測(cè)模塊,接收被測(cè)模

塊的測(cè)試結(jié)構(gòu)并輸出。樁模塊則用來(lái)代替被測(cè)試模塊所調(diào)用的模塊。它的作用是返回被測(cè)模塊所

需的信息。

18、什么是軟件配置管理?什么是基線?

軟件配置管理,簡(jiǎn)稱SCM(Softwa「eConfigurationManagement),是指一組管理整個(gè)軟件生存期

各階段中變更的活動(dòng)。軟件配置管理技術(shù)可以使軟件變更所產(chǎn)生的錯(cuò)誤達(dá)到最小并最有效地提

高生產(chǎn)率。

基線:是軟件生存期中各開(kāi)發(fā)階段的一個(gè)特定點(diǎn),它的作用是把開(kāi)發(fā)各階段工作的劃分更加明確

化,使本來(lái)連續(xù)的工作在這些點(diǎn)上斷開(kāi),以便于檢查與肯定階段成果。

19、簡(jiǎn)述文檔在軟件工程中的作用?

文檔在軟件工程中的作用如下:

⑴提高軟件開(kāi)發(fā)過(guò)程的能見(jiàn)度

⑵提高開(kāi)發(fā)效率

(3)作為開(kāi)發(fā)人員階段工作成果和結(jié)束標(biāo)志

⑷記錄開(kāi)發(fā)過(guò)程的有關(guān)信息便于使用與維護(hù);

⑸提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;

(6)便于用戶了解軟件功能、性能。

20、軟件工程三要素之間的關(guān)系?

軟件質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎(chǔ)。

質(zhì)量管理促進(jìn)了過(guò)程的改進(jìn),創(chuàng)造了許多行之有效的軟件開(kāi)發(fā)方法和工具。

軟件工程采用層次化的方法,每個(gè)層次都包括過(guò)程、方法、工具三要素。

方法支撐過(guò)程和工具,過(guò)程和工具又促進(jìn)方法學(xué)的研究。

21、說(shuō)明面向?qū)ο蟮奶卣鳎?/p>

面向?qū)ο蟮奶卣魇牵?/p>

⑴對(duì)象唯一性。每個(gè)對(duì)象都有自身唯一的標(biāo)識(shí),在對(duì)象生存期中,其標(biāo)識(shí)不變,不同的對(duì)象不能

有不同的標(biāo)識(shí)。

⑵分類性。是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類

⑶繼承性。是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。

⑷多態(tài)性。是指相同的操作或函數(shù)過(guò)程可以作用于多種類型的對(duì)象上并獲得不同的結(jié)果.

22、簡(jiǎn)述“變換分析”設(shè)計(jì)步驟,,

⑴確定變換中心,邏輯輸入和輸出C

⑵設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層-變換結(jié)構(gòu)。

⑶設(shè)計(jì)中、下層模塊,對(duì)第一層的模塊自頂向下分解。

⑷設(shè)計(jì)的優(yōu)化:輸入部分求精,每個(gè)物理輸入設(shè)置專門模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸

入模塊與轉(zhuǎn)換數(shù)據(jù)模塊都很簡(jiǎn)單時(shí),可將它們合并。

23、請(qǐng)簡(jiǎn)述可行性研究有哪些步驟?

復(fù)查系統(tǒng)規(guī)模和目標(biāo);研究當(dāng)前的系統(tǒng);導(dǎo)出新系統(tǒng)的高層邏輯模型;重新定義問(wèn)題;導(dǎo)出和評(píng)

價(jià)可供選擇的解決方案;推薦可行的行動(dòng)方案;草擬開(kāi)發(fā)計(jì)劃;書寫文檔并提交審查。

24、請(qǐng)簡(jiǎn)述黑盒測(cè)試和白盒測(cè)試有何區(qū)別,黑盒測(cè)試有哪些常用方法?

黑盒測(cè)試和白盒測(cè)試的區(qū)別:前者基于功能,后者基于結(jié)構(gòu);

黑盒測(cè)試常用方法有:邊界值、等價(jià)類、因果圖、錯(cuò)誤推測(cè)法等。

25、什么是軟件可維護(hù)性?常見(jiàn)的軟件維護(hù)活動(dòng)有哪幾類?

軟件可維護(hù)性的定義:軟件能夠被理解、校正、適應(yīng)及增強(qiáng)功能的容易程度;

常見(jiàn)的軟件維護(hù)活動(dòng)有:改正型、適應(yīng)型、完善型、預(yù)防型。

26、CMM全稱是什么?分為哪幾個(gè)級(jí)別?

CMM全稱是軟件能力成熟度模型;

從無(wú)序到有序的進(jìn)化分成5個(gè)級(jí)別,分別為:

1初始級(jí);2可重復(fù)級(jí);3已定義級(jí);4已管理級(jí);5優(yōu)化級(jí)。

27、什么是數(shù)據(jù)字典?簡(jiǎn)述數(shù)據(jù)字典與數(shù)據(jù)流圖的關(guān)系。

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做完整的定義與說(shuō)明,是數(shù)據(jù)流

程圖的補(bǔ)充工具;

數(shù)據(jù)字典與數(shù)據(jù)流圖的關(guān)系:數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典數(shù)據(jù)

流圖就不嚴(yán)格,然而沒(méi)有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)元

素的精確定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。

28、軟件生命周期劃分為哪幾個(gè)階段?

軟件生命周期分為三個(gè)時(shí)期八個(gè)階段:

軟件定義:?jiǎn)栴}定義、可行性研究;

軟件開(kāi)發(fā):需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試;

軟件運(yùn)行:軟件維護(hù)

29、簡(jiǎn)述三種面向?qū)ο竽P偷闹饕δ埽?/p>

①對(duì)象模型:表示了靜態(tài)的結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描繪了系統(tǒng)的靜態(tài)結(jié)構(gòu),從客觀世界實(shí)體的

對(duì)象關(guān)系角度來(lái)描繪對(duì)象。

②動(dòng)態(tài)模型:該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬間的、行為化的系統(tǒng)控制性質(zhì),它關(guān)心

的是系統(tǒng)的控制及操作的執(zhí)行順序,它從對(duì)象的事件和狀態(tài)的角度出發(fā),表現(xiàn)了對(duì)象的交互行為。

③功能模型:表示變化的系統(tǒng)“功能”性質(zhì),它指明系統(tǒng)應(yīng)該"做什么二因此功能模型更直接

的反映了用戶對(duì)目標(biāo)系統(tǒng)的要求。

30、詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?

詳細(xì)設(shè)計(jì)的基本任務(wù)包括:為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì);為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì);對(duì)

數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì);其他設(shè)計(jì);編寫詳細(xì)設(shè)計(jì)說(shuō)明書;評(píng)審。

31、黑盒測(cè)試和白盒測(cè)試有什么區(qū)別?

(1)黑盒測(cè)試法:把程序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程。它只檢查

程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)并產(chǎn)生正確

的輸出信息,程序運(yùn)行過(guò)程中能否保持外部信息的完整性。黑盒測(cè)試又稱為功能測(cè)試,包含等價(jià)

類劃分法、邊界值法、錯(cuò)誤推測(cè)法、因果圖法等。

(2)白盒測(cè)試法:是把程序看成裝在一個(gè)透明的白盒子里,測(cè)試者完全知道程序的結(jié)構(gòu)和處理

算法。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢測(cè)程序中的主要執(zhí)行通路是否都能按預(yù)定要求

正確工作。白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試,包含邏輯覆蓋法和基本路徑測(cè)試法。

32、什么是軟件工程?軟件工程面臨的問(wèn)題是什么?

軟件工程就是用科學(xué)的知識(shí)和技術(shù)原理來(lái)定義,開(kāi)發(fā),維護(hù)軟件的一門學(xué)科。

軟件工程面臨的問(wèn)題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。

33、軟件工程三要素之間的關(guān)系?

軟件質(zhì)量是軟件工程的生命線,軟件工程以質(zhì)量保證為基礎(chǔ)。

質(zhì)量管理促進(jìn)了過(guò)程的改進(jìn),創(chuàng)造了許多行之有效的軟件開(kāi)發(fā)方法和工具。

軟件工程采用層次化的方法,每個(gè)層次都包括過(guò)程、方法、工具三要素。

方法支撐過(guò)程和工具,過(guò)程和工具又促進(jìn)方法學(xué)的研究。

34、簡(jiǎn)述結(jié)構(gòu)化程序設(shè)計(jì)方法的基本要點(diǎn)。

⑴采用自頂向下,逐步求精的程序設(shè)計(jì)方法。

(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序,選擇和循環(huán)

⑶采用主程序員組的組織形式。

35、顧客在自動(dòng)柜員機(jī)中插入銀行七,執(zhí)行提款的服務(wù)項(xiàng)目,?銀行職員要求自動(dòng)柜員機(jī)打印所有

的提款數(shù)據(jù)°畫出自動(dòng)柜員機(jī)的UgCase圖。?

36、簡(jiǎn)述提高可維護(hù)性的方法。

⑴建立明確的軟件質(zhì)量目標(biāo);

⑵利用先進(jìn)的軟件開(kāi)發(fā)技術(shù)和工具;

(3)建立明確的質(zhì)量保證工作;

⑷選擇可維護(hù)的程序設(shè)計(jì)語(yǔ)言;

⑸改進(jìn)程序文檔。

37、簡(jiǎn)述文檔在軟件工程中的作用。

⑴提高軟件開(kāi)發(fā)過(guò)程的能見(jiàn)度;

⑵提高開(kāi)發(fā)效率;

⑶作為開(kāi)發(fā)人員階段工作成果和結(jié)束標(biāo)志;

⑷記錄開(kāi)發(fā)過(guò)程的有關(guān)信息便于使用與維護(hù);

⑸提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;

⑹便于用戶了解軟件功能、性能。

38、什么是軟件危機(jī)?產(chǎn)生原因是什么?

軟件開(kāi)發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的辦法,問(wèn)題積

累起來(lái),形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機(jī)。

產(chǎn)生原因:

(1)軟件規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜。

⑵軟件開(kāi)發(fā)管理困難而復(fù)雜。

⑶軟件包開(kāi)發(fā)費(fèi)用不斷增加。

(4)軟件開(kāi)發(fā)技術(shù)落后。

⑸生產(chǎn)方式落后,仍采用手工方式。

(6)開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢。

39、調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?

調(diào)試則是在進(jìn)行了成功的測(cè)試之后才開(kāi)始的工作。調(diào)試的目的是確定錯(cuò)誤的原因和位置,并改正

錯(cuò)誤,因此調(diào)試也稱為糾錯(cuò)(Debug%調(diào)試的技術(shù)手段有簡(jiǎn)單的調(diào)試方法、歸納法、演繹法和回

溯法等。

40、在傳統(tǒng)軟件工程方法指導(dǎo)下,數(shù)據(jù)流圖和數(shù)據(jù)字典的關(guān)系如何?

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,對(duì)數(shù)據(jù)流程圖中的各個(gè)元素做完整的定義與說(shuō)明,是數(shù)據(jù)流

程圖的補(bǔ)充工具。

數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒(méi)有數(shù)據(jù)

流圖數(shù)據(jù)字典也難于發(fā)揮作用。數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖中每個(gè)元素的精確定義放在一起,才能

共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明

第二份

1.簡(jiǎn)述軟件設(shè)計(jì)的過(guò)程。

軟件設(shè)計(jì)是把許多事物和問(wèn)題抽象起來(lái),并且抽象它們不同層次和角度,是將需求轉(zhuǎn)變?yōu)檐浖?/p>

陳述的過(guò)程,是迭代的過(guò)程。

軟件設(shè)計(jì),要根據(jù)需求規(guī)格說(shuō)明書,對(duì)整個(gè)設(shè)計(jì)過(guò)程進(jìn)行計(jì)劃,然后實(shí)施具體的設(shè)計(jì)過(guò)程,即

“先整體,再局部”,也是不斷迭代和精化的過(guò)程。

然后需要對(duì)生成的設(shè)計(jì)規(guī)格說(shuō)明書進(jìn)行評(píng)審,啟動(dòng)質(zhì)量評(píng)價(jià)的標(biāo)準(zhǔn),若未通過(guò)評(píng)審,需重新修

改設(shè)計(jì),直至評(píng)審?fù)ㄟ^(guò),確定最后定型的過(guò)程本身。進(jìn)入后續(xù)階段,完成軟件設(shè)計(jì)過(guò)程。

2.簡(jiǎn)述結(jié)構(gòu)化程序設(shè)計(jì)方法的基本特點(diǎn)。

1)盡可能少用got。語(yǔ)句的程序設(shè)計(jì)方法。

2)每個(gè)代碼塊都單入單出。

3)使用控制結(jié)構(gòu):順序、選擇和循環(huán)。

4)自頂向下逐步求精。

3,衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是什么?這兩個(gè)標(biāo)準(zhǔn)的定義分別是什么?在我們的軟件設(shè)計(jì)

中,關(guān)于模塊獨(dú)立性我們追求的目標(biāo)是什么?

衡量模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)是內(nèi)聚和耦合(2分)。

耦合是指對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊彼此之間互相依賴(連接)的緊密程度;而內(nèi)聚則標(biāo)志一

個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度(2分)。

在我們的軟件設(shè)計(jì)中,關(guān)于模塊獨(dú)立性我們追求的目標(biāo)是緊密內(nèi)聚松散耦合(1分)。

4.什么是黑盒測(cè)試法?

黑盒測(cè)試法把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程(2分)。

它只檢查程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用(1分),

程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)(1分),

產(chǎn)生正確地輸出信息(1分)。

5.如何選擇程序設(shè)計(jì)語(yǔ)言的工程特性

1.系統(tǒng)用戶的要求

2.可以使用的編譯程序

3.可以得到的軟件工具

4.工程規(guī)模

5.程序員的知識(shí)

6.軟件可移植性的要求

7.軟件的應(yīng)用領(lǐng)域

6.簡(jiǎn)述面向?qū)ο蟮?個(gè)要點(diǎn)的含義。

面向?qū)ο蟮?個(gè)要點(diǎn)是:對(duì)象分解、數(shù)據(jù)專有、繼承、封裝性。(1分)

1)對(duì)象分解:認(rèn)為客觀世界是由各種對(duì)象組成的。(1分)

2)數(shù)據(jù)專有,方法共享:把所有有象都劃分成各種對(duì)象類(簡(jiǎn)稱為類,class),每個(gè)對(duì)象類都定

義了一組數(shù)據(jù)和一組方法。(1分)

3)繼承:按照子類(或稱為派生類)與父類(或稱為基類)的關(guān)系,把若干個(gè)對(duì)象類組成一個(gè)層次

結(jié)構(gòu)的系統(tǒng)(也稱為類等級(jí))。(1分)

4)封裝性:對(duì)象彼此之間僅能通過(guò)傳遞消息互相聯(lián)系。(1分)

7.軟件維護(hù)的過(guò)程

在軟件開(kāi)發(fā)完成交付用戶使用后,為了保證軟件在一個(gè)相當(dāng)長(zhǎng)的時(shí)期能夠正常運(yùn)行,就需要對(duì)

軟件進(jìn)行維護(hù)。軟件維護(hù)的過(guò)程:

(1)確認(rèn)維護(hù)要求。(1分)

(2)對(duì)于改正性維護(hù)申請(qǐng),評(píng)價(jià)錯(cuò)誤的嚴(yán)重性。對(duì)于嚴(yán)重的錯(cuò)誤,立即安排人員,分析問(wèn)題

原因,進(jìn)行‘救火”性的緊急維護(hù);對(duì)于不嚴(yán)重的錯(cuò)誤,根據(jù)任務(wù)情況和輕重緩急進(jìn)行統(tǒng)一安

排。(2分)

(3)對(duì)于適應(yīng)性和完善性維護(hù)申請(qǐng),需要確定申請(qǐng)的優(yōu)先級(jí),然后安排維護(hù)工作。并不是所

有的完善性維護(hù)申請(qǐng)都必須承擔(dān),需要考慮商業(yè)需要、現(xiàn)有資源、未來(lái)發(fā)展方向等進(jìn)行決定。

(2分)

0.軟件維護(hù)的目的和主要任務(wù)是什么?維護(hù)的類型有哪些?

軟件維護(hù)是軟件生命周期中最后一個(gè)、持續(xù)時(shí)間最長(zhǎng)的階段。

主要任務(wù)是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件。

目的是提高軟件的可靠性、可用性,延長(zhǎng)軟件的壽命。

維護(hù)的類型有:改正性(錯(cuò)誤)、適應(yīng)性(環(huán)境)、完善性(功能)、預(yù)防性(新產(chǎn)品)

9.什么是耦合?模塊的耦合包括哪些類型?

耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。

模塊的耦合包括以下幾種類型:數(shù)據(jù)耦合,控制耦合,特征耦合,公共環(huán)境耦合,內(nèi)容耦

合,標(biāo)記耦合,無(wú)耦合/非直接耦合

10.什么是內(nèi)聚?模塊的內(nèi)聚包括哪些類型?

內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼比結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展

模塊的內(nèi)聚包括以下幾種類型:低內(nèi)聚一偶然內(nèi)聚,邏輯內(nèi)聚.時(shí)間內(nèi)聚中內(nèi)聚一過(guò)程

內(nèi)聚,通信內(nèi)聚;高內(nèi)聚順序內(nèi)聚,功能內(nèi)聚

.什么是編碼風(fēng)格?為什么要強(qiáng)調(diào)編碼風(fēng)格?

編碼風(fēng)格包括以下內(nèi)容:程序內(nèi)部良好的文檔(注釋)、數(shù)據(jù)說(shuō)明、語(yǔ)句構(gòu)造、輸入輸出和效率

保障等。

因?yàn)榫幋a風(fēng)格對(duì)軟件的可讀性、可維護(hù)性、可靠性、可用性很重要,所以要強(qiáng)調(diào)編碼風(fēng)格。

12.什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?

軟件發(fā)展的第二階段末期,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯

著的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的,大型的軟件

開(kāi)發(fā)項(xiàng)目提出來(lái)了,但是,軟件開(kāi)發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開(kāi)發(fā)中遇到

的問(wèn)題找不到解決方法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾,因此導(dǎo)致了軟件危機(jī)。

13.軟件危機(jī)表現(xiàn)在以下四個(gè)方面:(錢與時(shí)間,要求,維護(hù)性,可靠性)

(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)叵一再拖延。

(2)開(kāi)發(fā)的軟件不能滿足用戶要求

(3)開(kāi)發(fā)的軟件維護(hù)性差

(4)開(kāi)發(fā)的軟件可靠性差

13.造成軟件危機(jī)的原因:(規(guī)模和結(jié)構(gòu),管理,經(jīng)費(fèi),技術(shù),工具)

(1)軟件的規(guī)模越來(lái)越大,結(jié)構(gòu)越來(lái)越復(fù)雜

(2)軟件開(kāi)發(fā)管理困難而復(fù)雜

(3)軟件開(kāi)發(fā)的經(jīng)費(fèi)不斷增加

(4)軟件開(kāi)發(fā)技術(shù)落后

(5)生產(chǎn)方式落后開(kāi)發(fā)工具落后,生產(chǎn)率提高緩慢

14.軟件生存周期包括哪些活動(dòng)?

答:軟件生存周期的活動(dòng)包括:可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)

計(jì)、編碼、測(cè)試、維護(hù)等活動(dòng)。

15.請(qǐng)說(shuō)明“二個(gè)模型”的定義,以及二者之間的關(guān)系。

功能模型是描述系統(tǒng)能做什么,即對(duì)系統(tǒng)的功能、性能、接口和界面進(jìn)行定義。

業(yè)務(wù)模型是描述系統(tǒng)在何時(shí)、何地、由何角色、按什么業(yè)務(wù)規(guī)則去做,以及做的步驟或流程,

即對(duì)系統(tǒng)的操作流程進(jìn)行定義。

數(shù)據(jù)模型是描述系統(tǒng)工作前的數(shù)據(jù)來(lái)自何處,工作中的數(shù)據(jù)存什么地方,工作后的數(shù)據(jù)放到何

處,以及這些數(shù)據(jù)之間的關(guān)聯(lián),即對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義。

功能模型和業(yè)務(wù)模型是在需求分析時(shí)建模,是兩個(gè)基本點(diǎn)。數(shù)據(jù)模型是一個(gè)中心,在設(shè)計(jì)時(shí)建

模。功能模型和業(yè)務(wù)模型給數(shù)據(jù)模型提供數(shù)據(jù)與維護(hù)數(shù)據(jù),數(shù)據(jù)模型支持功能模型和業(yè)務(wù)模型

的正常運(yùn)行。通常,數(shù)據(jù)模型建模用PowerDesigner,ERwin或OracleDesigner工具實(shí)現(xiàn);

功能模型用功能點(diǎn)列表(或用況圖)表示;業(yè)務(wù)模型用自然語(yǔ)言加上流程圖(或順序圖)表

示。

16.“面向?qū)ο髮?shí)現(xiàn)”的目標(biāo)是什么?

答:"面向?qū)ο髮?shí)現(xiàn)”的目標(biāo)是:按照《詳細(xì)設(shè)計(jì)說(shuō)明書》中對(duì)數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實(shí)

現(xiàn)等方面的設(shè)計(jì)說(shuō)明,用面向?qū)ο蟮恼Z(yǔ)言,將這些部件蛆裝起來(lái),分別實(shí)現(xiàn)各模塊的功能,從

而實(shí)現(xiàn)目標(biāo)系統(tǒng)的功能、性能、接口、界面等要求。

第三份

1.軟件危機(jī)的表現(xiàn)形式

?對(duì)軟件開(kāi)發(fā)成本和進(jìn)度估計(jì)不準(zhǔn)確

?已完成的軟件不符合用戶需求

?軟件產(chǎn)品質(zhì)量差,可靠性得不到保證

?軟件產(chǎn)品可維護(hù)性差

?軟件成本在計(jì)算機(jī)總成本中的比例逐漸變大

?軟件開(kāi)發(fā)生產(chǎn)率提高速度比不上計(jì)算機(jī)應(yīng)用速度

2.產(chǎn)生軟件危機(jī)的原因

?(1)軟件是計(jì)算機(jī)系統(tǒng)的邏輯部件

?(2)軟件開(kāi)發(fā)的管理困難

?(3)軟件開(kāi)發(fā)費(fèi)用不斷增加

?(4)軟件開(kāi)發(fā)技術(shù)落后

?(5)生產(chǎn)方式落后

?(6)開(kāi)發(fā)工具落后

3.軟件生命周期分為哪三個(gè)時(shí)期?每一時(shí)期所完成的基本任務(wù)是什么?

答:軟件定義、軟件開(kāi)發(fā)、運(yùn)行維護(hù)

定義時(shí)期的任務(wù):?jiǎn)栴}定義、可行性研究、需求分析

開(kāi)發(fā)時(shí)期的任務(wù):軟件設(shè)計(jì)(總體設(shè)計(jì)、詳細(xì)設(shè)計(jì));編碼與單元測(cè)試;綜合測(cè)試

維護(hù)時(shí)期的任務(wù):維護(hù),使軟件持久地滿足用戶的需要。

4.模型以及特點(diǎn)

瀑布模型(生存周期模型):最經(jīng)典,需求基本不變,線性的順序階段模型

快速原型模型:快速獲取用戶需求

增量模型:靈活,允許軟件變化

螺旋模型:在原型模型和增量模型基礎(chǔ)上增加風(fēng)險(xiǎn)分析,用于企業(yè)開(kāi)發(fā)

面向?qū)ο螅簢娙P停阂陨嬷芷跒橹骶€,具有迭代性和無(wú)間隙性

基于構(gòu)件的模型:提高軟件重用性和可靠性

統(tǒng)一過(guò)程模型(RUP):基于UML的面向?qū)ο筮^(guò)程模型

基于形式化的開(kāi)發(fā)模型:確保嚴(yán)格、無(wú)錯(cuò)

5.軟件模塊設(shè)計(jì)準(zhǔn)則:

?(1)降低耦合,提高內(nèi)聚

?(2)模塊深度、寬度、扇出扇入應(yīng)適當(dāng)

?(3)模塊作用范圍在控制范圍內(nèi)

?(4)接口設(shè)計(jì)要簡(jiǎn)單

?(5)設(shè)計(jì)功能可能預(yù)測(cè)并能得到驗(yàn)證的模塊

?(6)劃分模塊規(guī)模,保持獨(dú)立性。

6.詳細(xì)設(shè)計(jì)的目的和任務(wù)

目的:為軟件結(jié)構(gòu)圖中每一個(gè)模塊瑜定采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的詳細(xì)設(shè)計(jì)工

具更清晰的描述,從而在編碼階段可以把這些描述直接翻譯成某種程序設(shè)計(jì)語(yǔ)言書寫的源程

序。任務(wù):設(shè)計(jì)出程序的藍(lán)圖,以后程序員根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的代碼。

7.什么是結(jié)構(gòu)化程序設(shè)計(jì)?結(jié)構(gòu)化程序設(shè)計(jì)采用幾種控制結(jié)構(gòu)?

答:結(jié)構(gòu)程序設(shè)計(jì):是一種設(shè)計(jì)程序的技術(shù),它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單

出口的控制結(jié)構(gòu)。順序,選擇,循環(huán)。

8.程序設(shè)計(jì)語(yǔ)言的特點(diǎn)?

1、名字說(shuō)明2、類型說(shuō)明3、初始化4、程序?qū)ο蟮木植啃?、程序模塊6、循環(huán)控制結(jié)構(gòu)

7、分支控制結(jié)構(gòu)8、異常處理9、獨(dú)立編譯

9.軟件測(cè)試的基本任務(wù)是什么?測(cè)試與調(diào)試的區(qū)別是什么?

答:任務(wù)是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。

與測(cè)試的區(qū)別:測(cè)試是為了發(fā)現(xiàn)軟件中的錯(cuò)誤,而調(diào)試是診斷并改正錯(cuò)誤。

10.可行性研究的步驟?

(1)復(fù)查系統(tǒng)規(guī)模和目標(biāo)。(2)研究目前正在使用的系統(tǒng)。(3)導(dǎo)出新系統(tǒng)的高層邏輯模型。(4)

重新定義問(wèn)題。(5)導(dǎo)出和評(píng)價(jià)供選擇的解法。(6)推薦行動(dòng)方針。(7)草擬開(kāi)發(fā)計(jì)劃。(8)書寫

文檔提交審查

11.從哪些方面驗(yàn)證軟件需求的正確性?

(1)一致性,即所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。

⑵完整性,需求必須是完整的,規(guī)格說(shuō)明書應(yīng)該包括用戶需要的每一個(gè)功能或性能。

⑶現(xiàn)實(shí)性,指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。

⑷有效性,必須證明需求是正確有效的,確實(shí)能解決用戶面對(duì)的問(wèn)題。

12.對(duì)象的特點(diǎn)?

⑴以數(shù)據(jù)為中心。

⑵對(duì)象是主動(dòng)的。

⑶實(shí)現(xiàn)了數(shù)據(jù)封裝。

⑷本質(zhì)上具有并行性。

⑸模塊獨(dú)立性好。

13.用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)軟件時(shí),通常需要建立哪三種形式的模型?

⑴描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對(duì)象模型。

⑵描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型。

⑶描述系統(tǒng)功能的功能模型。

14.什么是模塊的作用域?什么是模塊的控制域?

模塊的作用域定義為受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。模塊的控制域是這個(gè)模塊本

身以及所有直接或間接從屬于它的模塊的集合。

15.簡(jiǎn)述兩種不同集成測(cè)試策略的比較?

答:自頂向下測(cè)試方法主要優(yōu)點(diǎn)是不需要測(cè)試驅(qū)動(dòng)程序,能夠在測(cè)試階段的早期實(shí)現(xiàn)并驗(yàn)證系

統(tǒng)的主要功能,而且能在早期發(fā)現(xiàn)上層模塊的接口錯(cuò)誤。自頂向下測(cè)試方法的主要缺點(diǎn)是需要

存根程序,可能遇到與此相聯(lián)系的測(cè)試?yán)щy,低層關(guān)鍵模塊中的錯(cuò)誤發(fā)現(xiàn)較晚,而且用這種方

法在早期不能充分展開(kāi)人力。自底向上測(cè)試言法的優(yōu)缺點(diǎn)與自頂向下測(cè)試方法的優(yōu)缺點(diǎn)剛好相

反。

16.什么是類?類與對(duì)象間是什么關(guān)系?

答:類是對(duì)具有相同數(shù)據(jù)和相同操作的一組相似對(duì)象的定義。類是對(duì)具有相同屬性和行為的一

個(gè)或多個(gè)對(duì)象的描述,而對(duì)象是某個(gè)特定類所描述的一個(gè)具體對(duì)象。

17.面向?qū)ο蠓椒ㄌ卣饔心男?/p>

⑴客觀世界是由各種對(duì)象組成的。(2)所有對(duì)象都劃分成各種對(duì)象類,每個(gè)對(duì)象類都定義了一組

數(shù)據(jù)和一組方法。

⑶按照子類與父類的關(guān)系,把若干個(gè)對(duì)象類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)。

⑷對(duì)象彼此之間僅能通過(guò)傳遞消息互相聯(lián)系。

18.可行性研究的目的?應(yīng)該從哪些方面研究目標(biāo)系統(tǒng)的可行性?

答:用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。

⑴技術(shù)可行性⑵經(jīng)濟(jì)可行性⑶操作可行性⑷法律可行性

19.什么是軟件工程?構(gòu)成軟件工程的要素是什么?

軟件工程:是指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科。采用工程的概念、原理、技術(shù)和方法來(lái)

開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)

合起來(lái)。

要素是:方法、工具、過(guò)程。

20.對(duì)象有哪幾種定義?

⑴對(duì)象是具有相同狀態(tài)的一組操作的集合。

⑵對(duì)象是對(duì)屬性值和操作的封裝。

(3)對(duì)象:=<ID,MS.DS,Ml>

?ID:是對(duì)象的標(biāo)識(shí)或名字

?MS是對(duì)象中的操作集合

?DS:是對(duì)象的數(shù)據(jù)結(jié)構(gòu)

?Ml:是對(duì)象受理的消息名集合

21.類一&一對(duì)象間的關(guān)系可以概括為哪三種?

?歸納關(guān)系:它反映了一個(gè)類與若干個(gè)互不相容的子類之間的分類關(guān)系。

?組合關(guān)系:它反映了對(duì)象之間的構(gòu)成關(guān)系。

?關(guān)聯(lián)關(guān)系:反映對(duì)象之間相互依賴、相互作用的關(guān)系。

22.簡(jiǎn)述漸增模型的特點(diǎn)?

答:(1)在整個(gè)開(kāi)發(fā)過(guò)程中需求都可能有變化。(2)對(duì)應(yīng)用領(lǐng)域不熟悉。(3)高風(fēng)險(xiǎn)項(xiàng)目⑷用戶完全

參與到整個(gè)開(kāi)發(fā)過(guò)程中。(5)使用面向?qū)ο笳Z(yǔ)言或第四代語(yǔ)言。

23.總體設(shè)計(jì)的過(guò)程如何?

答:(1)設(shè)想供選擇的方案。(2)選取合理的方案。(3)推薦最佳方案。(4)功能分解.(5)設(shè)計(jì)軟件

結(jié)構(gòu)。(6)數(shù)據(jù)庫(kù)設(shè)計(jì)。(7)制定測(cè)試計(jì)劃(8)書寫文檔⑼審查和復(fù)審

24.面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn)有哪些?

(1)與人類習(xí)慣的思維方法致。(2)隱定性好。(3)可重用性好。(4)可維護(hù)性好。

25.什么是白盒測(cè)試?白盒測(cè)試主要采用的技術(shù)有哪些?

白盒測(cè)試是測(cè)試者了解被測(cè)程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,對(duì)程序的所有邏輯路徑進(jìn)行測(cè)試,在不同

點(diǎn)檢查程序狀態(tài)確定實(shí)際狀態(tài)與預(yù)期狀態(tài)是否一致。

白盒測(cè)試主要采用的技術(shù)有:路徑測(cè)試技術(shù)和事務(wù)處理流程技術(shù),對(duì)包含有大量邏輯判斷或條

件組合的程序采用基于邏輯的測(cè)試技術(shù)。

26.什么是黑盒測(cè)試?黑盒測(cè)試主要采用的技術(shù)有哪些?

黑盒測(cè)試也稱為功能測(cè)試,它著眼于程序的外部特征,而不考慮程序的內(nèi)部邏輯結(jié)構(gòu)。測(cè)試者把被

測(cè)程序看成一個(gè)黑盒,不用關(guān)心程序的內(nèi)部結(jié)構(gòu)。黑盒測(cè)試是在程序接口處進(jìn)行測(cè)試,它只檢查

程序功能是否能按照規(guī)格說(shuō)明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的

輸出信息,并且保持外部信息(如數(shù)據(jù)庫(kù)或文件)的完整性。

黑盒測(cè)試主要采用的技術(shù)有:等價(jià)分類法、邊界值分析法、錯(cuò)誤推測(cè)法和因果圖等技術(shù)。

27.路徑測(cè)試技術(shù)中幾種主要覆蓋的含義?舉例說(shuō)明?

語(yǔ)句覆蓋:至少執(zhí)行程序中所有語(yǔ)句一次。

判定覆蓋:使被測(cè)程序中的每一個(gè)分支至少執(zhí)行一次。故也稱為分支覆蓋C

條件覆蓋執(zhí)行所有可能的穿過(guò)程序的控制路流程。

條件組合測(cè)試:設(shè)計(jì)足夠的測(cè)試用例,使每個(gè)判定中的所有可能條件取值組合至少執(zhí)行一次。

第四份

第一章軟件工程

L與硬件相比,軟件的特點(diǎn)

⑴不是具體的物理實(shí)體,具有抽象性

⑵沒(méi)有明顯的制造過(guò)程

⑶存在退化問(wèn)題

⑷對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性

⑸尚未完全擺脫人工的開(kāi)發(fā)方式

⑹軟件本身是復(fù)雜的

⑺軟件成本相當(dāng)昂貴

2.為什么軟件工程解決了軟件危機(jī)的各種弊端

因?yàn)檐浖こ烫岢鍪菫榱私鉀Q軟件危機(jī)所帶來(lái)的各種弊端。具體的講,軟件工程的目標(biāo)主要包

括以下幾點(diǎn):

⑴使軟件的開(kāi)發(fā)成本控制在預(yù)計(jì)的合理范圍之內(nèi)

⑵使軟件產(chǎn)品的各項(xiàng)功能和性能能夠滿足用戶需求

⑶提高軟件產(chǎn)品的質(zhì)量

⑷提高軟件產(chǎn)品的可靠性

⑸使生產(chǎn)出來(lái)的軟件產(chǎn)品易于移植.維護(hù),升級(jí)和使用

⑹使軟件的開(kāi)發(fā)周期能夠控制在預(yù)計(jì)的合理時(shí)間范圍內(nèi)

3.軟件工程的基本原則

⑴用分階段的生命周期計(jì)劃嚴(yán)格管理

⑵堅(jiān)持進(jìn)行階段評(píng)審

(3)實(shí)行嚴(yán)格的產(chǎn)品控制

(4)用現(xiàn)代程序設(shè)計(jì)技術(shù)

(5)結(jié)果應(yīng)能清楚地審查

(6)開(kāi)發(fā)小組的人員應(yīng)該少而精。

(7)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性

4.軟件工程的研究?jī)?nèi)容

⑴軟件開(kāi)發(fā)技術(shù)

⑵軟件開(kāi)發(fā)過(guò)程管理

5.軟件工程的目標(biāo)

⑴達(dá)到要求的軟件功能

⑵取得較好的軟件性能

⑶開(kāi)發(fā)出高質(zhì)量的軟件

⑷付出較低的開(kāi)發(fā)成本

⑸需要較低的維護(hù)費(fèi)用

⑹能按時(shí)完成開(kāi)發(fā)工作,及時(shí)交付/用

6.軟件工程的方法

⑴結(jié)構(gòu)化方法

⑵面向數(shù)據(jù)結(jié)構(gòu)方法

(3)面向?qū)ο蠓椒?/p>

⑷形式化方法

第二章軟件過(guò)程

1.如何理解軟件生命周期的內(nèi)在特征?

軟件產(chǎn)品的生命周期是指從設(shè)計(jì)該產(chǎn)品的構(gòu)想開(kāi)始,到軟件需求的確定、軟件設(shè)計(jì)、軟件實(shí)

現(xiàn)、產(chǎn)品測(cè)試與驗(yàn)收、投入使用以及產(chǎn)品版本的不斷更新,到最終該產(chǎn)品被市場(chǎng)淘汰的全過(guò)

程。軟件生命周期的每個(gè)階段都完成特定的相對(duì)獨(dú)立的任務(wù)。合理地劃分軟件生命周期的各個(gè)

階段,使各個(gè)階段之間既相互區(qū)別又相互聯(lián)系,為每個(gè)階段賦予特定的任務(wù)

2.請(qǐng)對(duì)比各軟件過(guò)程模型

瀑布模型:

瀑布模型是出現(xiàn)得比較早的軟件開(kāi)發(fā)模型。在這種模型中,各階段之間的組織方式就如同瀑布

流水一樣,逐級(jí)下落。開(kāi)發(fā)人員必須在完成前一階段的任務(wù)后,才能開(kāi)始下一階段的工作,各

個(gè)階段之間通常是按固定順序連接的,前一階段的輸出往往就是后階段的輸入。

根據(jù)瀑布模型的理論,這種模型具有以下幾個(gè)特點(diǎn)。

1.瀑布模型是一種線性的軟件開(kāi)發(fā)模型,回溯性很差。

2.瀑布模型是一種基于里程碑的階段過(guò)程模型。

3.瀑布模型強(qiáng)調(diào)軟件開(kāi)發(fā)過(guò)程的階段性,每個(gè)階段完成特定的任務(wù)。瀑布模型適用于具有以下

特征的軟件開(kāi)發(fā)項(xiàng)目:

4.在軟件開(kāi)發(fā)的過(guò)程中,需求不發(fā)生或很少發(fā)生變化,并且開(kāi)發(fā)人員可以一次性獲取到全部需

5.軟件開(kāi)發(fā)人員具有豐富的經(jīng)驗(yàn),對(duì)軟件應(yīng)用領(lǐng)域很熟悉。

6.軟件項(xiàng)目的風(fēng)險(xiǎn)較低。瀑布模型不具有完善的風(fēng)險(xiǎn)控制機(jī)制。

瀑布模型的優(yōu)點(diǎn)是階段性強(qiáng),易于對(duì)項(xiàng)目進(jìn)行管理,缺點(diǎn)是開(kāi)發(fā)過(guò)程不靈活,不能適應(yīng)環(huán)境的

變化。如果后續(xù)階段中發(fā)現(xiàn)前期工作的錯(cuò)誤或需求發(fā)生了變更,會(huì)造成巨大的損失。

原型模型:

原型模型是開(kāi)發(fā)人員為了快速而準(zhǔn)詢地獲取需求經(jīng)常采用的方法。在初步獲取需求后,開(kāi)發(fā)人

員會(huì)快速地開(kāi)發(fā)個(gè)原型系統(tǒng)。通過(guò)對(duì)原型系統(tǒng)進(jìn)行模擬操作,開(kāi)發(fā)人員可以更直觀、更全面

和更準(zhǔn)確地了解用戶對(duì)待開(kāi)發(fā)系統(tǒng)的各項(xiàng)要求,同時(shí)還能挖掘到隱藏的需求。如果開(kāi)發(fā)人員對(duì)

將采用的開(kāi)發(fā)技術(shù)把握不大,也可以采用原型模型進(jìn)行技術(shù)上的嘗試,以降低后續(xù)開(kāi)發(fā)的風(fēng)

險(xiǎn)。原型模型具有以下特點(diǎn)。

1.原型模型主要用于挖掘需求,或是進(jìn)行某種技術(shù)或開(kāi)發(fā)方法的可行性研究。

2.原型系統(tǒng)通常針對(duì)軟件開(kāi)發(fā)系統(tǒng)的子功能模塊,所以功能相對(duì)不完善,

3.由于原型系統(tǒng)功能的局部性以及存在階段的局部性,在軟件開(kāi)發(fā)的實(shí)踐中,原型模型通常

4.結(jié)合其他的軟件開(kāi)發(fā)模型共同使用,發(fā)揮作用。

原型模型適用于具有以下特征的軟件開(kāi)發(fā)項(xiàng)目:

1.對(duì)現(xiàn)有的軟件系統(tǒng)進(jìn)行產(chǎn)品升級(jí)或功能完善。

2.開(kāi)發(fā)人員與用戶之間交流受限,需求獲取困難。

3.開(kāi)發(fā)人員對(duì)將要采用的技術(shù)手段不熟悉或把握性不大。

4.具備快速開(kāi)發(fā)的工具。

原型模型的優(yōu)點(diǎn)是簡(jiǎn)單和快速,缺點(diǎn)是需要花費(fèi)一些額外的成本來(lái)構(gòu)造原型,并且不利于創(chuàng)

新。

增量模型:

增量模型是把待開(kāi)發(fā)的軟件系統(tǒng)模塊化,將每個(gè)模塊作為一個(gè)增量組件,從而分批次地分析、

設(shè)計(jì)、編碼和測(cè)試這些增量組件。運(yùn)用增量模型的軟件開(kāi)發(fā)過(guò)程是遞增式的過(guò)程。相對(duì)于瀑布

模型而言,采用增量模型進(jìn)行開(kāi)發(fā),開(kāi)發(fā)人員不需要一次性地把整個(gè)軟件產(chǎn)品提交給用戶,而

是可以分批次進(jìn)行提交。增量模型的最大特點(diǎn)就是將待開(kāi)發(fā)的軟件系統(tǒng)模塊化和組件化?;?/p>

這個(gè)特點(diǎn),增量模型具有以下優(yōu)點(diǎn)C

1.將待開(kāi)發(fā)的軟件系統(tǒng)模塊化,可以分批次地提交軟件產(chǎn)品,使用戶可以及時(shí)了解軟件項(xiàng)目的

進(jìn)展C

2.以組件為單位進(jìn)行開(kāi)發(fā)降低了軟件開(kāi)發(fā)的風(fēng)險(xiǎn)。一個(gè)開(kāi)發(fā)周期內(nèi)的錯(cuò)誤不會(huì)影響到整個(gè)軟件

系統(tǒng)。

3.開(kāi)發(fā)順序靈活。

增量模型的缺點(diǎn)是要求待開(kāi)發(fā)的軟件系統(tǒng)可以被模塊化。如果待開(kāi)發(fā)的軟件系統(tǒng)很難被模塊

化,那么將會(huì)給增量開(kāi)發(fā)帶來(lái)很多麻煩。

增量模型適用于具有以下特征的軟件開(kāi)發(fā)項(xiàng)目。

1.軟件產(chǎn)品可以分批次地進(jìn)行交付。

2.待開(kāi)發(fā)的軟件系統(tǒng)能夠被模塊化。

3.軟件開(kāi)發(fā)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一次性地進(jìn)行系統(tǒng)開(kāi)發(fā)。

4.項(xiàng)目管理人員把握全局的水平較高。

螺旋模型:

螺旋模型是一種用于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目開(kāi)發(fā)的過(guò)程模型。它把開(kāi)發(fā)過(guò)程分為制定計(jì)劃、

風(fēng)險(xiǎn)分析、實(shí)施工程和客戶評(píng)估4種活動(dòng)。制定計(jì)劃就是要確定軟件系統(tǒng)的目標(biāo),了解各種資

源限制,并選定合適的開(kāi)發(fā)方案。風(fēng)險(xiǎn)分析旨在對(duì)所選方案進(jìn)行評(píng)價(jià),識(shí)別潛在的風(fēng)險(xiǎn),并制

定消除風(fēng)險(xiǎn)的機(jī)制。實(shí)施工程的活動(dòng)中滲透了瀑布模型的各個(gè)階段,開(kāi)發(fā)人員對(duì)下一版本的軟

件產(chǎn)品進(jìn)行開(kāi)發(fā)和蛤證??蛻粼u(píng)估是獲取客戶意見(jiàn)的重要活動(dòng)。

螺旋模型適應(yīng)于風(fēng)險(xiǎn)較大的大型軟件項(xiàng)目的開(kāi)發(fā)。它的優(yōu)點(diǎn)是將風(fēng)險(xiǎn)分析擴(kuò)展到各個(gè)階段中,

大幅度降低了軟件開(kāi)發(fā)的風(fēng)險(xiǎn)。但是這種模型的控制和管理較為復(fù)雜,可操作性不強(qiáng),對(duì)項(xiàng)目

管理人員的要求較高。

V模型

3.在統(tǒng)一軟件開(kāi)發(fā)過(guò)程模型中,核心工作流程包括哪些?

核心工作流程:業(yè)務(wù)建模,需求分析,分析設(shè)計(jì),實(shí)現(xiàn),測(cè)試和部署

4.軟件生命周期的過(guò)程

⑴可行性研究⑵需求分析⑶軟件設(shè)計(jì)

⑷編碼⑸軟件測(cè)試⑹軟件維護(hù)

5.簡(jiǎn)述軟件生命周期及其每階段的主要任務(wù)

6個(gè)階段:可行性研究、需求分析、軟件設(shè)計(jì)、編碼、測(cè)試、維護(hù)。

可行性研究:弄清楚“要解決的問(wèn)題是什么”

需求分析:確定"軟件系統(tǒng)必須做什么"

軟件設(shè)計(jì):確定軟件的結(jié)構(gòu)由哪些模塊組成

編碼:寫成以語(yǔ)言表示的“源程序”

測(cè)試:盡可能多地發(fā)現(xiàn)并排除軟件中潛藏出錯(cuò)誤

維護(hù):更新功能,升級(jí)版本,以保持軟件產(chǎn)品正常運(yùn)行

第三章可行性研究及需求分析

1.可行性研究的內(nèi)容

⑴戰(zhàn)略可行性

⑵操作可行性

⑶計(jì)劃可行性

⑷技術(shù)可行性

⑸社會(huì)可行性

⑹市場(chǎng)可行性

⑺經(jīng)濟(jì)可行性

(8)風(fēng)險(xiǎn)可行性

2.需求分析的原則與常用方法

原則:

首先,需求分析是一個(gè)過(guò)程,它應(yīng)該貫穿于系統(tǒng)的整個(gè)生命周期中,而不是僅僅屬于軟件生命

周期早期的一項(xiàng)工作。

其次,需求分析應(yīng)該是一個(gè)迭代的過(guò)程。由于市場(chǎng)環(huán)境的易變性以及用戶本身對(duì)于新系統(tǒng)要求

的模糊性,需求往往很難一步到位C通常情況下,需求是隨著項(xiàng)目的深入而不斷變化的。所以

需求分析的過(guò)程還應(yīng)該是一個(gè)迭代的過(guò)程。

此外,為了方便評(píng)審和后續(xù)的設(shè)il,需求的表述應(yīng)該具體、清晰,并且是可測(cè)量的、可實(shí)現(xiàn)

的。最好能夠?qū)π枨筮M(jìn)行適當(dāng)?shù)牧炕?/p>

方法:

1.功能分解方法

2.結(jié)構(gòu)化分析方法

3.信息建模方法

4.面向?qū)ο蟮姆治龇椒?/p>

3.可行性研究步驟

(1)明確系統(tǒng)目標(biāo)

⑵分析研究現(xiàn)行系統(tǒng)

⑶設(shè)計(jì)新系統(tǒng)的高層邏輯模型

⑷獲得并比較可行的方案

⑸撰寫可行性研究報(bào)告

第七章軟件設(shè)計(jì)

1.軟件設(shè)計(jì)原則

⑴模塊化⑵抽象化⑶逐步求精⑷信息隱藏

⑸復(fù)用性設(shè)計(jì)⑹靈活性設(shè)計(jì)⑺模塊獨(dú)立性

第十章面向?qū)ο笤O(shè)計(jì)

1.對(duì)象:

類的一個(gè)實(shí)例

2.類

類是一組具有相同屬性、操作、關(guān)系和語(yǔ)義的對(duì)象的描述;

3.實(shí)例

實(shí)例是實(shí)體的具體的例子,關(guān)系是用來(lái)連接實(shí)體的。

繼承:繼承就是子類繼承父類的特征和行為,是多態(tài)的一個(gè)體現(xiàn)

多態(tài):同一個(gè)對(duì)象.調(diào)用不同類的實(shí)例,從而得到不同的結(jié)果

4.簡(jiǎn)述類在建模中的主要用途

類圖主要用在面向?qū)ο筌浖_(kāi)發(fā)的分析和設(shè)計(jì)階段.描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。

5.簡(jiǎn)述面向?qū)ο?模塊化)的設(shè)計(jì)原則

⑴模塊化⑵抽象化⑶信息隱藏

⑷低耦合⑸高內(nèi)聚⑹復(fù)用性

第十四章軟件維護(hù)

1.軟件維護(hù)的分類

糾錯(cuò)性維護(hù):為了識(shí)別并糾正軟件產(chǎn)品中所潛藏的錯(cuò)誤,改正軟件性能上的缺陷進(jìn)行的維護(hù)

適用性維護(hù):為了使軟件產(chǎn)品適應(yīng)軟硬件環(huán)境的變更而進(jìn)行的維護(hù)

完善性維護(hù):軟件維護(hù)的主要部分、是針對(duì)用戶對(duì)軟件產(chǎn)品提出的新需求而進(jìn)行的維護(hù)

預(yù)防性維護(hù):主要采用先進(jìn)的軟件工程方法對(duì)已過(guò)時(shí)的軟件系統(tǒng)進(jìn)行重新設(shè)計(jì)、編碼和測(cè)試,

達(dá)到結(jié)構(gòu)上的更新

其他補(bǔ)充:

1.在模塊化設(shè)計(jì)中必須遵守的設(shè)計(jì)原則是什么?為了實(shí)現(xiàn)有效的模塊化,采用的啟發(fā)設(shè)計(jì)策略

是什么?

在模塊化設(shè)計(jì)過(guò)程中,必須遵循的設(shè)計(jì)原則:

抽象與逐步求精、信息隱藏、模塊化、高內(nèi)聚、低耦合。

按照模塊化設(shè)計(jì)原則,相應(yīng)的啟發(fā)式設(shè)計(jì)策略(6條):

⑴改造程序結(jié)構(gòu)圖,降低耦合度,堤高內(nèi)聚度

⑵避免高扇出,并隨著深度的增加,力求高扇入

⑶模塊的影響范圍應(yīng)限制在該模塊的控制范圍內(nèi)

⑷降低模塊接口的復(fù)雜程度和冗余程度,提高一致性

⑸模塊的功能應(yīng)是可預(yù)測(cè)的,避免對(duì)模塊施加過(guò)多的限制

(6)盡可能設(shè)計(jì)單入口和單出口的模決

2.什么是需求規(guī)約?簡(jiǎn)述需求規(guī)約的基本性質(zhì)。

答:需求規(guī)約是一個(gè)軟件項(xiàng)/產(chǎn)品/系統(tǒng)所有需求陳述的正式文檔,它表達(dá)了一個(gè)軟件產(chǎn)品/系統(tǒng)

的概念模型。需求規(guī)約一般需要滿足一下4個(gè)基本性質(zhì):

L重要性和穩(wěn)定性程度:按需求的重要性和穩(wěn)定性,對(duì)需求進(jìn)

行分級(jí);

2.可修改性:在不影響其他需求的前提下可容易修改一個(gè)單一

需求;

3.完整性:設(shè)備被遺漏的需求;

4.一致性:不存在互斥的需求。

3.什么是模塊耦合?簡(jiǎn)述常用的模塊耦合類型及其設(shè)計(jì)原則。

答:模塊耦合:是指不同模塊之間相互依賴程度的度量;

幾中常見(jiàn)模塊耦合類型為:內(nèi)容耦合、公共耦合、控制耦合、標(biāo)記耦合、數(shù)據(jù)耦合等;

設(shè)計(jì)原則:如果模塊間必須存在耦合,就盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共耦合,

避免內(nèi)容耦合。

4.簡(jiǎn)述軟件開(kāi)發(fā)與軟件測(cè)試之間的關(guān)系

開(kāi)發(fā)和測(cè)試是一個(gè)有機(jī)的整體,在產(chǎn)品的發(fā)布之前,開(kāi)發(fā)和測(cè)試是循環(huán)進(jìn)行的,測(cè)出的缺陷要

經(jīng)開(kāi)發(fā)人員修改后繼續(xù)測(cè)試。在開(kāi)發(fā)的同時(shí)測(cè)試經(jīng)理開(kāi)始編寫測(cè)試用例,測(cè)試文檔要參考開(kāi)發(fā)

文檔,所以開(kāi)發(fā)和測(cè)試是不可分割的,少了任何一個(gè)都不能開(kāi)發(fā)出產(chǎn)品。

5.什么是黑盒測(cè)試法,常用的黑盒測(cè)試方法有哪些?

在測(cè)試中,把程序看作一個(gè)不能打開(kāi)的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性,著眼

于程序外部結(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),主要針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試。

常用的黑盒測(cè)試技術(shù)有:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法

6.什么是白盒測(cè)試法,常用的白盒測(cè)試方法有哪些?

關(guān)注軟件產(chǎn)品的內(nèi)部細(xì)節(jié)和邏輯結(jié)構(gòu),把被測(cè)的程序看成一個(gè)透明的盒子

常用的白盒測(cè)試技術(shù)有:代碼檢查法、邏輯覆蓋測(cè)試、基本路徑測(cè)試

7.UML統(tǒng)一建模語(yǔ)言有哪幾種模型?各種模型的主要功能是什么

功能模型:從用戶的角度展示系統(tǒng)的功能,包括用例圖。

對(duì)象模型:采用對(duì)象,屬性,操作,關(guān)聯(lián)等概念展示系統(tǒng)的結(jié)構(gòu)和基礎(chǔ),包括類圖、對(duì)象圖、

包圖。

動(dòng)態(tài)模型:展現(xiàn)系統(tǒng)的內(nèi)部行為。包括序列圖,活動(dòng)圖,狀態(tài)圖。

常見(jiàn)論述題

索引

概論

軟件產(chǎn)品的特點(diǎn):

軟件就是程序這個(gè)觀點(diǎn)正確嗎?給出原因(2017)。

軟件危機(jī)、軟件危機(jī)的特點(diǎn)以及軟件危機(jī)產(chǎn)生的原因:

什么是軟件工程?軟件工程的出現(xiàn)主要是為了解決什么?

什么是軟件過(guò)程?軟件過(guò)程和軟件工程方法學(xué)有什么關(guān)系(書+真題)?

為什么說(shuō)分階段的生命周期模型有助于軟件項(xiàng)目管理(書)?

什么是里程碑?它應(yīng)該有哪些特征(書)?

開(kāi)發(fā)個(gè)軟件,功能是把讀入的浮點(diǎn)數(shù)開(kāi)平方,所得到的結(jié)果應(yīng)該精確到小數(shù)點(diǎn)后4位,旦實(shí)現(xiàn)并測(cè)試完以后,該

產(chǎn)品將被拋棄。你打算選用哪種軟件生命周期模型?為什么?(書)

假如你是一家軟件公司的項(xiàng)目經(jīng)理,職責(zé)是管理該公司已經(jīng)被廣泛使用的圖片處理軟件新版本的開(kāi)發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)

激烈,公司規(guī)定了嚴(yán)格的完成期限并且已經(jīng)對(duì)外公布。你打算采用哪種軟件生命周期模型'為什么(書、2017)?

在需求分析和設(shè)計(jì)階段建立原型的好處有哪些(2016)?

螺旋模型和Rational統(tǒng)一過(guò)程有什么相似之處?差異(書)?

說(shuō)明敏捷開(kāi)發(fā)的適用范圍(書

對(duì)于螺旋模型的理解?

舉例CASE工具

結(jié)構(gòu)化分析與設(shè)計(jì)

數(shù)據(jù)流圖和數(shù)據(jù)字典的關(guān)系是什么(2017)?

為什么數(shù)據(jù)流圖要分層?畫分層DFD要遵循哪些原則(2015)?

情景與描述了所有可能序列的狀態(tài)圖之間有什么關(guān)系(書)?

在程序流程圖中的每個(gè)節(jié)點(diǎn)都必須有一條從開(kāi)始節(jié)點(diǎn)到該節(jié)點(diǎn)本身的路徑,以及一條從該節(jié)點(diǎn)到結(jié)束節(jié)點(diǎn)的路徑。為

什么數(shù)據(jù)流圖沒(méi)有關(guān)于節(jié)點(diǎn)之間可達(dá)性的類似規(guī)則(書)?

總體設(shè)計(jì)五準(zhǔn)則(設(shè)計(jì)原理)

模塊的作用范圍和控制范圍是什么(2015)?

衡量模塊獨(dú)立性的兩個(gè)標(biāo)準(zhǔn)及其含義(2017)?

詳細(xì)設(shè)計(jì)的目的和主要任務(wù)?

從偽碼轉(zhuǎn)變?yōu)槌绦蛄鞒虉D或者從程序流程圖轉(zhuǎn)變?yōu)閭未a是否是唯一的?請(qǐng)說(shuō)明理由(書)

編碼和測(cè)試、質(zhì)量保證

高級(jí)語(yǔ)言的優(yōu)點(diǎn):

編程時(shí)使用的程序設(shè)計(jì)語(yǔ)言對(duì)軟件的開(kāi)發(fā)和維護(hù)有什么影響(書)?

要想具有好的編程風(fēng)格,在編寫代碼時(shí)應(yīng)注意哪些問(wèn)題

軟件測(cè)試基本準(zhǔn)則(基本原理)是什么

什么是白盒測(cè)試?白盒測(cè)試的方法有哪些?

黑盒測(cè)試和白盒測(cè)試的區(qū)別(2015)

什么是測(cè)試用例?(2016)

測(cè)試V模型的理解:

什么是軟件可靠性和可用性?軟件能不能同時(shí)正確又不可靠?

軟件測(cè)試和調(diào)試的目的有什么區(qū)別(2015,2017)?

維護(hù)

軟件維護(hù)有哪些類型?

為什么大型軟件的維護(hù)成本高達(dá)開(kāi)發(fā)成本的4倍左右(書)

某軟件公司采取下列措施提高他們開(kāi)發(fā)的軟件產(chǎn)品的可維護(hù)性,請(qǐng)判斷哪些措施是正確的,那些不正確?

加入你的任務(wù)是對(duì)一個(gè)已有的軟件做重大修攻,而且只允許你從下述文檔中選取兩份…

當(dāng)一個(gè)十幾年前開(kāi)發(fā)出的程序還在為用戶完成關(guān)鍵的業(yè)務(wù)工作時(shí),是否有必要對(duì)它進(jìn)行軟件再工程?經(jīng)濟(jì)上是否劃

算?

代碼重構(gòu)和正向工程有什么相同和不同之處(書)

面向?qū)ο蠓椒▽W(xué)

面向?qū)ο蠓治鼋5墓ぞ哂心男??面向?qū)ο蠓治鰰r(shí)類和對(duì)象的靜態(tài)關(guān)系主要有哪幾種(2017)?

面向?qū)ο蠓缎烷_(kāi)發(fā)軟件時(shí)與用結(jié)構(gòu)化范型開(kāi)發(fā)軟件時(shí),軟件的生命周期有什么不同之處?這種差異帶來(lái)了什么后果

(書)

為什么在開(kāi)發(fā)大型軟件時(shí),采用面向?qū)ο蠓缎捅炔捎媒Y(jié)構(gòu)化范型較易取得成功(書)?

對(duì)象和屬性有什么區(qū)別(書)?

對(duì)象是什么,以及對(duì)象和數(shù)據(jù)實(shí)體的區(qū)別:

什么是模型?開(kāi)發(fā)軟件時(shí)為什么要建立模型(書)?

為什么夏利牌小汽車時(shí)小汽車類的特化,而發(fā)動(dòng)機(jī)類不是?

為什么說(shuō)面向?qū)ο蠓椒ê腿祟惲?xí)慣的思維解預(yù)方法比較一致(書)?

面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn)以及原因:

面向?qū)ο蠓椒▽W(xué)中其他的概念:

面向?qū)ο笾蓄惖姆庋b性是什么?

面向?qū)ο蠓椒▽W(xué)的幾種模型和其間的關(guān)系:

面向?qū)ο蠓治雠c設(shè)計(jì)

什么是用例圖?(2015)

應(yīng)該依據(jù)什么來(lái)評(píng)價(jià)用例圖/腳本/狀態(tài)圖

試比較功能內(nèi)聚和信息性內(nèi)聚(書)

繼承重用和多態(tài)重用的關(guān)系

在面向?qū)ο笤O(shè)計(jì)過(guò)程中為什么會(huì)調(diào)整對(duì)目標(biāo)系統(tǒng)的需求(書)?

為了設(shè)計(jì)人機(jī)交互子系統(tǒng),為什么要分類用戶(書)?

問(wèn)題空間和解空間有什么區(qū)別?

從面向?qū)ο蠓治?>面向?qū)ο笤O(shè)計(jì)階段,對(duì)象模型有什么變化?

面向?qū)ο髮?shí)現(xiàn)

為什么以后剛剛盡量使用面向?qū)ο笳Z(yǔ)言來(lái)實(shí)現(xiàn)面向?qū)ο蠓治雠c設(shè)計(jì)的結(jié)果(書)?

什么是強(qiáng)類型語(yǔ)言?有哪些優(yōu)點(diǎn)(書)?

用動(dòng)態(tài)聯(lián)編實(shí)現(xiàn)多態(tài)是否會(huì)顯著降低程序運(yùn)行效率(書)?

為什么說(shuō)參數(shù)化類有助于提高可重用性?(書):

把策略方法和實(shí)現(xiàn)方法分開(kāi)后,為什么能夠提高可重用性(書)?

面向?qū)ο筌浖哪男┨攸c(diǎn)使得測(cè)試和維護(hù)變得容易7哪些特點(diǎn)使測(cè)試和維護(hù)變得困難?(=5)

軟件項(xiàng)目管理

關(guān)于CMM能力成熟度模型

為什么成本在估算模型中的參數(shù)應(yīng)該根據(jù)開(kāi)發(fā)公司的歷史數(shù)據(jù)來(lái)確定?(書)

為什么推遲關(guān)鍵路徑上的任務(wù)會(huì)延遲整個(gè)項(xiàng)目?(書)

機(jī)動(dòng)時(shí)間有什么重要性?(書)

項(xiàng)日負(fù)費(fèi)人,開(kāi)發(fā)應(yīng)用系統(tǒng),類似以往做過(guò)的系統(tǒng),規(guī)模吏人更復(fù)雜,需求文檔完整,項(xiàng)日組結(jié)構(gòu)?過(guò)程模型?

(書)

軟件產(chǎn)品的特點(diǎn):

軟件是邏輯部件而不是物理部件,缺乏可見(jiàn)性是其顯著特征,因此,

管理和控制軟件開(kāi)發(fā)過(guò)程相當(dāng)困難。此外,軟件維護(hù)通常意味著改正

或修改原有的設(shè)計(jì),從而使得軟件維護(hù)困難。

軟件的另一個(gè)突出特點(diǎn)是規(guī)模龐大,程序復(fù)雜性會(huì)隨著程序規(guī)模增加

以指數(shù)速度上升。狀態(tài)數(shù)巨大,難以完全預(yù)見(jiàn)每種情況。

軟件就是程序這個(gè)觀點(diǎn)正確嗎?給出原因(2017)o

不正確,軟件等于程序加文檔加數(shù)據(jù)。

文檔是軟件的一個(gè)重要組成部分,在軟件的開(kāi)發(fā)過(guò)程中起著非常重要

的作用。

軟件開(kāi)發(fā)的每一個(gè)階段都有響應(yīng)的文檔,它是開(kāi)發(fā)人員與用戶以及開(kāi)

發(fā)人員與用戶管理人員之間交流的媒介。

文檔是軟件在不同階段的表現(xiàn)形式。

程序和文檔必須一致,軟件才有價(jià)值。

文檔質(zhì)量直接決定軟件質(zhì)量的高低。

文檔是軟件測(cè)試和維護(hù)的依據(jù),在沒(méi)有文檔或文檔不全的情況下對(duì)大

型軟件進(jìn)行測(cè)試和維護(hù)是困難的。

文檔是軟件可重用的依據(jù)。

軟件危機(jī)、軟件危機(jī)的特點(diǎn)以及軟件危機(jī)產(chǎn)生的原因:

軟件危機(jī)兩個(gè)方面的問(wèn)題:

如何開(kāi)發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求。

如何維護(hù)數(shù)量不斷膨脹的已有軟件。

對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估算不準(zhǔn)確-項(xiàng)目管理

軟件成本占計(jì)算機(jī)系統(tǒng)比例上升-項(xiàng)目管理

成果用戶不滿意-需求分析

產(chǎn)品質(zhì)量靠不住-質(zhì)量保證

軟件不可維護(hù)-維護(hù)

沒(méi)有合適文檔一文檔與維護(hù)

軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用普及的趨勢(shì)-

總結(jié)

原因:

客觀上,軟件產(chǎn)品的特點(diǎn)。

主觀上,軟件工程師的錯(cuò)誤認(rèn)識(shí)。包括:

忽視需求分析的重要性,不能明確用戶的需求,?認(rèn)為軟件開(kāi)發(fā)就是寫

程序;輕視軟件維護(hù);忽視代碼評(píng)審和軟件測(cè)試。

缺乏正確的理論指導(dǎo),包括缺乏有力的方法學(xué)和工具。

什么是軟件工程?軟件工程的出現(xiàn)主要是為了解決什么?

軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過(guò)程化

方法去開(kāi)發(fā)和維護(hù)軟件,以及如何把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理

技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái)。

軟件工程的出現(xiàn)就是為了解決軟件危機(jī)的兩個(gè)方面:

如何開(kāi)發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求。

如何維護(hù)數(shù)量不斷膨脹的已有軟件。

什么是軟件過(guò)程?軟件過(guò)程和軟件工程方法學(xué)有什么關(guān)系(書+真

題)?

軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它

規(guī)定了完成各項(xiàng)任務(wù)的工作量。

軟件過(guò)程定義了運(yùn)用方法的順序、應(yīng)該交付的文檔資料、為保證軟件

質(zhì)量和協(xié)調(diào)變化所需的管理措施,以及標(biāo)志軟件開(kāi)發(fā)各個(gè)階段任務(wù)完

成的里程碑。

通常把軟件生命周期全過(guò)程使用的一整套技術(shù)方法的集合稱為方法

學(xué),也成為范型。軟件工程方法學(xué)包含三個(gè)要素:方法、工具和過(guò)程。

(也即軟件過(guò)程是軟件工程方法學(xué)的一部分)

為什么說(shuō)分階段的生命周期模型有助于軟件項(xiàng)目管理(書)?

軟件是計(jì)算機(jī)的邏輯部件而非物理部件。其顯著特點(diǎn)是缺乏可見(jiàn)性。

因此,管理和控制軟件開(kāi)發(fā)過(guò)程相當(dāng)困難。

分階段的生命周期模型提高了軟件項(xiàng)目的可見(jiàn)性,管理者可以把各個(gè)

階段任務(wù)的完成作為里程碑來(lái)對(duì)軟件開(kāi)發(fā)過(guò)程進(jìn)行管理,把階段劃分

的更細(xì)就能更密切的監(jiān)控軟件項(xiàng)目的進(jìn)展情況。

什么是里程碑?它應(yīng)該有哪些特征(書)?

里程碑是用來(lái)說(shuō)明項(xiàng)目進(jìn)展情況的事件。通常,把一個(gè)開(kāi)發(fā)活動(dòng)的結(jié)

束或者一項(xiàng)開(kāi)發(fā)任務(wù)的完成定義為一個(gè)里程碑。

假如你是一家軟件公司的項(xiàng)目經(jīng)理,職責(zé)是管理該公司已經(jīng)被廣泛

使用的圖片處理軟件新版本的開(kāi)發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈,公司規(guī)定了

嚴(yán)格的完成期限并且已經(jīng)對(duì)外公布。你打算采用哪種軟件生命周期模

型?為什么(書、2017)?

增量模型。

原因:

增量模型開(kāi)發(fā)軟件時(shí)可以并行完成開(kāi)發(fā)工作,因此能夠加快開(kāi)發(fā)進(jìn)度。

舊版本相當(dāng)于一個(gè)原型,通過(guò)收集用戶對(duì)舊版本的反映,較容易確定

用戶對(duì)新版本的需求,沒(méi)必要專門建立原型來(lái)分析用戶需求。

公司軟件工程師對(duì)這種軟件很熟悉,有開(kāi)發(fā)該種軟件的豐富經(jīng)驗(yàn),具

有采用增量模型開(kāi)發(fā)需要的技術(shù)水平。

今后很可能還要開(kāi)發(fā)新版本,因此需要把體系結(jié)構(gòu)設(shè)計(jì)成開(kāi)放式的,

有利于今后的改進(jìn)和擴(kuò)充。

在需求分析和設(shè)計(jì)階段建立原型的好處有哪些(2016)?

增進(jìn)開(kāi)發(fā)人員和用戶對(duì)系統(tǒng)需求的一致理解,明確軟件需求,尤其是

功能含糊的需求。

提供了有力的學(xué)習(xí)手段,能夠使用戶盡早解除系統(tǒng)。

可以用來(lái)識(shí)別或者化解風(fēng)險(xiǎn)(螺旋模型)

有的原型可以原封不動(dòng)地成為產(chǎn)品,有的略加修改就可以最終系統(tǒng)的

一個(gè)組成部分,有利于系統(tǒng)的最終建成。

螺旋模型和Rational統(tǒng)一過(guò)程有什么相似之處?差異(書)?

RUP沒(méi)在真題里面見(jiàn)過(guò),關(guān)于RUP的題暫時(shí)不整理了,下面還有兩

道:

試比較Rational統(tǒng)一過(guò)程和敏捷過(guò)程

試討論微軟過(guò)程和RUP以及敏捷過(guò)程的關(guān)系。

說(shuō)明敏捷開(kāi)發(fā)的適用范圍(書)。

敏捷過(guò)程具有對(duì)變化和不確定性的更快速、更敏捷的反應(yīng)特性,而且

在快速的同時(shí)能夠保持可持續(xù)的開(kāi)發(fā)速度。因此比較適用于開(kāi)發(fā)可用

資源以及開(kāi)發(fā)時(shí)間都有苛刻約束的小型項(xiàng)目。

對(duì)于螺旋模型的理解?

螺旋模型是一種風(fēng)險(xiǎn)驅(qū)動(dòng)型過(guò)程模型。基本思想是使用原型以及其他

方法盡量降低風(fēng)險(xiǎn)。可以看作每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的

快速原型模型。主要適用于開(kāi)發(fā)內(nèi)部大型軟件項(xiàng)目。

保留了經(jīng)典模型中逐步細(xì)化的方法,同時(shí)納入迭代思想。

優(yōu)點(diǎn):有利于已有軟件的重用、有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一

個(gè)重要目標(biāo)、減少了過(guò)多測(cè)試或者測(cè)試不足帶來(lái)的風(fēng)險(xiǎn)、軟件開(kāi)發(fā)和

維護(hù)沒(méi)有本質(zhì)區(qū)別。

結(jié)構(gòu)化分析與設(shè)計(jì)

數(shù)據(jù)流圖和數(shù)據(jù)字典的關(guān)系是什么(2017)?

DFD是一種圖形化技術(shù),描繪信息流和數(shù)據(jù)從輸入、移動(dòng)到輸出的過(guò)

程中經(jīng)受的變換。數(shù)據(jù)流圖中沒(méi)有具體的物理部件,只是描繪在軟件

中流動(dòng)和被處理的邏輯過(guò)程。數(shù)據(jù)流圖時(shí)系統(tǒng)邏輯功能的圖形表示,

即使不是專業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解它。因此是分析員和用戶

之間極好的通信工具。

數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有

元素定義的集合。

數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典,數(shù)據(jù)

流圖就不嚴(yán)格,沒(méi)有數(shù)據(jù)流圖,數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)

流圖和對(duì)數(shù)據(jù)流字典中每個(gè)元素的精確定義放在一起,才能共同夠成

系統(tǒng)的規(guī)格說(shuō)明。

共同夠成系統(tǒng)的邏輯模型。

為什么數(shù)據(jù)流圖要分層?畫分層DFD要遵循哪些原則(2015)?

為了控制復(fù)雜性,對(duì)數(shù)據(jù)流圖分層,就能把復(fù)雜的數(shù)據(jù)簡(jiǎn)單化。

原則:自頂向下,逐步求精

具體原則:數(shù)據(jù)守恒和數(shù)據(jù)封閉原則。

加工分解的原則:父圖和子圖平衡的原則,合理使用文件的原則。

情景與描述了所有可能序列的狀態(tài)圖之間有什么關(guān)系(書)?

情景僅僅是通過(guò)部分或者全部狀態(tài)圖的一條路徑,也就是說(shuō),情景僅

僅描述了系統(tǒng)的某個(gè)典型行為,而狀態(tài)圖描述了系統(tǒng)的所有行為。

在程序流程圖中的每個(gè)節(jié)點(diǎn)都必須有一條從開(kāi)始節(jié)點(diǎn)到該節(jié)點(diǎn)本身

的路徑,以及一條從該節(jié)點(diǎn)到結(jié)束節(jié)點(diǎn)的路徑。為什么數(shù)據(jù)流圖沒(méi)有

關(guān)于節(jié)點(diǎn)之間可達(dá)性的類似規(guī)則(書)?

數(shù)據(jù)流圖不描述控制。因此在同一個(gè)數(shù)據(jù)流圖中兩個(gè)處理之間可能沒(méi)

有通路。如果每個(gè)處理都是用不同的輸入數(shù)據(jù),并且生成不同的輸出

數(shù)據(jù),而且一個(gè)處理的輸出不用做另一個(gè)處理的輸入,那么在他們之

間沒(méi)有弧。

模塊化設(shè)計(jì)五準(zhǔn)則(設(shè)計(jì)原理)

模塊化和模塊獨(dú)立、抽象、信息隱藏、逐步求精、局部化

模塊的作用范圍和控制范圍是什么(2015)?

作用范圍是指受模塊內(nèi)一個(gè)判定影響的所有模塊集合。

控制范圍是模塊本身以及所有下屬模塊(直接與間接從屬于它)的模

塊集合。

衡量模塊獨(dú)立性的兩個(gè)標(biāo)準(zhǔn)及其含義(2017)?

內(nèi)聚性:塊內(nèi)聯(lián)系,模塊的功能強(qiáng)度的度量,一個(gè)模塊內(nèi)部各個(gè)元素

彼此結(jié)合的緊密程度的度量,模塊內(nèi)元素聯(lián)系越緊密,內(nèi)聚性越高。

耦合性:塊間聯(lián)系,軟件系統(tǒng)結(jié)構(gòu)中,各模塊間相互聯(lián)系緊密程度的

一種度量。模塊之間聯(lián)系越緊密,耦合性越強(qiáng),模塊獨(dú)立性越差。

詳細(xì)設(shè)計(jì)的目的和主要任務(wù)?

主要目的:確定怎樣具體實(shí)現(xiàn)所要求的系統(tǒng)。

主要任務(wù)是過(guò)程設(shè)計(jì)、接口設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)

過(guò)程設(shè)計(jì):設(shè)計(jì)軟件體系結(jié)構(gòu)中所包含的每個(gè)模塊的實(shí)現(xiàn)算法

數(shù)據(jù)設(shè)計(jì):設(shè)計(jì)軟件中所需要的數(shù)據(jù)結(jié)構(gòu)

接口設(shè)計(jì):設(shè)計(jì)軟件內(nèi)部各個(gè)模塊之間、軟件與協(xié)作系統(tǒng)之間以及軟

件和使用它的人之間的通信方式,這里面包含了用戶界面設(shè)計(jì)。

其中,過(guò)程設(shè)計(jì)是最主要的。

從偽碼轉(zhuǎn)變?yōu)槌绦蛄鞒虉D或者從程序流程圖轉(zhuǎn)變?yōu)閭未a是否是唯一

的?請(qǐng)說(shuō)明理由(書)

偽碼準(zhǔn)確的描述了程序的控制流程。由于偽碼在描述程序的控制流程

時(shí)是無(wú)二義性的,因此由偽碼轉(zhuǎn)變成的程序流程圖是唯一的。但是同

樣的控制流程可以用不同的偽碼來(lái)描述,因此由程序流程圖轉(zhuǎn)變而來(lái)

的偽碼不是唯一的。

編碼和測(cè)試、質(zhì)量保證

高級(jí)語(yǔ)言的優(yōu)點(diǎn):

高級(jí)語(yǔ)言擁有良好的模塊化機(jī)制、可讀性好的控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。

語(yǔ)言的特點(diǎn)使編譯程序能夠盡可能多的發(fā)現(xiàn)程序代碼中的錯(cuò)誤,此外

理想的高級(jí)語(yǔ)言還具有良好的獨(dú)立編譯機(jī)制。

編程時(shí)使用的程序設(shè)計(jì)語(yǔ)言對(duì)軟件的開(kāi)發(fā)和維護(hù)有什么影響(書)?

語(yǔ)法清晰易懂、不容易產(chǎn)生二義性-影響可讀性和可理解性

模塊化機(jī)制是否完善,編譯程序差錯(cuò)能力的強(qiáng)弱-影響可靠性

程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)設(shè)計(jì)結(jié)果的難易程度、是否提供良好的獨(dú)立編譯機(jī)

制、可利用的軟件開(kāi)發(fā)工具是否豐富有效-影響程序開(kāi)發(fā)效率

編譯程序優(yōu)化能力的強(qiáng)弱、程序設(shè)計(jì)語(yǔ)言操縱硬件設(shè)施的能力-影響

程序的運(yùn)行效率

程序設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化程度、所提供的模塊封裝機(jī)制、源程序的可讀

性和可理解性等-影響可維護(hù)性

要想具有好的編程風(fēng)格,在編寫代碼時(shí)應(yīng)注意哪些問(wèn)題

注意程序的書寫格式,讓它的形式反映出內(nèi)在的意義和結(jié)構(gòu)。

用規(guī)范清晰、容易理解的方式編寫程序

編程中應(yīng)該仔細(xì)研究編譯程序給出的錯(cuò)誤信息和警告信息,弄清楚信

息的確切根源并且予以解決。

隨時(shí)注意表達(dá)式計(jì)算過(guò)程和模型

決不去寫依賴運(yùn)算對(duì)象的求值順序的表達(dá)式

保證一個(gè)函數(shù)的定義點(diǎn)和它的所有使用點(diǎn)都能看到同一個(gè)完整的函

數(shù)原型說(shuō)明

新書中的內(nèi)容-為了寫出好程序,應(yīng)該遵循下述規(guī)則:

程序內(nèi)部應(yīng)該有很好的文檔,包括恰當(dāng)?shù)臉?biāo)識(shí)符、適當(dāng)?shù)淖⒔夂统绦?/p>

的視覺(jué)組織等。

數(shù)據(jù)說(shuō)明應(yīng)該易于理解和查閱。

語(yǔ)句構(gòu)造應(yīng)該盡可能簡(jiǎn)單直觀。

輸入輸出風(fēng)格遵守人機(jī)界面設(shè)計(jì)準(zhǔn)則。

效率滿足用戶需求即可。

軟件測(cè)試基本準(zhǔn)則(基本原理)是什么

所有的測(cè)試都應(yīng)該追溯到用戶的需求

應(yīng)該遠(yuǎn)在測(cè)試之前就指定測(cè)試計(jì)劃

將Pareto原理(八二)應(yīng)用到軟件測(cè)試中

應(yīng)該從小規(guī)模測(cè)試開(kāi)始并逐步進(jìn)行大規(guī)模測(cè)試

窮舉測(cè)試是不可能的

為了最佳測(cè)試效果應(yīng)該由獨(dú)立擔(dān)得第三方從事測(cè)試工作

什么是白盒測(cè)試?白盒測(cè)試的方法有哪些?

白盒測(cè)試是已經(jīng)知道了程序的內(nèi)部邏輯結(jié)構(gòu),根據(jù)程序內(nèi)部邏輯結(jié)構(gòu)

通過(guò)測(cè)試來(lái)檢驗(yàn)是否按規(guī)格說(shuō)明書的規(guī)定正確運(yùn)行。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論