軟件工程總復習(徐東升)_第1頁
軟件工程總復習(徐東升)_第2頁
軟件工程總復習(徐東升)_第3頁
軟件工程總復習(徐東升)_第4頁
軟件工程總復習(徐東升)_第5頁
已閱讀5頁,還剩112頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、單選題(20個小題,每小題1.5分,共30分)二、填空題(5個小題,每小題2分,共10分)三、判斷題(10個小題,每小題1分,共10分)四、名詞解釋題(5個小題,每小題3分,共15分)五、簡答題(3個小題,每小題5分,共15分)六、綜合應用題(3個小題,第1小題6分,第2小題8分,第3小題6分,共20分)考試題型軟件工程課程的內容軟件工程學概述結構化方法學(生命周期方法學)面向對象方法學軟件項目管理可行性研究需求分析形式化說明技術總體設計詳細設計軟件實現軟件維護面向對象方法學引論面向對象分析面向對象設計面向對象實現

總復習第1章軟件工程學概述學習內容與重點:1.1軟件的概念及其特征(掌握概念,特征要了解)1.2軟件危機(軟件危機的概念掌握,典型表現、產生原因消除危機途徑等要了解)1.3軟件工程(軟件工程的概念要掌握,本質特性、原理等要理解,方法學的概念[也稱范型]、包含的要素要記憶,傳統方法學與面向對象方法學的要點要理解,并能分析出各自的優缺點)。1.4軟件生命周期(掌握軟件生命周期的概念、三個時期八個階段的劃分和任務)1.5軟件過程:又稱軟件開發模式,概念要掌握,另外重點掌握幾個典型的生命周期模型的特點及基本思想,如瀑布模型、快速原型模型、增量模型、螺旋模型,其它常用的幾個模型的特點要了解,如噴泉模型、RUP統一過程、XP過程)。第一章:習題(凡是要掌握和記憶的概念、原理都可能以填空、名詞解釋或簡答題的形式進行考核,凡是理解的知識點可能以判斷、選擇的形式進行考核,凡是重點掌握的可能以綜合應用形式進行考核,凡是了解的知識點很可能不是考查的重點,直接考核的概率不大)1-4簡述結構化范型和面向對象范型的要點,并分析它們的優缺點。1-6什么是軟件過程?它與軟件工程方法學有何關系?答:軟件過程是為了開發出高質量的軟件產品所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。軟件過程定義了運用技術方法的順序、應交付的文檔資料、為保證軟件質量和協調軟件變化必須采取的管理措施,以及標志完成了相應開發活動的里程碑。軟件過程是軟件工程方法學的3個重要組成(方法、工具與過程)部分之一。1-7什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優缺點,說明每種模型的適用范圍。第2章可行性研究2.1可行性研究的任務(可行性研究的目的、任務或者說是內容必須要掌握)2.2可行性研究過程(了解,知道可行性報告的主要內容:系統概述、可行性分析、限制、費用、擬定開發計劃、結論意見)2.3系統流程圖(了解,描述物理系統的工具,基本符號、系統符號能看懂)2.4數據流圖(功能模型,是本章的重點與難點,數據流圖的概念、4種基本成分、用途要理解,能根據系統基本描述畫出項層、0層、1層數據流圖,必然有一個綜合應用題)2.5數據字典(重點掌握數據字典的概念、包含內容及定義數據的方法)2.6成本/效益分析(理解貨幣的時間價值的概念,會分析計算投資回收期、純收入、投資回收率)

2.4數據流圖(描繪數據在系統中流動的邏輯過程)2.4.1符號

或或或數據源點或終點變換數據的處理數據存儲數據流圖2.4基本符號的含義數據源點/終點:通常是人或部門,可重復表示;處理:一個處理框可以代表一系列程序、單個程序或程序的一個模塊;數據存儲:可以表示一個文件、文件的一部分、數據庫的元素或記錄的一部分等,數據存儲是處于靜止狀態的數據;把一個數據存入數據存儲用一個數據去修改數據存儲中的數據從數據存儲中讀出一個數據從數據存儲中檢索出一批數據數據流:描繪所有可能的數據流向,而不應該描繪出現某個數據流的條件,數據流是處于運動中的數據。通常為單據或報表。源點:倉庫管理員終點:采購員處理:產生報表、處理事務數據流:定貨報表事務零件編號零件名稱定貨數量目前價格主要供應者次要供應者零件編號事務類型數量數據存儲:定貨信息——同定貨報表庫存清單零件編號庫存量庫存量臨界值第一步:從問題描述中提取數據流圖的4種成分:源點或終點,處理,數據存儲和數據流;數據流圖的繪制步驟及舉例第二步:繪畫最高抽象層次的數據流圖——基本系統模型由若干個數據源點/終點和一個處理組成。定貨系統的基本系統模型第三步:細化基本系統模型,繪畫(主要)功能級數據流圖定貨系統的功能級數據流圖第4步:

對系統主要功能進一步細化把處理事務的功能進一步分解后的數據流圖細化時注意:1、當進一步分解涉及如何具體的實現一個功能時就不應該再分解了。2、對數據流圖分層細化時,不管加工如何變換,一定要保證分解前后的輸入流與輸出流必須相同。

3、對處理進行編號的方法是:處理1分解為三個下層處理時,下層處理的編號是1.1、1.2和1.3,處理2分解為三個下層處理時,下層處理的編號是2.1、2.2和2.3。同理,如果處理1.2再分解為兩個下層處理時,下層處理的編號是1.2.1和1.2.2。5、將必要的存儲與加工(處理)相匹配;6、在畫數據流圖時應避免線條交叉,必要時可使用重復的外部項(源點或終點)或數據存儲符號;7、用“自頂向下”的方法,逐層畫出數據流圖。每張數據流圖吵加工(處理)的個數不能超過7個(7加減2原則);儲蓄系統數據流圖典型作業題:數據流圖的繪制方法患者監護系統的功能級數據流圖第3章需求分析

3.1需求分析的任務(了解)

3.2與用戶溝通獲取需求的方法(了解)

3.3分析建模與規格說明(掌握模型的概念,知道需求分析要建立功能模型、數據模型、行為模型這三種模型)

3.4實體-聯系圖(很重要,但不是本門課考查重點,需要掌握實體-聯系圖的基本概念、聯系的類型、會畫簡單系統的E-R圖)

3.5數據規范化(了解)

3.6狀態轉換圖(了解)

3.7其他圖形工具(層次方框圖、Warnier圖、IPO圖的概念,知道這些工具的作用是什么)

3.8驗證軟件需求(了解)實體、數據對象關系或聯系屬性連接圖3.1實體關系圖圖符數據模型:圖3.2某校教學管理ER圖儲戶存取款電話號碼儲蓄所身份證號碼地址電話號碼名稱住址姓名到期日期密碼數額類型利率圖2.3計算機儲蓄系統的實體-聯系圖MN狀態圖中使用的主要符號狀態轉換圖:建立系統的行為模型,描繪系統的狀態或引起狀態轉換的事件,來表示系統的行為。圖3.5層次方框圖的一個例子幾種工具圖3.6Warnier圖的一個例子與層次方框圖一樣,是描述數據結構的工具圖3.7IPO圖的一個例子圖圖3.8改進的IPO圖的形式習題:3-6復印機狀態閑置復印Do/復印卡紙Do/報警缺紙Do/報警復印命令完成復印命令發生卡紙故障發現缺紙排除卡紙故障裝好紙第5章總體設計本章主要講述內容1設計過程:掌握總體設計的目的、任務及總體設計的階段組成,了解設計過程的步驟2設計原理:重點掌握模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨立性這幾條設計原理的基本概念和重要思想。模塊獨立性度量標準:內聚和耦合的概念要掌握,能判斷六種耦合的強弱及類型,耦合從弱到強依次為非直接耦合、數據耦合、控制耦合、特征耦合(又稱外部耦合)、公共耦合、內容耦合;能判斷七種內聚的高低及類型,內聚從低到高依次是偶然內聚、邏輯內聚、時間內聚、過程內聚、通信內聚、順序內聚、功能內聚。3啟發規則:理解模塊規模應該適中,深度、寬度、扇出和扇入都應適當,模塊的作用域應該在控制域之內這幾條規則。4描繪軟件結構的圖形工具:層次圖和HIPO圖、結構圖,掌握層次圖與圖層方框圖的區別,了解結構圖是進行軟件結構設計的一個有力工具)5面向數據流的設計方法:必須熟練掌握變換分析與事務分析的方法。會對一個簡單的數據流圖經變換分析與事務分析后映射為相應的軟件結構圖5.3正文加工系統的層次圖設計工具:層次圖,獲得軟件層次結構圖5.4帶編號的層次圖(H圖)設計工具:帶編號層次圖圖5.5結構圖的例子——產生最佳解的一般結構設計工具:結構圖,設計軟件結構的工具5.5.1概念面向數據流的設計方法把數據流映射成軟件結構,數據流的類型決定了映射的方法。數據流有兩種類型:變換流事務流5.5面向數據流的設計方法一、變換流

具有較明確的輸入、變換(或稱主加工)和輸出界面的數據流圖稱為變換型數據流圖。如圖所示,該變換中心可以理解為數據的加工和處理程序。

讀入原始數據校驗原始數據計算最優結果編輯打印最優結果輸入變換中心輸出

事務型數據流圖中存在一個事務中心(也就是數據處理、加工中心),它將輸入分離成若干個發散的數據流,形成許多活動路徑,并根據輸入值選擇其中一條路徑。處理T稱為事務中心,它完成下述任務:接收輸入數據;分析每個事務以確定它的類型;根據事務類型選取一條活動通路要求類別處理分房處理調房處理退房處理住房要求事務中心活動路徑二、事務流設計步驟:(1)復查基本系統模型確保系統的輸入數據和輸出數據符合實際。(2)復查并精化數據流圖對需求分析階段得出的數據流圖認真復查,并且在必要時進行精化。不僅要確保數據流圖給出了目標系統的正確的邏輯模型,而且應該使數據流圖中每個處理都代表一個規模適中相對獨立的子功能。5.5.2變換分析把具有變換流特點的數據流圖按預先確定的模式映射成軟件結構。(3)確定數據流圖具有變換特性還是事務特性一個系統中的所有信息流都可以認為是變換流,但是,當遇到有明顯事務特性的信息流時,建議采用事務分析方法進行設計。確定數據流的全局特性和局部特性。(4)確定輸入流和輸出流的邊界,從而孤立出變換中心輸入流和輸出流的邊界和對它們的解釋有關,不同設計人員可能會在流內選取稍微不同的點作為邊界的位置。(5)完成“第一級分解”。位于軟件結構最頂層的控制模塊Cm協調下述從屬的控制功能:輸入信息處理控制模塊Ca,協調對所有輸入數據的接收;變換中心控制模塊Ct,管理對內部形式的數據的所有操作;輸出信息處理控制模塊Ce,協調輸出信息的產生過程。第一級分解方法(6)完成“第二級分解”處理映射成軟件結構中一個適當的模塊。完成第二級分解的方法是:從變換中心的邊界開始沿著輸入通路向外移動,把輸入通路中每個處理映射成軟件結構中Ca控制下的一個低層模塊;然后沿輸出通路向外移動,把輸出通路中每個處理映射成直接或間接受模塊Ce控制的一個低層模塊;最后把變換中心內的每個處理映射成受Ct控制的一個模塊。第二級分解方法(7)運用模塊設計和優化準則對第一次分割得到的軟件結構進一步精化為了產生合理的分解,得到盡可能高的內聚、盡可能松散的耦合,為了得到一個易于實現、易于測試和易于維護的軟件結構,應該對初步分割得到的模塊進行再分解或合并。5.5.3事務分析雖然在任何情況下都可以使用變換分析方法設計軟件結構,但是在數據流具有明顯的事務特點時,也就是有一個明顯的“發射中心”(事務中心)時,還是以采用事務分析方法為宜。

事務設計步驟和變換設計步驟大部分相同或類似,主要差別僅在于由數據流圖到軟件結構的映射方法不同:由事務流映射成的軟件結構包括一個接收分支和一個發送分支;映射出接收分支結構的方法和變換分析映射出輸入結構的方法很相像,即從事務中心的邊界開始,把沿著接收流通路的處理映射成模塊;發送分支的結構包含一個調度模塊,它控制下層的所有活動模塊;然后把數據流圖中的每個活動流通路映射成與它的流特征相對應的結構。

通常,一個實際系統的數據流圖是變換型和事務型兩種類型的混合體。如圖所示,中間的子塊屬事務型數據流,如果把中間子塊視為一個處理整體的話,整個程序屬變換型程序。

A(事務型,A為事務中心)變換中心輸入輸出混合型數據流圖總結:一般說來,如果數據流不具有顯著的事務特點,最好使用變換分析;反之,如果具有明顯的事務中心,則應該采用事務分析技術。機械地遵循變換分析或事務分析的映射規則,可能會得到一些不必要的控制模塊,如果它們確實用處不大,那么可以而且應該把它們合并。如果一個控制模塊功能過分復雜,則應該分解為兩個或多個控制模塊,或者增加中間層次的控制模塊。第六章詳細設計6.1結構程序設計:結構程序設計的經典定義:如果一個程序的代碼塊僅僅通過順序、選擇和循環這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。)6.2人機界面設計(了解)6.3過程設計的工具(重點掌握的內容:程序流程圖幾種基本控制結構的畫法,能讀懂程給出程序流程圖表示的算法;掌握盒圖的基本符號,會用盒圖設計一個程序的算法;掌握PAD圖的基本符號,會用PAD圖設計一個程序的算法;

會用判定表與判定樹表示含有多重嵌套條件的多分支選擇結構的算法;會使用PDL語言描述N-S圖或PAD圖表示的程序的算法)非結構化程序的結構化處理(復合判定技術、重復元素技術、標志技術)6.4面向數據結構的設計方法(了解,JACKSON方法)6.5程序復雜程度的定量度量(重點掌握McCabe方法的映射規則,能把一個程序流程圖或PDL語言描述的算法映射為程序流圖,掌握在程序流圖的基礎上定量度量程序復雜度的三種方法:計算區域數;V(G)=E-N+2;V(G)=P+1,其中P是判定結點數目。了解Halstead方法)6.4過程設計的工具工具學習要點:規定的圖符組織結構和控制條件結構1程序流程圖;2盒圖(N-S圖);PAD圖;判定表;判定樹;PDL(過程設計語言)。6.13種基本的控制結構圖6.2其他常用的控制結構舉例:輸入10個數,找出其中最大的與最小的數圖6.5PAD圖的基本符號(a)順序(P1→P2);(b)選擇(IFCTHENP1ELSEP2);(c)多分支;(d)WHILE型循環;(e)UNTIL型循環;(f)語句標號;(g)定義(細化過程)圖6.6使用PAD圖提供的定義功能來逐步求精的例子表6-1用判定表表示計算行李費的算法國內乘客TTTTFFFF頭等艙TFTFTFTF殘疾乘客FFTTFFTT行李重量W<=30KGTFFFFFFFF免費X(W-30)X2X(W-30)X3X(W-30)X4XX(W-30)X6XX(W-30)X8X(W-30)X12X圖6.7用判定樹表示計算行李費的算法定量度量程序復雜度:McCabe方法1.流圖流圖(程序圖):流圖實質上是“壓縮簡化了的”程序流程圖,它僅僅描繪程序的控制流程,而對數據的具體操作以及分支、循環的具體條件不進行描述。流圖的組成:流圖由結點和邊組成。在流圖中用圓表示結點,一個圓(結點)代表一條或多條語句,一般把程序流程圖中一組順序相鄰的處理框和其后相鄰的一個菱形判定框映射成流圖中的一個結點。流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。一個邊必須終止一個結點,即使結點為空語句(如ENDDO、ENDIF等)。圖6.15程序流程圖映射為流圖圖6.16由PDL翻譯成的流圖圖6.17由包含復合條件的PDL映射成的流圖計算環形復雜度的方法(1)流圖G的環形復雜度V(G)=流圖G的所圍成的區域數。(2)流圖G的環形復雜度V(G)=E-N+2,其中:E是流圖中邊數,N是結點數。(3)流圖G的環形復雜度V(G)=P+1,其中:P是流圖中判定(帶有兩個分叉)結點的數目。習題6-1假設只有SEQUENCE和DO-WHILE兩種控制結構,怎樣利用它們完成IF-THEN-ELSE操作?STARTFlag=TRUEPANDFlagAFlag=FALSE

Flag=TRUEBFlag=FALSEENDTFTF習題6-2假設只有SEQUENCE和IF-THEN-ELSE兩種控制結構,怎樣利用它們完成DO-WHILE操作?P131,第3題畫出下列偽碼程序的程序流程圖和盒圖。STARTIFPTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP答:⑴從該偽碼程序轉變成的程序流程圖,注意DOWHILE與DOUNTIL結構的嚴格區別⑵由該偽碼轉變成的盒圖。注意DOWHILE與DOUNTIL結構的嚴格區別FTgnqf6-4下圖給出的程序流程圖代表一個非結構化的程序,請問:(1)為什么說它是非結構化的?(2)設計一個等價的結構化程序。(3)在(2)題的設計中你使用附加的標志變量flag了嗎?若沒用,請再設計一個使用flag的程序;若用了,再設計一個不用flag的程序。答:⑴通常所說的結構化程序,是按照狹義的結構程序的定義衡量,符合定義規定的程序。圖中所示的程序的循環控制結構有兩個出口,顯然不符合狹義的結構程序的定義,因此是非結構化的程序。⑵使用附加的標志變量flag,至少有兩種方法可以把該程序改造為等價的結構化程序,圖4-1所示盒圖描述了P條件的DOWHILE循環,圖4-2所示描繪了q條件的DOUNTIL循環等價的結構化程序,請注意兩種循環的控制條件。Flag=TRUEPANDflaggqFTFlag=FALSEFlag=TRUEgqFTFlag=FALSE(NOTq)OR(NOTflag)圖4-1圖4-2P131,第六題用Ashcroft-Manna技術可以將非結構化的程序轉換為結構化程序,圖6.19是一個轉換的例子。⑴你能否從這個例子總結出Ashcroft-Manna技術的一些基本方法?⑵進一步簡化圖1(b)給出的結構化設計。圖1答:⑴從這個例子中看出,Ashcroft-Manna技術的基本方法是,當待改造的程序含有嵌套的非結構化的IF語句時,改造后的程序中增加DO-CASE語句和DO-UNTIL語句,并增加一個輔助變量I,I的初始值為1。最外層的IF語句在I=1時執行,執行完這個IF語句后把I賦值為隨后應該執行的內層IF語句所對應的CASE標號值。DO-CASE語句的最大分支數(可執行的最大標號值)等于IF語句的個數。當執行完最內層的IF語句之后,把I賦值為可執行的最大標號值加1,而DO-UNTIL循環的結束條件就是I等于這個值。⑵與圖1(b)等價的,進一步簡化后的結構化后的結構化程序的流程圖見黑板。STARTAcBeDETFT

dCDFTFEND第7章實現1、程序設計語言的分類(機器、匯編、高級、第四代語言)2、了解程序設計語言的選擇和編碼風格(掌握編碼的概念)3、掌握軟件測試的概念及目標,了解軟件測試的準則4、掌握兩種軟件測試方法的概念:黑盒測試、白盒測試。了解軟件測試的步驟和測試階段的信息流。5、掌握調試的概念,了解調試的過程和調試的途徑。6、掌握軟件可靠性、可用性的概念,掌握術語錯誤和故障的含義。7、掌握估算MTTF的方法,會利用Shooman(舒曼)模型進行相關參數的計算,并能建立MTTF與測試時間τ之間的函數關系。8、掌握植入錯誤法與分別測試法估算錯誤總數的方法。1.符號估算MTTF時使用到下列符號ET——測試之前程序中故障總數;IT——程序長度(機器指令總數);τ——測試(包括調試)時間;Ed(τ)——在0至τ期間發現的錯誤數;

Ec(τ)——在0至τ期間改正的錯誤數;7.9.2估算平均無故障時間MTTF的方法3.估算平均無故障時間MTTF

因為平均無故障時間與單位長度程序中剩余的故障數εr(τ)成反比,所以:其中:K為常數,它的值根據經驗選取,經典值是200。由上式變換后得到程序中改正的錯誤數:根據對軟件平均無故障時間的要求,可以估計需要改正多少個錯誤后,測試工作就可以結束。估算平均無故障時間的公式,可以評價軟件測試的進展情況。假設人為地植入的錯誤數為Ns,經過一段時間的測試之后發現ns個植入的錯誤,此外還發現了n個原有的錯誤。如果可以認為測試方案發現植入錯誤和發現原有錯誤的能力相同,則能夠估計出程序中原有錯誤的總數為

=n/ns×Ns

Ns

n

ns其中:是故障總數ET的估計值;

如果認為測試員甲發現的故障是有標記的,即程序中有標記的故障總數為B1,那么測試員乙發現的B2個故障中有bc個是有標記的。所以可以估計出測試前程序中的故障總數為:其中,是故障總數ET的估計值。每隔一定時間,分析員分析兩名測試員的測試結果,來估計錯誤總數。幾次估計結果差不多時,用其平均值作為錯誤總數的估計值。(3)集成測試結束時,總共改正了多少個錯誤?還有多少錯誤潛伏在程序中?由Shooman公式可知:MTTF=IT/(K*(ET-EC(t)))聯立方程得

10=10000/(K*(ET-15))

15=10000/(K*(ET-25))解得K=33.33ET=45100=10000/(33.33*(45-EC))解得EC=42故當MTTF要達到100小時,在集成測試時必須總共改正42個錯誤,尚有3個錯誤潛伏在程序中。第8章維護1、掌握軟件維護的定義、分類,對每一種維護的概念都要清楚(改正、適應、完善、預防)2、清楚軟件工程的主要目的:1)提高軟件的可維護性;2)減少軟件維護所需要的工作量,降低軟件系統的總成本。3、了解軟件維護的特點:1)結構化維護與非結構化維護差別很大;2)維護的代價高昂(維護代價分有形代價、無形代價與生產率代價);3)維護的問題很多。4、了解軟件維護的過程。5、掌握可維護性定義,知道決定軟件可維護性的主要因素:1)可理解性;2)可測試性;3)可修改性;4)可移植性;5)可重用性6、了解可維護性復審和預防性維護。7、掌握軟件再工程過程模型所定義的6類活動,掌握逆向工程、正向工程的概念。第13章軟件項目管理1、了解估算軟件規模的技術:1)代碼行技術;2)功能點技術。并能說出兩種估算計術的優缺點。2、了解工作量估算的幾種常用技術:1)靜態單變量模型;2)動態多變量模型;3)COCOMO2模型。3、制訂進度計劃是本章重點,涉及如下幾項技術:1)了解估算開發時間的模型;2)了解Gantt圖繪制;3)掌握用工程網絡圖求出關鍵路徑的方法(計算EET、LET、機動時間)4、能說出民主制程序員組、主程序員組、現代程序員組三種人員組織方式的優缺點。5、掌握軟件質量的概念,了解影響軟件質量的因素,掌握軟件質量保證措施:基于非執行的測試(復審或評審,具體方法有走查和審查);基于執行的測試(軟件測試);程序正確性證明。6、掌握軟件配置管理、軟件配置項、基線的概念,了解軟件配置過程。7、掌握能力成熟度模型的基本思想,了解CMM定義能力成熟度的5個等級(從低到高依次為初始級(1級)、可重復級(2級)、已定義級(3級)、已管理級(4級)和優化級(5級)。例題:假設一項工程分解成9個子任務,根據下表給出的信息,畫出工程網絡圖,計算每個事件的最早時刻和最遲時刻,找出關鍵路徑。子任務標識完成任務時間依賴關系a8b10c8a,bd9ae5bf3c,dg2dh4f,gi3e,f期中考試試題解析一、單項選擇題(每小題1.5分,共30分)()1.“軟件危機”產生的主要原因是

A.軟件日益龐大B.開發方法不當C.開發人員編寫程序能力差D.沒有維護好軟件()2.軟件工程學的一個重要目標是

。A.提高程序的執行效率B.降低程序對存儲空間的要求C.提高軟件的可理解性D.提高軟件的可維護性()3.編寫程序的工作量通常占用軟件開發總工作量的

。A.80%B.60%

C.40%D.20%()4.數據字典是對數據定義信息的集合,它所定義的對象都包含于

A.數據流圖B.程序框圖

C.軟件結構D.方框圖()5.可行性分析是在系統開發的早期所做的一項重要的開發的決策依據,因此必須給出

的回答。

A.確定B.行或不行

C.正確D.無二義ADDAB()6.需求分析階段最重要的技術文檔之一是

。A.項目開發計劃B.設計說明書C.需求規格說明書D.可行性分析報告()7.為了提高模塊的獨立性,模塊內部最好是_____。A.邏輯內聚B.時間內聚C.功能內聚D.通信內聚()8.需求分析階段的任務是確定

__。

A.軟件開發方法B.軟件開發工具

C.軟件開發費D.軟件系統的功能()9.一個成功的測試可以

_。

A.表明程序沒有錯誤B.發現所有錯誤

C.提高軟件可靠性D.發現尚未發現的錯誤()10.

_是軟件生存期中的一系列相關軟件工程活動的集合,它由軟件規格說明、軟件設計與開發、軟件確認、軟件改進等活動組成。A軟件過程B軟件工具C質量保證D軟件工程CDCDA()11.軟件詳細設計的主要任務是確定每個模塊的

A.算法和使用的數據結構B.外部接口

C.功能D.編程()12.程序的三種基本控制結構是_____。

A.過程、子程序積分程序B.順序、選擇和重復

C.遞歸、堆棧和隊列D.調用、返回和轉移()13.軟件測試方法中,黑盒測試方法和白盒測試方法是常用的方法,其中黑盒測試方法主要用于測試

__。

A.結構合理性B.軟件外部功能C.程序正確性D.程序內部邏輯()14.在軟件開發和維護的過程中,為了定量地評價軟件質量,必須對軟件特性進行

____。

A.測試B.度量C.評審D.維護()15、在各種不同的軟件需求中,功能需求描述了用戶使用產品必須要完成的任務,可以在用例模型或方案腳本中予以說明,

是從各個角度對系統的約束和限制,反映了應用對軟件系統質量和特性的額外要求。A業務需求B功能要求C非功能需求D用戶需求BABBC()16.快速原型模型的主要特點之一是______。

A.開發完畢才見到產品

B.及早提供全部完整的軟件產品C.開發完畢后才見到工作軟件

D.及早提供工作軟件()17.因計算機硬件和軟件環境的變化而做出的修改軟件的過程稱為____。

A.校正性維護

B.適應性維護C.完善性維護

D.預防性維護()18.如果某種內聚要求一個模塊中包含的任務必須在同一段時間內執行,則這種內聚為

_。A.時間內聚B.邏輯內聚C.通信內聚D.信息內聚()19.為高質量地開發軟件項目,在軟件結構設計時,必須遵循

原則。A.信息隱蔽

B.質量控制C.程序優化

D.數據共享()20.

DFD中的每個加工至少需要

_。

A.

一個輸入流B.

一個輸出流C.

一個輸入或輸出流D.

一個輸入流和一個輸出流

DBAAD二、填空題(每小題2分,共10分)1.軟件由程序、

組成。2、軟件的定義階段包括:

、需求分析。3.總體設計過程通常有兩個主要階段組成:

階段和

階段。4.將數據流圖映射為程序結構時,所用映射方法涉及信息流的類型。其信息流分為

____

____

兩種類型。5.在學校中,一個學生可以選修多門課程,一門課程可以由多個學生選修,那么學生和課程之間是

__關系。數據文檔問題定義可行性研究系統設計結構設計變換流事務流多對多關聯三、判斷題(每小題1分,共10分)1.軟件開發小組人數越多越好。()2.軟件測試的目的是為了證明一個軟件的設計沒有錯誤,只有沒有任何錯誤的軟件才能使用。()3.在可行性研究中最難決斷和最關鍵的問題是技術可行性。()4.軟件測試中,應該盡量窮盡所有的數據,以便保證測試的質量。()5.對象是屬性和相關操作的封裝。()6.設計階段的輸出是編碼階段的輸入。()7.流程圖用三個基本的控制構件分支、循環、重復來表示。()8.改造程序結構,要降低藕合度,提高內聚度。()9.計算機軟件由文檔和數據組成。()10.軟件開發采用了軟件工程之后,就不會發生軟件危機了。

溫馨提示

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

評論

0/150

提交評論