軟件工程期末復習資料2(1)_第1頁
軟件工程期末復習資料2(1)_第2頁
軟件工程期末復習資料2(1)_第3頁
軟件工程期末復習資料2(1)_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、精選文檔軟件工程復習資料選擇題,請從四個可選項中選擇正確答案。1.軟件工程學科消滅的主要緣由是(C。 A. 計算機的進展 B. 其他工程科學的影響 C. 軟件危機的消滅 D. 程序設計方法學的影響2、(A)是職業(yè)軟件工程師的必要條件。A.自律、擅長溝通、具有肯定的軟件技能 B.編程速度快C.生疏眾多的軟件環(huán)境 D.語言天賦3在E-R 模型中,包含以下基本成分( C)。A.數據、對象、實體B.把握、聯系、對象C.實體、屬性、聯系D.實體、數據、聯系4軟件需求分析產生一個重要文檔是(.B )。 A.軟件維護說明書 B.需求規(guī)格說明書 C.可行性報告 D.初步用戶手冊5內聚程度較低的是(D )。 A

2、.通信內聚 B.過程內聚 C.挨次內聚 D.時間內聚6概要設計是軟件系統結構的總體設計,以下選項中不屬于概要設計的是(D ) A.把軟件劃分成模塊 B確定模塊之間的調用關系 C.確定各個模塊的功能 D.設計每個模塊的偽代碼7、程序流程圖與數據流程圖的關系(A)。A不確定 B數據流程圖可以轉換成程序流程圖C數據調用關系 D程序流程圖可以轉換成數據流程圖8對象實現了數據和操作的結合,使數據和操作(D)于對象的統一體中。 A結合 B隱蔽 C封裝 D抽象9類有3種類型,即(B )。A.邊界類、實體類、把握類 B.實體類、把握類、界面類C.把握類、實體類、虛類 D.界面類、把握類、公共類10.(D )是

3、一般化類與特殊化類之間的一種關聯形式,設計時應當適當使用這種耦合。A.消息連接 B.參數傳遞 C.方法重寫 D.繼承11、軟件工程的爭辯內容具有層次化結構,最底層是質量保證層,中間層是(C),最上層是工具層。A.過程層B.方法層 C.過程層和方法層D.系統層12、可行性爭辯的四大要素是(D)。A.經濟、技術、法律和社會環(huán)境B.經濟、技術、開發(fā)組織力量和領導者水平C.經濟、技術、計算機硬件環(huán)境和網絡帶寬D.經濟、技術、軟件開發(fā)工具和人員的穩(wěn)定性13、針對需求不確定的軟件開發(fā),比較好的模型是(A)。 A.快速原型化模型 B.瀑布模型 C.軟件成熟度模型 D.系統化模型14下面的哪個選項不是軟件工程

4、的宗旨(D)。 A.開發(fā)滿足用戶需求的軟件 B.爭辯算法 C.準時交付軟件 D.生產無故障軟件15、針對需求不確定的軟件開發(fā),比較好的模型是(A)。 A.快速原型化模型 B.瀑布模型 C.軟件成熟度模型 D.系統化模型16、軟件結構圖中沒有(D)元素。 A模塊 B調用參數 C返回結果 D推斷17、結構化設計方法劃分模塊的原則是(C)。A模塊扇出小于5 B模塊扇入小于5 C低耦合,高內聚 D模塊深度小于718、配置視圖體現了系統的實現環(huán)境,反映系統的(B)。A.規(guī)律架構 B.物理架構 C.組成結構 D.體系結構19、角色可以有四種類型:系統的使用者,硬件設備,外部系統和(D)。A.數據庫 B.接

5、口 C.對象 D.時間20、功能模型用于表達系統的需求,為軟件的進一步分析和設計打下基礎。在面對對象方法中,由(.C )實現。A.場景描述 B.活動圖和場景描述 C.用例圖和場景描述 D.交互圖和場景描述21結構化程序設計主要強調的是(D )。A.程序的規(guī)模 B.程序效率 C.程序語言的先進性 D.程序易讀性22、對用例進行設計,發(fā)覺實現用例功能的(D),確定類之間的關系。A.算法 B.業(yè)務流程 C.數據結構 D.關鍵類23、框架是一組可用于不同應用的(A)的集合。A.類 B.數據結構 C.函數 D.過程24、從狹義上講,軟件測試是(.D)的過程。A. 為發(fā)覺錯誤而執(zhí)行程序 B.為了驗證程序正

6、確 C.用不同的數據驗證程序正確性 D.區(qū)分程序員水平25、在設計黑盒測試用例時,主要爭辯(.D)。A. 概要設計說明書B.具體設計說明C.項目開發(fā)方案D.需求規(guī)格說明26、(B)時,測試人員必需接觸到程序源代碼。A、黑盒測試 B、白盒測試C、壓力測試 D、外觀測試27、一般維護程序代碼的策略(B)。A. 從需求開頭重新開發(fā)B.依據維護申請讀源程序,并修改C.找一個新的模塊替換 D. 不用讀源程序,從新編寫代碼28、Gantt圖直觀簡明、易學易用,但它不能(A)。A.直接反應任務間的依靠關系和關鍵路徑B.反應任務的分解狀況C.直接反應任務的起止日期D.反應具體任務的時間段29、(D)針對開發(fā)過

7、程中的程序、數據、文檔提出訪用和管理策略。A組織管理 B過程管理 C風險管理 D軟件配置管理30、程序的三種基本把握結構,包括挨次結構、(A)和循環(huán)結構。A.推斷結構 B.說明結構 C.輸入結構 D.輸出結構31、在分析模型內表示協調、挨次、事務處理以及把握其他對象的類是(.C)。A.把握類 B.組件類 C.主函數 D.事務類32、信息隱蔽的核心內容是(D)。A把數據都放在公共的區(qū)域B數據不能被其他模塊訪問C一個模塊的內部信息不允許其他模塊直接訪問D把信息加密,只能讓有密鑰的模塊訪問33、面對過程的方法最關懷的是過程,而過程實施的對象是作為過程(D)傳遞的。A.參數 B.主體 C.過程 D.數

8、據結構34、測試用例是一組(.A)。A.測試用的輸入數據以及對應的預期結果B.測試驅動程序 C.測試數據 D.測試程序及數據35、由于面對對象中的繼承和消息機制,使得軟件測試(B)。A.更加簡潔 B.更加簡單 C.沒變 D.不確定36、軟件維護過程中產生的副作用,一般是由(B)引起的。A.算法說明 B.修改程序 C.優(yōu)先級 D.環(huán)境要求37、項目方案活動的主要任務是(D)。A.估算項目的進度 B.安排工作量 C.方案資源使用 D.以上全部38、假如程序代碼的(C)好,則調試的成本就可以大幅度降低。A.性能比 B.可擴充性C.可讀性D.可移植性39、兩個浮點數X0和X1比較相等時,應當用(.C)

9、比較。A.X0=X1 B.X1-X0< C.|X0-X1|< D.X0=X140、瀑布模型存在的問題是(D )。A用戶簡潔參與開發(fā)B適用可變需求 C用戶與開發(fā)者易溝通D缺乏機敏性41. 可行性爭辯的主要任務是(C)。A.確定系統做什么 B. 確定性能 C.確定功能 D. 進行一次簡要的需求分析42、用戶需求描述的是(A)。A.用戶使用該軟件要完成的任務 B.業(yè)務需求 C.功能需求 D.軟件目標、規(guī)模和范圍43、數據流程圖的主要作用是(B)。A.描述模塊組成 B.說明用戶數據結構 C.描述軟件功能 D. 建筑系統的規(guī)律模型44、業(yè)務需求描述的是(D)。A.功能需求 B.用戶需求 C.

10、用戶的具體業(yè)務流程 D.軟件的目標、規(guī)模和范圍45、一個數據流程圖中的圖形符號有且僅有(C)種。A.3 B.5 C.4 D.746、非直接耦合的模塊獨立性最強,(A)的模塊獨立性最弱。A內容耦合 B數據耦合 C把握耦合 D外部耦合47、信息隱蔽的核心內容是(C)。A把數據都放在公共的區(qū)域B數據不能被其他模塊訪問C一個模塊的內部信息不允許其他模塊直接訪問D把信息加密,只能讓有密鑰的模塊訪問48、面對過程的方法最關懷的是過程,而過程實施的對象是作為過程(A)傳遞的。A.參數 B.主體 C.過程 D.數據結構49、(C)用于描述系統的功能集。A. 組件視圖 B.規(guī)律視圖 C. 用例視圖 D.對象視圖

11、50、用(D)模型描述系統組織結構。A.組織 B.CMM C.數據 D.靜態(tài)51、下面的哪個選項不是軟件工程的宗旨(D )。A.開發(fā)滿足用戶需求的軟件 B.爭辯算法 C.準時交付軟件 D.生產無故障軟件52、軟件開發(fā)活動的挨次應當是(A )。A.問題定義、可行性爭辯、需求分析、設計、編碼和測試。B.問題定義、設計、可行性爭辯、編碼和測試。C.需求分析、設計、編碼和測試。D.需求分析、編碼和測試、試運行。53、假定銀行的存款年利率是2%,請問現在存5000元,兩年后價值應為( A )元。A.5202 B.4500 C.5100 D.471254、系統物理模型用( A)表示。A.系統流程圖 B.數

12、據流程圖 C.程序流程圖 D.E-R圖55需求規(guī)格說明書的作用不包括 (C )A.軟件驗收的依據 B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件可行性爭辯的依據 D.軟件設計的依據56進行需求分析有的多種描述工具,但不包括( C)。A.數據流圖 B.判定表 C.PAD圖 D.數據詞典57反映模塊獨立性的指標是(D )。A.模塊的簡單性 B.模塊的大小 C.模塊的參數 D.內聚和耦合58兩個模塊都訪問一個全局簡潔變量而不是同一全局數據結構,則這兩個模塊屬于(.B )。A.數據耦合 B.外部耦合 C.公共耦合 D.內容耦合59下列哪個不是UML的視圖(B )A.規(guī)律視圖 B.行為視圖 C.組件

13、視圖 D.并發(fā)視圖60、用( B)模型分析和定義用戶的功能需求。 A.數據 B.靜態(tài) C. 動態(tài) D.用例61、對象模型描述現實世界中實體的對象以及它們之間的關系,表示目標系統的靜態(tài)數據結構。在面對對象方法中,由(A)實現。A.挨次圖 B.類圖 C.狀態(tài)圖 D.組件圖62、假如對象之間的耦合是通過(D)來實現的,則這種耦合就是交互耦合。A.消息機制 B.參數 C.方法 D.公共數據區(qū)63動態(tài)模型描述系統的動態(tài)結構和對象之間的交互,表示瞬時的、行為化的系統“把握”特性。面對對象方法中,常用(D )實現。A.狀態(tài)圖 B.交互圖 C.活動圖 D.以上全部64不適合作為數據處理與數據庫應用的語言是(

14、C)A. SQL B. Cobol C. 4GL D. Lisp65軟件工程中,只依據程序的功能說明而不關懷程序內部規(guī)律的測試方法,稱為( C)測試。A.白盒法 B.灰盒法 C.黑盒法 D.綜合法66若有一個計算類型的程序,它的輸入量只有一個X,其范圍是-1.0,1.0,現從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是(C )。A.條件掩蓋法 B.等價分類法 C.邊界值分析法D.錯誤推想法67即使軟件能順當運行,但用戶往往會提出增加新功能或改進已有功能的建議,為滿足這一類要求而進行的活動稱為( A)。A.完善性維護 B.預防性維護 C.適應性

15、維護 D.代碼重構68. 可維護性的特性中,相互沖突的是(B )。A.可理解性與可測試性 B.效率與可修改性C.可修改性與可理解性 D.可理解性與可讀性69.不屬于軟件項目管理的是( A)。A.軟件銷售利潤 B.項目風險評估 C.質量監(jiān)控 D. 開發(fā)機構力量評估70.(C )針對開發(fā)過程中的程序、數據、文檔提出訪用和管理策略。A組織管理 B過程管理 C軟件配置管理 D風險管理 71、動態(tài)模型描述系統的動態(tài)結構和對象之間的交互,表示瞬時的、行為化的系統“把握”特性。面對對象方法中,常用(D )實現。 A.狀態(tài)圖 B.交互圖 C.活動圖 D.以上全部72、面對對象分析和設計的界限是(B),從分析到

16、設計是一個漸漸擴充模型的過程。 A.清楚的 B.模糊的 C.非線性的 D.確定的73、每個子系統的接口定義了若干( A),體現了子系統的功能,而功能的具體實現方法應當是隱蔽的。 A. 操作 B.參數 C.算法 D.把握74、測試最早的開頭時間是( C )。 A.從具體設計階段開頭 B.從編碼階段開頭 C.從需求分析階段開頭 D.以上都對75、從測試對象的粒度上劃分測試為(C )。 A.單元測試、集成測試 B.壓力測試、功能測試、性能測試和系統測試 C.單元測試、集成測試、系統測試和驗收測試 D.黑盒測試、白盒測試、功能測試和性能測試76、( B)不符合軟件測試原則。 A.對每個測試結果進行檢查

17、,不漏掉已經消滅的錯誤跡象 B程序員應當認真測試自己編寫的程序代碼 C.程序員要避開測試自己編寫的程序代碼 D.測試工作越早開頭越好77、引起軟件轉變的緣由主要有( D )。 A.運行環(huán)境變化 B. 需求變化 C.系統有錯 D.以上全部78、( C)針對開發(fā)過程中的程序、數據、文檔提出訪用和管理策略。 A組織管理 B過程管理 C軟件配置管理 D風險管理 79為了適應軟硬件環(huán)境變化而修改軟件的過程是( C)。A.校正性維護 B.完善性維護 C.適應性維護 D.預防性維護80通俗的說,軟件項目管理中常說的基線是( D)。A.管理的基本思路 B.一種軟件開發(fā)的基本策略C.基本的技術路線 D. 通過正

18、式復審的文檔簡答題1、 試從軟件的特點動身分析軟件危機產生的緣由。1、答案軟件是一種規(guī)律實體,具有抽象性,無法看到軟件本身的形態(tài),必需通過觀看、分析、思考和推斷才能了解它的功能和性能。軟件對硬件和環(huán)境有著不同程度的依靠性,這導致了軟件升級和移植的問題。計算機硬件和支撐環(huán)境不斷升級,為了適應運行環(huán)境的變化,軟件也需要不斷維護,并且維護的成本通常比開發(fā)成本高很多。軟件生產至今尚未擺脫手工方式,軟件開發(fā)的手工行為造就了一個致命的問題,就是為應用“量身訂做”軟件。長期以來,軟件給人的感覺是修改幾條指令很簡潔,客戶總是強調軟件要適應自己的業(yè)務需求。因此,軟件產品大多是為客戶“訂做”的,通用性差。軟件涉及

19、人類社會的各行各業(yè),經常涉及一些行業(yè)學問,這對軟件工程師提出了很高的要求。軟件是與文學藝術作品相像的精神作品,與體力勞動相比,精神活動過程的特點是“不行見性”,這大大增加了組織管理上的困難。2、 評分標準:同學只要寫出三個特點就給滿分,少一個減2分。2、答案軟件生命周期是一個軟件從提出開發(fā)要求到廢棄為止的整個時期。軟件生命周期可分為8個階段:問題定義、可行性分析、需求分析、概要設計、具體設計、編碼、系統測試和運行維護評分標準:每個問題給 3分。3、 什么是軟件生命周期?他分為哪幾個階段?3、一個程序片段如下,請設計符合條件組合掩蓋的測試用例。if (a>=4) && (b

20、<0) c=a+b;else c=a-b;if (c>3) | (c<1) printf(“c不在計算區(qū)域n”);else printf(“%dn”, c);3、答案a>=4 b<0a>=4 b>=0a<4 b<0a<4 b>=0c>3c<=3c<1c>=1綜合以上條件組合,設計測試用例如下(留意結果不唯一,只要滿足上面的組合條件即可):a=4 b=-1 c=3a=4 b=0 c=4a=-1 b=-1 c=0a=2 b=0 c=2評分標準:列出a,b四組數據各給1分,考慮c數據給2分。4、請說明對象模型的

21、作用是什么?4、答案對象模型:表示靜態(tài)的、結構化的系統“數據”性質。描述現實世界中實體的對象以及它們之間的關系,表示目標系統的靜態(tài)數據結構。在面對對象方法中,類圖是構建對象模型的核心工具。5. 為了提高軟件的可維護性,在軟件開發(fā)過程的各個階段怎樣充分考慮軟件的可維護性因素。5、答:(1)在需求分析階段應當明確維護的范圍和責任,檢查每條需求,分析維護時這條需求可能需要的支持,對于那些可能發(fā)生變化的需求要考慮系統的應變力量。(2)在設計階段應當做一些表更試驗,檢查系統的可維護性、機敏性和可移植性,設計時應當將今后可能變更的內容與其他部分分別出來,并且遵循高內聚、低耦合的原則。(3)編碼階段要保持源

22、程序與文檔的全都性、源程序的可理解性和規(guī)范性。(4)在測試階段測試人員應當依據需求文檔和設計文檔測試軟件的有效性和可用性,收集出錯信息并進行分類統計,為今后的維護打下基礎。6、面對對象的分析通常要建立三個模型,請問三個模型的作用?6、答案1)功能模型:表達系統的具體需求,為軟件的進一步分析和設計打下基礎。在面對對象方法中,由用例圖和場景描述組成。2)對象模型:表示靜態(tài)的、結構化的系統“數據”性質。描述現實世界中實體的對象以及它們之間的關系,表示目標系統的靜態(tài)數據結構。3)動態(tài)模型:描述系統的動態(tài)結構和對象之間的交互,表示瞬時的、行為化的系統的“把握”特性。7、軟件工程為什么要強調規(guī)范化和文檔化

23、?答:(1)軟件工程強調規(guī)范化和文檔化。規(guī)范化的目的是使眾多的開發(fā)者遵守相同的規(guī)范,使軟件生產擺脫個人生產方式,進入標準化、工程化的生產方式。(2)文檔化是將軟件的設計思想、設計過程和實現過程完整地記錄下來,以便于后人的使用和維護,在開發(fā)過程中各類相關人員借助于文檔進行溝通和溝通。另外,在開發(fā)過程中產生的各類文檔使得軟件的生產過程由不行見變?yōu)榭梢姡阌诠芾碚邔浖a進度和開發(fā)過程進行管理。在用戶最終驗收時可以通過對提交的文檔進行技術審查和管理審查,保證軟件的質量。8、簡述模塊獨立性,內聚與耦合。答:模塊獨立性, 是指軟件系統中每個模塊只涉及軟件要求的具體的子功能, 而和軟件系統中其它的模塊的

24、接口是簡潔的。一般接受兩個準則度量模塊獨立性。即模塊間耦合和模塊內聚。耦合是模塊之間的相互連接的緊密程度的度量。內聚是模塊功能強度(一個模塊內部各個元素彼此結合的緊密程度)的度量。模塊獨立性比較強的模塊應是高內聚低耦合的模塊。9、簡述在項目開發(fā)時選擇程序設計語言的主要考慮的因素。答:編程人員的水平和編程經受;待開發(fā)的軟件類型;算法和計算簡單性;數據結構的簡單性;軟件的開發(fā)成本和時間要求;軟件可移植性要求;可用的軟件工具。10、一個程序片段如下,請設計符合判定掩蓋的測試用例。if (a>=5) && (b<0) c=a+b;else c=a-b;if (c>5)

25、 | (c<1) printf(“c不在計算區(qū)域n”)else printf(“%dn”, c);10、答案條件:a>=5 b<0a>=5 b0c<11<c<5符合判定掩蓋的測試用例(不唯一):a=5,b=-1,c=4; a=5,b=5,c=0;評分標準:假如只列出條件給3分;給出兩組正確的測試用例各給3分11、請畫圖說明軟件工程的層次化結構,并具體分析中間兩層的內容。11、答案軟件工程的內容具有層次化結構,最底層是質量保證層,中間是過程層和方法層,最上層是工具層。見圖:其中過程層定義了一組關鍵過程域,目的是保證軟件開發(fā)過程的規(guī)范性和可控性。方法層供應

26、了軟件開發(fā)的各種方法,包括如何進行軟件需求分析和設計,如何實現設計,如何測試和維護等方法。12、請為下面的程序設計符合判定掩蓋的測試用例。int main() int a,b,c,x,y,z,t; scanf(“d%,d%,d%),&a,&b,&c,&t); if a>5 && t<1 x=10 else x=1; if b>10 y=20 else y=2; if c>15 z=30 else z=3; printf(“d%,d%,d%n”,x,y,z)條件:a>5,t=0 a<=5,t=0b>10b&

27、lt;=10c>15c<=15測試用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=15評分標準:只要寫出條件,不管測試用例是否給出都給3分;兩組測試用例各占3分。13、活動圖與狀態(tài)圖的區(qū)分?13.答案描述的重點不同:活動圖描述的是從活動到活動的把握流;狀態(tài)圖描述的是對象的狀態(tài)及狀態(tài)之間的轉移。使用的場合不同:在分析用例、理解涉及多個用例的工作流、處理多線程應用等狀況下,一般使用活動圖;在顯示一個對象在其生命周期內的行為時,一般使用狀態(tài)圖。14、等價分類法的基本思想是什么?答:依據程序的輸入特性,將程序的定義域劃分為有限個等價區(qū)段“等價類”,從等價

28、類中選擇出的用例具有“代表性”,即測試某個等價類的代表值就等價于對這一類其他值的測試。假如某個等價類的一個輸入數據(代表值)測試中查出了錯誤,說明該類中其他測試用例也會有錯誤。15、請說明判定表的作用及其結構。答案判定表是結構化設計的工具,用于多條件的描述。其結構分為4部分:條件列表、條件組合、操作列表、特定條件下的操作組合。16、請給出軟件工程七條基本原理中的任意三條基本原理。答案原理1用分階段的生命周期方案嚴格管理 原理2堅持進行階段評審原理3實行嚴格的產品把握原理4接受現代程序設計技術原理5結果應能清楚地審查原理6開發(fā)小組的人員應當少而精原理7承認不斷改進軟件工程實踐的必要性17、結構化程序設計的特征是什么?答案:結構化程序設計的特征如下:程序模塊只有一個入口和一個出口、程序中只包含挨次、條件和循環(huán)三種把握結構。18衡量模塊獨立性的兩個標準是什么?它們各表示什么含義?答:(1)兩個定性的度量標準:耦合與內聚性。(2)耦合性:也稱塊間聯系。指軟件系統結構中各模塊間相互聯系緊密程度的一種度量。模塊之間聯系越緊密,其耦合性就越強,模塊的獨立性則越差。(3)內聚性:也稱塊內聯系。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。模塊內元素聯系越緊密,內聚性越高。19. 活動圖與狀態(tài)圖的區(qū)分?答:(1)描述的重點不同:活動圖描述的是從活動到活動

溫馨提示

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

評論

0/150

提交評論