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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

14、軟件運行:軟件維護29、簡述三種面向?qū)ο竽P偷闹饕δ??對象模型:表示了靜態(tài)的結(jié)構(gòu)化的系統(tǒng)數(shù)據(jù)性質(zhì),描繪了系統(tǒng)的靜態(tài)結(jié)構(gòu), 從客觀世界實體的對象關系角度來描繪對象。動態(tài)模型:該模型描述了系統(tǒng)的控制結(jié)構(gòu),它表示了瞬間的、行為化的系統(tǒng)控制性質(zhì),它關心的是系統(tǒng)的控制及操作的執(zhí)行順序, 它從對象的事件和狀態(tài)的角度出發(fā), 表現(xiàn)了對象的交互行為。功能模型:表示變化的系統(tǒng) “功能”性質(zhì),它指明系統(tǒng)應該“做什么”,因此功能模型更直14接的反映了用戶對目標系統(tǒng)的要求。30、詳細設計的基本任務是什么?詳細設計的基本任務包括: 為每個模塊進行詳細的算法設計; 為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進行設計; 對數(shù)據(jù)庫進行物理設計; 其

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

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

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

溫馨提示

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

評論

0/150

提交評論