新版軟件工程復(fù)習(xí)_第1頁
新版軟件工程復(fù)習(xí)_第2頁
新版軟件工程復(fù)習(xí)_第3頁
新版軟件工程復(fù)習(xí)_第4頁
新版軟件工程復(fù)習(xí)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、單選題(本大題共10小題,每小題2分,共20分)1.軟件是一種()A.物質(zhì)產(chǎn)品B.物理產(chǎn)品C.邏輯產(chǎn)品D.文檔產(chǎn)品2.下列4個選項中,不屬于軟件危機表現(xiàn)的是(D)A.開發(fā)的軟件可靠性差B.經(jīng)費預(yù)算不斷突破,完畢時間一再遲延C.開發(fā)的軟件可維護性差D.開發(fā)的軟件規(guī)模龐大,結(jié)構(gòu)復(fù)雜3.下列4個選項中,不屬于軟件危機因素的是:軟件(D)A.規(guī)模越來越大B.結(jié)構(gòu)越來越復(fù)雜C.開發(fā)技術(shù)落后D.用戶素質(zhì)不高4.軟件產(chǎn)品的生產(chǎn)重要是(C)A.生產(chǎn)B.再生產(chǎn)C.開發(fā)D.研制5.軟件工程是一門(C)A.理論性學(xué)科B.原理性學(xué)科C.工程性學(xué)科D.心理性學(xué)科6.軟件重用的單位是(A)A.軟件模塊B.性能C.系統(tǒng)D.功能7.軟件工程著重于(C)A.理論研究B.原理探討C.建造軟件系統(tǒng)D.原理的理論8.軟件工程中的“軟件”是指(D)A.程序B.數(shù)據(jù)C.文檔D.程序、數(shù)據(jù)及文檔9.軟件開發(fā)費用只占整個軟件系統(tǒng)費用的(B)A.1/2B.1/3C.1/4D.2/310.下列4種模型中,屬于文檔驅(qū)動的是(C)A.噴泉模型B.增量模型C.瀑布模型D.螺旋模型11.下列4種模型中,較為適合用于面向?qū)ο蟮拈_發(fā)方法的是(A)A.噴泉模型B.增量模型品C.瀑布模型D.螺旋模型12.下列4中方法中,屬于面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的是(C)A.Booch方法B.Coad方法C.Jackson方法D.SA方法13.下列4中方法中,屬于面向數(shù)據(jù)流的分析方法的是(D)A.Booch方法B.Coad方法C.Jackson方法D.SA方法14.軟件生存周期中時間最長的階段是(D)A.需求分析B.概要設(shè)計C.測試D.維護15.一般而言,軟件開發(fā)各階段中,時間長、費用高、困難大的階段是(D)A.需求分析B.具體設(shè)計C.編碼D.測試16.解決“軟件必須做什么”問題的階段是(B)A.可行性研究B.需求分析C.具體設(shè)計D.編碼17.下列工作中,不在需求分析階段進行的是(B)A.編寫需求規(guī)格說明書B.編寫集成測試計劃C.編寫用戶手冊初稿D.修改完善軟件開發(fā)計劃18.下列工作中,不在需求分析階段進行的是(B)A.擬定軟件的功能需求B.建立軟件物理模型C.導(dǎo)出軟件邏輯模型D.編寫需求規(guī)格說明書19.需求分析的重要結(jié)果是(C)A.項目開發(fā)計劃B.可行性分析報告C.需求規(guī)格說明書D.設(shè)計說明書20.需求分析要解決的最重要的問題是(A)A.要讓軟件做什么B.要給軟件提供哪些信息C.規(guī)定軟件工作效率如何D.要讓該軟件具有何種結(jié)構(gòu)21.需求規(guī)格說明書的內(nèi)容不應(yīng)涉及軟件的(B)A.重要功能與性能B.算法具體過程C.用戶界面D.運營環(huán)境22.系統(tǒng)流程圖用于描述待開發(fā)軟件的(B)A.結(jié)構(gòu)系統(tǒng)B.物理系統(tǒng)C.程序系統(tǒng)D.邏輯系統(tǒng)23.數(shù)據(jù)流圖用于描述待開發(fā)軟件的(B)A.物理模型B.邏輯模型C.控制結(jié)構(gòu)D.數(shù)據(jù)結(jié)構(gòu)24.DFD中的每個加工至少有(A)A.一個輸入流和一個輸出流B.一個輸入流或一個輸出流C.一個輸入流D.一個輸出流25.分層DFD的頂層圖描述了系統(tǒng)的(B)A.細節(jié)B.輸入與輸出C.作者D.繪制時間26.在DFD中,下列數(shù)據(jù)流中可以不命名的是(D)A.解決與解決之間的數(shù)據(jù)流B.解決與局部數(shù)據(jù)存儲之間的數(shù)據(jù)流C.解決與數(shù)據(jù)源點之間的數(shù)據(jù)流D.解決與數(shù)據(jù)終點之間的數(shù)據(jù)流27.DFD中一般不畫(A)A.控制流B.數(shù)據(jù)流C.局部數(shù)據(jù)存儲D.外部實體28.在DFD中,箭頭表達(A)A.數(shù)據(jù)流B.數(shù)據(jù)存儲C.數(shù)據(jù)解決D.數(shù)據(jù)源點29.在DFD中,雙杠表達(D)A.數(shù)據(jù)解決B.數(shù)據(jù)源點C.數(shù)據(jù)流D.數(shù)據(jù)存儲30.父圖與子圖平衡指子圖的輸入、輸出流同父圖相應(yīng)加工的輸入、輸出流(A)A.必須一致B.數(shù)目必須相等C.名字必須相同D.數(shù)目必須不等31.數(shù)據(jù)字典中一般不涉及(D)A.數(shù)據(jù)流條目B.數(shù)據(jù)存儲條目C.加工條目D.源點與終點條目32.關(guān)于DD的4類條目,不可再分解的最小元素是(B)A.數(shù)據(jù)流條目B.數(shù)據(jù)項條目C.數(shù)據(jù)存儲條目D.加工條目33.表達“X由a或b組成”的DD定義式是(B)A.X=a+bB.X=[a|b]C.X=a…bD.X=|ab|34.軟件結(jié)構(gòu)圖上,一層中最大模塊數(shù)稱為該圖的(C)A.扇出B.扇入C.寬度D.深度35.當一幅DFD中既有變換流又有事務(wù)流時,這就是一個(C)A.變換型DFDB.事務(wù)型DFDC.綜合型DFDD.分層DFD35.軟件結(jié)構(gòu)圖上,一層中最大模塊數(shù)稱為該圖的(C)A.扇出B.扇入C.寬度D.深度36.軟件開發(fā)中結(jié)構(gòu)化設(shè)計方法用于(B)A.測試用例設(shè)計B.概要設(shè)計C.程序設(shè)計D.具體設(shè)計37.軟件結(jié)構(gòu)使用的圖形工具,一般采用()A.DFD圖B.PAD圖C.SC圖D.ER圖38.軟件結(jié)構(gòu)圖中,模塊框之間若有直線接,表達它們之間存在著(A)A.調(diào)用關(guān)系B.組成關(guān)系C.連接關(guān)系D.順序執(zhí)行關(guān)系39.下列工作中,不在概要設(shè)計進行的是(D)A.劃分模塊B.擬定模塊功能C.擬定模塊的接口D.擬定模塊的算法40.為提高模塊獨立性,模塊之間最佳是(D)A.公共耦合B.控制耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合41.為提高模塊獨立性,模塊內(nèi)部最佳是(C)A.邏輯內(nèi)聚B.時間內(nèi)聚C.功能內(nèi)聚D.通信內(nèi)聚42.在軟件概要設(shè)計中,不使用的圖形工具是(D)A.SC圖B.IPO圖C.IDEF圖D.PAD圖43.概要設(shè)計與具體設(shè)計銜接的圖形工具是(B)A.數(shù)據(jù)流圖B.結(jié)構(gòu)圖C.程序流程圖D.PAD圖44.軟件概要設(shè)計結(jié)束后得到(B)A.數(shù)據(jù)流圖B.結(jié)構(gòu)圖C.程序流程圖D.PAD圖45.劃分模塊時,一個模塊的(A)A.作用范圍應(yīng)在其控制范圍內(nèi)B.控制范圍應(yīng)在其作用范圍內(nèi)C.作用范圍與控制范圍互不包含D.作用范圍與控制范圍不受任何限制46.結(jié)構(gòu)化程序設(shè)計重要強調(diào)程序的(C)A.效率B.執(zhí)行速度C.易讀性D.規(guī)模47.具體設(shè)計的任務(wù)是擬定每個模塊的(B)A.外部特性B.內(nèi)部特性C.功能D.輸入輸出數(shù)據(jù)48.程序的三種基本控制結(jié)構(gòu)是(B)A.過程、子程序和分程序B.順序、選擇和反復(fù)C.遞歸、堆棧和隊列D.調(diào)用、返回和轉(zhuǎn)移49.程序的三種基本控制結(jié)構(gòu)的共同特點是(D)A.不能嵌套使用B.只能用來寫簡樸程序C.已經(jīng)用硬件實現(xiàn)D.單入口和單出口50.下列工作中不屬于具體設(shè)計基本任務(wù)的是(D)A.為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設(shè)計B.對數(shù)據(jù)庫進行物理設(shè)計C.為每個模塊進行具體的算法設(shè)計D.為模塊進行功能設(shè)計51.不屬于具體描述解決過程常用的工具是(D)A.圖形B.表格C.語言D.程序52.下列4圖中不屬于具體設(shè)計中描述解決過程的重要工具的是(D)A.PAD圖B.IPO圖C.程序流程圖D.程序圖53.結(jié)構(gòu)化程序設(shè)計重要強調(diào)的是(A)A.程序易讀性B.程序效率C.程序規(guī)模D.程序代碼54.下列4圖中支持結(jié)構(gòu)化程序設(shè)計原理并可自動生成程序的是(D)A.程序流程圖B.工程網(wǎng)絡(luò)圖C.程序圖D.PAD圖55.下列結(jié)構(gòu)中不屬于Jackson結(jié)構(gòu)圖描述的基本結(jié)構(gòu)的是(D)A.順序結(jié)構(gòu)B.選擇結(jié)構(gòu)C.反復(fù)結(jié)構(gòu)D.組裝結(jié)構(gòu)56.結(jié)構(gòu)化程序思想提出前程序設(shè)計中曾強調(diào)程序的效率,現(xiàn)在更重視程序的(D)A.效率B.安全性C.一致性D.可理解性57.源程序文檔化規(guī)定在每個模塊之前加序言性注釋。該注釋內(nèi)容不應(yīng)有(B)A.模塊的功能B.語句的功能C.模塊的接口D.開發(fā)歷史58.程序設(shè)計語言的心理特性在語言中表現(xiàn)不應(yīng)涉及(C)A.歧義性B.簡潔性C.保密性D.傳統(tǒng)性59.程序設(shè)計語言的工程特性其中之一表現(xiàn)在(A)A.軟件的可重用性B.數(shù)據(jù)結(jié)構(gòu)的描述性C.抽象類型的描述性D.數(shù)據(jù)庫的易操作性60.程序設(shè)計語言的技術(shù)特性不應(yīng)涉及(D)A.數(shù)據(jù)結(jié)構(gòu)的描述性B.抽象類型的描述性C.數(shù)據(jù)庫的易操作性D.軟件的可移植性61.下列語言中,存取管理數(shù)據(jù)庫最方便的是(C)A.匯編語言B.C語言C.SQLD.Prolog62.下列語言中,重要用于實時、并發(fā)和嵌入系統(tǒng),屬于面向?qū)ο蟮恼Z言是(C)A.Pascal語言B.C語言C.Ada語言D.SQL語言63.對于開發(fā)專家系統(tǒng)等人工智能領(lǐng)域的系統(tǒng),下列語言中最合適的是(D)A.匯編語言B.C語言C.SQL語言D.Prolog語言64.下列語言中,第一個體現(xiàn)結(jié)構(gòu)化編程思想的語言是(B)A.FORTRAN語言B.Pascal語言C.C語言D.4GL語言65.下列語言中,產(chǎn)生的目的代碼運營效率最高的是(A)A.匯編語言B.Cobol語言C.SQL語言D.Prolog語言66.軟件測試的目的是(B)A.實驗性運營軟件B.發(fā)現(xiàn)軟件錯誤C.證明軟件對的D.找出軟件所有錯誤67.軟件測試用例重要涉及輸入數(shù)據(jù)和(C)A.測試計劃B.測試規(guī)則C.預(yù)期輸出結(jié)果D.測試報告68.為了提高測試效率,應(yīng)當(D)A.隨機地選取測試數(shù)據(jù)B.取一切也許的輸入數(shù)據(jù)作測試數(shù)據(jù)C.完畢編碼以后制定測試計劃D.選擇發(fā)現(xiàn)錯誤也許性大的數(shù)據(jù)作測試用例69.成功的測試是指運營測試用例后(B)A.未發(fā)現(xiàn)程序錯誤B.發(fā)現(xiàn)了程序錯誤C.證明程序?qū)Φ腄.改正了程序錯誤70.與設(shè)計測試用例無關(guān)的文檔是(A)A.項目開發(fā)計劃B.需求規(guī)格說明C.設(shè)計說明D.源程序71.白盒法設(shè)計測試用例的根據(jù)是程序的(B)A.應(yīng)用范圍B.內(nèi)部邏輯C.功能D.輸入數(shù)據(jù)72.黑盒法設(shè)計測試用例的根據(jù)是程序的(C)A.應(yīng)用范圍B.內(nèi)部邏輯C.功能D.輸入數(shù)據(jù)73.黑盒測試中,著重檢查輸入條件的組合是(D)A.等價類劃分法B.邊界值分析法C.錯誤推測法D.因果圖法74.集成測試重要是為了發(fā)現(xiàn)(B)A.需求分析的錯誤B.概要設(shè)計的錯誤C.具體設(shè)計的錯誤D.編碼的錯誤75.下列技術(shù)中不屬于白盒測試的技術(shù)是(D)A.語句覆蓋B.鑒定覆蓋C.條件覆蓋D.邊界值分析76.集成測試時,能較早發(fā)現(xiàn)高層模塊接口錯誤的測試方法為(A)A.自頂向下漸增測試B.自底向上漸增測試C.非漸增式測試D.系統(tǒng)測試77.確認測試的依據(jù)是(A)A.需求規(guī)格說明書B.設(shè)計說明書C.源程序D.開發(fā)計劃78.關(guān)于白盒技術(shù)的邏輯覆蓋,下列描述中錯誤的是(B)A.鑒定覆蓋也許使一些條件得不到測試B.語句覆蓋查錯能力最強C.條件組合覆蓋查錯能力較強D.途徑覆蓋查錯能力強79.下列覆蓋中發(fā)現(xiàn)錯誤能力最強的是(B)A.條件覆蓋B.途徑覆蓋C.鑒定覆蓋D.條件組合覆蓋80.白盒技術(shù)中,未歸屬于邏輯覆蓋的是(B)A.鑒定覆蓋B.循環(huán)覆蓋C.途徑覆蓋D.條件覆蓋81.黑盒技術(shù)中不涉及(A)A.基本途徑測試B.邊界值分析C.錯誤推測D.等價類劃分82.下列描述中,不屬于基本途徑測試環(huán)節(jié)的是(A)A.進行邊界值分析B.據(jù)具體設(shè)計或源程序?qū)С龀绦驁DC.計算程序圖的環(huán)路復(fù)雜性D.擬定只含獨立途徑的基本途徑集83.下列描述中,不屬于單元測試內(nèi)容的是(A)A.軟件的性能B.模塊接口C.重要執(zhí)行途徑D.局部數(shù)據(jù)結(jié)構(gòu)84.下列測試中,最早進行的是確(A)A.單元測試B.集成測試C.確認測試D.系統(tǒng)測試85.關(guān)于集成測試,下列描述中錯誤的是(A)A.可采用演繹法B.可采用自頂向下結(jié)合法C.可采用自底向上結(jié)合法D.可采用非漸增式方法86.軟件維護困難的重要因素是(C)A.費用低B.人員少C.開發(fā)方法的缺陷D.維護難度大87.軟件維護費用高的重要因素是(B)A.生產(chǎn)率高B.生產(chǎn)率低C.人員多D.人員少88.下列文檔中,產(chǎn)生于維護階段的是(C)A.軟件需求說明B.操作手冊C.軟件問題報告D.測試分析報告89.為辨認和糾正錯誤,填補軟件性能缺陷而修改軟件的過程稱為(A)A.校正性維護B.適應(yīng)性維護C.完善性維護D.防止性維護90.為使軟件適應(yīng)其運營環(huán)境變化而修改軟件的過程稱為(B)A.校正性維護B.適應(yīng)性維護C.完善性維護D.防止性維護91.為使軟件增長功能、增強性能、提高效率而修改軟件的過程稱為(C)A.校正性維護B.適應(yīng)性維護C.完善性維護D.防止性維護92.為提高軟件的可維護性和可靠性而對軟件進行修改稱為(D)A.校正性維護B.適應(yīng)性維護C.完善性維護D.防止性維護93.維護活動數(shù)量較大,約占整個維護活動的50%的維護類型是(C)A.校正性維護B.適應(yīng)性維護C.完善性維護D.防止性維護94.軟件維護的副作用是指(C)A.開發(fā)時的錯誤B.隱含的錯誤C.修改軟件導(dǎo)致的錯誤D.運營時誤操作95.下列軟件特性中互相促進的是(A)A.可理解性和可測試性B.效率和可移植性C.效率和可修改性D.效率和結(jié)構(gòu)好96.下列軟件特性中互相矛盾的是(C)A.可修改性和可理解性B.可測試性和可理解性C.效率和可修改性D.可理解性和可讀性97.下列措施中,不利于提高軟件可維護性的是(B)A.建立明確的軟件質(zhì)量目的B.使用瀑布模型C.使用面向?qū)ο蟮拈_發(fā)方法D.使用歷史文檔98.采用快速原型模型開發(fā)時,一方面應(yīng)(C)A.構(gòu)造原型B.運營原型C.快速分析D.評價原型99.演化提交模型是在瀑布模型基礎(chǔ)上,于開發(fā)過程的(C)A.需求分析階段進行增量開發(fā)B.設(shè)計階段進行增量開發(fā)C.所有階段都進行增量開發(fā)D.編碼階段進行增量開發(fā)100.面向?qū)ο蟪绦蛟O(shè)計語言不同于其他語言的最重要的特點是(A)A.繼承性B.多態(tài)性C.封裝性D.內(nèi)聚性101.面向?qū)ο蠓椒ǖ幕咎匦圆簧婕?D)A.繼承性B.多態(tài)性C.封裝性D.對的性102.面向?qū)ο蠓椒ㄖ薪討B(tài)模型的圖形工具是(D)A.程序圖B.數(shù)據(jù)流圖C.對象圖D.狀態(tài)圖103.面向?qū)ο蟮姆椒ㄖ薪M成功能模型的圖形工具是(D)A.程序圖B.對象圖C.狀態(tài)圖D.DFD104.面向?qū)ο蟮姆椒ㄖ薪M成對象模型的圖形工具是(B)A.程序圖B.對象圖C.狀態(tài)圖D.DFD105.汽車裝有一個發(fā)動機,汽車和發(fā)動機之間的關(guān)系是(B)A.一般──具體B.整體──部分C.分類關(guān)系D.歸納關(guān)系106.火車是一種陸上交通工具,火車和陸上交通工具之間的關(guān)系是(D)A.組裝關(guān)系B.整體──部分C.聚集關(guān)系D.一般化關(guān)系107.面向?qū)ο蟪绦蛟O(shè)計不同于其他設(shè)計的最重要特點是(C)A.模塊B.抽象C.繼承D.共享108.軟件部件的內(nèi)部實現(xiàn)與外部可訪問性分離,這是指軟件的(C)A.繼承性B.共享性C.封裝性D.抽象性109.實現(xiàn)共享和提高重用的重要途徑是(A)A.使用繼承B.提高內(nèi)聚C.減少耦合D.使用封裝110.同一類中有相同的數(shù)據(jù)結(jié)構(gòu),這種共享的級別是(B)A.不同類級共享B.同一類級共享C.不同應(yīng)用級共享D.同一應(yīng)用級共享111.類庫機制的共享級別是(C)A.不同類級共享B.同一類級共享C.不同應(yīng)用級共享D.同一應(yīng)用級共享112.面向?qū)ο蠓治鲭A段建立的三個模型中,核心模型(C)A.功能模型B.動態(tài)模型C.對象模型D.分析模型113.對象模型的描述工具是(C)A.狀態(tài)圖B.數(shù)據(jù)流圖C.對象圖D.結(jié)構(gòu)圖114.動態(tài)模型的描述工具是(A)A.狀態(tài)圖B.數(shù)據(jù)流圖C.對象圖D.結(jié)構(gòu)圖115.在只有單重繼承的類層次結(jié)構(gòu)中,類層次的結(jié)構(gòu)是(A)A.樹型結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.星型結(jié)構(gòu)D.環(huán)型結(jié)構(gòu)116.在具有多重繼承的類層次結(jié)構(gòu)中,類層次的結(jié)構(gòu)是(B)A.樹型結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.星型結(jié)構(gòu)D.環(huán)型結(jié)構(gòu)117.表達對象的互相行為的模型是(B)A.對象模型B.動態(tài)模型C.功能模型D.分析模型118.描述類中某個對象的行為,反映了狀態(tài)與事件關(guān)系的是(B)A.對象圖B.狀態(tài)圖C.流程圖D.結(jié)構(gòu)圖119.有時間間隔的操作是(B)A.動作B.活動C.加工D.解決120.與事件聯(lián)系在一起的瞬時操作是(B)A.解決B.動作C.活動D.加工121.常用動詞或動詞詞組來表達(C)A.對象B.類C.關(guān)聯(lián)D.屬性122.在擬定類時,候選的類涉及所有的(A)A.名詞B.形容詞C.動詞D.代詞123.在擬定屬性時,候選的屬性涉及所有的(C)A.動詞B.名詞C.修飾性名詞詞組D.詞組124.面向?qū)ο蠓椒ㄖ袑崿F(xiàn)信息隱蔽是通過對象的(C)A.分類性B.繼承性C.封裝性D.共享性125.作為軟件開發(fā)工作的第一步和軟件項目管理過程中一個關(guān)鍵的活動是(D)A.編寫設(shè)計說明B.制定測試計劃C.編寫需求說明D.制定項目計劃126.下列模型中,不屬于質(zhì)量度量模型的是(C)A.Boehm模型B.McCall模型C.噴泉模型D.ISO軟件質(zhì)量評價模型127.ISO軟件質(zhì)量評價模型分為(C)A.1層B.2層C.3層D.4層128.為了定量評價軟件質(zhì)量,必須對軟件特性進行(A)A.評審B.測試C.分析D.維護129.制定軟件開發(fā)進度的重要方法不涉及(B)A.工程網(wǎng)絡(luò)圖B.軟件結(jié)構(gòu)圖C.Cantt圖D.任務(wù)資源表130.一個項目是否開發(fā),從經(jīng)濟上來說是否可行,歸根結(jié)底取決于(A)A.成本的估算B.項目計算C.工程管理D.工程管理131.成本估算方法不涉及(B)A.差別估算方法B.Jackson方法C.自頂向下估算方法D.自底向上估算方法132.自頂向下估算方法的重要特點是重視(B)A.成本估算B.系統(tǒng)級工作C.低檔別工作D.工程管理133.自頂向下估算方法的缺陷是往往不清楚(C)A.成本估算上的技術(shù)性困難B.系統(tǒng)級上的技術(shù)性困難C.低檔別上的技術(shù)性困難D.工程管理上的技術(shù)性困難134.自底向上估算的優(yōu)點是對各部分的估算交給負責(zé)該部分的人做,估算(D)A.往往偏低B.不太準確C.往往偏高D.相對較準確135.自底向上估算的缺陷是往往缺少系統(tǒng)級工作量估算,所以估算(A)A.往往偏低B.不太準確C.往往偏高D.較為準確136.版本管理是對系統(tǒng)不同的版本進行(A)A.標記與跟蹤B.項目計劃C.工程管理D.工程網(wǎng)絡(luò)圖137.基線可作為檢查點,采用的基線發(fā)生錯誤時,可返回到最近的最恰當(C)A.配置項B.程序C.基線D.過程138.屬于軟件產(chǎn)品的重要組成部分,在軟件開發(fā)過程起重要的作用的是(C)A.需求規(guī)格說明B.概要設(shè)計說明C.軟件文檔D.測試大綱139.開發(fā)過程中作為開發(fā)人員前階段成果體現(xiàn)和后階段工作依據(jù)的是(C)A.開發(fā)文檔B.管理文檔C.用戶文檔D.維護文檔140.開發(fā)過程中由開發(fā)人員制定、提交管理人員的工作計劃或報告屬于(A)A.開發(fā)文檔B.管理文檔C.用戶文檔D.維護文檔141.開發(fā)人員為用戶準備的有關(guān)該軟件使用、操作、維護的資料屬于(C)A.開發(fā)文檔B.管理文檔C.用戶文檔D.維護文檔142.軟件開發(fā)環(huán)境是支持軟件產(chǎn)品開發(fā)的(A)A.工具B.工具箱C.工作臺D.軟件系統(tǒng)143.軟件開發(fā)環(huán)境由軟件開發(fā)工具和環(huán)境集成機制構(gòu)成,前者用于支持(D)A.需求分析的相關(guān)過程、活動和任務(wù)B.軟件設(shè)計的相關(guān)過程、活動和任務(wù)C.軟件編碼的相關(guān)過程、活動和任務(wù)D.軟件開發(fā)的相關(guān)過程、活動和任務(wù)144.初期的軟件工具只完畢一個特定任務(wù),后來出現(xiàn)了工作臺,它是一組(B)A.工具B.工具的集合C.軟件D.軟件的集合145.分析和設(shè)計工作臺支持軟件過程的分析和設(shè)計階段,有時稱為(A)A.上游CASE工具B.中游CASE工具C.下游CASE工具D.全程CASE工具146.以語言為中心的程序設(shè)計環(huán)境支持軟件生存期(D)A.前期活動B.初期活動C.中期活動D.后期活動147.以語言為中心的程序設(shè)計環(huán)境特別強調(diào)(B)A.對可行性研究活動的支持B.對編程、調(diào)試和測試活動的支持C.對需求分析活動的支持D.對設(shè)計活動的支持148.軟件開發(fā)環(huán)境中最重要的組成部分是(C)A.軟件工程B.項目管理工具C.軟件工具D.需求分析工具149.軟件工具是一個(C)A.軟件工程B.項目管理工具C.程序系統(tǒng)D.需求分析工具150.CASE(Computer-AidedSoftwareEngineering)的含義是計算機輔助(D)A.設(shè)計B.教育C.分析D.軟件工程151.CASE是一組(D)A.工具的集合B.方法的集合C.程序的集合D.工具和方法的集合152.CASE涉及的技術(shù)有兩類:一類支持軟件開發(fā)過程自身,另一類支持(D)A.開發(fā)技術(shù)B.開發(fā)方法C.開發(fā)方法管理D.開發(fā)過程管理153.平臺集成是指工具運營在相同的(D)A.硬件平臺上B.軟件平臺上C.硬件/軟件平臺上D.硬件/操作系統(tǒng)平臺上154.表達集成是指工具提供相同的(B)A.語言B.用戶界面C.命令D.操作系統(tǒng)155.控制集成指工具激活后能控制其他(A)A.工具的操作B.系統(tǒng)的操作C.軟件的操作D.應(yīng)用操作156.數(shù)據(jù)集成指不同軟件工程能互相(B)A.合作B.互換數(shù)據(jù)C.交流D.通訊157.CASE工作臺支持設(shè)計、實現(xiàn)或測試等特定的軟件開發(fā)階段,是一組(A)A.工具集B.平臺集C.軟件包D.程序包158.由支持程序設(shè)計的一組工具組成的工作臺是(A)A.程序設(shè)計工作臺B.分析和設(shè)計工作臺C.測試工作臺D.文檔工作臺159.支持工作臺中一個工具對系統(tǒng)其他工具的訪問的CASE集成屬于(A)A.控制集成B.平臺集成C.數(shù)據(jù)集成D.表達集成160.三種不同級別的表達集成不涉及(A)A.數(shù)據(jù)集成B.窗口集成C.命令集成D.交互集成二、填空題(本大題共10空,每空2分,共20分)1.文檔是有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料。2.劃分軟件生存周期階段時,應(yīng)遵循一條基本原則:各階段的任務(wù)盡也許相對獨立,同一階段各項任務(wù)的性質(zhì)盡也許相同。3.軟件工程包含軟件軟件開發(fā)技術(shù)和軟件工程管理兩大部分內(nèi)容。4.瀑布模型是將生存周期各活動規(guī)定為依線性順序聯(lián)接的若干階段的模型。5.噴泉模型是一種以用戶需求為動力,以對象為驅(qū)動的模型。6.面向?qū)ο箝_發(fā)方法一般用噴泉模型,也可選用瀑布模型、增量模型。7.結(jié)構(gòu)化方法可選用瀑布模型、增量模型、螺旋模型。8.可行性研究的重要內(nèi)容有技術(shù)可行性、經(jīng)濟可行性和社會可行性研究。9.效益分析有有形效益和無形效益兩種。10.需求分析的基本任務(wù)是準擬定義新系統(tǒng)的目的,回答系統(tǒng)必須“做什么”。11.結(jié)構(gòu)化設(shè)計是面向數(shù)據(jù)流的,Jackson方法是面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法。12.結(jié)構(gòu)化方法由結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化程序設(shè)計構(gòu)成。13.SA方法運用圖形等半形式化的描述方式表達需求,簡明易懂,用它們形成需求說明書中的重要部分。14.一個DFD中,既有變換流,又有事務(wù)流時,這就是一個綜合的數(shù)據(jù)流圖。15.DD中有四類條目:數(shù)據(jù)流條目、數(shù)據(jù)項條目、數(shù)據(jù)存儲條目、加工條目。16.需求分析階段要擬定對問題的綜合需求,其中最重要的是功能需求,該階段產(chǎn)生的最重要的文檔之一是需求規(guī)格說明書。18.解決一個復(fù)雜問題,往往采用的策略是分解。19.SA方法中重要描述工具是DFD(數(shù)據(jù)流圖)與DD(數(shù)據(jù)字典)。20.數(shù)據(jù)流圖中的箭頭表達數(shù)據(jù)流,橢圓表達加工(解決),雙杠表達數(shù)據(jù)存儲,矩型框表達外部實體(數(shù)據(jù)源點或終點)。21.DFD中,每個加工至少有1個輸入流和1個輸出流。22.當DFD中某加工的一組動作存在多個復(fù)雜組合判斷時,宜用鑒定表或鑒定樹。23.軟件設(shè)計的基本原理有模塊化、抽象、信息隱蔽、模塊獨立性。24.模塊具有的基本屬性有:接口、功能、邏輯和狀態(tài)。25.通過信息隱蔽,可定義和實行對模塊的過程細節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。26.模塊之間的聯(lián)系越緊密,其耦合性就越強,模塊的獨立性就越差。27.模塊內(nèi)各元素的聯(lián)系越緊密,其內(nèi)聚性就越高,模塊的獨立性就越好。28.劃分模塊時,應(yīng)盡量做到低耦合、高內(nèi)聚。29.耦合性最低的是無直接耦合。內(nèi)聚性最高的是功能內(nèi)聚。30.概要設(shè)計階段產(chǎn)生的重要的文檔之一是概要設(shè)計說明書。31.軟件結(jié)構(gòu)是以模塊為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。32.反映軟件結(jié)構(gòu)的基本形態(tài)特性是深度、寬度、扇入、扇出。33.一個模塊把數(shù)值作為參數(shù)送給另一個模塊,這種耦合方式屬于數(shù)據(jù)耦合。34.兩個模塊內(nèi)部都使用同一張表,這種耦合屬于公共耦合。35.一個模塊內(nèi)部各程序段都在同一張表上操作,該模塊的內(nèi)聚性屬于通信內(nèi)聚。36.結(jié)構(gòu)化設(shè)計對數(shù)據(jù)有兩種分析方法,它們是變換分析設(shè)計和事務(wù)分析設(shè)計。37.概要設(shè)計階段應(yīng)為每個模塊寫一份解決說明和接口說明。38.SP的設(shè)計要點是使用三種基本控制結(jié)構(gòu),自頂向下逐步求精構(gòu)造算法。39.PAD圖清楚地反映了程序的層次結(jié)構(gòu),圖中的豎線為程序的層次線。40.程序的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、反復(fù)結(jié)構(gòu)。41.具體描述解決過程常用三種工具是過程設(shè)計語言、鑒定表、鑒定樹。42.描述加工邏輯一般用以下三種工具:結(jié)構(gòu)化語言(偽碼)、鑒定表、鑒定樹。43.PAD圖是一種算法描述工具,它是一種由左往右展開的二維樹型結(jié)構(gòu)。44.數(shù)據(jù)庫的概念設(shè)計、邏輯設(shè)計、物理設(shè)計分別相應(yīng)于系統(tǒng)開發(fā)中的需求分析、概要設(shè)計、具體設(shè)計。45.程序設(shè)計語言的特性重要有心理特性、工程特性和技術(shù)特性。46.通??紤]選用語言的因素有:項目的應(yīng)用領(lǐng)域、軟件開發(fā)的方法、軟件執(zhí)行的環(huán)境、算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性、軟件開發(fā)人員的知識,其中選擇語言的關(guān)鍵因素是項目的應(yīng)用領(lǐng)域。47.項目的應(yīng)用領(lǐng)域一般有科學(xué)工程計算、數(shù)據(jù)解決與數(shù)據(jù)庫應(yīng)用、實時解決、系統(tǒng)軟件和人工智能幾種類型。48.與編碼風(fēng)格有關(guān)的因素有:源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入和輸出、程序效率。49.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。50.軟件測試方法一般分兩大類:靜態(tài)測試法和動態(tài)測試法,動態(tài)測試涉及黑盒法和白盒法。51.被測試程序不在機器上運營而采用人工分析檢測或計算機輔助分析檢測稱為靜態(tài)測試,使被測試程序在機器上運營的測試方法稱為動態(tài)測試。52.動態(tài)測試涉及白盒法和黑盒法,檢查程序是否滿足功能規(guī)定應(yīng)采用黑盒法。53.動態(tài)測試中,重要測試軟件功能的方法稱為黑盒法,測試軟件內(nèi)部結(jié)構(gòu)及解決過程的方法稱為白盒法。54.要覆蓋具有循環(huán)結(jié)構(gòu)的所有途徑是不也許的,一般通過限制循環(huán)次數(shù)來測試。55.白盒技術(shù)中的邏輯覆蓋涉及語句覆蓋、鑒定覆蓋、條件覆蓋、鑒定/條件覆蓋、條件組合覆蓋和途徑覆蓋。其中查錯能力最弱的是語句覆蓋。56.黑盒技術(shù)設(shè)計方法重要有等價類劃分、邊界值分析、錯誤推測、因果圖等。57.用等價類劃分法設(shè)計一個測試用例時,應(yīng)使其覆蓋盡也許多的尚未被覆蓋的合理等價類或1個不合理等價類。58.假如規(guī)格說明書中具有輸入條件的組合情況,則使用因果圖。59.集成測試方法有漸增式和非漸增式,漸增式測試組合模塊的方法有自頂向下結(jié)合和自底向上結(jié)合,自頂向下結(jié)合可采用深度優(yōu)先或?qū)挾葍?yōu)先策略。60.單元測試時,需要設(shè)計驅(qū)動模塊和樁模塊。61.單元測試大量使用白盒技術(shù);集成測試最常用的是黑盒技術(shù),為保證覆蓋重要控制途徑,也也許使用一定數(shù)量的白盒技術(shù);確認測試僅使用黑盒技術(shù)。62.軟件維護分為校正性維護、適應(yīng)性維護、完善性維護、防止性維護。其中維護活動數(shù)量較大(約占整個維護活動的50%)的是完善性維護。63.度量一個可維護性軟件的7種特性時采用的方法有質(zhì)量檢查表、質(zhì)量測試、質(zhì)量標準。其中質(zhì)量測試和質(zhì)量標準用于定量分析和評價程序的質(zhì)量。64.維護階段是軟件生存周期中時間最長的階段,花費精力和費用最多的階段。65.軟件交付使用后,由于軟件開發(fā)過程中產(chǎn)生的錯誤沒有完全徹底在測試階段發(fā)現(xiàn),必然有一部分隱含錯誤帶到維護階段。66.未按軟件工程方法開發(fā)的軟件,只有程序而無文檔,其維護很困難,屬于非結(jié)構(gòu)化維護。67.維護費用增長的重要因素是維護的生產(chǎn)率非常低。68.所有軟件維護申請報告要按規(guī)定方式提出,該報告也稱軟件問題報告。69.快速原型開發(fā)環(huán)節(jié)是:①快速分析;②構(gòu)造原型;③運營原型;④評價原型;⑤修改。其中修改過程代替了初始的快速分析,形成原型開發(fā)循環(huán)過程。70.結(jié)構(gòu)化方法的本質(zhì)是功能分解,其穩(wěn)定性、可修改和可重用性都比較差。71.對象具有狀態(tài),對象用數(shù)據(jù)值來描述它的狀態(tài)。72.對象具有行為,用于改變對象的狀態(tài)。對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合。73.對象的抽象是類,類的具體化就是對象。74.類具有屬性,它是對象的狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性。75.類具有操作,它是對象的行為的抽象。76.類之間有兩種結(jié)構(gòu)關(guān)系,它們是一般----具體關(guān)系和整體---部分關(guān)系。77.聚集關(guān)系是“整體──部分”關(guān)系,關(guān)系中有整體類和部分類之分。78.一般化關(guān)系是“一般──具體”的關(guān)系,關(guān)系中有一般化類和具體類之分。79.一般化關(guān)系和繼承是同時存在的。80.面向?qū)ο蟪绦蛟O(shè)計語言的最重要特點是繼承性,這是其他語言沒有的。81.繼承性是子類自動共享父類屬性和操作的機制。82.類的層次結(jié)構(gòu)中,上層類稱父類或超類,下層類稱子類。83.關(guān)聯(lián)表達類之間的聯(lián)系。兩個類之間的關(guān)聯(lián)稱二元關(guān)聯(lián),其在對象圖上的表達是在兩個類之間畫一條直線;三個類之間的關(guān)聯(lián)稱三元關(guān)聯(lián),其在對象圖上的表達是在三個類之間的連線上畫一個菱形。84.面向?qū)ο蠓治瞿P椭?對象模型描述系統(tǒng)的靜態(tài)結(jié)構(gòu),使用對象圖工具;動態(tài)模型描述系統(tǒng)的控制結(jié)構(gòu),使用狀態(tài)圖工具;功能模型描述系統(tǒng)的所有計算,表白如何從輸入值得到輸出值,使用數(shù)據(jù)流圖工具。85.軟件工程規(guī)范可分為三級:國際標準和國家標準、行業(yè)標準、公司標準和開發(fā)小組標準。86.軟件開發(fā)人員一般分為:項目負責(zé)人、系統(tǒng)分析員、高級程序員、程序員、資料員和其他輔助人員。87.主程序員組織機構(gòu)的制度突出了主程序員的管理,責(zé)任集中在少數(shù)人身上,有助于提高軟件質(zhì)量。88.軟件項目管理過程中一個關(guān)鍵活動是制定項目開發(fā)計劃,這是軟件開發(fā)工作的第一步。89.成本估算是在軟件項目開發(fā)前,估算項目開發(fā)所需的經(jīng)費、資源及開發(fā)進度。90.差別估算的優(yōu)點是可以提高估算的準確度,缺陷是不易明確“差別”的界線。91.冗余技術(shù)中的結(jié)構(gòu)冗余涉及:靜態(tài)冗余、動態(tài)冗余和混合冗余。92.奇偶碼、循環(huán)碼等冗余碼制式屬于信息冗余;采用指令復(fù)執(zhí)或程序復(fù)算來消除瞬時錯誤帶來的影響屬于時間冗余93.CASE集成重要有平臺集成、數(shù)據(jù)集成、表達集成、控制集成、過程集成。94.軟件開發(fā)環(huán)境是與軟件生存期、軟件開發(fā)方法和軟件解決模型緊密相關(guān)的。95.軟件工具通常由工具、工具接口和工具用戶接口三部分構(gòu)成。96.軟件開發(fā)環(huán)境是相關(guān)的一組軟件工具的集合,它支持一定的軟件開發(fā)方法或按照一定的軟件開發(fā)模型組織而成。97.產(chǎn)品管理涉及版本管理和配置管理。開發(fā)過程管理涉及項目計劃與控制和任務(wù)管理等。98.軟件開發(fā)環(huán)境的重要目的是提高軟件開發(fā)的生產(chǎn)力、提高軟件質(zhì)量和減少軟件成本。99.計算機輔助軟件工程這一術(shù)語的英文為:CASE。100.CASE是數(shù)年來在軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和軟件工程等方面研究和發(fā)展的產(chǎn)物。三、名詞解釋(本大題共4小題,每小題5分,共20分)1.軟件:軟件是計算機程序及其說明程序的各種文檔的集合。程序是計算任務(wù)的解決對象和解決規(guī)則的描述;文檔是有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料。軟件與硬件一起構(gòu)成完整的計算機系統(tǒng)。2.軟件生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。3.增量模型:一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)出來的,開發(fā)出一部分,向用戶展示一部分,可讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題。或者先開發(fā)一個“原型”軟件,完畢部分重要功能,展示給用戶并征求意見,然后逐步完善。該模型適合于軟件需求不明確、設(shè)計方案有一定風(fēng)險的軟件項目。4.需求分析:開發(fā)人員準確理解用戶規(guī)定,進行調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說明)的過程。5.SA:結(jié)構(gòu)化分析,是以“自頂向下逐層分解”(把一個復(fù)雜問題提成若干小問題,然后再分別解決)為基本思想的面向數(shù)據(jù)流的需求分析方法。6.DFD:數(shù)據(jù)流圖。以圖形方式描繪數(shù)據(jù)在系統(tǒng)中流動和解決過程,用于表達系統(tǒng)邏輯模型(功能模型)的一種工具。7.HIPO圖:表達軟件系統(tǒng)結(jié)構(gòu)的工具。它既可描述軟件總的模塊層次結(jié)構(gòu)──H圖(層次圖),又可描述每個模塊輸入/輸出數(shù)據(jù)、解決功能及模塊調(diào)用的具體情況──IPO圖。8.軟件結(jié)構(gòu)圖:描述軟件的模塊層次結(jié)構(gòu)(即程序的控制層次體系)的圖形工具。9.事務(wù)型數(shù)據(jù)流圖:加工將它的輸人流提成許多發(fā)散的數(shù)據(jù)流,形成許多加工途徑并據(jù)輸入值選擇其中一個途徑執(zhí)行。這種特性的DFD稱為事務(wù)型數(shù)據(jù)流圖。10.模塊化:自頂向下逐層把軟件系統(tǒng)劃提成若干模塊的過程。11.抽象:只考慮事物共有的本質(zhì)特性而暫不考慮其細節(jié)的思維方式。12.信息隱蔽:使模塊內(nèi)的信息(過程或數(shù)據(jù))不被不需要這些信息的其他模塊訪問。13.模塊獨立性:每個模塊只完畢規(guī)定的獨立的子功能,且與其他模塊聯(lián)系最少且接口簡樸。14.耦合性:軟件系統(tǒng)結(jié)構(gòu)中各模塊間互相聯(lián)系的緊密限度。15.內(nèi)聚性:模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密限度。16.模塊的控制范圍:受該模塊內(nèi)一個鑒定影響的所有模塊的集合。17.模塊的作用范圍:模塊自身及其所有下屬模塊(直接或間接下屬模塊)的集合。18.程序設(shè)計風(fēng)格:指一個人編制程序時所表現(xiàn)出來的特點、習(xí)慣、邏輯思緒等。19.序言性注釋:位于模塊起始部分,用以說明模塊的用途、功能、接口,描述數(shù)據(jù)、開發(fā)歷史等。20.功能性注釋:嵌在源程序內(nèi)部,用以描述語句或程序段是做什么或執(zhí)行后的結(jié)果。21.軟件測試:為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。22.單元測試:對源程序中每一個程序單元進行測試,檢查各個模塊是否正的確現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。(測試①模塊接口、②局部數(shù)據(jù)結(jié)構(gòu)、③重要的執(zhí)行途徑、④錯誤解決、⑤邊界條件)。22.集成測試:在單元測試基礎(chǔ)上,將所有模塊按設(shè)計規(guī)定組裝成一個完整的系統(tǒng)進行的測試,也稱組裝測試或聯(lián)合測試。用于發(fā)現(xiàn)模塊組裝中也許出現(xiàn)的問題。23.確認測試(有效性測試):按照需求規(guī)格說明書的規(guī)定檢測軟件,驗證軟件的功能和性能及其他特性是否與用戶的規(guī)定一致。24.系統(tǒng)測試:將通過了確認測試的應(yīng)用軟件作為整個計算機系統(tǒng)中的一個元素,和其他系統(tǒng)元素(如硬件,人員,數(shù)據(jù)庫等)結(jié)合進行測試,以驗證所有系統(tǒng)元素都能否正常配合,從而完畢整個系統(tǒng)的功能,達成預(yù)期性能。25.回歸測試:在軟件修改或調(diào)試或增殖了新模塊后,使用先前的測試用例對軟件反復(fù)曾進行過的測試,以驗證軟件的修改/調(diào)試/增殖后有無引出新的錯誤,是否仍然滿足需求規(guī)格說明。26.漸增式測試:一方面對一個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產(chǎn)生的問題。27.非漸增式測試(整體拼裝):一方面對每個模塊分別進行模塊測試,然后把所有模塊組裝在一起,再進行測試。28.黑盒法:把被測試對象當作一個黑盒子,不考慮程序內(nèi)部結(jié)構(gòu)和解決過程,只在軟件的接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能規(guī)定。因此,黑盒測試又稱為功能測試或數(shù)據(jù)驅(qū)動測試。29.白盒法:把測試對象看作一個打開的盒子,測試人員必須了解程序的內(nèi)部結(jié)構(gòu)和解決過程,對程序中盡也許多的邏輯途徑進行測試,檢查內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯,實際的運營狀態(tài)與預(yù)期的狀態(tài)是否一致。30.合理等價類:對的的輸入數(shù)據(jù)。31.不合理等價類:錯誤的輸入數(shù)據(jù)。32.驅(qū)動模塊:軟件測試時,用于代替所測模塊的上層模塊的一種輔助模塊,它接受測試數(shù)據(jù),把這些數(shù)據(jù)傳送給所測模塊,最后輸出測試結(jié)果。33.樁模塊(存根模塊):軟件測試時,用于代替所測模塊調(diào)用的下層子模塊的一種輔助模塊。它接受所測模塊傳送給它的數(shù)據(jù)并向所測模塊返回必要的返回數(shù)據(jù)。34.調(diào)試:根據(jù)測試結(jié)果,擬定錯誤的因素和位置并改正錯誤的過程,也稱為糾錯。35.校正性維護:為辨認和糾正錯誤,填補軟件性能缺陷而修改軟件的過程。21%36.適應(yīng)性維護:為使軟件適應(yīng)其運營環(huán)境變化而修改軟件的過程。25%37.完善性維護:為使軟件增長功能、增強性能、提高效率而修改軟件的過程。50%38.防止性維護:為提高軟件的可維護性和可靠性而修改軟件的過程。4%39.軟件可維護性:軟件可以被理解、校正、適應(yīng)及增強功能的容易限度。40.維護副作用:因修改軟件而導(dǎo)致的錯誤或其他不希望出現(xiàn)的情況。41.對象:封裝了數(shù)據(jù)結(jié)構(gòu)及可施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝體,這個封裝體有可唯一地標記它的名字,并且向外界提供一組服務(wù)。42.類:具有相同屬性和相同操作的一組相似對象的抽象43.狀態(tài):對象的靜態(tài)性質(zhì)和特性,用數(shù)據(jù)值(屬性值)描述。44.屬性:類的靜態(tài)性質(zhì)和特性(狀態(tài)的抽象),用數(shù)據(jù)結(jié)構(gòu)描述。不同對象的同一屬性可有相同或不同的屬性值。45.行為:對象的動態(tài)性質(zhì),用操作描述。46.操作:類的動態(tài)性質(zhì)(類中對象所使用的一種功能或變換),用操作名和方法描述。類中各對象可共享操作,每個操作都有一個目的對象作為其隱含參數(shù)。47.方法:類控制操作的實現(xiàn)環(huán)節(jié)。48.消息:對象之間進行通信的構(gòu)造,是對象要執(zhí)行的操作的一個說明。49.消息傳遞:一個對象發(fā)送消息給另一個對象,接受消息的對象通過解釋后給予響應(yīng),這種通信機制稱為消息傳遞。50.鏈:對象之間的物理或邏輯聯(lián)系,即關(guān)聯(lián)的實例。51.關(guān)聯(lián):類之間的聯(lián)系,即鏈的抽象52.角色:類在關(guān)聯(lián)中的作用,位于關(guān)聯(lián)的端點。53.關(guān)系:類之間的靜態(tài)結(jié)構(gòu)關(guān)系。①聚集關(guān)系(組裝關(guān)系,整體─部分關(guān)系):聚集有傳遞性和逆對稱性,把部分類聚集起來可得一棵聚集樹(多級聚集);②一般化關(guān)系(分類關(guān)系,歸納關(guān)系,一般─具體關(guān)系):一般化關(guān)系和繼承同時存在。54.繼承:子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法(屬性和操作)的機制。55.單重繼承:子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法。56.多重繼承:子類繼承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法。57.多態(tài)性:相同的操作可作用于多種類型的對象上并獲得不同結(jié)果。即不同的對象,收到同一消息可以產(chǎn)生不同的姑果,這種現(xiàn)象稱為多態(tài)性。如MOVE操作,可以是窗口對象的移動操作,也可以是國際象棋棋子移動的操作。58.封裝性:指所有軟件部件內(nèi)部都有明確的范圍以及清楚的外部邊界,軟件部件的內(nèi)部實現(xiàn)與外部可訪問性分離。59.事件:指定期刻發(fā)生的某件事情。是某事情發(fā)生的信號,沒有連續(xù)時間。60.重用性:同一事物不經(jīng)修改或稍加修改就可多次反復(fù)使用的性質(zhì)。61.對象模型(數(shù)據(jù)模型):描述系統(tǒng)的靜態(tài)結(jié)構(gòu)(靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì)),從客觀實體的對象關(guān)系角度表現(xiàn)對象的互相關(guān)系。重要關(guān)心系統(tǒng)中對象的結(jié)構(gòu)、屬性和操作,使用對象圖作描述工具,是分析階段三個模型的核心,其他兩個模型的框架。62.動態(tài)模型(操作模型,業(yè)務(wù)模型):描述系統(tǒng)的控制結(jié)構(gòu)(與時間和變化有關(guān)的系統(tǒng)性質(zhì)),關(guān)心系統(tǒng)的控制,操作的執(zhí)行順序,從對象的事件和狀態(tài)角度表現(xiàn)對象的互相行為。使用狀態(tài)圖作描述工具。63.功能模型:描述系統(tǒng)的所有計算,表白一個計算如何從輸入值得到輸出值,不考慮計算順序。使用數(shù)據(jù)流圖作描述工具。功能模型也涉及對象模型中值的結(jié)束條件,說明對象模型中操作的含義、動態(tài)模型中動作的意義及對象模型中約束的意義。64.時間冗余:以反復(fù)執(zhí)行指令(指令復(fù)執(zhí))或程序(程序復(fù)算)來消除瞬時錯誤的影響。復(fù)執(zhí)不成功時,通常發(fā)出中斷,轉(zhuǎn)入錯誤解決程序,或?qū)Τ绦蜻M行復(fù)算,或重新組合系統(tǒng),或放棄解決。65.人力資源:工作規(guī)定的人員的數(shù)量、級別及其工作時段。66.硬件資源:工作所需的硬件支持和測試設(shè)備。67.軟件資源:工作所需的支持軟件和應(yīng)用軟件。68.專家估算:依靠專家對項目做出估算。69.類推估算:自頂向下法中,它是將估算項目的總體參數(shù)與類似項目直接比較得到結(jié)果。自底向上方法中,類推是在兩個具有相似條件的工作單元之間進行。70.工程網(wǎng)絡(luò)圖:常用來描述項目進度的一種圖形工具,是有向圖,用圓表達事件(標志一項子任務(wù)的開始與結(jié)束),箭頭表達子任務(wù)的進行;箭頭上的數(shù)字表達此子任務(wù)的連續(xù)時間;箭頭下面括號中的數(shù)字表達任務(wù)的機動時間;圓左邊部分的數(shù)字表達事件號,右上部的數(shù)字表達前一子任務(wù)結(jié)束或后一子任務(wù)開始的最早時刻,右下部的數(shù)字表達前一子任務(wù)結(jié)束或后一子任務(wù)開始的最遲時刻。71.軟件配置管理:一組管理整個軟件生存期各階段中變更的活動。其重要目的是:標記變更;控制變更;保證變更對的地實現(xiàn);報告有關(guān)變更。72.基線:軟件生存期中各開發(fā)階段的一些特定點,作用是把開發(fā)各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點上斷開,以便于檢查與肯定階段成果。73.軟件開發(fā)環(huán)境:①軟件開發(fā)環(huán)境是一組相關(guān)工具的集合;②這些相關(guān)工具是按一定的開發(fā)方法或一定開發(fā)解決模型組織起來的;③這些相關(guān)工具支持整個軟件生存期的各階段或部分階段。74.軟件工具:為支持計算機軟件的開發(fā)、維護、模擬、移植或管理而研制的程序系統(tǒng)。75.程序設(shè)計環(huán)境:解決如何將規(guī)范說明轉(zhuǎn)換成可工作的程序問題,涉及方法與工具。76.系統(tǒng)合成環(huán)境:重要考慮把很多子系統(tǒng)集成為一個大系統(tǒng)的問題。用于輔助控制子系統(tǒng)及其向大系統(tǒng)的集成。77.項目管理環(huán)境:是解決由于軟件產(chǎn)品的規(guī)模大、生存期長、人們的交往多而導(dǎo)致的問題。78.CASE:用于輔助軟件開發(fā)各階段進行軟件開發(fā)的一組工具和方法的集合。79.平臺集成:工具運營在相同的硬件/操作系統(tǒng)平臺上。80.數(shù)據(jù)集成:工具使用共享數(shù)據(jù)模型來操作。81.表達集成:工具提供相同的用戶界面。82.控制集成:工具激活后能控制其他工具的操作。83.過程集成:工具在一個過程模型和“過程機”的指導(dǎo)下使用。84.CASE工作臺:CASE工作臺是一組工具集,支持像設(shè)計、實現(xiàn)或測試等特定的軟件開發(fā)階段。85.CASE生存期:CASE系統(tǒng)循從初始需求到完全廢棄這一生存期。CASE生存期6階段:CASE需求;CASE剪裁;CASE引入;CASE操作;CASE演化;CASE廢棄。四、簡答題(本大題共4小題,每小題5分,共20分)1.軟件產(chǎn)品的特點有哪些?答:①邏輯產(chǎn)品;②使用無磨損;③生產(chǎn)重要是研制;④生產(chǎn)重要靠腦力勞動;⑤生產(chǎn)成本高。2.軟件危機的重要表現(xiàn)有哪些?答:⑴經(jīng)費預(yù)算一再突破。軟件開發(fā)的經(jīng)驗和數(shù)據(jù)積累的缺少使開發(fā)計劃很難制定。主觀盲目制定計劃,執(zhí)行起來與實際情況有很大差距,使開發(fā)經(jīng)費一再突破。⑵完畢時間一再遲延。工作量與開發(fā)難度估計的局限性使進度計劃無法準時完畢。⑶開發(fā)的軟件不能滿足用戶規(guī)定。開發(fā)初期對用戶規(guī)定了解不夠明確,開發(fā)工作開始后,軟件人員和用戶又未及時互換意見,一些問題不能及時解決,導(dǎo)致開發(fā)的軟件不能滿足用戶規(guī)定。⑷開發(fā)的軟件可維護性差。開發(fā)過程沒有統(tǒng)一、公認的規(guī)范,開發(fā)人員按各自風(fēng)格工作,各行其是。開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進行雜亂無章的修改。程序結(jié)構(gòu)不好,運營時發(fā)現(xiàn)錯誤也很難修改,導(dǎo)致維護性差。⑸開發(fā)的軟件可靠性差。開發(fā)過程中沒有保證軟件質(zhì)量的體系和措施,軟件測試時又沒有嚴格、充足、完全的測試,提交的軟件質(zhì)量差,在運營中暴露出大量問題。不可靠的軟件,輕者影響系統(tǒng)正常工作,重者發(fā)生事故,導(dǎo)致生命財產(chǎn)損失。3.軟件危機重要因素有哪些?答:2方面:軟件因素,人員因素;①軟件規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜;②開發(fā)技術(shù)落后;③生產(chǎn)方式落后;④開發(fā)工具落后,生產(chǎn)率低;⑤開發(fā)管理復(fù)雜且困難;⑥開發(fā)費用不斷增長。4.消除軟件危機的重要途徑有哪些?答:①技術(shù)措施:研究和使用更好的開發(fā)方法和工具;②管理措施:良好組織,嚴密管理,加強協(xié)作。5.軟件工程過程包含的七個過程是什么?答:軟件工程過程規(guī)定了獲取、供應(yīng)、開發(fā)、操作和維護軟件時要實行的過程、活動和任務(wù)。⑴獲取過程:定義需方按協(xié)議獲取一個系統(tǒng)、軟件產(chǎn)品或服務(wù)的活動。⑵供應(yīng)過程:定義供方向需方提供協(xié)議中的系統(tǒng)、軟件產(chǎn)品或服務(wù)所需的活動。⑶開發(fā)過程:定義開發(fā)者和機構(gòu)為定義和開發(fā)軟件或提供服務(wù)所需的活動(涉及需求分析、設(shè)計、編碼、集成、測試、軟件安裝和驗收等)。⑷操作過程:定義操作者和機構(gòu)為在規(guī)定的運營環(huán)境中為其用戶運營一個計算機系統(tǒng)所需的活動。⑸維護過程:定義維護者和機構(gòu)為修改和管理軟件,使它處在良好運營狀態(tài)所需要的活動。⑹管理過程:定義軟件工程過程中各項管理活動,涉及項目開始和范圍定義,項目管理計劃,實行和控制,評審和評價,項目完畢。⑺支持過程:對項目生存周期過程給予支持。6.什么是瀑布模型?它將軟件生存周期分為哪幾個階段?適合于哪些項目開發(fā)?答:瀑布模型是將軟件生存周期各個活動規(guī)定為依線性順序連接的若干階段的模型。它將軟件生存周期分為可行性研究與項目開發(fā)計劃、需求分析、概要設(shè)計、具體設(shè)計、編碼、測試、維護7個階段。它規(guī)定了由前至后、互相銜接的固定順序,如瀑布流水,逐級下落。為軟件開發(fā)提供了一種有效管理模式。以文檔為驅(qū)動,適合于軟件需求明確且基本固定的軟件項目開發(fā)。7.請簡要說明原型的優(yōu)點。答:⑴及早為用戶提供有用的產(chǎn)品。⑵及早發(fā)現(xiàn)問題,隨時糾正錯誤。⑶減少技術(shù)、應(yīng)用風(fēng)險,縮短開發(fā)時間,減少費用,提高生產(chǎn)率。⑷通過實際運營原型,提供直接評價系統(tǒng)的方法,促使用戶積極參與開發(fā)活動,加強信息反饋,促進協(xié)調(diào),減少誤解,適應(yīng)需求變化,提高系統(tǒng)質(zhì)量。8.項目解決方法可行性研究的三大內(nèi)容有哪些?答:⑴技術(shù)可行性分析(技術(shù)水平,人員素質(zhì),軟硬資源,約束條件);⑵經(jīng)濟可行性分析(成本估算、效益評估;成本─效益分析、公司經(jīng)營長期策略、開發(fā)所需成本和資源、潛在市場前景);⑶社會可行性分析(協(xié)議、責(zé)任、侵權(quán)、用戶組織的管理模式及規(guī)范等)9.結(jié)構(gòu)化方法的三大構(gòu)成是什么?各合用于軟件開發(fā)何階段?答:⑴結(jié)構(gòu)化分析SA:用于需求分析階段(面向數(shù)據(jù)流進行需求分析的方法。使用簡樸符號,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換關(guān)系,自頂向下逐層分解,描繪出滿足功能規(guī)定的軟件模型);⑵結(jié)構(gòu)化設(shè)計SD:用于概要設(shè)計階段(面向數(shù)據(jù)流的設(shè)計方法。以DFD為基礎(chǔ)映射成軟件結(jié)構(gòu));⑶結(jié)構(gòu)化程序設(shè)計SP:用于具體設(shè)計階段(采用自頂向下、逐步求精的程序設(shè)計方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序;單入口、單出口)。10.面向?qū)ο蠓椒ǖ娜髢?nèi)容是什么?各相稱于結(jié)構(gòu)化軟件開發(fā)方法何階段?答:⑴面向?qū)ο蠓治鯷①問題陳述與需求分析;②建模(對象模型,動態(tài)模型;功能模型)];相稱于需求分析階段。⑵面向?qū)ο蟮脑O(shè)計(OOD)[把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量規(guī)定的、抽象的系統(tǒng)實現(xiàn)方案的過程:①系統(tǒng)設(shè)計:擬定實現(xiàn)系統(tǒng)的策略和目的系統(tǒng)的高層結(jié)構(gòu);②對象設(shè)計:擬定解空間中的類、關(guān)聯(lián)、接口形式及實現(xiàn)操作的算法];相稱于概要設(shè)計和具體設(shè)計階段。⑶面向?qū)ο蟮膶崿F(xiàn)[①類和系統(tǒng)的實現(xiàn):把OOD結(jié)果翻譯成用某種程序設(shè)計語言書寫的面向?qū)ο蟪绦?②測試并調(diào)試面向?qū)ο蟪绦騗;相稱于編碼和測試階段。11.什么是需求分析?該階段的基本任務(wù)是什么?其重要任務(wù)有哪些?答:需求分析是將用戶需求陳述轉(zhuǎn)化為完整的需求定義,繼而形成規(guī)范化的需求規(guī)格說明的過程。其基本任務(wù)是準擬定義新系統(tǒng)的功能,重要任務(wù)有:⑴擬定系統(tǒng)需求(問題辨認):功能需求,性能需求,環(huán)境需求,用戶界面需求,其它需求(可靠性,安全性,保密性,可維護性等);⑵導(dǎo)出系統(tǒng)邏輯模型;⑶編修文檔:需求規(guī)格說明書,用戶手冊,確認測試計劃,項目開發(fā)計劃;⑷評審。12.DFD的作用是什么?畫DFD應(yīng)注意什么?答:DFD的作用:以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和解決,形成系統(tǒng)的邏輯模型(功能模型)。畫DFD時的注意事項:⑴命名。數(shù)據(jù)流、數(shù)據(jù)存儲和加工均應(yīng)合理命名。⑵編號。子圖及子圖上的所有加工應(yīng)編號,且與父圖中相應(yīng)加工的編號呼應(yīng)。⑶加工必須有輸入數(shù)據(jù)流和輸出數(shù)據(jù)流。⑷不畫控制流、物質(zhì)流。⑹父圖與子圖必須平衡。⑺局部數(shù)據(jù)存儲與信息隱蔽。局部數(shù)據(jù)存儲只有當它作為加工的數(shù)據(jù)接口或特定的輸入或輸出時才畫出來。⑻提高DFD的易理解性。分解時注意均勻性和子加工獨立性。13.DD的作用是什么?答:定義數(shù)據(jù)流圖中的各個成分的具體含義,和DFD共同構(gòu)成系統(tǒng)的邏輯模型,是需求規(guī)格說明書的重要組成部分。14.軟件概要設(shè)計階段的基本任務(wù)是什么?答:⑴軟件結(jié)構(gòu)設(shè)計(劃分模塊;擬定模塊的功能;擬定模塊之間的調(diào)用關(guān)系與接口;評價模塊結(jié)構(gòu)的質(zhì)量);⑵總體數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫邏輯設(shè)計;⑶編修文檔(概要設(shè)計說明書;數(shù)據(jù)庫設(shè)計說明書;用戶手冊;集成測試計劃);⑷評審15.軟件設(shè)計的基本原理有那些?答:⑴模塊化(自頂向下逐層把軟件系統(tǒng)劃提成若干模塊);⑵抽象(抽出事物本質(zhì)特性而暫不考慮其細節(jié));⑶信息隱蔽[設(shè)計模塊時使模塊內(nèi)的信息(過程或數(shù)據(jù))不能被不需要這些信息的其他模塊訪問];⑷模塊獨立性(低耦合、高內(nèi)聚:每個模塊只完畢系統(tǒng)規(guī)定的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡樸)。16.模塊的耦合性涉及哪些種類?答:⑴無直接耦合(兩模塊間無直接關(guān)系);⑵數(shù)據(jù)耦合(模塊調(diào)用時傳遞簡樸的數(shù)據(jù)值);⑶標記耦合(模塊調(diào)用時傳遞數(shù)據(jù)結(jié)構(gòu));⑷控制耦合(模塊調(diào)用時傳遞控制變量,被調(diào)模塊通過該控制變量的值選擇執(zhí)行塊內(nèi)某一功能);⑸公共耦合(模塊之間通過公共數(shù)據(jù)環(huán)境互相作用);⑹內(nèi)容耦合(一個模塊直接使用另一模塊的內(nèi)部數(shù)據(jù)或通過非正常入口轉(zhuǎn)入另一模塊內(nèi)部)。17.如何減少模塊間的耦合度?答:⑴盡量采用簡樸的接口方式、接口信息結(jié)構(gòu)和數(shù)量(減少模塊接口的復(fù)雜性):接口方式采用調(diào)用(如過程語句調(diào)用)而不直接引用(內(nèi)容耦合);接口信息通過參數(shù)值傳遞且結(jié)構(gòu)盡量簡樸(不用復(fù)雜參數(shù)結(jié)構(gòu)如指針等);參數(shù)個數(shù)不宜太多。⑵盡量使用數(shù)據(jù)耦合,避免控制耦合,慎用或有控制地使用公共耦合。18.模塊的內(nèi)聚性涉及哪些種類?答:⑴偶爾內(nèi)聚(模塊內(nèi)各解決元素之間沒有聯(lián)系);⑵邏輯內(nèi)聚(模塊內(nèi)執(zhí)行幾個邏輯相似的功能,通過參數(shù)擬定完畢哪個功能);⑶時間內(nèi)聚(把需要同時執(zhí)行的動作組合在一起形成的模塊);⑷通信內(nèi)聚(模塊內(nèi)所有解決元素都在同一數(shù)據(jù)結(jié)構(gòu)上操作或各解決使用相同輸入或產(chǎn)生相同輸出);⑸順序內(nèi)聚(模塊中各解決元素都密切相關(guān)于同一功能且順序執(zhí)行,前一功能元素的輸出就是下一功能元素的輸入);⑹功能內(nèi)聚(模塊內(nèi)所有元素共同完畢一個功能,缺一不可)。19.簡述軟件結(jié)構(gòu)設(shè)計優(yōu)化準則。答:⑴力求高內(nèi)聚,低耦合,保持模塊相對獨立性(①合并高耦合的簡樸模塊;②消去相關(guān)模塊內(nèi)的反復(fù)功能);⑵模塊的作用范圍應(yīng)在其控制范圍內(nèi),且鑒定所在模塊應(yīng)與受其影響的模塊在層次上盡量靠近(①上移判斷點;②下移受判斷影響的模塊);⑶軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當(頂層扇出數(shù)較高,中間層扇出數(shù)較低,底層扇入數(shù)較高):⑷模塊大小適中;⑸模塊接口簡樸、清楚、含義明確;⑺設(shè)計單入口單出口的模塊;⑻模塊功能應(yīng)可預(yù)測20.概要設(shè)計階段要編制或修訂的文檔有哪些?答:⑴概要設(shè)計說明書。⑵數(shù)據(jù)庫設(shè)計說明書,重要給出所使用的DBMS簡介、數(shù)據(jù)庫的概念模型、邏輯設(shè)計、結(jié)果。⑶用戶手冊,對需求分析階段編寫的用戶手冊進行補充。⑷修訂測試計劃,對測試策略、方法、環(huán)節(jié)提出明確規(guī)定。21.具體設(shè)計的基本任務(wù)是什么?答:⑴模塊的算法設(shè)計(用某種圖形、表格、語言等工具描述每個模塊解決過程的具體算法)。⑵模塊內(nèi)數(shù)據(jù)結(jié)構(gòu)設(shè)計(對需求分析、概要設(shè)計擬定的概念性的數(shù)據(jù)類型進行確切定義。⑶數(shù)據(jù)庫物理設(shè)計(擬定數(shù)據(jù)庫物理結(jié)構(gòu))。⑷其他設(shè)計(代碼設(shè)計;輸入/輸出格式設(shè)計;人機對話設(shè)計等。⑸編修文檔(具體設(shè)計說明書,數(shù)據(jù)庫設(shè)計說明書,用戶手冊,單元測試計劃等)。⑹評審。22.請簡要說明PAD圖的優(yōu)點。答:⑴清楚反映程序?qū)哟谓Y(jié)構(gòu):圖中豎線為程序?qū)哟尉€,最左豎線是程序主線,向右一層層展開,層次關(guān)系一目了然;⑵支持逐步求精:左邊層次的內(nèi)容可抽象,然后由左到右逐步細化;⑶易讀易寫易用;⑷支持結(jié)構(gòu)化程序設(shè)計;⑸可自動生成程序。23.具體設(shè)計重要使用哪些描述工具?各有什么特點?答:具體設(shè)計可使用三種描述工具:圖形、表格和語言。其中重要有程序流程圖、盒圖、問題分析圖、IPO圖、鑒定表、鑒定樹、偽碼等。⑴程序流程圖(程序框圖):歷史最悠久、使用最廣泛;直觀清楚,易于使用;但易導(dǎo)致非結(jié)構(gòu)化的程序結(jié)構(gòu);不易反映逐步求精的過程;不易表達數(shù)據(jù)結(jié)構(gòu)。⑵盒圖(N_S圖):功能域明確,支持結(jié)構(gòu)化程序設(shè)計原理,易擬定局部和全程數(shù)據(jù)作用,可表達模塊層次結(jié)構(gòu)。⑶PAD圖(問題分析圖):清楚反映程序?qū)哟谓Y(jié)構(gòu),支持逐步求精,易寫易懂易記,使用方便,支持結(jié)構(gòu)化的程序設(shè)計原理,可自動生成程序代碼,既可表達程序邏輯,也可描繪數(shù)據(jù)結(jié)構(gòu)。⑷鑒定表:能清楚、簡潔而無歧義地描述復(fù)雜條件組合與應(yīng)做動作之間的相應(yīng)關(guān)系,邏輯驗證嚴格,能把所有也許所有都考慮到;但不能表達順序和反復(fù)結(jié)構(gòu)。⑸鑒定樹:形式簡樸,直觀易讀,易掌握和使用。但簡潔性不如鑒定表。24.簡述構(gòu)造鑒定表的環(huán)節(jié)。答:⑴提取問題中的條件;⑵標出條件的取值;⑶計算所有條件的組合數(shù);⑷提取可采用的操作;⑸制作鑒定表;⑹完善鑒定表(補漏掉,刪冗余)。25.簡述用Jackson方法進行程序設(shè)計的環(huán)節(jié)。答:⑴分析并用Jackson圖描繪輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu)。⑵找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中的相應(yīng)數(shù)據(jù)單元。⑶從Jackson數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖(①為每對有相應(yīng)關(guān)系的數(shù)據(jù)單元,在程序結(jié)構(gòu)圖相應(yīng)層次畫一個解決框;②輸入數(shù)據(jù)結(jié)構(gòu)圖、輸出數(shù)據(jù)結(jié)構(gòu)圖中剩余的每個數(shù)據(jù)單元,在程序結(jié)構(gòu)圖相應(yīng)層次分別為其畫上相應(yīng)解決框)。⑷列出所有操作和條件,并把它們分到程序結(jié)構(gòu)圖的適當位置。⑸用偽碼表達程序。26.項目開發(fā)時選擇語言通??紤]那些因素?答:項目的應(yīng)用領(lǐng)域、軟件開發(fā)的方法、軟件執(zhí)行的環(huán)境、算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性、軟件開發(fā)人員的知識。27.什么是程序設(shè)計風(fēng)格?應(yīng)在哪些方面注意培養(yǎng)良好的設(shè)計風(fēng)格?答:程序設(shè)計風(fēng)格指一個人編制程序時所表現(xiàn)出來的特點、習(xí)慣、邏輯思緒等。⑴源程序文檔化:①恰當命名標記符:力求見名知意;②及時書寫、修正注釋:保持文檔一致性;③適當進行視覺組織:恰當運用空格、空行和縮進,幫助提高程序的可閱讀性、可理解性。⑵數(shù)據(jù)說明規(guī)范:①數(shù)據(jù)說明順序應(yīng)規(guī)范;③說明多個變量時,各變量名按字典序排列;③對復(fù)雜的數(shù)據(jù)結(jié)構(gòu)加注釋。⑶語句構(gòu)造簡樸、清楚、直接:①不為追求效率而使代碼復(fù)雜化;②不為追求技巧性而使程序過于緊湊;③避免復(fù)雜鑒定、多重循環(huán)嵌套和不必要的轉(zhuǎn)移;④恰當使用空格、縮進和括號,提高語句和運算順序的清楚度。⑷精心設(shè)計輸入、輸出:①輸入格式和操作環(huán)節(jié)盡量簡樸;②檢查輸入數(shù)據(jù)合法性、有效性,報告必要的輸入狀態(tài)信息及錯誤信息;③批量輸入數(shù)據(jù)時使用輸入結(jié)束標志而不用計數(shù)控制;④交互式輸入時提供可用選擇和邊界值;⑤保持輸入格式一致性;⑥輸出數(shù)據(jù)表格化、圖形化。⑸對的追求程序效率:①效率達成需求規(guī)格說明的規(guī)定即可;②在保證程序可靠性和可閱讀性基礎(chǔ)上再追求效率建立;③提高效率的主線途徑在于選擇良好的設(shè)計方法、良好的數(shù)據(jù)結(jié)構(gòu)與算法,而不是靠編程時對程序語句做調(diào)整。28.軟件測試的目的是什么?軟件調(diào)試的目的是什么?答:軟件測試的目的是選用最少的、高效的測試數(shù)據(jù)以發(fā)現(xiàn)盡也許多的錯誤:軟件調(diào)試的目的是擬定錯誤的因素和位置并改正錯誤。29.白盒法有哪些邏輯覆蓋標準?答:①語句覆蓋(每條語句至少執(zhí)行一次);②鑒定覆蓋(每個鑒定的每個分支至少執(zhí)行一次);③條件覆蓋(每個鑒定的每個條件應(yīng)取到各種也許的值);④鑒定/條件覆蓋(同時滿足鑒定覆蓋和條件覆蓋);⑤條件組合覆蓋(每個鑒定中各條件的每一種組合至少出現(xiàn)一次);⑥途徑覆蓋(程序中每一條也許的途徑至少執(zhí)行一次)。30.試比較各種邏輯覆蓋標準的查錯能力。答:語句覆蓋查錯能力最弱;鑒定覆蓋包含語句覆蓋,但也許會漏測一些條件;條件覆蓋查錯能力一般情況較鑒定覆蓋強,但有時達不到鑒定覆蓋規(guī)定;鑒定/條件覆蓋包含鑒定覆蓋和條件覆蓋,但事實上不一定達成條件覆蓋標準;條件組合覆蓋發(fā)現(xiàn)錯誤能力較強,滿足其標準的測試用例必滿足前四種覆蓋標準。前五種覆蓋標準也許會漏測某些途徑。途徑覆蓋查錯能力強,但也許達不到條件組合覆蓋規(guī)定。31.屬于黑盒法的測試用例設(shè)計方法有哪幾種?試對這些方法做比較。答:重要有等價類劃分、邊界值分析、錯誤推測、因果圖等。其比較如下:⑴等價類劃分將輸入數(shù)據(jù)域按合理的或不合理提成若干等價類,測試每個等價類的代表值就等于對該類其他值的測試。該法比隨機選擇測試用例要好得多,缺陷是沒有注意選擇某些高效的、能發(fā)現(xiàn)更多錯誤的測試用例。⑵程序往往在解決邊界情況時犯錯。邊界值分析法選擇邊界附近的值作為測試用例,檢查邊界情況,查錯效率較高,可查出更多的錯誤,能發(fā)現(xiàn)被疏忽的問題。⑶錯誤推測法根據(jù)經(jīng)驗或直覺推測程序中也許存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。該法沒有擬定的環(huán)節(jié),憑經(jīng)驗進行。⑷等價類劃分和邊界值分析方法沒有考慮多個輸入數(shù)據(jù)的組合引起的錯誤。因果圖把用自然語言描述的功能說明轉(zhuǎn)換為鑒定表,最后為鑒定表的每一列設(shè)計一個測試用例。因果圖能有效地檢測輸入條件的各種組合也許會引起的錯誤。⑸上述測試方法各有所長,每種方法都能設(shè)計一組相應(yīng)測試例子,用這組例子易發(fā)現(xiàn)某種類型錯誤,但也許不易發(fā)現(xiàn)另一種類型錯誤。因此實際測試中應(yīng)綜合使用各種測試方法,形成綜合策略,通常先用黑盒法設(shè)計基本的測試用例,再用白盒法補充一些必要的測試用例。具體做法是:①任何情況下都應(yīng)使用邊界值分析法。設(shè)計用例時,應(yīng)既涉及輸入數(shù)據(jù)的邊界情況又盡量涉及輸出數(shù)據(jù)的邊界情況。②必要時用等價類劃分方法補充一些測試用例。③再用錯誤推測法補充測試用例。④檢查上述測試用例的邏輯覆蓋限度,如未滿足所規(guī)定的覆蓋標準,再增長例子。⑤假如規(guī)格說明中具有輸入條件的組合情況,則一開始就可使用因果圖法。32.軟件測試要通過哪幾個階段?各個階段與什么文檔有關(guān)?答:⑴單元測試:具體設(shè)計說明書,源程序清單,單元測試計劃,單元測試報告⑵集成測試:概要設(shè)計說明書,具體設(shè)計說明書,集成測試計劃,集成測試報告⑶確認測試:需求規(guī)格說明,用戶手冊,操作手冊,測試計劃,測試報告,項目開發(fā)總結(jié)⑷系統(tǒng)測試:需求規(guī)格說明書,系統(tǒng)測試計劃,系統(tǒng)測試報告33.如何進行基本途徑測試?答:⑴以具體設(shè)計或源程序為基礎(chǔ),導(dǎo)出程序圖;⑵計算程序圖的環(huán)路覆雜性;⑶擬定只包含獨立途徑的基本途徑集;⑷設(shè)計測試用例,保證基本途徑集中每條途徑(獨立途徑)的執(zhí)行。34.如何運用邊界值分析方法設(shè)計測試用例?答:以測試邊界情況為重點,選取正好等于、剛剛大于或剛剛小于邊界值的數(shù)據(jù)構(gòu)建測試用例。①假如輸入條件規(guī)定了值的范圍,可選擇正好等于邊界值的數(shù)據(jù)作為合理的測試用例,同時選擇剛好越過邊界值的數(shù)據(jù)作為不合理的測試用例。②假如輸入條件指出了輸入數(shù)據(jù)的個數(shù),則按最大個數(shù)、最小個數(shù)、比最小個數(shù)少1、比最大個數(shù)多1等情況分別設(shè)計測試用例。③對每個輸出條件分別按照以上原則①或②擬定輸出值的邊界情況。④假如程序的規(guī)格說明給出的輸入或輸出域是個有序集合(如順序文獻、線性表、鏈表等),則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。35.請簡要說明歸納法調(diào)試及其具體環(huán)節(jié)。答:歸納法是一種從特殊到一般的思維過程。歸納法調(diào)試從測試結(jié)果發(fā)現(xiàn)的線索(錯誤跡象、征兆)入手,分析它們之間的聯(lián)系,導(dǎo)犯錯誤因素的假設(shè);然后再證明或否認這個假設(shè)。歸納法調(diào)試的具體環(huán)節(jié)如下:⑴收集有關(guān)數(shù)據(jù):列出程序做對了什么、做錯了什么的所有信息。⑵組織數(shù)據(jù):整理數(shù)據(jù)以便發(fā)現(xiàn)規(guī)律,使用分類法構(gòu)造一張線索表。⑶提出假設(shè):分析線索之間的關(guān)系,導(dǎo)出一個或多個錯誤因素的假設(shè)。若不能推測一個假設(shè),再選用測試用例測試,以得到更多的數(shù)據(jù)。若有多個假設(shè),先選也許性最大的一個。⑷證明假設(shè):需證明假設(shè)是否合理。不經(jīng)證明就根據(jù)假設(shè)改錯,只能糾正錯誤的一種表現(xiàn)或只糾正一部分錯誤。假如不能證明這個假設(shè)成立,則需提出下一個假設(shè)。36.軟件維護的流程是什么?答:制定維護申請報告→審查申請報告并批準→進行維護并具體記錄→復(fù)審。29.如何才干得到可維護性高的程序(提高可維護性有那些方法)?答:⑴建立明確的軟件質(zhì)量目的。⑵采用先進的軟件開發(fā)方法、技術(shù)和工具。⑶建立明確的質(zhì)量保證體系。⑷選擇可維護的程序設(shè)計語言。⑸改善程序文檔。37.軟件維護也許產(chǎn)生的哪些副作用?答:編碼副作用、數(shù)據(jù)副作用、文檔副作用。38.面向?qū)ο蠓治鲋薪⒌娜竽P褪鞘裁??有何作用?各使用什么工具描?答:⑴對象模型描述系統(tǒng)的靜態(tài)結(jié)構(gòu)(對象的結(jié)構(gòu)、屬性和操作),表現(xiàn)對象的互相關(guān)系。使用對象圖描述;⑵動態(tài)模型描述系統(tǒng)的控制結(jié)構(gòu)(觸發(fā)事件、事件序列、狀態(tài)、事件與狀態(tài)的組織),表現(xiàn)對象的互相行為。使用狀態(tài)圖描述;⑶功能模型描述系統(tǒng)的所有計算,表白如何從輸入值得到輸出值,不考慮計算順序;功能模型也涉及對象模型中值的結(jié)束條件,說明對象模型中操作及約束的意義、動態(tài)模型中動作的意義,使用DFD描述(解決相應(yīng)于狀態(tài)圖的活動和動作,數(shù)據(jù)流相應(yīng)于對象圖中的對象或?qū)傩?。39.說明構(gòu)造對象模型的各個元素及圖形表達。答:①類:用矩型框表達,框內(nèi)標注類名、屬性、操作。②關(guān)聯(lián):用類與類之間的連線表達;可以是二元關(guān)聯(lián)、多元關(guān)聯(lián)、受限關(guān)聯(lián)等;應(yīng)標注關(guān)聯(lián)的含義、重數(shù)(一對一,一對多等);可附注角色。③關(guān)系:組裝關(guān)系用菱形符號表達,分類關(guān)系用三角符號表達。(參見應(yīng)用題)40.說明構(gòu)造動態(tài)模型的各個元素及圖形表達。答:①狀態(tài):用橢圓結(jié)點表達,橢圓內(nèi)有狀態(tài)名和該狀態(tài)下進行的活動;可有初始狀態(tài)(用圓點表達,可標注起始條件)或/和終末狀態(tài)(用圓圈中加圓點表達,可標注終止條件)。②事件:用箭頭表達,上面標記事件名,箭頭方向表達轉(zhuǎn)換的方向。(參見右圖)一般需求管理者用戶知識領(lǐng)域知一般需求管理者用戶知識領(lǐng)域知識現(xiàn)實世界經(jīng)驗問題陳述對象模型動態(tài)模型功能模型系統(tǒng)設(shè)計用戶開發(fā)者建模答:構(gòu)造功能模型的元素有:①數(shù)據(jù)流:用箭頭表達,上面標記數(shù)據(jù)流名稱,箭頭方向表達數(shù)據(jù)流動的方向。②加工:用橢圓表達,橢圓內(nèi)有加工的名稱和編號。③數(shù)據(jù)存儲:用雙杠表達,可標記存儲的文獻名稱。④外部實體:用矩型框表達,框內(nèi)標注名稱。(參見右圖)42.說明分析階段建立的三個模型的關(guān)系。答:⑴功能模型指出發(fā)生了什么,動態(tài)模型擬定什么時候發(fā)生,對象模型擬定發(fā)生的客體(功能模型說明做什么,動態(tài)模型說明如何做,對象模型說明由誰做和對誰做)。三者分工協(xié)作,構(gòu)成一套完整的分析模型(對象模型描述系統(tǒng)的靜態(tài)結(jié)構(gòu),表現(xiàn)對象的互相關(guān)系,重要關(guān)心系統(tǒng)中對象的結(jié)構(gòu)、屬性和操作;動態(tài)模型描述系統(tǒng)的控制結(jié)構(gòu),表現(xiàn)對象的互相行為,關(guān)心系統(tǒng)的控制、操作的執(zhí)行順序;功能模型描述系統(tǒng)的所有計算,表白如何從輸入得到輸出,不考慮計算順序;功能模型也涉及對象模型中值的結(jié)束條件,說明

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論