




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廚房裝潢施工合同范本
- 醫(yī)學(xué)檢驗(yàn)課題申報(bào)書
- 合作返款合同范本
- 農(nóng)藥訂貨合同范本
- 合資種植桉樹(shù)合同范本
- 廚房電梯采購(gòu)合同范本
- 單位窗簾定制合同范本
- 勞務(wù)合同范本培訓(xùn)學(xué)校
- 住房公積金優(yōu)化調(diào)整實(shí)施方案
- 口罩機(jī)合同范本
- 2025年天翼云解決方案架構(gòu)師認(rèn)證考試指導(dǎo)題庫(kù)-下(多選、判斷題)
- 礦山機(jī)械傷害安全培訓(xùn)
- 《走進(jìn)汽車》課件
- 2025貴州省黔東南州直屬事業(yè)單位招聘202人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年語(yǔ)文高考復(fù)習(xí)計(jì)劃解析
- U8UAP開(kāi)發(fā)手冊(cè)資料
- 15J403-1-樓梯欄桿欄板(一)
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- DL∕T 5210.4-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第4部分:熱工儀表及控制裝置
- 水利水電工程單元工程施工質(zhì)量驗(yàn)收評(píng)定表及填表說(shuō)明
- MOOC 數(shù)據(jù)庫(kù)系統(tǒng)(上):模型與語(yǔ)言-哈爾濱工業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論