【軟件工程及項目管理】全考測試及答案_第1頁
【軟件工程及項目管理】全考測試及答案_第2頁
【軟件工程及項目管理】全考測試及答案_第3頁
【軟件工程及項目管理】全考測試及答案_第4頁
【軟件工程及項目管理】全考測試及答案_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

概述一、名詞解釋1、計算機軟件:與計算機系統操作有關的程序、規程、規則及任何與之有關的文檔和數據。2、軟件危機:指在計算機軟件開發、使用與維護過程中遇到的一系列嚴重問題和困難。3、軟件工程:用工程、科學和數學的原則與方法開發、維護計算機軟件的有關技術和管理方法。4、軟件生存周期:軟件從形成概念開始,經過開發、使用和維護,直到最終退役的全過程稱為軟件生存周期。5、瀑布模型:嚴格按照軟件生存周期各個階段來進行開發,上一階段的輸出即是下一階段的輸入,并強調每一階段的嚴格性。它規定了各階段的任務和應提交的成果及文檔,每一階段的任務完成后,都必須對其階段性產品(主要是文檔)進行評審,通過后才能開始下一階段的工作。二、單項選擇題1、下面不屬于軟件工程的3個要素的是(D)。A、工具B、過程C、方法D、環境2、軟件開發的結構化生命周期方法將軟件生命周期劃分成(A)。A、計劃階段、開發階段、運行階段。B、計劃階段、編程階段、測試階段。C、總體設計、詳細設計、編程調試。D、需求分析、功能定義、系統設計。3、(D)引入了“風險驅動”的思想,適用于大規模的內部開發項目。A.增量模型B.噴泉模型C.原型模型D.螺旋模型4、原型化方法是用戶和軟件開發人員之間進行的一種交互過程,適用于(A)系統。A、需求不確定的B、需求確定的C、管理信息D、決策支持5、軟件是一種(C)A、程序B、數據C、邏輯產品D、物理產品6、瀑布模型的關鍵不足在于(B)A、過于簡單 B、不能適應需求的動態變更C、過于靈活 D、各個階段需要進行評審7、具有風險分析的軟件生存周期模型是(C)。A、瀑布模型B、噴泉模型C、螺旋模型D、增量模型8、以下哪一項不是軟件危機的表現形式(C)A、成本高B、生產率低C、技術發展快D、質量得不到保證9、軟件是一種(B)性工業產品。A、理論B、知識C、消耗D、體力10、軟件定義期間的問題定義階段涉及的人員有(D)。A、用戶、使用部門負責人B、軟件開發人員、用戶、使用部門負責人C、系統分析員、軟件開發人員D、系統分析員、軟件開發人員、用戶與使用部門負責人11、(A)是軟件生存期中的一系列相關軟件工程活動的集合,它由軟件規格說明、軟件設計與開發、軟件確認、軟件改進等活動組成。A軟件過程B、軟件工具C、質量保證D、軟件工程12.分析員是(B)。A、用戶中系統的直接使用者B、用戶和軟件人員的中間人

C、軟件的編程人員D、用戶和軟件人員的領導13開發軟件所需高成本和產品的低質量之間有著尖銳的矛盾,這種現象稱作(B)。A、軟件投機B、軟件危機C、軟件工程D、軟件產生14、文檔是軟件開發人員、軟件管理人員、維護人員、用戶以及計算機之間的(B),軟件開發人員在各個階段以文檔作為前段工作成果的(E)和后段工作的(F)。A、接口B、橋梁C、科學D、繼續E、體現F、基礎15、軟件工程學是應用科學理論和工程上的技術指導軟件開發的學科,其目的是(B)。A、引入新技術提高空間利用率B、用較少的投資獲得高質量的軟件

C、縮短研制周期擴大軟件功能D、硬軟件結合使系統面向應用16.軟件危機出現于(C)①,為了解決軟件危機,人們提出了用(B)②的原理來設計軟件,這就是軟件工程誕生的基礎。①A、50年代末B、60年代初C、60年代末D、70年代初

②A、運籌學B、工程學C、軟件學D、數字17、軟件工程學的目的是以(B)的成本,研制(A)質量的軟件。A、較高B、較低C、可靠D、優秀18、瀑布模型把軟件生存周期劃分為軟件定義、軟件開發和(C)三個階段,而每一階段又可細分為若干更小的階段。

A、詳細設計B、可行性分析C、運行及維護D、測試與排錯19、軟件生存周期是指(D)階段。A、軟件開始使用到用戶要求修改為止B、軟件開始使用到被淘汰為止C、從開始編寫程序到不能再使用為止D、從立項制定計劃,進行需求分析到不能再使用為止20、件工程中描述生存周期的瀑布模型一般包括計劃、(B)、設計、編碼、測試、維護等幾個階段。(A)A、需求分析 B、需求調查 C、可行性分析 D、問題定義三、填空題1、軟件工程的3個要素的是工具、過程和方法2、軟件危機是指在計算機軟件開發、使用與維護過程中遇到的一系列嚴重問題和困難。3、在軟件開發過程中必須遵循的軟件工程原則有抽象、信息隱藏、模塊化、局部化和一致性等。4、軟件開發的結構化生命周期方法將軟件生命周期劃分成定義階段、開發階段和運行階段。5、螺旋模型綜合了瀑布模型和原型模型的優點,即將兩者結合,并加入了風險分析機制四、判斷題1、文檔是軟件產品的一部分,沒有文檔的軟件就不稱其為軟件(對)。2、在軟件開發的過程中,若能推遲暴露其中的錯誤,則為修復和改正錯誤所花費的代價就會降低。(×)3、螺旋模型是在瀑布模型和增量模型的基礎上增加了風險分析活動。[√]4、快速原型模型可以有效地適應用戶需求的動態變化。[√]5、軟件是指用程序設計語言(如PASCAL,C,VISUALBASIC等)編寫的程序,軟件開發實際上就是編寫程序代碼[×]。五、問答題1、產生軟件危機的主要原因有哪些?緩解軟件危機的途徑是什么答:(1)主要原因:1)需求描述不精確。2)對需求的理解有偏差,導致軟件與需求不一致。3)缺乏處理大型軟件項目的開發和管理經驗。4)開發大型軟件易產生疏漏和錯誤。5)缺乏有力的方法學的指導和有效的開發工具的支持。6)解決供求矛盾將是一個永恒的主題。(2)緩解軟件危機的途徑:用軟件工程的思想指導軟件的開發2、瀑布模型有哪些優點和缺點?適用于哪些場合?答:(1)優點:提供了軟件開發的基本框架,有利于大型軟件開發過程中人員的組織、管理,有利于軟件開發方法和工具的研究與使用。(2)缺點:1)在開發初期就要求做出正確、全面、完整的需求分析是極其困難的。2)在需求分析階段,當需求確定后,無法及時驗證需求是否正確、完整。3)由于不支持產品的演化,缺乏靈活性,對開發過程中很難發現的錯誤,只有在最終產品運行時才能暴露出來,從而使產品難以維護。(3)瀑布模型適用場合:一般適用于功能、性能明確、完整、無重大變化的軟件系統的開發。3、什么是軟件工程?它的目標和內容是什么?答:(1)軟件工程:用工程、科學和數學的原則與方法開發、維護計算機軟件的有關技術和管理方法。(2)目標是:在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產品。項目管理一、單選題1、軟件復雜性度量的參數,不包括(D)A、規模B、難度C、智能度D、成本2、在軟件開發的各種資源中,(D)是最重要的資源。A、開發工具B、方法C、硬件環境D、人員3、(D)是以追求更高的效益和效率為目標的持續性活動。A、質量策劃B、質量控制C、質量保證D、質量改進4、下列模型屬于成本估算方法的有(A)。A、COCOMO模型B、McCall模型C、McCabe度量法D、CMM模型5、軟件項目計劃一般不包括以下哪項內容(D)A、培訓計劃B、人員安排C、進度安排D、軟件開發標準的選擇和制定6、軟件按照設計的要求,在規定的時間和條件下達到不出故障、持續運行要求的質量特性稱為(A)A、可靠性B、可用性C、正確性D、完整性7、軟件復雜性主要體現在(C)。A、數據的復雜性B、程序的復雜性C、控制的復雜性D、問題的復雜性8、在McCALL軟件質量度量模型中,(A)屬于面向軟件產品操作的質量因素A、可用性B、可維護性C、適用性D、互操作性9、軟件復雜性度量的參數包括(B)A.效率B.規模C.完整性D.容錯性10、(C)是指在規定的條件下和規定期間內,實現所指定功能的概率。A、可測試性B、可理解性C、可靠性D、可移植性11、在軟件工程中,當前用于保證軟件質量的主要技術手段還是(B)。A、正確性證明B、測試C、自動程序設計D、符號證明12、在軟件工程中,高質量的文檔標準是完整性、一致性和(C)。A、統一性B、安全性C、無二義性D、組合性13、軟件的可移植性是衡量軟件質量的重要標準之一。它指的是(D)。A、一個軟件版本升級的容易程度B、一個軟件與其他軟件交換信息的容易程度C、一個軟件對軟硬件環境要求得到滿足的容易程度D、一個軟件從一個計算機系統或環境轉移到另一個計算機系統或環境的容易程度14、Putnam成本估算模型是一個(D)模型。A.靜態單變量B.動態單變量C.靜態多變量D.動態多變量15、在McCall軟件質量度量模型中,(C)屬于面向軟件產品修改。A.可靠性B.可重用性C.適應性D.可移植性二、填空題1、軟件項目管理的對象:主要包括產品、過程和資源2、McCall等人提出的三層次度量模型由軟件質量要素、評價準則、定量度量三個層次組成的。3、風險按影響的范圍可分為項目風險、技術風險和商業風險三類。4、McCall提出的軟件質量模型包括11個軟件質量特性。三、名詞解釋1、軟件質量:軟件產品滿足規定的和隱含的與需求能力有關的全部特征和特性。2、風險分析:貫穿在軟件工程上的一系列風險管理步驟,中包括風險識別、風險估計、風險管理策略、風險解決和風險監督等。3、軟件可靠性:在某個給定時間間隔內,程序按照規格說明成功運行的概率。四、應用題1、已知有一個國外典型的軟件項目的記錄,開發人員M=6人,其代碼行數L=20.2KLOC,工作量E=43PM,成本S=314000美元,錯誤數N=64,文檔頁數Pd=1050頁。試計算開發該軟件項目的生產率P、平均成本C、代碼出錯率EQR和文檔率D。解:根據給出的已知數據,可得:P=L/E=20.2KLOC/43PM=0.47KLOC/PM=470LOC/PMC=S/L=314000美元/20.2KLOC=15.54美元/LOCEQR=N/L=64個/20.2KLOC=3.17個/KLOCD=Pd/L=1050頁/20.2KLOC=51.98頁/KLOC2、已知某軟件項目的特征為:用戶輸入數為30,用戶輸出數為60,用戶查詢數為24,共有8個文件,有2個外部界面。如果每個信息量的加權因子都取“一般”值,所有的技術復雜性調節因子都取“普通”值,(1)用功能點度量方法計算該軟件項目的功能點。(2)其代碼行數=20.2KLOC,工作量E=43PM,成本S=314000美元,錯誤數N=64,文檔頁數Pd=1050頁。試計算開發該軟件項目的生產率P、平均成本C、代碼出錯率EQR和文檔率D解:(1)基本功能點CT為:CT=用戶輸入數×4+用戶輸出數×5++用戶查詢數×4+文件數×10+外部接口數×7=30×4+60×5+24×4+8×10+2×7=610FP=CT×TCF=CT[0.65+0.01∑Fi]=610×[0.65+0.01×3×14]=652.7功能點答:該軟件項目共有652.7功能點。(2)解:1)生產率P(平均每人月開發的功能點數,以功能點/PM為單位):P=FP/E=652.7/432)平均成本C(以美元/功能點或元/功能點為單位):C=S/FP=314000/652.73)代碼出錯率EQR(即每功能點的平均錯誤數,以個/功能點為單位)為:EQR=N/FP=64/652.74)軟件的文檔率D(即平均每功能點的文檔頁數,以頁/功能點為單位)為:D=Pd/FP=105/652.7五、判斷題1、當軟件開發項目的進度有可能拖延時,增加開發人員并不一定能加快進度。(√)第三章可行性分析一、單選題1、軟件可行性研究一般不考慮(D)A、是否有足夠的人員和相關的技術來支持系統開發B、是否有足夠的工具和相關的技術來支持系統開發C、待開發軟件是否有市場、經濟上是否合算D、待開發的軟件是否會有質量問題2、可行性研究要進行一次(C)需求分析。A、詳細的B、全面的C、簡化的、壓縮的D.徹底的設計3、經濟可行性研究的范圍包括(C)。A、資源有效性B、管理制度C、效益分析D、開發風險4、在可行性研究階段,對系統所要求的功能、性能以及限制條件進行分析,確定是否能夠構成一個滿足要求的系統,這稱為(B)可行性。A.經濟可行性 B.技術可行性C.社會可行性 D.法律可行性5、為保證軟件質量,在軟件生存周期的每個階段結束之前,都需要進行(C)工作。A、制定計劃B、測試C、審查D、交接6、研究開發所需要的成本和資源是屬于可行性研究中的(B)研究的一方面。A.技術可行性 B.經濟可行性C.社會可行性 D.法律可行性二、填空題1、可行性研究的目的是用最小的代價,在最短的時間內確定問題是否可能解決和值得去解決,主要從經濟可行性、技術可行性和社會可行性等方面研究。2、整個生存周期系統的累計收入的折現值PT與總成本折現值ST之差稱為純收入,把資金投入到項目中與把資金存入銀行比較,其中投入到項目中可獲得的年利率就稱為項目的投資回收率三、判斷題1、軟件可行性研究一般不考慮待開發軟件是否有市場、經濟上是否合算(×)四、問答題1、可行性分析的主要任務是什么?答:可行性研究的主要任務是:了解客戶的要求及現實環境,從技術、經濟和社會因素等三方面研究并論證本軟件項目的可行性,編寫可行性研究報告,制定初步項目開發計劃。1)經濟可行性研究:度量系統解決方案的性能價格比。估算開發成本和利潤,進行成本效益分析。2)技術可行性研究:度量一個特定技術信息系統解決方案的實用性及技術資源的可用性。3)運行、操作可行性研究:用戶使用可能性;時間進度可行性;組織和文化上的可行性4)法律可行性研究:開發項目是否會在社會上、法律上或政治上引起侵權、破壞或其它責任問題。5)開發方案的選擇第四章需求分析一、單選題1、在各種不同的軟件需求中,(D)描述了用戶使用產品必須要完成的任務,可以在用例模型或方案腳本中予以說明。A、業務需求B、功能需求C、非功能需求D、用戶需求2、需求分析最終結果是產生(B)A、項目開發計劃B、需求規格說明書C、設計說明書D、可行性分析報告3、需求分析階段的主要任務是(A)。A、確定軟件系統的功能B、確定軟件開發方法C、確定軟件開發費D、確定軟件開發工具4、在結構化分析方法中,用以表達系統內數據流的流向的工具是(A)。A.數據流圖 B.數據詞典 C.結構化英語 D.判定表與判定樹5、時序圖反映對象之間發送消息的時間順序,它與(D)是同構的。A、用例圖B、類圖C、活動圖D、協作圖6、在各種不同的軟件需求中,功能需求描述了用戶使用產品必須要完成的任務,可以在用例模型或方案腳本中予以說明,(C)是從各個角度對系統的約束和限制,反映了應用對軟件系統質量和特性的額外要求。A、業務需求B、功能要求C、非功能需求D、用戶需求7、(A)意味著一個操作在不同的類中可以有不同的實現方式。A、多態性B、多繼承C、類的復用D、封裝8、(D)工具在軟件詳細設計過程中不采用。A、判定表B、IPO圖C、PDLD、DFD圖9、在面向對象軟件開發方法中,類與類之間主要有以下結構關系(B)A、繼承和聚集 B、繼承和一般C、聚集和消息傳遞 D、繼承和方法調用10、結構化程序設計主要強調的是(D)。A、程序的規模B、程序的效率C、程序設計語言的先進性D、程序易讀性11、以下哪一項不是面向對象的特征(D)A、多態性B、繼承性C、封裝性D、過程調用12、面向對象模型主要由以下哪些模型組成(A)A、對象模型、動態模型、功能模型B、對象模型、數據模型、功能模型C、數據模型、動態模型、功能模型D、對象模型、動態模型、數據模型13、以下哪種屬于精確的用戶需求描述(A)A、系統的響應時間不能超過3秒B、系統必須用菜單驅動C、在數據錄入界面,應該有10個按鈕D、電梯應平穩運行14、在數據流圖中,橢圓代表(C)A、源點B、終點C、加工D、模塊15、下列(B)不是軟件需求說明書性能描述包含的內容。A、預期的軟件響應B、測試種類C、設計的限制D、性能參數16、軟件定義期間的問題定義階段涉及的人員有(D)。A、用戶、使用部門負責人B、軟件開發人員、用戶、使用部門負責人C、系統分析員、軟件開發人員D、系統分析員、軟件開發人員、用戶與使用部門負責人17、不適于作為數據流圖處理(加工)框名稱的是(B)。A、人工校核工資數據 B、工資支票數據C、打印工資支票 D、計算職工工資18、SA方法在描述方式上的特點,是盡量采用(C)。A、自然語言 B、形式語言 C、圖形表示 D、表格19、OOA模型規定了一組對象如何協同才能完成軟件系統所指定的工作。這種協同在模型中是以表明對象通信方式的一組(A)連接來表示的。A、消息B、記錄C、數據D、屬性20、進行需求分析可使用多種工具,但(B)是不適用的。A、數據流圖B、判定表C、PAD圖D、數據詞典21、對象類之間的聚集關系就是(B)關系。A、一般特殊 B、整體-部分 C、相互依賴 D、層次構造22、用于描述對象模型的工具是(D)。A、數據流圖B、結構圖C、狀態圖D、對象圖23、結構化程序設計主要強調的是(D)。A、程序的規模B、程序的效率C、程序設計語言的先進性D、程序易讀性24、對象類之間的聚集關系就是(B)關系。A、一般特殊 B、整體-部分 C、相互依賴 D、層次構造25、結構化分析SA是軟件開發需求分析階段所使用的方法,(B)不是SA所使用的工具。A、DFD圖B、PAD圖C、結構化英語D、判定表26、數據流圖中,當數據流向或流自文件時,(B)。A、數據流要命名,文件不必命名

B、數據流不必命名,有文件名就足夠了

C、數據流和文件均要命名,因為流出和流進數據流是不同的

D、數據流和文件均不要命名,通過加工可自然反映出27、需求分析是由分析員經了解用戶的要求,認真細致地調研、分析,最終應建立目標系統的邏輯模型并寫出(B)。A、模塊說明書B、需求分析說明書C、項目開發計劃D、合同文檔28分層數據流圖是一種比較嚴格又易于理解的描述方式,它的頂層描繪了系統的(A)。A、總貌B、細節C、抽象D、軟件的作者29、需求分析中開發人員要從用戶那里了解(A)A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規模30、對象實現了數據和操作的結合,使數據和操作(C)于對象的統一體中。A.結合B.隱藏C.封裝D.抽象31、軟件需求規格說明的內容不應包括(B)。A.主要功能 B.算法的詳細描述C.用戶界面及運行環境 D.軟件的性能32.結構化分析方法以數據流圖、(D)和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統模型。A、DFD圖B、PAD圖C、IPO圖D、數據字典33、分層的數據流圖中,父圖與子圖的平衡是指(D)的平衡。A、處理B、數據存儲C、外部項D、數據流34、數據流圖中,當數據流向或流自數據存儲時,(B)。A、數據流要命名,數據存儲不必命名

B、數據流不必命名,數據存儲要命名

C、數據流和數據存儲均應命名,因流進和流出的數據流可能不同

D、數據流和數據存儲都不必命名,因為從處理上可自然反映出來35、數據流圖是一種描述數據及其變換的圖形表示,在數據流圖上不允許出現(B)。A、數據流B、控制流C、文件D、加工36.數據字典是軟件需求分析階段的重要工具之一,它的基本功能是(A)。A、數據定義B、數據維護C、數據通訊D、數據庫設計37、系統需求分析階段的任務是分析系統的(D)。

A、數據要求B、功能要求C、性能要求D、A,B,C三方面38、結構化分析SA是軟件開發需求分析階段所使用的方法不是SA所使用的工具。BA、DFD圖B、PAD圖C、結構化英語D、判定表39、結構化分析方法以數據流圖、和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統模型。DA、DFD圖B、PAD圖C、IPO圖D、數據字典40、某模塊的輸入數據為某工廠中一個車間的生產產量表,通過該模塊可以計算出車間中生產工人的平均產量、統計產量前10名的人員名單,從內聚度來看,該模塊屬于(C)。

A、邏輯內聚B、通信內聚C、順序內聚D、功能內聚41.分層的數據流圖中,父圖與子圖的平衡是指(D)的平衡。A、處理B、數據存儲C、外部項D、數據流42.數據流圖中,當數據流向或流自數據存儲時,(B)。

A、數據流要命名,數據存儲不必命名

B、數據流不必命名,數據存儲要命名

C、數據流和數據存儲均應命名,因流進和流出的數據流可能不同

D、數據流和數據存儲都不必命名,因為從處理上可自然反映出來44.數據字典是軟件需求分析階段的重要工具之一,它的基本功能是(A)。A、數據定義B、數據維護C、數據通訊D、數據庫設計45數據字典是對數據流圖中出現的組成元素定義的集合,它不包括(A)條目。A、文件B、數據流C、加工D、I/O參數46.軟件需求分析的內容是(A)。A、確定開發的軟件應有哪些功能,應達到什么性能B、確定軟件的開發成本C、制定軟件開發的進度表D、確定軟件的總體結構47數據流圖的小說明中描述的最基本部分是(B)。

A、激發條件B、加工邏輯C、優先級D、執行頻率48.不適于作為數據流圖處理(加工)框名稱的是(B)。

A、人工校核工資數據B、工資支票數據C、打印工資支票D、計算職工工資49.系統需求分析階段的任務是分析系統的(D)。A、數據要求B、功能要求C、性能要求D、以上三方面50.系統開發的需求分析階段的重要工作之一是(A)。A、數據定義B、數據庫設計C、數據維護D、數據結構實現51.需求分析說明書不能作為(A)。A、可行性研究的依據B、用戶和開發人員之間的合同C、系統概要設計的依據D、軟件驗收測試的依據52、結構化系統分析中,處理邏輯可用(B)描述。A、數據字典B、數據流圖C、結構圖D、結構化語言53.、經調查,系統分析員給出有關問題的初略陳述,其中部分描述如下:某商場的采購部門要求每天開出定購清單,交采購員;倉庫管理員將此要求輸入系統,經庫存業務(進貸或出貸)處理后輸出。從這段描述可知該部分數據流圖中的外部項為(A)。A、采購員、倉庫管理員B、定購清單、庫存業務C、庫存業務D、定購清單、采購員54、下列敘述中,(B)不屬于數據字典的作用。A、作為編碼階段的描述工具B、為用戶與開發人員之間統一認識C、作為概要設計的依據D、為需求分析階段定義各類條目55、在面向對象軟件方法中,“類”是(D)。A、具有同類數據的對象的集合B、具有相同操作的對象的集合C、具有同類數據的對象的定義D、具有同類數據和相同操作的對象的定義56、數據流圖所描述的是實際系統的(A)。A、邏輯模型B、物理模型C、程序流程D、數據結構57、面向對象分析時,所標識的對象為(D)是錯誤的。A、與目標系統有關的物理實體B、與目標系統發生作用的人或組織的角色C、目標系統運行中需記憶的事件D、目標系統中環境場所的狀態58、.結構化系統分析主要是通過(D)進行分析的。A、算法分解B、控制結構分解C、數據結構分解D、處理功能分解59、需求分析中開發人員要從用戶那里了解(A)A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規模60、在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D)

A、概要設計

B、詳細設計C、可行性分析D、需求分析

二、填空題1、軟件需求是指用戶對目標軟件系統在功能、性能、行為、設計約束等方面的期望。2、需求分析階段的任務是確定待開發的軟件系統“做什么”。該階段的主要成果有主要成果有軟件需求規格說明書(或SRS)3、初步需求獲取技術的方法:訪談與會議、觀察用戶工作流程、分析人員和用戶組成聯合小組4、參加需求評審的人員應當有用戶、系統分析員、系統設計人員等5、DFD圖中,用方框表示外部實體、用橢圓表示轉換、用箭頭表示數據流、用雙線表示數據源6、數據流圖是目標系統中各個子功能及它們之間的數據流動的圖形表示。7、按照信息的流向、結構、和內容三個方面可以將現有的需求分析建模方法劃分為:面向信息流的分析、面向信息結構的分析和面向信息內容的分析三種。8、包之間存在兩種關系:依賴和構成;9、用例圖從用戶角度描述系統功能。靜態圖表示系統的靜態結構。行為圖描述系統的動態模型和組成對象間的交互關系。實現圖用于描述系統的物理實現。10、對象是現實世界中個體或事物的抽象表示,11、對象之間通過消息進行通信12、用例與用例之間存在兩種關系:使用和擴展關系13、類之間的關系:繼承、聚集、關聯和依賴14、面向對象的特征主要有多態性、繼承性和封裝性15、在需求分析中,可從有關問題的簡述中提取組成數據流圖的基本成分。通常問題簡述中的動詞短語將成為數據流圖中的加工(或處理)成分。三、判斷題1、在需求分析過程中,分析員要從用戶那里解決的最重要的問題是給該軟件提供哪些信息(×)。2、需求規格說明書在軟件開發中具有重要的作用,它也可以作為軟件可行性分析的依據(×)。3、面向對象的分析是面向計算機系統建立軟件系統的對象模型(錯)。4、在軟件開發的過程中,若能推遲暴露其中的錯誤,則為修復和改正錯誤所花費的代價就會降低。(×)5、在需求分析中,分析員要從用戶那里解決的最重要的問題是明確軟件做什么。(√)6、模型是對現實的簡化,建模是為了更好地理解所開發的系統。(√)7、用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現(√)8、數據字典是對數據流圖中的數據流,加工、數據存儲、數據的源和終點進行詳細定義。[×]9、快速原型模型可以有效地適應用戶需求的動態變化。[√]10、在面向對象的軟件開發方法中,每個類都存在其相應的對象,類是對象的實例,對象是生成類的模板。[×]12、某加工的輸入是一個數據流,該加工的輸出也必定是一個數據流(錯)13、在進行需求分析時同時考慮維護問題。(對)14、盡可能在軟件開發過程中保證各階段文檔的正確性。(對)15、判定表的優點是容易轉換為計算機實現,缺點是不能夠描述組合條件。(錯)四、問答題1、什么是需求分析,其任務是什么?答:需求分析:通過對應用問題及其環境的分析與理解,采用一系列的分析方法和技術,將用戶的需求逐步精確化、完全化、一致化,最終形成需求規格說明文檔的過程。(2)需求分析的任務就是準確地定義未來系統的目標,確定為了滿足用戶的需求系統必須做什么。用<需求規格說明書>規范的形式準確地表達用戶的需求。2、什么叫數據流圖?它有哪些組成部分?答:(1)數據流圖:是用來刻畫數據流和轉換的信息系統建模技術。它用簡單的圖形記號分別表示數據流、轉換、數據源以及外部實體。(2)組成部分:外部實體:位于軟件系統邊界之外的信息生產者或消費者,用方框表示轉換:轉換數據流的處理過程,用橢圓表示數據流:在轉換之間有向流動的數據項或數據項集合,用箭頭表示數據源:為一個或多個轉換提供數據源或數據存儲服務的緩沖區、文件或數據庫,用雙線表示。3、簡述SA方法的優缺點。答:(1)優點:SA方法是軟件需求分析中公認的、有成效的、技術成熟、使用廣泛的一種方法,該方法利用圖形等半形式化工具表達需求,簡明、易讀,也易于使用,為后一階段的設計、測試、評價提供了有利的條件。(2)SA方法的缺點:A:它沒有反映處理的順序,即控制流程。因此,不適合描述實時控制系統。B:SA方法使用DFD在分析與描述“數據要求”方面是有限的。C:DFD不是和描述人機界面系統的需求,對這一部分需用自然語言作補充。4、創建數據流模型應遵循哪些規則?答:應遵循的原則:(1)首先建立頂級數據流圖,其中只含有一個代表目標軟件系統整體處理功能的轉換。(2)對用戶需求的文字描述進行語法分析,其中的名詞和名詞短語構成潛在的外部實體、數據源或數據流,動詞構成潛在的處理功能。(3)采用通常的功能分解方法,按照“強內聚、松耦合”的原則逐個對處理功能進行精化;與此同時逐步完成對數據流的精化,并針對被精化的處理功能生成下一級數據流圖。(4)精化過程中必須維持各級數據流圖之間的數據流平衡。(5)精化過程應適可而止,避免涉及軟件設計細節。5、用例圖、狀態圖、協作圖、活動圖、順序圖在面向對象方法各起什么作用?答:(1)用例圖:從外部用戶角度描述系統功能,并指出各功能的操作者。(2)狀態圖:描述類的對象的動態行為。(3)協作圖:描述相互合作的對象間的交互關系,它描述的交互關系是對象間的消息連接關系(4)活動圖:描述系統為完成某項功能執行的操作序列。著重描述操作實現中完成的工作以及用例實例或對象中的活動。(5)順序圖:主要描述對象之間的動態合作以及合作過程中的行為次序,常用來描述一個用例的行為。五、名詞解釋1、軟件需求:是指用戶對目標軟件系統在功能、性能、行為、設計約束等方面的期望。2、需求分析:通過對應用問題及其環境的分析與理解,采用一系列的分析方法和技術,將用戶的需求逐步精確化、完全化、一致化,最終形成需求規格說明文檔的過程。3、抽象:是認識復雜現象過程中使用的思維工具,即抽出事物本質的共同的特征而暫不考慮它的細節,不考慮其它因素。4、數據流圖:是用來刻畫數據流和轉換的信息系統建模技術。它用簡單的圖形記號分別表示數據流、轉換、數據源以及外部實體。5、用例:從外部用戶的角度看,是執行者與目標軟件系統之間的一次典型的交互作用。六、應用題1、為開發一個鐵路自動售票系統(該系統預計從2004年使用到2014年),請從供選擇的答案中選出A、B、C、D和E的內容來完成下面的數據流圖(每空1分,共5分)(1)A~E的供選擇答案如下:①車次表;②接受;③售票記錄;④購票請求;⑤拒絕。A、B、C、D、E、A、購票請求B、接受C、拒絕D、車次表E、售票記錄2、某銀行的計算機儲蓄系統功能是:將儲戶填寫的存款單或取款單輸入系統,如果是存款,系統記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并打印出存款單給儲戶,如果是取款,系統計算清單給儲戶。畫出其中一層DFD。答:付款信息付款信息存款憑證存/取款信息登錄存折處理付款處理儲戶計時器賬號存款單無余拒付取款單儲戶核查時間結算單3、數據字典舉例:某高校可用的電話號碼有以下幾類:校內電話號碼由4位數字組成,第1位數字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,如果是本市電話再接著撥8位電話號碼(第1位不是0),如果是外地電話則先撥區碼(3~5位數字),再撥當地電話號碼(7或8位數字,第1位不是0)。請定義上述的電話號碼(描述其數據字內典)。答:電話號碼=「校內號碼|校外號碼]校內號碼=非零數字+3{數字}3校外號碼=[本市號碼|外地號碼])本市號碼=0+非零數字+7{數字}7外地號碼=0+區碼+當地號碼非零數字=[1|2|3|4|5|6|7|8|9]區碼=3{數字}5當地號碼=非零數字十6{數字}7數字=[0|1|2|3|4|5|6|7|8|9]第五章軟件設計一、選擇題1.結構設計是一種應用最廣泛的系統設計方法,是以(B)為基礎、自頂向下、逐步求精和模塊化的過程。A、數據流B、數據流圖C、數據庫D、數據結構2.概要設計的結果是提供一份。(A)

A、模塊說明書B、框圖C、程序D、數據結構3.變換型和事務型是程序結構的標準形式。從某處獲得數據,再對這些數據作處理,然后將結果送出是屬于(A)。

A、變換型B、事務型4、PAD(ProblemAnalysisDiagram)圖是一種(B)工具。

A、系統描述B、詳細設計C、測試D、編程輔助5.在軟件開發中,有利于發揮集體智慧的一種做法是(A)。

A、設計評審B、模塊化C、主程序員制D、進度控制6.在結構化程序設計思想提出以前,在程序設計中曾強調程序的①。現在,與程序的①相比,人們更重視程序的②。(F、E)①②A、安全性B、專用性C、一致性D、合理性E、可理解性F、效率7、下列有關系統結構圖的敘述中正確的是(D)。A、系統結構圖中反映的是程序中數據流的情況。B、系統結構圖是精確表達程序結構的圖形表示法。因此,有時也可將系統結構當作程序流程圖使用。C、一個模塊的多個下屬模塊在系統結構圖中所處的左右位置是無關緊要的。D、在系統結構圖中,上級模塊與其下屬模塊之間的調用關系用有向線段表示。這時,使用斜的線段和水平、垂直的線段具有相同的含義。8、確定測試計劃是在(A)階段制定的.A.總體設計B.詳細設計C.編碼D.測試9.在開發軟件時,(A)可用來提高程序員的工作效率。

A、程序開發環境B、操作系統的作業管理功能

C、編譯程序的優化功能D、并行運算的大型計算機10、1960年Dijkstra提倡的(D)是一種有效的提高程序設計效率的方法。A、標準化程序設計B、模塊化程序設計C、多道程序設計D、結構化程序設計11、內聚程度最低的是(A)內聚A.偶然B.過程C.順序D.時間12、概要設計的任務是決定系統中各個模塊的外部特性,即其(D)A、功能結構B、輸入輸出數據C、算法和使用數據D、A和B13、詳細設計的任務是決定每個模塊的(C)A、外部特性B、內部特性C、算法和使用數據D、功能和輸入輸出數據14、軟件的(A)設計又稱為總體結構設計,其主要任務是建立軟件系統的總體結構。

A、概要B、抽象C、邏輯D、規劃15.模塊本身的內聚是模塊獨立性的重要度量因素之一,在七類內聚中,具有最強內聚的一類是(D)。A、順序性內聚B、過程性內聚C、邏輯性內聚D、功能性內聚16、Jackson設計方法是由英國的M.Jackson提出的,它是一種面向(C)的設計方法。A、對象B、數據流C、數據結構D、控制結構17結構化程序設計思想的核心是要求程序只由順序、循環和(A)三種結構組成。

A、分支B、單入口C、單出口D、有規則GOTO18、在軟件研究過程中,CASE是(D)。A、指計算機輔助系統工程B、CAD和CAM技術的發展動力C、正在實驗室用的工具D、指計算機輔助軟件工程19、軟件(結構)設計階段文檔是(D)。

A、系統模型說明書B、程序流程圖

C、系統功能說明書D、模塊結構圖和模塊說明書20、結構化系統設計階段的目的是(A)。

A、獲得良好的軟件結構B、獲得可讀性好的程序

C、獲得滿足用戶需求的數據流圖D、獲得高效的算法21、要減少兩模塊之間的聯系,則(B)。

A、兩模塊之間的調用次數要盡量少

B、兩模塊之間直接傳遞的信息要盡量少

C、兩模塊應使用盡可能相同的全局變量

D、兩模塊應盡量共享相同的數據結構22、事務型結構數據流圖的特點是,將某一個加工的輸入分解成并行的數據流,通過(B)執行后面的加工。A、變換B、選擇C、合并D、聯接23、如果一個模塊要調用另一個模塊,在下列幾種方式中,采用(B)方式的塊間聯系小。

A、過程調用,傳遞控制參數B、過程調用,傳遞數據參數

C、直接引用,共用控制信息D、直接引用,共用數據信息24.軟件的結構化設計方法是以(C)為依據的模塊結構設計方法。

A、系統數據要求B、數據結構

C、數據流圖D、數據流25、結構化設計(SD)是軟件開發中常用的方法,使用SD方法可以得到(D)。

A、程序流程圖B、編程語言的源程序C、分層數據流圖和數據字典D、模塊結構圖26、模塊內部聯系最大的是(D)。A、順序內聚B、功能內聚C、通信內聚D、時間內聚27、將以下3種耦合性由弱到強的順序排列,正確的是(D)。

A、控制耦合數據耦合公共耦合B、數據耦合公共耦合控制耦合

C、公共耦合數據耦合控制耦合D、數據耦合控制耦合公共耦合28、在軟件的設計階段應提供的文檔是(A)。

A、軟件需求規格說明書

B、概要設計規格說明書和詳細設計規格說明書

C、數據字典及數據流圖D、源程序以及源程序的說明書28、.某模塊的功能是打印錄取通知書或不錄取通知書,調用模塊可通過向此模塊傳遞布爾標志信息決定本次調用執行哪種通知書的打印。這種模塊間的耦合稱為(D)。A、數據耦合B、混合耦合C、公共耦合D、控制耦合29、程序編寫(實現)階段完成的文檔有(B)。

A、詳細設計說明書、模塊開發宗卷B、詳細設計說明書、用戶手冊

C、模塊開發宗卷、操作手冊D、用戶手冊、操作手冊30軟件的(A)設計又稱為總體結構設計,其主要任務是建立軟件系統的總體結構。A、概要B、抽象C、邏輯D、規劃31、模塊本身的內聚是模塊獨立性的重要度量因素之一,在七類內聚中,(D)具有最強內聚的一類是。A、順序性內聚B、過程性內聚C、邏輯性內聚D、功能性內聚32、結構化系統設計階段的目的是(A)。

A、獲得良好的軟件結構B、獲得可讀性好的程序

C、獲得滿足用戶需求的數據流圖D、獲得高效的算法33、一個模塊直接引用另一個模塊中的數據,則兩個模塊之間可能的耦合是(D)A、公共耦合 B、數據耦合 C、邏輯耦合D、內容耦合34、一個模塊通過公共數據結構把數據傳送給另一個模塊,則兩個模塊之間可能的耦合是(A)A、公共耦合 B、數據耦合 C、邏輯耦合D、內容耦合35、在詳細設計階段,經常采用的工具有(A)A.PADB.SAC.SCD.DFD36、結構化程序設計主要強調的是(D)A.程序的規模B.程序的效率C.程序設計語言的先進性D.程序易讀性37、源程序的版面文檔要求應有變量說明、適當注釋和(B)。A、框圖B、統一書寫格式C、修改記錄D、編程日期38、(A)意味著一個操作在不同的類中可以有不同的實現方式。A、多態性B、多繼承C、類的可復用D、信息隱蔽39、時序圖反映對象之間發送消息的時間順序,它與(D)是同構的。A、用例圖B、類圖C、活動圖D、協作圖40、(A)意味著一個操作在不同的類中可以有不同的實現方式。A、多態性B、多繼承C、類的復用D、封裝41、為了提高模塊的獨立性,模塊內部最好是(C)A、邏輯內聚B、時間內聚C、功能內聚D、通信內聚42、SD方法設計的結果是(D)。A、源代碼B、偽代碼C、模塊D、模塊結構圖43、(D)工具在軟件詳細設計過程中不采用。A、判定表B、IPO圖C、PDLD、DFD圖44、在面向對象軟件開發方法中,類與類之間主要有以下結構關系(B)A、繼承和聚集 B、繼承和一般C、聚集和消息傳遞 D、繼承和方法調用45、結構化程序設計主要強調的是(D)。A、程序的規模B、程序的效率C、程序設計語言的先進性D、程序易讀性46、以下哪一項不是面向對象的特征(D)A、多態性B、繼承性C、封裝性D、過程調用47、軟件詳細設計的主要任務是確定每個模塊的(A)A、算法和使用的數據結構B、外部接口C、功能D、編程48、軟件結構圖的形態特征能反映程序重用率的是(C)A、深度B、寬度C、扇入D、扇出49、為了提高模塊的獨立性,模塊內部最好是(C)A、邏輯內聚B、時間內聚C、功能內聚D、通信內聚50、軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在(A)A、調用關系B、組成關系C、鏈接關系D、順序執行關系51、模塊內聚度越高,說明模塊內各成份彼此結合的程度越(B)。A、松散B、緊密C、相等D、無法判斷52、軟件設計階段的輸出主要是(D)。A、程序B、模塊C、偽代碼D、設計規格說明書53、SD方法設計的結果是(D)。A、源代碼B、偽代碼C、模塊D、模塊結構圖54、在軟件開發和維護的過程中,為了定量地評價軟件質量,必須對軟件特性進行(B)。A、測試B、度量C、評審D、維護55、面向對象程序設計中,基于父類創建的子類具有父類的所有特性(屬性和方法),這一特點稱為類的(C)。A、多態性B、封裝性C、繼承性D、重用性56、從工程管理的角度來看。軟件設計分兩步完成(D)A、①系統分析②模塊設計B.①詳細設計②總體設計。C.①模塊設計②詳細設計D.①總體設計②詳細設計58、OOA模型規定了一組對象如何協同才能完成軟件系統所指定的工作。這種協同在模型中是以表明對象通信方式的一組(A)連接來表示的。A、消息B、記錄C、數據D、屬性59、用于描述對象模型的工具是(D)。A、數據流圖B、結構圖C、狀態圖D、對象圖60、內聚是從功能角度來度量模塊內的聯系。一個子程序中,兩個操作只是使用相同數據,而不存在其它任何聯系時的內聚關系為(B)。A、邏輯內聚B、通信內聚C、過程內聚D、順序內聚61、(C)不屬于概要設計所解決的問題范圍。A、確定模塊的層次結構B、全程數據結構的設計C、描述系統的功能與性能 D、修改用戶手冊62、變換型數據流圖通常是(A)形態。A、線性B、層次C、網狀D、無規則63、JSP方法是一種面向(D)的設計方法。A、對象B、數據流C、控制結構D、數據結構64、結構化程序設計主要強調的是(D)。A、程序的規模B、程序的效率C、程序設計語言的先進性D、程序易讀性66、軟件(結構)設計階段文檔是(D)。A、系統模型說明書B、程序流程圖C、系統功能說明書D、模塊結構圖和模塊說明書67、事務型結構數據流圖的特點是,將某一個加工的輸入分解成并行的數據流,通過(B)執行后面的加工。

A、變換B、選擇C、合并D、聯接68、如果一個模塊要調用另一個模塊,在下列幾種方式中,采用(B)方式的塊間聯系小。

A、過程調用,傳遞控制參數B、過程調用,傳遞數據參數

C、直接引用,共用控制信息D、直接引用,共用數據信息69、軟件的結構化設計方法是以(C)為依據的模塊結構設計方法。

A、系統數據要求B、數據結構C、數據流圖D、數據流70、在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是(C)

A、詳細設計B、需求分析C、總體設計

D、編程調試

二、填空題1、軟件設計過程是以需求分析階段的成果為前提和基礎,對程序結構、數據結構和過程細節逐步求精、復審并編制文檔的過程2、系統設計階段的任務是確定待開發的軟件系統“怎么做”。3、模塊獨立性設計的標準是:模塊化、抽象、信息隱藏和逐步求精4、從技術上看,不論采用何種軟件設計方法都將產生:系統的總體結構設計、系統的數據設計和系統的過程設計5、從工程管理的角度看,軟件設計可分為概要設計和詳細設計兩大步驟。6、信息流分為變換流、事務流兩種。相應的結構化設計也分為變換分析設計和事務分析設計。7、變換分析是一個順序結構,由輸入、變換和輸出三部分組成8、良好的軟件結構通常應該是:頂層扇出較高,中層扇出較低,底層高扇入到公共的實用模塊中(填高或低)9、當數據流具有明顯的事務特征時,即能找到一個事務和一個事務中心,采用事務分析法更為適宜。10、面向數據流的設計是以需求分析階段產生的數據流圖為基礎,按一定的步驟映射成軟件結構圖。11、軟件結構是以模塊為基礎而組成的一種控制層次結構。12、耦合性和內聚性是衡量模塊獨立性的兩個定性的標準三、判斷題1、在軟件開發的過程中,若能推遲暴露其中的錯誤,則為修復和改正錯誤所花費的代價就會降低。(×)2、進行總體設計時加強模塊間的聯系。(×)3、用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現(√)4當軟件開發項目的進度有可能拖延時,增加開發人員并不一定能加快進度。(√)5、軟件模塊之間的耦合性越弱越好。[√]6、模塊化,信息隱藏,抽象和逐步求精的軟件設計原則有助于得到高內聚,低耦合度的軟件產品。[√]7、在主存儲器能夠容納得下的前提下,應使模塊盡可能大,以便減少模塊的個數。(×)8、只要模塊之間的接口關系不變,各模塊內部實現細節的修改將不會影響別的模塊。(√)9、在面向對象的軟件開發方法中,每個類都存在其相應的對象,類是對象的實例,對象是生成類的模板。(×)10、軟件需求分析的任務是建立軟件模塊結構圖。(×)11、模塊之間的接口叫做數據文件。(×)12、盡可能在軟件開發過程中保證各階段文檔的正確性。(√)13、進行概要設計時盡量加強模塊間的聯系。(×)14、判定表的優點是容易轉換為計算機實現,缺點是不能夠描述組合條件。(×)15、信息隱蔽原則有利于提高模塊的內聚性。(√)四、簡答題1、什么是軟件概要設計?該階段的基本任務是什么?答:軟件概要設計:在需求分析的基礎上通過抽象和分解將系統分解成模塊,確定系統功能是實現,即把軟件需求轉換為軟件包表示的過程。

基本任務:

(1)設計軟件系統結構(簡稱軟件結構)

(2)數據結構及數據庫設計

(3)編寫概要設計文檔(文檔主要有:概要設計說明書、數據庫設計說明書、用戶手冊、修訂測試計劃)

(4)評審

2、衡量模塊獨立性的兩個標準是什么?它們各表示什么含義?

答:兩個定性的度量標準:耦合與內聚性

耦合性:也稱塊間聯系。指軟件系統結構中各模塊間相互聯系緊密程度的一種度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差。

內聚性:也稱塊內聯系。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。模塊內元素聯系越緊密,內聚性越高。

3、.什么是模塊的影響范圍?什么是模塊的控制范圍?它們之間應該建立什么關系?

答:

模塊的影響范圍:受該模塊內的一個判定影響的所有模塊的集合。

模塊的控制范圍:模塊本身及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。

一個模塊的影響范圍應在其控制范圍之內,且判定所在的模塊應與受其影響的模塊在層次上盡量靠近。

4、軟件概要設計階段的基本任務是什么?答:(1)設計軟件系統結構:將一個復雜的系統按功能劃分成模塊。確定每個模塊的功能、模塊之間的調用關系、模塊之間傳遞的信息,評價模塊結構的質量。(2)數據結構及數據庫設計,漢數據結構的設計及數據庫的設計。(3)編寫概要設計文檔。主要有:概要設計說明書;數據庫設計說明書;用戶手冊;修訂測試計劃。)(4)評審。5、詳細設計的基本任務是什么?答:(1)詳細設計是軟件設計的第二階段,其基本任務有:為每個模塊進行詳細的算法設計;為模塊內的數據結構進行設計;對數據庫進行物理設計,即確定數據庫的物理結構;其它設計,根據軟件系統類型,還可能要進行代碼設計、輸入/輸出格式設計、人機對話設計;編寫詳細設計說明書;評審。6、簡述SD方法將數據流圖轉換為軟件結構的一般步驟答:(1)確定信息流的類型;劃定流界;將數據流圖映射為程序結構(涉及信息流的類型,信息流分為變換流和事務流);提取層次控制結構;(5)通過設計復審和使用啟發式策略進一步精化所得到的結構。7、什么是模塊的影響范圍?什么是模塊的控制范圍?他們之間應該建立什么關系?一個模塊的作用范圍(或稱影響范圍)指受該模塊內一個判定影響的所有模塊的集合。一個模塊的控制范圍指模塊本身以及其所有下屬模塊(直接或間接從屬于它的模塊)的集合。一個模塊的作用范圍應在其控制范圍之內,且判定所在的模塊應在其影響的模塊在層次上盡量靠近。如果再設計過程中,發現模塊作用范圍不在其控制范圍之內,可以用“上移判點”或“下移受判斷影響的模塊,將它下移到判斷所在模塊的控制范圍內”的方法加以改進。8、什么是“類”?“類”與傳統的數據類型有什么關系?有什么區別?答:把具有相同特征和行為的對象歸在一起就形成了類。類成為某些對象的模板,抽象地描述了屬于該類的全部對象的屬性和操作。屬于某個類的對象叫做該類的實例。對象的狀態則包含在它的實例變量,即實例的屬性中。類定義了各個實例所共有的結構,類的每一個實例都可以使用類中定義的操作。實例的當前狀態是由實例所執行的操作定義的。類,就它是一個數據值的聚合的意義上來看,與Pascal中的記錄或C中的結構類似,但又有差別。類擴展了通常的記錄語義,可提供各種級別的可訪問性。也就是說,記錄的某些成份可能是不可訪問的,而這些成份對于本記錄型來說具有可訪問性。類不同于記錄,因為它們包括了操作的定義,這些操作與類中聲明的數據值有相同的地位。五、名詞解釋1、模塊獨立性:指軟件系統中每個模塊完成一個相對獨立的特定功能,而和軟件系統中其它模塊之間的關系(接口)很簡單的特性。2、結構化設計:面向數據流的設計是以需求分析階段產生的數據流圖為基礎,按一定的步驟映射成軟件結構,因此又稱結構化設計(SD)。3、模塊:又稱構件,是能夠單獨命名并獨立地完成一定功能的程序語句的集合。4、內聚度:內聚度是模塊獨立性的衡量標準之一,它是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。5、耦合度:對軟件結構中模塊間關聯程度的一種度量。6、模塊的控制:模塊本身及其所有的從屬模塊。7、模塊的作用域:模塊內一個判定的作用范圍,凡是受這個判定影響的所有模塊都屬于這個判定的作用域。六、綜合應用題1、某廠對部分職工重斷分配工作的政策是:年齡在20歲以下者,初中文化程度脫產學習,高中文化程度當電工。20歲至40歲之間,中學文化程度男性當鉗工,女性當車工,大學文化程度都當技術員。年齡在40歲以上者,中學文化程度當材料員,大學文化程度當技術員。請用判定樹描述上述問題的加工邏輯。答:2、航空公司規定:乘客可以免費攜帶重量不超過20公斤的行李。重量超過20公斤時,對超運部分收費,收費標準為:頭等艙國內乘客收4元/公斤;其它艙位國內乘客收6元/公斤;外國乘客收費為國內乘客的2倍;殘疾乘客的收費為正常乘客的1/2。請用判定樹對行李費用計算進行描述。(9分)3、某單位住房分配方案如下:所有住戶50平方米以內每平方米1000元,超過50平方米后,在本人住房標準面積以內每平方米1500元,其中住房標準為:教授105平方米,副教授90平方米,講師75平方米,標準面積以外每平方米4000元,請用判定樹表示各條件組合與費用之間的關系。住房分配方案住房分配方案S<=50:M=1000*Ss>50教授副教授講師S<=105:M=1000*50+(S-50)*1500S>105:M=1000*50+(105-50)*1500+(S-105)*4000S<=90:M=1000*50+(S-50)*1500S>90:M=1000*50+(90-50)*1500+(S-90)*4000S<=75:M=1000*50+(S-50)*1500S>75:M=1000*50+(75-50)*1500+(S-75)*40004、根據模塊的作用范圍與控制范圍的原則,請判定a、b兩圖中哪一個是合理的結構圖(陰影表示作作范圍)。答:顯然,圖(a)不滿足作用范圍與控制范圍的原則,因為模塊F的作用范圍不在控制范圍之內。(a)(b)5、根據模塊的作用范圍與控制范圍的原則,請判定a、b兩圖中哪一個是合理的結構圖(陰影表示作作范圍)。(a)(b)答:顯然,圖(a)不滿足作用范圍與控制范圍的原則,因為模塊F的作用范圍不在控制范圍之內。6、將下面的DFD圖轉換為程序結構圖。AABCDEFGH解:輸入流控制模塊輸入流控制模塊主控模塊BDACEFGH7、將下面的DFD圖轉換為程序結構圖fdfdcbacbagege解:輸出控制輸出控制bac主控模塊gfde第六章編碼一、選擇題1.結構設計是一種應用最廣泛的系統設計方法,是以(B)為基礎、自頂向下、逐步求精和模塊化的過程。A、數據流B、數據流圖C、數據庫D、數據結構2.概要設計的結果是提供一份。(A)

A、模塊說明書B、框圖C、程序D、數據結構3.變換型和事務型是程序結構的標準形式。從某處獲得數據,再對這些數據作處理,然后將結果送出是屬于(A)。

A、變換型B、事務型4、PAD(ProblemAnalysisDiagram)圖是一種(B)工具。

A、系統描述B、詳細設計C、測試D、編程輔助5.在軟件開發中,有利于發揮集體智慧的一種做法是(A)。

A、設計評審B、模塊化C、主程序員制D、進度控制6.在結構化程序設計思想提出以前,在程序設計中曾強調程序的①。現在,與程序的①相比,人們更重視程序的②。(F、E)①②A、安全性B、專用性C、一致性D、合理性E、可理解性F、效率7、注釋是提高程序可讀性的有效手段,好的程序注釋占到程序總量的(D)。

A、1/6B、1/5C、1/4D、1/39.在開發軟件時,(A)可用來提高程序員的工作效率。

A、程序開發環境B、操作系統的作業管理功能

C、編譯程序的優化功能D、并行運算的大型計算機10、軟件設計階段可劃分為(①)設計階段和(②)設計階段,用結構化設計方法的最終目的是使(③),用于表示模塊間調用關系的圖叫(④)(F,D,C,C)①②A、邏輯B、程序C、特殊D、詳細E、物理F、概要③A、塊間聯系大,塊內聯系大B、塊間聯系大,塊內聯系小C、塊間聯系小,塊內聯系大D、塊間聯系小,塊內聯系小④A、PADB、HCPC、SCD、SADTE、HIPOF、NS11、概要設計的任務是決定系統中各個模塊的(A,),即其(.D)

A、外部特性B、內部特性C、算法和使用數據

D、功能和輸入輸出數據12、下列敘述中(B)不符合程序設計風格指導原則。A、嵌套的重數應加以限制B、盡量多使用臨時變量C、使用有意義的變量名D、程序的格式應有助于讀者理解程序三、判斷題1、開發軟件就是編寫程序。(×)2、編程序時應盡可能利用硬件特點以提高程序效率.(×)3、盡可能使用高級語言編寫程序(√)4、編碼時盡量多用全局變量.(×)5、用CASE環境或程序自動生成工具來自動生成一部分程序.(√)6、GOTO語句概念簡單,使用方便,在某些情況下,保留GOTO語句反能使寫出的程序更加簡潔。(√)7、程序效率的提高主要應通過選擇高效的算法來實現。(√)8、程序設計比較方便,但比較難以維護。(×)9、便于由多個人分工編制大型程序。(√)10、允許使用二義性語句的語言在可理解性和可修改性上都要差一些。(√)第七章測試一、選擇題1、為了把握軟件開發各個環節的正確性和協調性,人們需要進行(A)和(B)工作。(A)的目的是想證實在一給定的外部環境中軟件的邏輯正確性。它包括(C)和(D),(B)則試圖證明在軟件生存期各個階段,以及階段間的邏輯(E)、(F)和正確性。供選擇的答案:A,B.①操作 ②確認 ③驗證④測試⑤調試C,D.①用戶的確認 ②需求規格說明的確認 ③程序的確認 ④測試的確認E,F.①可靠性 ②獨立性 ③協調性④完備性⑤擴充性答案:A.②B.③C.②D.③E.③F.④2、軟件測試的目的是(B)A、評價軟件的質量 B、發現軟件的錯誤C、找出軟件中的所有錯誤 D、證明軟件是正確的3、使用白盒測試方法時,確定測試數據應根據(A)和指定的覆蓋標準。A、程序的內部邏輯 B、程序的復雜程度C、使用說明書 D、程序的功能4、軟件的集成測試工作最好由(D)承擔,以提高集成測試的效果。供選擇的答案:A、該軟件的設計人員 B、該軟件開發組的負責人C、該軟件的編程人員 D、不屬于該軟件開發組的軟件設計人員5、提高測試的有效性非常重要,成功的測試是指(D)A.證明了被測試程序正確無誤B.說明了被測試程序符合相應的要求C.未發現被測程序的錯誤D.發現了至今為止尚未發現的錯誤6、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001.設計這組測試用例的方法是(C)A.條件覆蓋法B.等價分類法C.邊界值分析法D.錯誤推測法7、為了提高測試的效率,應該(D)A、隨機地選取測試數據B、取一切可能的輸入數據作為測試數據C、在完成編碼后制定軟件的測試計劃D、選擇發現錯誤可能性大的數據作為測試數據8、以下哪種測試方法不屬于白盒測試技術(B)A、基本路徑測試B、邊界值分析測試C、循環覆蓋測試D、邏輯覆蓋測試9、在下述哪一種測試中,測試人員必須接觸到源程序(C)Ⅰ功能測試Ⅱ結構測試A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ10、月收入<=1400元者免稅,現用輸入數1399、1400元和1401元測試程序,則采用的是(D)方法。A、條件覆蓋 B、等價類C、錯誤推測D、邊緣值分析11、軟件測試計劃開始于需求分析階段,完成于(D)階段。A、需求分析B、軟件設計C、軟件實現D、軟件測試12、為了提高測試的效率,應該(D)。A、隨機地選取測試數據B、取一切可能的輸入數據作為測試數據庫C、在完成編碼后制定軟件的測試計劃D、選擇發現錯誤可能性大的數據作為測試數據13、在驗收測試時,測試所依據的文檔是(B)。A、可行性報告B、系統(需求)說明書C、模塊說明書D、用戶手冊14、軟件測試方法中的靜態測試方法之一為(A)A.計算機輔助靜態分析B.黑盒法C.路徑覆蓋D.邊界值分析15、單元測試的測試用例主要根據(D)的結果來設計。A、需求分析B、源程序C、概要設計D、詳細設計16、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0≤X≤1.0。現從輸入角度考慮設計了一組測試該程序的測試用例為-1.0001,-1.0,1.0,1.0001。設計這組測試用例的方法是(C)。A、條件復蓋法B、等價分類法C、邊介值分析法D、錯誤推測法17、在集成(聯合)測試中,測試的主要目的是發現(C)階段的錯誤。A、軟件計劃B、需求分析C、設計D、編碼18、與設計測試數據無關的文檔是。(D)A、需求說明書B、設計說明書C、源程序D、項目開發設計19.排錯一般是在測試發現錯誤后進行,其中找到錯誤位置占排錯總工作量的(A)。A、95%B、5%C、50%D、20%20.軟件測試中設計測試實例主要由輸入數據和(C)兩部分組成。A、測試規則B、測試計劃C、預期輸出結果D、以往測試記錄分析21.結構化程序設計主要強調程序的(C)。A、效率B、速度C、可讀性D、大小22.成功的測試是指(B)。A、運行測試實例后未發現錯誤項B、發現程序的錯誤C、證明程序正確D、改正程序的錯誤23、軟件測試中設計測試用例主要由輸入數據和(C)兩部分組成。A.測試規則 B.測試計劃C.預期輸出結果 D.以往測試記錄分析24、單元測試是發現編碼錯誤,集成測試是發現模塊的接口錯誤,確認測試是為了發現功能錯誤,那么系統測試是為了發現(C)的錯誤。A、接口錯誤B、編碼錯誤C、性能、質量不合要求D、功能錯誤25、確認軟件的功能是否與需求規格說明書中所要求的功能相符的測試屬于(C)A、集成測試B、恢復測試C、驗收測試D、單元測試26、在軟件工程中,軟件測試的目的是(B)。A、試驗性運行軟件B、發現軟件錯誤C、證明軟件是正確的D、找出軟件中全部錯誤27、軟件工程中,只根據程序的功能說明而不關心程序內部邏輯的測試方法,稱為(C)測試。A、白盒法B、灰盒法C、黑盒法D、綜合法28、若有一個計算類型的程序,它的輸入量

溫馨提示

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

最新文檔

評論

0/150

提交評論