




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國2010年10月
四、簡答題
1.簡述軟件危機(jī)產(chǎn)生的原因。
答案:軟件危機(jī)產(chǎn)生的原因有:(每點(diǎn)1分)
(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。
(2)軟件開發(fā)的管理困難。由于軟件規(guī)模大,結(jié)構(gòu)復(fù)雜,又具有無形性,導(dǎo)致管理困難,進(jìn)
度控制困難,質(zhì)量控制困難,可靠性無法保證。
(3)軟件開發(fā)費(fèi)用不斷增加。軟件生產(chǎn)是一種智力勞動,它是資金密集、人力密集的產(chǎn)業(yè),
大型軟件投入人力多,周期長,費(fèi)用上升很快。
(4)軟件開發(fā)技術(shù)、開發(fā)工具落后,生產(chǎn)率提高緩慢。
(5)生產(chǎn)方式落后。軟件仍然采用個體手工方式開發(fā)。
2.簡述需求分析的概念及需求分析的基本任務(wù)。
答案:需求分析是指開發(fā)人員要準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)杳分析,將用戶非形式
的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說
明)的過程。(3分)需求分析的基本任務(wù)是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo),為了滿足用戶需要,
回答系統(tǒng)必須“做什么”的問題。(2分)
3.簡述數(shù)據(jù)流圖的分類及每一類的特點(diǎn)。
答案:數(shù)據(jù)流圖有兩類:變換型數(shù)據(jù)流圖和事務(wù)型數(shù)據(jù)流圖。(1分)變換型數(shù)據(jù)流圖是由輸
入、處理和輸出三部分組成,(1分)因此變化型數(shù)據(jù)流圖是?個順序結(jié)構(gòu)。(1分)事務(wù)型數(shù)據(jù)
流圖特征:事務(wù)處理中心將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,(1
分)并根據(jù)輸入的值選擇其中一個路徑來執(zhí)行。(1分)
4.簡述建立對象模型的過程。
答案:建立對象模型的步驟如下:(每點(diǎn)1分)
(1)確定類:標(biāo)出來自問題域的相關(guān)對象類。
(2)準(zhǔn)備數(shù)據(jù)字典:為所有建模實體準(zhǔn)備一個數(shù)據(jù)字典,準(zhǔn)確描述各對象類的精確含義,描
述當(dāng)前問題中的類的范圍,包括對類的成員、用法方面的假設(shè)或限制;
(3)確定關(guān)聯(lián):確定二個或多個類之間的相互依賴;
(4)確定屬性:只考慮與具體應(yīng)用直接相關(guān)的屬性
(5)使用繼承來細(xì)化類:使用繼承來共享公共結(jié)構(gòu),以此來重新組織類—
全國2010年1月
1.簡述軟件工程面臨的問題。
答:內(nèi)容:①軟件開發(fā)技術(shù)②軟件開發(fā)管理面臨的主要問題:①軟件費(fèi)用②軟件可靠性
③軟件維護(hù)④軟件生產(chǎn)率⑤軟件重用
2.簡述可行性研究報告包含的主要內(nèi)容。
技術(shù)可行性:對要開發(fā)項目的功能、性能、限制條件進(jìn)行分析,確定在現(xiàn)有的資源條件下,
技術(shù)風(fēng)險有多大,項目是否能實現(xiàn)。包括:開發(fā)的風(fēng)險;資源的有效性;技術(shù);開發(fā)人員在
評估技術(shù)可行性時,一旦估計錯誤,將會出現(xiàn)災(zāi)難性后果。
經(jīng)濟(jì)可行性:包括成本一一效果分析、公司經(jīng)營長期策略、開發(fā)所需的成本和資源、潛在的
市場前景。
社會可行性包括:合同、貨任、侵權(quán)、用戶組織的管理模式及規(guī)范,其他一些技術(shù)人員常常
不了解的陷阱等。
3.簡述軟件結(jié)構(gòu)設(shè)計的優(yōu)化準(zhǔn)則。
答:(1)模塊獨(dú)立性準(zhǔn)則,即盡最高內(nèi)聚,低耦介,保持模塊相對?的獨(dú)立性,并以此原則
優(yōu)化軟件結(jié)構(gòu);(2)控制范圍與作用范圍之間的準(zhǔn)則,一個模塊的作用范圍應(yīng)在其控制范
圍之內(nèi),J1條件判斷所在的模塊應(yīng)與受其影響的模塊在層次上盡量靠近;(3)軟件結(jié)構(gòu)的
形態(tài)特征準(zhǔn)則,軟件結(jié)構(gòu)的深度、寬度。扇入、扇出應(yīng)適當(dāng);(4)模塊的大小準(zhǔn)則,模塊
的大小最好控制在50~15c條語句左右,以便于閱讀研究;(5)模塊的接口準(zhǔn)則,模塊的接
口要簡單。清晰及含義明確,以便于理解、實現(xiàn)、測試和維護(hù)。
4.簡述快速原型的開發(fā)步驟。
答:快速原型開發(fā)步驟可劃分下列階段:
(1)快速分析:迅速確定基本需求、集中力量確定需求說明。
(2)快速構(gòu)造原型:在快速分析基礎(chǔ)上,在強(qiáng)有力的軟件工具支持下,快速構(gòu)造所需原型。
(3)運(yùn)行原型:在開發(fā)者指導(dǎo)下,用戶參與原型的運(yùn)行,各類人員在共同運(yùn)行原型中進(jìn)一
步加深對系統(tǒng)的了解及相互間的理解,以發(fā)現(xiàn)各種問題。
(4)評價原型;在運(yùn)行基礎(chǔ)上,根據(jù)原型目標(biāo),考核原型的特性,分析原型效果是否滿足
用戶需求,提出修改意見。
(5)修改原型:在評價基礎(chǔ)上進(jìn)行修改。若不滿足需求說明,則根據(jù)明確的需求修改原型。
若不滿足用戶需求,則先修改并明確用戶需求,再重新構(gòu)造原型。
2008年10月
1.軟件生存周期可以分為幾個階段,每個階段的提交物是什么?
答案:(1)可行性研究和項目開發(fā)計劃,提交項目開發(fā)計劃和可行性分析報告;
(2)需求分析,提交軟件需求說明書;
(3)概要設(shè)計,提交概要設(shè)計說明書;
(4)詳細(xì)設(shè)計,提交詳細(xì)設(shè)計說明書;
(5)編碼,提交源程序清單;
(6)測試,提交測試報告;
(7)維護(hù),提交維護(hù)報告。
(1點(diǎn)1分,答對5點(diǎn)以上可得滿分)
2.結(jié)構(gòu)化分析的描述工具有哪些?簡述結(jié)構(gòu)化分析的步驟。
答案:結(jié)構(gòu)化分析的描述工具有:(1)數(shù)據(jù)流圖,(2)數(shù)據(jù)字典,(3)描述加工邏輯的
結(jié)構(gòu)化語言、判定表、判定樹。(1分)
(1)了解當(dāng)前系統(tǒng)的工作流程,獲取當(dāng)前系統(tǒng)的物理模型;(1分)
(2)抽象出當(dāng)前系統(tǒng)的邏輯模型;(1分)
(3)建立目標(biāo)系統(tǒng)的邏輯模型;(1分)
(4)作進(jìn)一步補(bǔ)充和優(yōu)化。(1分)
3.什么是黑盒測試法?常用的黑盒測試方法有哪些?
答案:黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。(1分)
黑盒測試是在程序接口進(jìn)行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使
用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑
盒測試又稱為功能測試。(2分)常用的黑盒測試方法有等價類劃分、邊界值分析、錯誤推
測、因果圖。(2分,每答對兩個1分)
4.簡述面向?qū)ο蟮奶卣鳌?/p>
答案:(1)對象唯一性:每個對象都有自身唯一的標(biāo)識,通過這種標(biāo)識,可以找到相應(yīng)的對
象。(1分)
(2)分類性:分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。
(1分)
(3)繼承性:繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。
(1分)
(4)多態(tài)性:多態(tài)性是指相同的操作或函數(shù)、過程作用于多種類型的對象上并獲得不同的
結(jié)果。不同的對象收到同一消息可以產(chǎn)生不同的結(jié)果.(2分)
2007年10月
1.簡述軟件工程過程的含義、目的以及包含的子過程。
答案:軟件工程過程規(guī)定了獲取、供應(yīng)、開發(fā)、操作和維護(hù)軟件時,要實施的過程、活動和
任務(wù)。(1分)其目的是為各種人員提供一個公共的框架,以便用相同的語言進(jìn)行交流。(1
分)
軟件工程過程包含七個子過程:(3分)
(1)獲取過程;
(2)供應(yīng)過程;
(3)開發(fā)過程;
(4)操作過程;
(5)維護(hù)過程;
(6)管理過程;
(7)支持過程。
2.數(shù)據(jù)字典的作用是什么,它有哪些條目?
答案:數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準(zhǔn)確的、無二義
性的說明方式,為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。它
和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。(3分)[JP3]
數(shù)據(jù)字典包含以下幾個條目:數(shù)據(jù)流條目、數(shù)據(jù)存儲條目、數(shù)據(jù)項條目、加工條目。(2分)
3.簡述結(jié)構(gòu)化程序設(shè)計方法的基本要點(diǎn)。
答案:(1)采用自頂向下、逐步求精的程序設(shè)計方法:在需求分析、概要設(shè)計中,都采用
了自頂向下、逐層細(xì)化的方法。(1分)
(2)使用三種基本控制結(jié)構(gòu)構(gòu)造程序,分別是順序、選擇和循環(huán),這三種基本結(jié)構(gòu)的共同
點(diǎn)是單入口、單出口,為自頂向下、逐步求精的設(shè)計方法提供了具體的實施手段。(2分)
(3)采用主程序員組的組織形式:指開發(fā)程序的人員組織方式應(yīng)用由一個主程序員、一個
后備程序員和一個程序管理員三人為核心,再加上一些專家、其他技術(shù)人員組成小組。(2
分)
4.簡述原型的開發(fā)步驟。
答案:(1)快速分析:在分析人員與用戶緊密配合下,迅速確定系統(tǒng)的基本需求,根據(jù)原
型所要體現(xiàn)的特征描述基本需求以滿足開發(fā)原型的需要:(1分)
(2)構(gòu)造原型:在快速分析的基礎(chǔ)上,根據(jù)基本需求說明盡快實現(xiàn)一個可運(yùn)行的系統(tǒng):(1
分)
(3)運(yùn)行原型:這是發(fā)現(xiàn)問題、消除誤解、開發(fā)者與用戶充分協(xié)調(diào)的一個步驟;(1分)
(4)評價原型:在運(yùn)行的基礎(chǔ)上,考核評價原型的特性,分析運(yùn)行效果是否滿足用戶的愿
望,糾正過去交互中的誤解與分析中的錯誤,增添新的要求;(1分)
(5)修改:根據(jù)評價原型的活動結(jié)果進(jìn)行修改。(1分)
2006年10月
1.增量構(gòu)造模型有什么特點(diǎn)?
答案:增量構(gòu)造模型是部分階段進(jìn)行增量開發(fā),即在該模型中,需求分析階段和設(shè)計階段與
瀑布模型一樣,按照瀑布模型方式進(jìn)行開發(fā),(1分)
而編碼和測試階段不采用瀑布模型方式,而采用增量方式開發(fā),(1分)即先對部分功能進(jìn)
行編碼,進(jìn)行測試,將這部分功能提交用戶,然后再對另一部分功能進(jìn)行編碼,測試提交用
戶,直到把全部功能按這種方式開發(fā)完畢,(1分)在這種模型中,用戶可以及早看到部分
軟件功能,及早發(fā)現(xiàn)問題,以便在其它軟件功能開發(fā)時及時解決。(2分)
2.軟件測試要經(jīng)過哪些步驟?簡述這些測試的基本任務(wù)。
答案:(1)單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試。(1分)
(2)單元測試:對源程序中的每個程序單元進(jìn)行測試,檢查各模塊是否正確實現(xiàn)規(guī)定的功
能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。(1分)
(3)集成測試:檢查與設(shè)計相關(guān)的軟件結(jié)構(gòu)的有關(guān)問題。(1分)
(4)確認(rèn)測試:主要檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求,(1
分)
(5)系統(tǒng)測試;把已確認(rèn)的軟件與其它系統(tǒng)元素結(jié)合在一起進(jìn)行測試。(1分)
3.簡述需求分析方法應(yīng)遵循的基本原則。
答案:應(yīng)遵循的基本原則:
(1)必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域;(2分)
(2)可以把一個復(fù)雜問題按功能進(jìn)行分解并可逐層細(xì)化;(2分)
(3)建模。(1分)
4.模塊間的耦合性包括哪些類型?
答案:模塊的耦合性包括:
(1)無直接耦合;
(2)數(shù)據(jù)耦合;
(3)標(biāo)記耦合;
(4)控制耦合;
(5)公共耦合;
(6)內(nèi)容耦合。(少一點(diǎn)扣1分)
2005年10月
1.軟件工程面臨的主要問題有哪些?
答案:(1)軟件費(fèi)用;11分)
(2)軟件可靠性;(1分)
(3)軟件可維護(hù);(1分)
(4)軟件生產(chǎn)率;(1分)
(5)軟件重用。(1分)
2.軟件配置管理的作用及其主要目標(biāo)是什么?
答案:軟件配置管理用于整個軟件工程過程。其目的是協(xié)調(diào)整個軟件的開發(fā),使得混亂減少
到最小程度,使得變更所產(chǎn)生的錯誤達(dá)到最小并最有效地提高生產(chǎn)率。(3分)它的主要目
標(biāo)是:標(biāo)識變更:控制變更;確保變更的正確實現(xiàn);報告有關(guān)變更。(2分)
3.簡述SA步驟。
答案:SA分析的主要步驟:
(1)了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型;
(2)抽象出當(dāng)前系統(tǒng)的邏輯模型;
(3)建立目標(biāo)系統(tǒng)的邏輯模型;
(4)作進(jìn)一步補(bǔ)充和優(yōu)化。
(第一點(diǎn)2分,其他點(diǎn)1分)
4.軟件復(fù)雜性主要體現(xiàn)蒞哪些方面?減少軟件復(fù)雜性有哪些優(yōu)點(diǎn)?
答案:軟件復(fù)雜性主要表現(xiàn)在程序復(fù)雜性,而程序的復(fù)雜性主要指模塊內(nèi)程序的復(fù)雜性。它
直接關(guān)聯(lián)到軟件開發(fā)費(fèi)用的多少、開發(fā)周期長短和軟件潛伏錯誤的多少。(3分)減少程序
的復(fù)雜性,可提高軟件的簡單性和可理解性,并使軟件開發(fā)費(fèi)用減少,開發(fā)周期縮短,軟件
內(nèi)部潛伏錯誤減少。(2分)
2004年10月
1.面向?qū)ο蟮闹饕卣饔心男亢喴f明其含義。
答案:對象的惟一性:每個對象都有自身惟一的標(biāo)識;(1分)
分類性:將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。(1分)
繼承性:指子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制。(1分)
多態(tài)性:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。(2分
2.簡述快速原型模型的開發(fā)步驟。
答案;快速原型開發(fā)步驟可劃分下列階段;
(1)快速分析:迅速確定基本需求、集中力量確定需求說明。(1分)
(2)快速構(gòu)造原型:在快速分析基礎(chǔ)上,在強(qiáng)有力的軟件工具支持下,快速構(gòu)造所需原型。
(1分)
(3)運(yùn)行原型:在開發(fā)者指導(dǎo)下,用戶參與原型的運(yùn)行,各類人員在共同運(yùn)行原型中進(jìn)一
步加深對系統(tǒng)的了解及相互間的理解,以發(fā)現(xiàn)各種問題。(1分)
(4)評價原型:在運(yùn)行基礎(chǔ)上,根據(jù)原型目標(biāo),考核原型的特性,分析原型效果是否滿足
用戶需求,提出修改意見,(1分)
(5)修改原型:在評價基礎(chǔ)上進(jìn)行修改。若不滿足需求說明,則根據(jù)明確的需求修改原型。
若不滿足用戶需求,則先修改并明確用戶需求,再重新構(gòu)造原型。(1分)
3.簡述軟件結(jié)構(gòu)的設(shè)計優(yōu)化準(zhǔn)則。
答案:軟件結(jié)構(gòu)的設(shè)計優(yōu)化準(zhǔn)則是:
(1)劃分模塊時盡量做到高內(nèi)聚低耦合,保持模塊相對獨(dú)立性,并以此原則優(yōu)化初始的軟
件結(jié)構(gòu)。(1分)
(2)一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),其判定所在的模塊應(yīng)與受其影響的模塊在
層次上盡量靠近。(1分)
(3)軟件結(jié)構(gòu)的深度、寬度、扇入和扇出應(yīng)適當(dāng)。(1分)
(4)模塊的大小要適中。(1分)
(5)模塊的接口要簡單、清晰、含義明確,便于理解,易于實現(xiàn)、測試與維護(hù)。(1分)
4.需求分析階段的基本任務(wù)是什么?要進(jìn)行哪幾方面的工作?
答案:需求分析的基本任務(wù)是要準(zhǔn)確地定義新系統(tǒng)的目標(biāo)。為了滿足用戶需要,回答系統(tǒng)必
須“做什么”的問題。(2分)本階段主要進(jìn)行:問題識別;分析與綜合,導(dǎo)出軟件的邏輯
模型;編寫文檔。(3分)
2003年10月
1.增量構(gòu)造模型有什么特點(diǎn)?
答案:增量構(gòu)造模型是部分階段進(jìn)行增量開發(fā),即在該模型中,需求分析階段和設(shè)計階段與
瀑布模型一樣,按照瀑布模型方式進(jìn)行開發(fā),(1分)而編碼和測試階段不采用瀑布模型方
式,而采用增量方式開發(fā),(1分)即先對部分功能進(jìn)行編碼,進(jìn)行測試,將這部分功能提
交用戶,然后再對另一部分功能進(jìn)行編碼,測試提交用戶,宜到把全部功能按這種方式開發(fā)
完畢,(1分)在這種模型中,用戶可以及早看到部分軟件功能,及早發(fā)現(xiàn)問題,以便在其
它軟件功能開發(fā)時及時解決。(2分)
2.軟件測試要經(jīng)過哪些步驟?簡述這些測試的基本任務(wù)。
答案:(1)單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試。(1分)
(2)單元測試:對源程序中的每個程序單元進(jìn)行測試,檢查各模塊是否正確實現(xiàn)規(guī)定的功
能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。(1分)
(3)集成測試:檢查與設(shè)計相關(guān)的軟件結(jié)構(gòu)的有關(guān)問題。(1分)
(4)確認(rèn)測試:主要檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求,(1
分)
(5)系統(tǒng)測試:把己確認(rèn)的軟件與其它系統(tǒng)元素結(jié)合在一起進(jìn)行測試。(1分)
3.簡述需求分析方法應(yīng)遵循的基本原則。
答案:應(yīng)遵循的基本原則:
(1)必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域;(2分)
(2)可以把一個復(fù)雜問題按功能進(jìn)行分解并可逐層細(xì)化;(2分)
(3)建模。(1分)
4.模塊間的耦合性包括哪些類型?
答案:模塊的耦合性包括:
(1)無直接耦合;
(2)數(shù)據(jù)耦合;
(3)標(biāo)記耦合;
(4)控制耦合;
(5)公共耦合;
(6)內(nèi)容耦合。(少一點(diǎn)扣1分)
模擬10
1.需求分析階段的基本任務(wù)是什么?
答案:需求分析階段的基本任務(wù)是要準(zhǔn)確地定義新系統(tǒng)的H標(biāo),為了滿足用戶需要,回答系
統(tǒng)必須“做什么”的問題,本階段要進(jìn)行以下兒方面的工作:
(D問題識別。雙方確定對問題的綜合需求,這些需求包括:功能需求、性能需求、環(huán)境需
求、用戶界面需求,另外還有可靠性、安全性、保密性、可移植性、可維護(hù)性等方面的需求。
(2)分析與綜合,導(dǎo)出軟色的邏輯模型。分析人員對獲取的需求,進(jìn)行一致性的分析檢查,
在分析、綜合中逐步細(xì)化軟件功能,劃分成各個子功能。這里也包括對數(shù)據(jù)域進(jìn)行分解,并
分配到各個子功能上,以確定系統(tǒng)的構(gòu)成及主要成份,并用圖文結(jié)合的形式,建立起新系統(tǒng)
的邏輯模型。
(3)編寫文檔。編寫“需求規(guī)格說明書”、編寫初步用戶使用手冊、編寫確認(rèn)測試計劃、修
改完善軟件開發(fā)計劃。
2.軟件生產(chǎn)已經(jīng)歷了幾個階段?各有何特征?
答案:軟件的生產(chǎn)至今已經(jīng)歷了三個階段:
(1)程序設(shè)計時代(1946?1956)。這個階段的生產(chǎn)方式是個體手工勞動,使用的工具是機(jī)器
語言、匯編語言。開發(fā)方法是追求編程技巧,追求程序運(yùn)行效率。硬件特征是價格貴、存儲
容量小、運(yùn)行可靠性差。軟件特征是只有程序、程序設(shè)計概念,不重視程序設(shè)計方法。
(2)程序系統(tǒng)時代(1956?1968)。這個階段的生產(chǎn)方式是作坊式的小集團(tuán)合作生產(chǎn),生產(chǎn)工
具是高級語言,開發(fā)方法仍舊靠個人技巧,但開始提出結(jié)構(gòu)化方法。硬件特征是速度、容量、
工作可靠性有明顯提高。軟件特征是程序員數(shù)量猛增,但開發(fā)技術(shù)沒有新的突破,開發(fā)人員
的素質(zhì)和落后的開發(fā)技術(shù)不適應(yīng)規(guī)模大、結(jié)構(gòu)復(fù)雜的軟件開發(fā),導(dǎo)致軟件危機(jī)的產(chǎn)生。
(3)軟件工程時代(1968至今)。這個階段的生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫、開發(fā)工
具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。硬件特征是向超高速、大容量、
微型化以及網(wǎng)絡(luò)化方向發(fā)展。軟件特征是開發(fā)技術(shù)有很大進(jìn)步,但是未能獲得突破性進(jìn)展,
軟件價格不斷上升,沒有完全擺脫軟件危機(jī)。
3.調(diào)試的目的是什么?調(diào)試有哪些技術(shù)手段?
答案:調(diào)試的目的是確定錯誤的原因和位置,并改正錯誤,因此調(diào)試也稱為糾錯。
調(diào)試技術(shù)主要有:
(D簡單的調(diào)試方法。主要有在程序中插入打印語句、運(yùn)行部分程序等。
(2)歸納法調(diào)試。它從測試結(jié)果發(fā)現(xiàn)的線索(錯誤跡象、征兆)入手,分析它們之間的聯(lián)系,
導(dǎo)出錯誤原因的假設(shè),然后再證明或否定這個假設(shè)。
(3)演繹法調(diào)試。該方法歹[出所有可能的錯誤原因的假設(shè),然后利用測試數(shù)據(jù)排除不適當(dāng)?shù)?/p>
假設(shè),最后再測試數(shù)據(jù)驗證余下的假設(shè)確實是出錯的原因。
(4)回溯法調(diào)試。該方法從程序產(chǎn)生錯誤的地方出發(fā),人工沿程序的邏輯路徑返向搜索,直
到找到錯誤的原因為止.
4.什么是數(shù)據(jù)流圖?其作用是什么?其中的基本符號各表示什么含義?
答案;數(shù)據(jù)流圖:簡稱【M),是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方
式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是
一種功能模型。數(shù)據(jù)流圖有四種基本圖形符號:“一”箭頭表示數(shù)據(jù)流;圓或橢圓表
示加工;“二”雙杠表示數(shù)據(jù)存儲;“口”方框表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)。
模擬9
四'簡答題(本大題共4小題,每小題5分,共20分)
1.請說明軟件文檔的作用?軟件開發(fā)項目生存期各階段都包含哪些文檔?
答案:軟件文檔的作用是:提高軟件開發(fā)過程的能見度;提高開發(fā)效率;作為開發(fā)人員階段
工作成果和結(jié)束標(biāo)志;記錄開發(fā)過程的有關(guān)信息便于使用與維護(hù):提供軟件運(yùn)行、維擰和培
訓(xùn)有關(guān)資料;便于用戶了解軟件功能、性能。軟件開發(fā)項目生存期各階段應(yīng)包括的文檔以及
與各類人員的關(guān)系如下:可行性研究報告、項目開發(fā)計劃、軟件需求說明書、數(shù)據(jù)要求說明
書、測試計劃、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、用戶手冊、操作手冊、測試分析報告、
開發(fā)進(jìn)度月報、項目開發(fā)總結(jié)、程序維護(hù)手冊(維護(hù)修改建議)。
2.軟件開發(fā)成本估算方法有哪幾種?
答案:(1)自頂向下估算方法。估算人員參照以前完成的項目所耗費(fèi)的總成本(或總工作量),
來推算將要開發(fā)的軟件的總成本(或總工作量),然后把它們按階段、步驟和工作單元進(jìn)行分
配,這種方法稱為自頂向下的估算方法。
(2)自底向上估算方法。自底向上估算方法是將待開發(fā)的軟件細(xì)分,分別估算每一個子任務(wù)
所需要的開發(fā)工作量,然后將它們加起來,得到軟件的總開發(fā)量。
(3)差別估算方法。差別估算是將開發(fā)項目與一個或多個已完成的類似項FI進(jìn)行比較,找出
與某個相類似項目的若干不同之處,并估算每個不同之處對成本的影響,導(dǎo)出開發(fā)項目的總
成本。
(4)專家估算法。依靠一個或多個專家對要求的項目做出估算。
(5)類推估算法。
(6)算式估算法。
3.項目開發(fā)計劃有哪些內(nèi)容?
答案:項目開發(fā)計劃是一個管理性的文檔,它的主要內(nèi)容如下:
(1)項目概述:說明項目的各項主要工作;說明軟件的功能、性能;為完成項目應(yīng)具備的條
件;用戶及合同承包者承生的工作、完成期限及其它條件限制;應(yīng)交付的程序名稱,所使用
的語言及存儲形式;應(yīng)交付的文檔。
(2)實施計劃:說明任務(wù)的劃分,各項任務(wù)的責(zé)任人;說明項目開發(fā)進(jìn)度,按階段應(yīng)完成的
任務(wù),用圖表說明每項任務(wù)的開始時間和完成時間;說明項目的預(yù)算,各階段的費(fèi)用支出預(yù)
算。
(3)人員組織及分工:說明開發(fā)該項FI所需人員的類型、組成結(jié)構(gòu)、數(shù)量等。
(4)交付期限:說明項目最后完工交付的日期。
4.白盒測試法有哪些覆蓋標(biāo)準(zhǔn)?試對它們的檢錯能力進(jìn)行比較?
答案:白盒測試法的覆蓋標(biāo)準(zhǔn)有:語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件
組合覆蓋、路徑覆蓋。語句覆蓋發(fā)現(xiàn)錯誤能力最弱。判定覆蓋包含了語句覆蓋,但它可能會
使一些條件得不到測試。條件覆蓋對每一條件進(jìn)行單獨(dú)檢查,一般情況它的檢錯能力較判定
覆蓋強(qiáng),但有時達(dá)不到判定覆蓋的要求。判定/條件覆蓋包含了判定覆蓋和條件覆蓋的要求,
但由于計算機(jī)系統(tǒng)軟件實現(xiàn)方式的限制,實際上不一定達(dá)到條件覆蓋的標(biāo)準(zhǔn)。條件組合覆蓋
發(fā)現(xiàn)錯誤能力較強(qiáng),凡滿足其標(biāo)準(zhǔn)的測試用例,也必須滿足前四種覆蓋標(biāo)準(zhǔn)。
前五種覆蓋標(biāo)準(zhǔn)把注意力集中在單個判定或判定的各個條件上,可能會使程序某些路徑?jīng)]有
執(zhí)行到。路徑覆蓋根據(jù)各判定表達(dá)式取值的組合,使程序沿著不同的路徑執(zhí)行,查錯能力強(qiáng)。
但由于它是從各判定的整體組合出發(fā)設(shè)計測試用例的,可能使測試用例達(dá)不到條件組合覆蓋
的要求。
模擬8
四,簡答題(本大題共4小題,每小題5分,共20分)
1.說明動態(tài)建模的過程。
答案:(1)準(zhǔn)備腳本。動態(tài)分析從尋找事件開始,然后確定各對象的可能事件的順序。在分
析階段不考慮算法的執(zhí)行,算法是實現(xiàn)模型的一部分。
(2)確定事件。確定所有外部事件。事件包括所有來自或發(fā)往用戶的信息、外部設(shè)備的信號、
輸入、轉(zhuǎn)換和動作。
(3)準(zhǔn)備事件跟蹤表。把腳本表示成一個事件跟蹤表,即不問對象間的事件排序表,對象為
表中的列,給每一個對象分配一個獨(dú)立的列。
(4)構(gòu)造狀態(tài)圖。對各對象類建立狀態(tài)圖,反映對象接收和發(fā)送的事件,每個事件跟蹤都對
應(yīng)于狀態(tài)圖中一條路徑。
2.CASE工作臺有哪些分類?
答案:一個CASE工作臺是一組工具集,支持像設(shè)計、實現(xiàn)或測試等特定的軟件開發(fā)階段。工
作臺工具能通過共享文件、共享倉庫或共享數(shù)據(jù)結(jié)構(gòu)來復(fù)成。它能支持大多數(shù)的軟件過程活
動。工作臺有:
(1)程序設(shè)計工作臺。(2)分析和設(shè)計工作臺。(3)測試工作臺。(4)交叉開發(fā)工作臺。
(5)配置管理(CM)工作臺。(6)文檔工作臺。(7)項目管理工作臺。
3.軟件維護(hù)的特點(diǎn)是什么?
答案:主要體現(xiàn)在三個方面:
(1)非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。軟件的開發(fā)過程對軟件的維護(hù)有很大的影響。若不采用軟
件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護(hù)工作非常困維,這是一種非結(jié)構(gòu)化
的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工作,
這是一種結(jié)構(gòu)化的維護(hù)。
(2)維護(hù)的困難性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周
期中的開發(fā)階段沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,就會引起軟件運(yùn)行時的維護(hù)困難。
(3)軟件維護(hù)的費(fèi)用。軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重是在不斷增加的,這是軟件維護(hù)有
形的代價。另外還有無形的代價,即要占用更多的資源。軟件維護(hù)費(fèi)用增加的主要原因是軟
件維護(hù)的生產(chǎn)率非常低。
4.軟件概要設(shè)計階段的基本任務(wù)是什么?
答案:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu)(簡稱軟件結(jié)構(gòu)),具體為:
①采用某種設(shè)計方法,將一個復(fù)雜的系統(tǒng)按功能劃分成模塊。
②確定每個模塊的功能。
③確定模塊之間的調(diào)用關(guān)系。
④確定模塊之間的接口,如模塊之間傳遞的信息。
⑤評價模塊結(jié)構(gòu)的質(zhì)量。
(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計,含數(shù)據(jù)結(jié)構(gòu)的設(shè)計及數(shù)據(jù)庫的設(shè)計。
(3)編寫概要設(shè)計文檔。主要有:①概要設(shè)計說明書;②數(shù)據(jù)庫設(shè)計說明書;③用戶手冊;
④修訂測試計劃。
(4)評審。
模擬7
四、簡答題(本大題共4小超,每小題5分,共20分)
1.什么是數(shù)據(jù)字典?其作用是什么?它有哪些條目?
答案;數(shù)據(jù)字典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的具體含義的,它以一種準(zhǔn)確的、
無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。
它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。
數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細(xì)定義而服務(wù)的,因此也像普通字典一
樣,要把所有條目按一定的次序排列起來,以便查閱。
數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和
數(shù)據(jù)存儲的最小元素。源點(diǎn)、終點(diǎn)不在系統(tǒng)之內(nèi),故一股不在字典中說明。
2.什么是確認(rèn)測試?該階段有哪些工作?
答案:確認(rèn)測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性能是否與需求規(guī)格說明書
中確定的指標(biāo)相符合。
確認(rèn)測試階段有兩項工作:進(jìn)行確認(rèn)測試與軟件配置審查。
(1)確認(rèn)測試一般是在模擬環(huán)境下運(yùn)用黑盒測試方法,由專門測試人員和用戶參加的測試。
(2)軟件配置審查的任務(wù)是檢查軟件的所有文檔資料的完整性、正確性。如果發(fā)現(xiàn)遺漏和錯
誤,應(yīng)補(bǔ)充和改正。同時要編排好目錄,為以后的軟件維護(hù)工作奠定基礎(chǔ)。
3.簡述容錯系統(tǒng)的設(shè)計過程
答案:容錯系統(tǒng)的設(shè)計過程包括以下設(shè)計步驟:
(1)按設(shè)計任務(wù)要求進(jìn)行常規(guī)設(shè)計,盡量保證設(shè)計的正確。
(2)對可能出現(xiàn)的錯誤分類,確定實現(xiàn)容錯的范圍。
(3)按照“成本”一一“效率”最優(yōu)原則,選用某種冗余手段來實現(xiàn)對各類錯誤的屏蔽。
(4)分析或驗證上述冗余結(jié)構(gòu)的容錯效果。如果效果沒有達(dá)到預(yù)期的程度,則應(yīng)重新進(jìn)行冗
余結(jié)構(gòu)設(shè)計。如此重復(fù),直到有一個滿意的結(jié)果為止。
4.試述系統(tǒng)開發(fā)的生命周期。
答案:系統(tǒng)開發(fā)是管理信息系統(tǒng)建設(shè)中最重要的一個階段,從項目開發(fā)開始到結(jié)束的整個過
程,稱為系統(tǒng)開發(fā)的生命周期。系統(tǒng)開發(fā)的生命周期一股分為以下階段:
(1)系統(tǒng)分析
這一階段的主要任務(wù)是明確用戶的信息需求,提出新系統(tǒng)的邏輯方案。需要進(jìn)行的工作有系
統(tǒng)的初步調(diào)查,可行性研究,現(xiàn)行系統(tǒng)的詳細(xì)調(diào)查及新系統(tǒng)邏輯模型的提出等。
(2)系統(tǒng)設(shè)計
這一階段的主要任務(wù)是根據(jù)新系統(tǒng)的邏輯方案進(jìn)行軟、硬件系統(tǒng)的設(shè)計,其中包括總體結(jié)構(gòu)
設(shè)計、輸出設(shè)計、輸入設(shè)計、處理過程設(shè)計、數(shù)據(jù)存儲設(shè)計和計算機(jī)系統(tǒng)方案的選擇等。
(3)系統(tǒng)實施
這?階段將設(shè)計的系統(tǒng)付諸實施,主要工作有軟件的程序編制與軟件包的購置、計算機(jī)與通
訊設(shè)備的購置.、系統(tǒng)的安裝、調(diào)試與測試、新舊系統(tǒng)的轉(zhuǎn)換等。
模擬6
四、簡答題(本大題共4小題,每小題5分,共20分)
。如何做好軟件質(zhì)量保證工作?
答案:軟件質(zhì)量保證工作是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾個方面的
工作
(1)采用技術(shù)手段和工具。質(zhì)量保證活動要貫徹開發(fā)過程始終,必須從采用技術(shù)手段和工具,
尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。
(2)組織正式技術(shù)評審。在軟件開發(fā)的第一個階段結(jié)束時,都要組織正式的技術(shù)評審。國家
標(biāo)準(zhǔn)要求單位必須采用審查、文檔評審、設(shè)計評審、審計和測試等具體手段來保證質(zhì)量。
(3)加強(qiáng)軟件測試。軟件測試是質(zhì)量保證的重要手段,因為測試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯
誤。
(4)推選軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就
應(yīng)貫徹執(zhí)行。
(5)對軟件的變更進(jìn)行控制。軟件的修改和變更常常會引起潛伏的錯誤,因此必須嚴(yán)格控制
軟件的修改和變更。
(6)對軟件質(zhì)量進(jìn)行度量。即對軟件質(zhì)量進(jìn)行跟蹤,及時記錄和報告軟件質(zhì)量情況。
2.如何控制因修改而引起的副作用?
答案:為了控制因修改而引起的副作用,要做到:(1)按模塊把修改分組;(2)日頂向下地安
排被修改模塊的順序;(3)每次修改一個模塊;(4)對每個修改了的模塊,在安排修改下一個
模塊之前要確定這個修改的副作用,可使用交叉引用表、存儲映像表、執(zhí)行流程跟蹤等。
3.漸增模型有幾種?各有何特點(diǎn)?
答案:漸增模型是瀑布模型的變種,它有兩類:
(D增量構(gòu)造模型。它在瀑布模型基礎(chǔ)上,對一些階段進(jìn)行整體開發(fā),對另一些階段進(jìn)行增
品開發(fā)。也就是說在前面的開發(fā)階段按瀑布模型進(jìn)行整體開發(fā),后面的開發(fā)階段按增品方式
開發(fā)。
(2)演化提交模型。它在瀑布模型基礎(chǔ)上,所有階段都進(jìn)行增量開發(fā),也就是說不僅是增量
開發(fā),也是增量提交。
4.對軟件開發(fā)環(huán)境的基本要求有那些?
答案:(1)軟件開發(fā)環(huán)境應(yīng)是高度集成的一體化的系統(tǒng)。
(2)軟件開發(fā)環(huán)境應(yīng)具有高度的通用性。
(3)軟件開發(fā)環(huán)境應(yīng)易于?定制、裁剪或擴(kuò)充以符合用戶要求,即軟件開發(fā)環(huán)境應(yīng)具有高度的
適應(yīng)性和靈活性。
(4)軟件開發(fā)環(huán)境不但可應(yīng)用性要好,而且是易使用的、經(jīng)濟(jì)高效的系統(tǒng)。
(5)軟件開發(fā)環(huán)境應(yīng)有輔助開發(fā)向半自動開發(fā)和自動開發(fā)逐步過渡的系統(tǒng)。
模擬5
四、簡答題(本大題共4小題,每小題5分,共20分)
2.什么是模塊的影響范圍?什么是模塊的控制范圍?它們之間應(yīng)該建立什么關(guān)系?38.非漸
增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?
答案:一個模塊的作用范圍(或稱影響范圍)指受該模塊內(nèi)一個判定影響的所有模塊的集合。
一個模塊的控制范圍指模塊本身以及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。
一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)在其影響的模塊在層次上盡
量靠近。如果在設(shè)計過程中,發(fā)現(xiàn)模塊作用范圍不在其控制范圍之內(nèi),可以用“上移判點(diǎn)”
或“下移受判斷影響的模塊,將它下移到判斷所在模塊的控制范圍內(nèi)”的方法加以改進(jìn)。
2.IDEFO方法有什么特點(diǎn)?
答案:(1)采用方框和箭頭等簡單的圖形符號描述系統(tǒng)的活動和數(shù)據(jù)流,描述活動所受到的
約束條件及實現(xiàn)機(jī)制。從側(cè)面清楚地反映了系統(tǒng)的功能。故1DEF0圖宜全為正式文檔。
(2)采用嚴(yán)格的自頂向下、逐層分解的方式建立系統(tǒng)功能模型。頂層確定系統(tǒng)范圍,采用抽
象原則,然后有控制地逐步展開有關(guān)活動的細(xì)節(jié),符合SA方法的分析策略。同時,1D1F0規(guī)
定每張圖至少有3個、最多有6個方框,上界6保證采用層次性描述復(fù)雜問題的可理解性,下
界3保證分解有意義。
3.在劃分軟件生存周期階段時,應(yīng)遵循的基本原則是什么?
答案:軟件生存周期的各個階段有不同的劃分。軟件規(guī)模、種類、開發(fā)方式、開發(fā)環(huán)境以及
開發(fā)使用方法都影響軟件生存周期的劃分。在劃分軟件生存周期階段時,應(yīng)遵循的一條基本
原則是各階段的任務(wù)應(yīng)盡可能相對獨(dú)立,同一階段各項目任務(wù)的性質(zhì)盡可能相同,從而降低
每個階段任務(wù)的復(fù)雜程度,簡化不同階段之間的聯(lián)系,有利于軟件項目開發(fā)的組織管理。
4.什么是軟件工程?它的目標(biāo)和內(nèi)容是什么?
答案:軟件工程是一種用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。軟件工
程是一門工程性學(xué)科,目的是成功地建造一個大型軟件系統(tǒng),所謂成功是要達(dá)到以下幾個目
標(biāo):付出較低的的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能:開發(fā)的軟件易于
移植;需要較低的維護(hù)費(fèi)用;能按時完成開發(fā)任務(wù),及時交付使用;開發(fā)的軟件可靠性高。
軟件工程研究的主要內(nèi)容是軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術(shù)中,主
要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,主要是研
究軟件管
模擬4
三、名詞解釋題(本大題共5小題,每小題3分,共15分)
1.信息隱蔽
答案:信息隱蔽指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不
需要
這些信息的其它模塊來說,是不能訪問的。
2.原型
答案:原型是指模擬某種產(chǎn)品的原型模型。軟件開發(fā)中的原型是軟件的一個早期可運(yùn)行的版
本
,它反映了最終系統(tǒng)的重要特征。
3.事件
答案:事件是指定時刻發(fā)生的某件事情。它是某事情發(fā)生的信號,它沒有持續(xù)時間,它是一
種相
對性的快速事件。
4.模塊
答案:模塊在程序中是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募希蛘呤菃为?dú)命名和編址的
元素
,如高級語言中的過程、函數(shù)、子程序等等。
5.多態(tài)性
答案:指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果。不同的對象,
收
到同一消息可以產(chǎn)生不同為結(jié)果,這種現(xiàn)象稱為多態(tài)性。
模擬4
四、簡答題(本大題共4小題,每小題5分,共20分)
1.軟件質(zhì)量與軟件質(zhì)量保證的含義是什么?
答案:從實際應(yīng)用來說,軟件質(zhì)軟定義為:
(1)與所確定的功能和性能需求的一致性。
(2)與所成文的開發(fā)標(biāo)準(zhǔn)一致性。
(3)與所有專業(yè)開發(fā)的軟色所期望的隱含特性的一致性。
軟件的質(zhì)量保證就是向用戶及社會提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為
止的所有階段的質(zhì)量的活動,即確定、達(dá)到和維護(hù)需要的軟件質(zhì)量而進(jìn)行的所有有計劃、有
系統(tǒng)的管理活動。
2.采用黑盒技術(shù)設(shè)計測試用例有哪幾種方法?這些方法各有什么特點(diǎn)?
答案:(1)等價類劃分。等價類劃分是將輸入數(shù)據(jù)域按有效的或無效的(也稱合理的或不合理
的)劃分成若干個等價類,測試每個等價類的代表值就等于對該類其它值的測試。
(2)邊界值分折。該方法足將測試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于或剛剛
小于邊界值的測試數(shù)據(jù)。
(3)錯誤推測。錯誤推測法沒有確定的步驟,憑經(jīng)驗進(jìn)行。它的基本思想是列出程序中可能
發(fā)生錯誤的情況,根據(jù)這些情況選擇測試用例。
(4)因果圖。因果圖能有效地檢測輸入條件的各種組合可能會引起的錯誤。因果圖的基本原
理是通過畫因果圖,把用自然語言描述的功能說明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)
計一個測試用例。
3.簡述Gantt,圖的功能及不足。
答案:Gantt圖常用水平線段來描述把任務(wù)分解成子任務(wù),以及每個子任務(wù)的進(jìn)度安排,動
態(tài)反映軟件開發(fā)進(jìn)度情況,該圖可以:
(1)表示任務(wù)分解成子任務(wù)情況。
(2)表示每個任務(wù)的開始時間和完成時間,線段的長度表示子任務(wù)完成所需要的時間。
(3)表示子任務(wù)之間的并行和串行關(guān)系。
Gantt圖只能表示任務(wù)之間的并行與串行的關(guān)系,難以反映多個任務(wù)之間存在的狂雜關(guān)系,
不能直觀表示任務(wù)之間相互依賴制約關(guān)系,以及哪些任務(wù)是關(guān)鍵子任務(wù)等信息,因此僅僅用
Gantt圖作為進(jìn)度的安排是不夠的。
4.快速原型模型有幾種?各有何特點(diǎn)?
答案:根據(jù)原型的不同作用,有三類原型模型:
(1)探索型原型。這種類型的原型模型是把原型用于開發(fā)的需求分析階段,目的是要弄清用
戶的需求,確定所期望的恃性,并探索各種方案的可行性。它主要針對開發(fā)目標(biāo)模糊,用戶
與開發(fā)者對項目都缺乏經(jīng)驗的情況,通過對原型的開發(fā)來明確用戶的需求。
(2)實驗型原型。這種原型主要用于設(shè)計階段,考核實現(xiàn)方案是否合適,能否實現(xiàn)。對于一
個大型系統(tǒng),若對設(shè)計方案心中沒有把握時,可通過這種原型來證實設(shè)計方案的正確性。
(3)演化型原型。這種原型主要用于極早向用戶提交一個原型系統(tǒng),該原型系統(tǒng)或者包含系
統(tǒng)的框或者包含系統(tǒng)的主要功能,在得到用戶的認(rèn)可后,將原型系統(tǒng)不斷擴(kuò)充演變?yōu)樽罱K的
軟件系統(tǒng)。它將原型的思想擴(kuò)展到軟件開發(fā)的全過程。
模擬3
四、簡答題(本大題共4小題,每小題5分,共20分)
1.詳細(xì)設(shè)計的基本任務(wù)是什么?有哪幾種描述方法?
答案:詳細(xì)設(shè)計是軟件設(shè)計的第二階段,其基本任務(wù)有:
(1)為每個模塊進(jìn)行詳細(xì)的算法設(shè)計。
(2)為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計。
(3)對數(shù)據(jù)庫進(jìn)行物理設(shè)計,即確定數(shù)據(jù)庫的物理結(jié)構(gòu)。
(4)其它設(shè)計。根據(jù)軟件系統(tǒng)類型,還可能要進(jìn)行代碼設(shè)計、輸入/輸出格式設(shè)計、人機(jī)對話
設(shè)計。
(5)編寫詳細(xì)設(shè)計說明書。
(6)評審。
詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。如結(jié)構(gòu)化程序流程圖、盒圖和問題分
析圖。IP0圖也是詳細(xì)設(shè)計的主要工具之一。表格工具如判定表可作為詳細(xì)設(shè)計中描述邏輯
條件復(fù)雜的算法。過程設(shè)計語言(PDL)是一種用于描述模決算法設(shè)計和處理細(xì)節(jié)的語言工具。
2.什么是CASE?CASE工具有哪些分類?
答案:CASE是一組工具和方法的集合,可以輔助軟件開發(fā)生命周期各階段進(jìn)行軟件開發(fā)。從
學(xué)術(shù)研究角度講,CASE是多年來在軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工具
等方面研究和發(fā)展的產(chǎn)物,CASE把軟件開發(fā)技術(shù)、軟件工具和軟件開發(fā)方法集成到一個統(tǒng)一
而一致的框架中,并且吸引了CAD(計算機(jī)輔助設(shè)計)、軟件工程、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)
和許多其它計算機(jī)領(lǐng)域的原理和技術(shù)。因而,CASE領(lǐng)域是一個應(yīng)用集成和綜合的領(lǐng)域。從產(chǎn)
業(yè)角度講,CASE是種類繁多的軟件開發(fā)和系統(tǒng)集成的產(chǎn)品及軟件工具的集合。
CASE分類
(DCASE技術(shù)種類
CASE系統(tǒng)所涉及到的技術(shù)有兩類:一類是支持軟件開發(fā)過程本身的技術(shù);另一類是支持軟件
開發(fā)過程管理的技術(shù)。從CASE系統(tǒng)產(chǎn)生方式來看,還有一種特殊的CASE技術(shù),即元一一CASE
技術(shù)。它是生成CASE系統(tǒng)的生成器所采用的技術(shù)。該生成器可用來創(chuàng)建支持軟件開發(fā)過程活
動及過程管理的CASE系統(tǒng),
(2)CASE工具的分類
對CASE工具分類的標(biāo)準(zhǔn)可分為:
①功能。功能是對軟件進(jìn)行分類的最常用的標(biāo)準(zhǔn)。
②支持的過程。根據(jù)支持的過程,工具可分為設(shè)計工具、編程工具、維護(hù)工具等。
③支持的范圍。根據(jù)支持的范圍,可分為窄支持、較寬支持和一般支持工具。窄支持指支持
過程中特定的任務(wù),較寬支持是指支持特定過程階段;一般支持是指支持覆蓋軟件過程的全
部階段或大多數(shù)階段。
1993年,Fuggetta根據(jù)CASE系統(tǒng)對軟件過程的支持范圍,提出CASE系統(tǒng)可分為三類:
①支持單個過程任務(wù)的工具。工具可能是通用的,或者也可能歸組到工作臺。
②工作臺支持某一過程所有活動或某些活動。它們一般以或多或少的集成度組成工具集。
③環(huán)境支持軟件過程所有活動或至少大部分。它們一般包括幾個不同的工作臺,將這些工作
臺以某種方式集成起來。
3.說明容錯軟件的定義與容錯的一般方法。
答案:歸納容錯軟件的定義,有以下四種:
(1)規(guī)定功能的軟件,在一定程度上對自身錯誤的作用(軟件錯誤)具有屏蔽能力,則稱此軟
件為具有容錯功能的軟件,即容錯軟件。
(2)規(guī)定功能的軟件,在一定程序上能從錯誤狀態(tài)自動恢復(fù)到正常狀態(tài),則稱之為容錯軟件。
(3)規(guī)定功能的軟件,在因錯誤而發(fā)生錯誤時,仍然能在一定程度上完成預(yù)期的功能,則把
該軟件稱為容錯軟件。
(4)規(guī)定功能的軟件,在一定程度上具有容錯能力,則稱之為容錯軟件。
實現(xiàn)容錯技術(shù)的主要手段是冗余。通常冗余技術(shù)分為四類。
(1)結(jié)構(gòu)冗余。結(jié)構(gòu)冗余是通常用的冗余技術(shù)。按其工作方式,它分為靜態(tài)、動態(tài)和混合冗
余三種。
(2)信息冗余。為檢查或糾正信息在運(yùn)算或傳輸中的錯誤須外加一部分信息,這種現(xiàn)象稱為
信息冗余。
(3)時間冗余。是指以重災(zāi)執(zhí)行指令(指令復(fù)執(zhí))或程序(程序復(fù)算)來消除瞬時錯誤帶來的影
響。
(4)冗余附加技術(shù)。是指為實現(xiàn)上述冗余技術(shù)所需的資源和技術(shù)。包括程序、指令、數(shù)據(jù)、
存放和調(diào)動它們的空間和通道等。
4.開放式工作臺有什么優(yōu)點(diǎn)?
答案:(1)易將某個工具加入到開放式工作臺中,還可以用新的工具取代已有的工具。
(2)可以由一個配置管理系統(tǒng)來管理由工具輸出的文件。
(3)能不斷增強(qiáng)工作臺的功能,不斷發(fā)展工作臺。
(4)工作臺不依賴于某個供應(yīng)商,而能從不同銷售商處購買工具。如果一個工具開發(fā)商不提
供支持了,最多只影響該工作臺的一部分工具,其余的工具還可以繼續(xù)使用。
模擬2
四、簡答題(本大題共4小題,每小題5分,共20分)
1.非漸增式測試與漸增式測試有什么區(qū)別?漸增式測試如何組裝模塊?
答案:漸增方式與非漸增方式測試的方法有以下區(qū)別:
⑴非漸增式方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測
試,后一階段完成集成測試。而漸增式測試往往把單元測試與集成測試合在一起,同時完成。
⑵非漸增式需要更多的工作量,因為每個模塊都需要驅(qū)動模塊和樁模塊,而漸增式利用已
測試過的模塊作為驅(qū)動模塊或樁模塊,因此工作量較少。
⑶漸增式可以較早地發(fā)現(xiàn)接口之間的錯誤,非漸增式最后組裝時才發(fā)現(xiàn)。
(4)漸增式有利于排錯,發(fā)生錯誤往往和最近加進(jìn)來的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯誤
推遲到最后,很難判斷是哪一部分接口出錯。
⑸漸增式比較徹底,已測試的模塊和新的模塊再測試。
⑹漸增式占用的時間較多,但非漸增式需更多的驅(qū)動模塊、樁模塊也占用一些時間。
⑺非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件很有意義。
漸增式測試有以下兩種不司的組裝模塊的方法:
(1)自頂向下組合。該方法只需編寫樁模塊,其步驟是從頂層模塊開始,沿被測程序的軟件
結(jié)構(gòu)圖的控制路徑逐步向下測試,從而把各個模塊都結(jié)合進(jìn)來,它又有兩種組合策略:
①深度優(yōu)先策略:先從軟件結(jié)構(gòu)中選擇一條主控制路徑,把該路徑上的模塊一個個結(jié)合進(jìn)來
進(jìn)行測試,以便完成一個特定的子功能,接著再結(jié)合其它需要優(yōu)先考慮的路徑。
②寬度優(yōu)先策略:逐層結(jié)合直接下屬的所有模塊。
⑵自底向上結(jié)合。該方法僅需編寫驅(qū)動模塊。其步驟為:
①把低層模塊組合成實現(xiàn)一個個特定子功能的族。②為每一個族編寫一個驅(qū)動模塊,以協(xié)調(diào)
測試用例的輸入和測試結(jié)果的輸出。③對模塊族進(jìn)行測試。④按軟件結(jié)構(gòu)圖依次向上擴(kuò)展,
用實際模塊替換驅(qū)動模塊,形成一個個更大的族。⑤重覆②至④步,直至軟件系統(tǒng)全部測試
完畢。
2.什么是軟件危機(jī)?其產(chǎn)生的原因是什么?
答案:當(dāng)軟件開發(fā)技術(shù)的進(jìn)步不能跟上硬件技術(shù)的進(jìn)步,未能滿足發(fā)展的要求,致軟件開發(fā)
中遇到的問題找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危
機(jī)。主要表現(xiàn)為:
⑴經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時間一再拖延;
⑵開發(fā)的軟件不能滿足用戶要求;
⑶開發(fā)的軟件可維護(hù)性差;
⑷開發(fā)的軟件可靠性差。
造成軟件危機(jī)的原因是由于軟件產(chǎn)品本身的特點(diǎn)以及開發(fā)軟件的方式、方法、技術(shù)和人員引
起的。其產(chǎn)生原因主要有以下幾方面:
⑴軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜;
⑵軟件開發(fā)管理困難而復(fù)雜;
(3)軟件開發(fā)費(fèi)用不斷增加;
⑷軟件開發(fā)技術(shù)落后;
⑸生產(chǎn)方式落后;
(6)開發(fā)工具落后,生產(chǎn)率提高緩慢。
3.簡述SA方法的優(yōu)缺點(diǎn)?
答案:結(jié)構(gòu)化分析方法是軟件需求分析中公認(rèn)的、有成效的、技術(shù)成熟、使用廣泛的一種方
法,它較適合于開發(fā)數(shù)據(jù)處理類型軟件的需求分析。該方法利用圖形等半形式化工具表達(dá)需
求,簡明、易讀,也易于使用,為后一階段的設(shè)計、測試、評價提供了有利的條件。但SA
方法也存在有不足之處:
⑴傳統(tǒng)的SA方法主要用于數(shù)據(jù)處理方面的問題,主要工具DFD體現(xiàn)了系統(tǒng)“做什么”的功能,
但它僅是一個靜態(tài)模型,沒有反映處理的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國全自動圓筒機(jī)行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2022-2027年中國林業(yè)及木材加工行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 2024-2030年中國互聯(lián)網(wǎng)衛(wèi)星制造行業(yè)市場競爭格局及投資前景展望報告
- “健康運(yùn)動活力無限”青少年健康運(yùn)動俱樂部商業(yè)計劃書
- 2020-2025年中國肉夾饃行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報告
- 培訓(xùn)課件內(nèi)容反饋
- 中國印刷用紙行業(yè)市場深度調(diào)查及發(fā)展前景研究預(yù)測報告
- 村級婦聯(lián)培訓(xùn)課件
- 少兒財商培訓(xùn)課件
- 2024年全球及中國一次性使用負(fù)壓引流敷料行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 四川省宜賓縣2024屆語文八下期末聯(lián)考試題含解析
- 醫(yī)務(wù)人員手衛(wèi)生規(guī)范培訓(xùn)課件預(yù)防醫(yī)院感染的手衛(wèi)生措施
- 電纜敷設(shè)專項施工方案
- 兒童下支氣管肺炎護(hù)理查房課件
- 倉庫搬遷安全須知培訓(xùn)培訓(xùn)課件
- 機(jī)車高壓電器-高壓連接器
- 【課件】Unit+1Reading+and+thinking說課課件人教版必修第二冊
- ic封裝公司運(yùn)營管理方案
- 軟件項目管理 復(fù)習(xí)題(附參考答案)
- 有機(jī)電子學(xué)課件
- 我國煤機(jī)裝備制造業(yè)發(fā)展現(xiàn)狀與展望
評論
0/150
提交評論