軟件工程簡答題_第1頁
軟件工程簡答題_第2頁
軟件工程簡答題_第3頁
軟件工程簡答題_第4頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程簡答題軟件工程簡答題三、簡答題 ( 簡要回答下列問題 )1、什么是軟件工程?它目標和內容是什么?軟件工程就是用科學的知識和技術原理來定義,開發,維護軟件的一門學科。軟件工程目標: 付出較低開發成本; 達到要求的功能;取得較好的性能; 開發的軟件易于移植;只需較低的維護費用; 能按時完成開發任務,及時交付使用;開發的軟件可靠性高。軟件工程內容:包括開發技術和開發管理兩個方面。2、軟件開發中有哪幾種過程模型?哪些適用于面向對象的軟件開發?軟件開發中常見的軟件過程模型有瀑布模型、原型模型、螺旋模型、噴泉模型、統一軟件過程等。其中噴泉模型、統一軟件過程適用于面向對象的軟件開發。3、什么是結構分

2、析方法?該方法使用什么描述工具?23露出來。為了識別和糾正錯誤, 修改軟件性能上的缺陷,應進行確定和修改錯誤的過程,這個過程就稱為校正性維護。( 2)適應性維護。為了使應用軟件適應計算機硬件、軟件環境及數據環境的不斷發生的變化而修改軟件的過程稱為適應性維護。( 3)完善性維護。為增加軟件功能、增強軟件性能、提高軟件運行效率而進行的維護活動稱為完善性維護。( 4)預防性維護。為了提高軟件的可維護性和可靠性而對軟件進行的修改稱為預防性維護。6、軟件測試要經過哪些步驟 ?這些測試與軟件開發各階段之間有什么關系 ?軟件測試要經過的步驟是: 單元測試集成測試確認測試系統測試。單元測試對源程序中每一個程序

3、單元進行測試,檢查各個模塊是否正確實現規定的功能,從而發現模塊在編碼中或算法中的錯誤。 該階段涉及編碼和詳細設計文檔。集成測試是為了檢查與設計相關的軟件體4系結構的有關問題, 也就是檢查概要設計是否合理有效。確認測試主要是檢查已實現的軟件是否滿足需求規格說明書中確定了的各種需求。系統測試是把已確認的軟件與其他系統元素( 如硬件、其他支持軟件、數據、人工等 ) 結合在一起進行測試。以確定軟件是否可以支付使用。7、什么是軟件生存周期?它有哪幾個活動?軟件生存周期:一個軟件從提出開發要求開始直到該軟件報廢為止的整個時期。包括:可行性分析和項目開發計劃, 需求分析,概要設計,詳細設計,編碼,測試,維護

4、。8、衡量模塊獨立性的兩個標準是什么?各表示什么含義?內聚和耦合。內聚:又稱為塊內聯系,指模塊內部各成分之間相互關聯的程度, 以高內聚為設計目標。耦合:也稱塊間聯系,模塊之間相互聯系程5度的度量,聯系越緊密,耦合性越強,獨立性越差,以低耦合為設計目標。9、什么是結構分析方法?結構化分析方法通過哪些步驟來實現?結構化分析:簡稱 SA,面向數據流進行數據分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個系統, 底層具體地畫出系統工程的每個細節。 中間層則是從抽象到具體的過渡。實現的步驟:了解當前系統的工作流程,獲得當前系統的物理模型。 抽象出當前系統的邏輯模型。 建立目標系統的邏輯模型

5、。 作進一步補充和優化。10、什么是需求分析?需求分析階段的基本任務是什么?需求分析:開發人員準確地理解用戶的要求,進行細致的調查分析, 將用戶非形式的需求陳述轉化為完整的需求定義, 再由需求定義轉換到相應的需求規格說明的過程。基本任務:6問題識別分析與綜合,導出軟件的邏輯模型編寫文檔11、什么樣是 " 事物流 " ?什么是 " 變換流 " ?數據流圖( DFD )一般可分為 " 變換流 " ," 事物流 " 兩種。" 變換流 " :由輸入輸出變換(或稱處理)三部分組成,是一順序結構。"

6、; 事物流 " :它的某個加工,分離成許多發散的數據流, 形成許多加工路徑, 并且根據輸入值選擇其中一個路徑來執行。 (這人加工稱為事務處理中心)12、單元測試有哪些內容 ?單元測試主要針對模塊的以下五個基本特征進行測試:(1)模塊接口(2)局部數據結構(3)重要的執行路徑(4)錯誤處理(5)邊界條件713、什么是軟件生存周期模型?有哪些主要模型?生存周期模型:描述軟件開發過程中各種活動如何執行的模型。 對軟件開發提供強有力的支持,為開發過程中的活動提供統一的政策保證,為參與開發的人員提供幫助和指導, 是軟件生存周期模型化技術的基礎, 也是建立軟件開發環境的核心。主要有:瀑布模型,增

7、量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。14、軟件設計的基本原理包括哪些內容?模塊化:模塊是軟件的組成部分, 是具有獨立功能且可命名的一段程序, 所有模塊組成整體,可以滿足問題的要求。抽象:認識復雜現象過程所使用權的工具,只考慮事物本質的共同特性,忽略細節和其它因素。通過抽象確定組成軟件的過程實體。信息隱蔽:將模塊實現自身功能的細節與數據 " 隱蔽 " 起來。模塊間僅交換為完成系統功能所必須的信息。8模塊獨立性:每個模塊只完成系統要求的獨立的子功能。15、結構化程序設計的基本要點是什么?主要有三個:1、采用自頂向下、逐步求精的程序設計方法2、使用三種基本控制結

8、構構造程序。任何程序都可以由順序、選擇、重復 (循環 )三種基本控制結構構造,這三種基本結構的共同點是單入口、單出口。3、主程序員組的組織形式。16、詳細設計有哪幾種描述方法?詳細設計的描述方法有圖形、表格和語言,其中圖形常用結構化程序流程圖、盒圖和PAD(問題分析圖 )為描述工具,語言常用過程設計語言 (PDL) 來作為工具。17、單元測試中采用什么方法?測試的方法是為被測試模塊編寫驅動模塊和樁模塊來實現被測試單元的可運行。通過驅動9模塊來模擬被測試模塊的上級調用模塊, 以上級模塊調用被測模塊的格式驅動被測模塊, 接收被測模塊的測試結構并輸出。 樁模塊則用來代替被測試模塊所調用的模塊。 它的

9、作用是返回被測模塊所需的信息。18、什么是軟件配置管理?什么是基線 ?軟 件 配 置 管 理 , 簡 稱 SCM(Software Configuration Management), 是指一組管理整個軟件生存期各階段中變更的活動。 軟件配置管理技術可以使軟件變更所產生的錯誤達到最小并最有效地提高生產率。基線:是軟件生存期中各開發階段的一個特定點,它的作用是把開發各階段工作的劃分更加明確化,使本來連續的工作在這些點上斷開, 以便于檢查與肯定階段成果。19、簡述文檔在軟件工程中的作用?文檔在軟件工程中的作用如下:(1) 提高軟件開發過程的能見度(2) 提高開發效率(3) 作為開發人員階段工作成果

10、和結束標志10(4) 記錄開發過程的有關信息便于使用與維護;(5) 提供軟件運行、維護和培訓有關資料;(6) 便于用戶了解軟件功能、性能。20、軟件工程三要素之間的關系?軟件質量是軟件工程的生命線,軟件工程以質量保證為基礎。質量管理促進了過程的改進, 創造了許多行之有效的軟件開發方法和工具。軟件工程釆用層次化的方法, 每個層次都包括過程、方法、工具三要素。方法支撐過程和工具,過程和工具又促進方法學的研究。21、說明面向對象的特征?面向對象的特征是:(1)對象唯一性。每個對象都有自身唯一的標識,在對象生存期中,其標識不變,不同的對象不能有不同的標識。(2)分類性。是指將具有一致的數據結構 (屬性

11、)和行為 (操作 )的對象抽象成類(3)繼承性。是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。(4)多態性。是指相同的操作或函數過程可以作用于多種類型的對象上并獲得不同的結果。22、簡述 " 變換分析 " 設計步驟。11確定變換中心,邏輯輸入和輸出。設計軟件結構的頂層和第一層 - 變換結構。設計中下層模塊, 對第一層的模塊自頂向下分解。設計的優化 :輸入部分求精,每個物理輸入設置專門模塊, 以體現系統的外部接口。其它輸入模塊與轉換數據模塊都很簡單時,可將它們合并。23、請簡述可行性研究有哪些步驟?復查系統規模和目標; 研究當前的系統; 導出新系統的高層邏輯模

12、型; 重新定義問題; 導出和評價可供選擇的解決方案; 推薦可行的行動方案;草擬開發計劃;書寫文檔并提交審查。24、請簡述黑盒測試和白盒測試有何區別, 黑盒測試有哪些常用方法?黑盒測試和白盒測試的區別:前者基于功能,后者基于結構;黑盒測試常用方法有:邊界值、等價類、因果圖、錯誤推測法等。1225、什么是軟件可維護性?常見的軟件維護活動有哪幾類?軟件可維護性的定義: 軟件能夠被理解、校正、適應及增強功能的容易程度;常見的軟件維護活動有:改正型、 適應型、完善型、預防型。26、CMM 全稱是什么 ?分為哪幾個級別?CMM 全稱是軟件能力成熟度模型;從無序到有序的進化分成5個級別,分別為:1 初始級;

13、 2 可重復級; 3 已定義級; 4 已管理級; 5 優化級。27、什么是數據字典 ?簡述數據字典與數據流圖的關系。數據字典是關于數據的信息的集合,對數據流程圖中的各個元素做完整的定義與說明, 是數據流程圖的補充工具;數據字典與數據流圖的關系:數據流圖和數據字典共同構成系統的邏輯模型, 沒有數據字典數據流圖就不嚴格, 然而沒有數據流圖數據字13典也難于發揮作用。 數據流圖和對數據流圖中每個元素的精確定義放在一起, 才能共同構成系統的規格說明。28、軟件生命周期劃分為哪幾個階段?軟件生命周期分為三個時期八個階段:軟件定義:問題定義、可行性研究;軟件開發:需求分析、概要設計、詳細設計、編碼、測試;

14、軟件運行:軟件維護29、簡述三種面向對象模型的主要功能?對象模型:表示了靜態的結構化的系統數據性質,描繪了系統的靜態結構, 從客觀世界實體的對象關系角度來描繪對象。動態模型:該模型描述了系統的控制結構,它表示了瞬間的、行為化的系統控制性質,它關心的是系統的控制及操作的執行順序, 它從對象的事件和狀態的角度出發, 表現了對象的交互行為。功能模型:表示變化的系統 “功能”性質,它指明系統應該“做什么”,因此功能模型更直14接的反映了用戶對目標系統的要求。30、詳細設計的基本任務是什么?詳細設計的基本任務包括: 為每個模塊進行詳細的算法設計; 為模塊內的數據結構進行設計; 對數據庫進行物理設計; 其

15、他設計;編寫詳細設計說明書;評審。g31、黑盒測試和白盒測試有什么區別?( 1)黑盒測試法 : 把程序看作一個黑盒子,完全不考慮程序的內部結構和處理過程。它只檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當地接收輸入數據并產生正確的輸出信息,程序運行過程中能否保持外部信息的完整性。黑盒測試又稱為功能測試, 包含等價類劃分法、 邊界值法、錯誤推測法、因果圖法等。( 2)白盒測試法 : 是把程序看成裝在一個透明的白盒子里,測試者完全知道程序的結構和處理算法。這種方法按照程序內部的邏輯測試程序,檢測程序中的主要執行通路是否都能按預定要求正確工作。白盒測試又稱15為結構測試,包含邏輯覆蓋

16、法和基本路徑測試法。32、什么是軟件工程?軟件工程面臨的問題是什么?軟件工程就是用科學的知識和技術原理來定義,開發,維護軟件的一門學科。軟件工程面臨的問題: 軟件的費用,可靠性,可維護性,軟件生產率和軟件的重用。33、軟件工程三要素之間的關系?軟件質量是軟件工程的生命線, 軟件工程以質量保證為基礎。質量管理促進了過程的改進 ,創造了許多行之有效的軟件開發方法和工具。軟件工程釆用層次化的方法 ,每個層次都包括過程、方法、工具三要素。方法支撐過程和工具, 過程和工具又促進方法學的研究。34、簡述結構化程序設計方法的基本要點。(1)采用自頂向下,逐步求精的程序設計方16法。(2)使用三種基本控制結構

17、構造程序, 分別是順序,選擇和循環(3)采用主程序員組的組織形式。35、顧客在自動柜員機中插入銀行卡, 執行提款的服務項目;銀行職員要求自動柜員機打印所有的提款數據。畫出自動柜員機的 Use Case圖。?36、簡述提高可維護性的方法。(1) 建立明確的軟件質量目標;(2) 利用先進的軟件開發技術和工具;(3) 建立明確的質量保證工作;(4) 選擇可維護的程序設計語言;(5) 改進程序文檔。37、簡述文檔在軟件工程中的作用。17(1) 提高軟件開發過程的能見度;(2) 提高開發效率;(3) 作為開發人員階段工作成果和結束標志;(4) 記錄開發過程的有關信息便于使用與維護;(5) 提供軟件運行、維護和培訓有關資料;(6) 便于用戶了解軟件功能、性能。38、什么是軟件危機?產生原因是什么?軟件開發技術的進步未能滿足發展的要求。在軟件開發中遇到的問題找不到解決的辦法, 問題積累起來,形態尖銳的矛盾,導致了軟件危機。產生原因: 軟件規模越來越大,結構越來越復雜。 軟件開發管理困難而復雜。 軟件包開發費用不斷增加。 軟件開發技術落后。 生產方式落后,仍采用手工方式。 開發工具落后,生產率提高緩慢。39、調試的目的是什么 ?調試有哪些技術手

溫馨提示

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

評論

0/150

提交評論