軟件工程問答對應(yīng)(初版)_第1頁
軟件工程問答對應(yīng)(初版)_第2頁
軟件工程問答對應(yīng)(初版)_第3頁
軟件工程問答對應(yīng)(初版)_第4頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程問答對應(yīng) ( 初版 )軟件工程概論1. 軟件的特點是什么?1) 軟件是邏輯實體; 具有抽象性; 軟件的形態(tài)不可見;必須通過觀察、分析、思考、判斷來了解其功能、性能和其它特性。2) 軟件是人腦思維的產(chǎn)物, 其生產(chǎn)過程與硬件不同。 開發(fā)過程的質(zhì)量控制及軟件產(chǎn)品保護問題。3) 軟件的開發(fā)和運行受計算機系統(tǒng)限制。 軟件移植問題。4) 軟件的開發(fā)技術(shù)落后, 手工開發(fā)方式仍占統(tǒng)治地位。開發(fā)效率低。2. 2006 年發(fā)布的國家分類標準是什么?獨立式,組合式,集成式,嵌入式。3. 軟件危機的表現(xiàn)有哪些?1) 對開發(fā)成本和進度的估算偏差太大2) 沒有適當?shù)奈臋n3) 軟件成本比重上升4) 質(zhì)量很不可靠5)

2、 供不應(yīng)求- 2 -4.5. 軟件工程的基本原則是什么?1) 抽象 2) 信息隱蔽 3) 模塊化 4) 局部化 5)確定性 6) 一致性 7) 完備性 8) 可驗證性6. 軟件工程的基本原理是什么?1) 用分階段的生命周期嚴格管理;2) 堅持進行階段評審;3) 實行嚴格的產(chǎn)品控制;4) 采用現(xiàn)代程序設(shè)計技術(shù);5) 結(jié)果應(yīng)能清楚地審查;6) 開發(fā)小組人員應(yīng)少而精;7) 承認不斷改進軟件工程實踐的必要性。7. 瀑布模型有什么特點?1.里程碑或基線驅(qū)動,或者說文檔驅(qū)動;2.過程逆轉(zhuǎn)性很差,或者說不可逆轉(zhuǎn)。8. 說明生命周期的劃分?一個軟件從定義、 開發(fā)、使用和維護, 直到最終被廢棄,所經(jīng)歷的生存過程

3、稱為軟件生存- 4 -期或叫生命期。生命期的劃分:定義階段:制定計劃需求分析和定義開發(fā)階段:軟件設(shè)計程序編寫軟件測試維護階段:運行 /維護9. 列出軟件生存期的幾個主要模型?1) 瀑布模型 2)原型模型 3) 螺旋模型 4)增量模型 5)構(gòu)件組裝模型6)統(tǒng)一過程模型7)第四代技術(shù)10. 論述瀑布模型軟件開發(fā)方法的基本過程?計劃定義階段需求分析設(shè)計開發(fā)階段編碼測試維護階段運行維護- 5 -11. 增量模型有什么特點?任務(wù)或功能模塊驅(qū)動,可以分階段提交產(chǎn)品;有多個任務(wù)單, 這些多個任務(wù)單的集合, 構(gòu)成項目的一個總?cè)蝿?wù)書 (總用戶需求報告 )。12. 幾種主要的軟件開發(fā)方法?面向過程的方法面向數(shù)據(jù)的

4、方法 面向?qū)ο蟮姆椒?3. 軟件工程中的“五個面向”?1) 面向 流程分析、2) 面向 數(shù)據(jù)設(shè)計3) 面向 對象實現(xiàn)4) 面向 功能測試5) 面向 過程管理- 6 - 7 -軟件策劃1.可行性分析的目的?用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。2.可行性分析最為敏感的方面是什么?1) 經(jīng)濟可行性這個系統(tǒng)的經(jīng)濟效益能超過它的開發(fā)成本嗎?2) 技術(shù)可行性現(xiàn)有技術(shù)能否實現(xiàn)該系統(tǒng)?技術(shù)冒險的各種因素 ? 例如有關(guān)的技術(shù)是否已進步到足以支持該系統(tǒng)?技術(shù)人員的熟練程度?硬、軟件資源是否按期得到?3) 操作可行性系統(tǒng)的操作方式在這個用戶組織內(nèi)行得通嗎?4) 法律可行性開發(fā)的軟件項目是否侵犯他人的

5、利益,是否違反法律, 并由此承擔法律責任。3.可行性研究的步驟有哪些?1) 復查系統(tǒng)規(guī)模和目標(系統(tǒng)調(diào)研)- 8 -2) 研究目前正在使用的系統(tǒng)(系統(tǒng)分析)3) 導出新系統(tǒng)的高層邏輯模型(系統(tǒng)分析)4) 重新定義問題(模型評審)5) 導出和評價可供選擇的解決方案6) 推薦一個方案并說明理由7) 推薦行動方針8) 書寫文檔提交審查4.軟件計劃的步驟有哪些?1) 估計軟件的規(guī)模及所需的資源2) 制定時間表3) 鑒別和評估風險4) 約定與限制條件5.軟件計劃書的內(nèi)容有哪些?1) 軟件范圍 2) 環(huán)境資源 3) 進度安排 4) 成本/效益分析6.甘特圖有哪些優(yōu)點和缺點?優(yōu)點:它具有簡單、醒目和便于編制

6、等特點。能夠動態(tài)反映軟件項目開發(fā)進展的情況。- 9 -缺點:難以反映多個任務(wù)之間存在的復雜的邏輯關(guān)系。7.什么是網(wǎng)絡(luò)計劃法的關(guān)鍵事件與關(guān)鍵路徑?關(guān)鍵事件:最早完成時間與最遲完成時間相等的事件。關(guān)鍵路徑:關(guān)鍵事件聯(lián)結(jié)的各個活動所組成的路線。8.常用的成本估算方法有哪些?(1)基于代碼行的成本估算方法(2)任務(wù)分解成本估算(3)經(jīng)驗統(tǒng)計估算模型:參數(shù)方程動態(tài)多變量參數(shù)模型 COCOMO 模型( constructiveCostModel )自動估算工具-10-9.軟件成本估算包括哪些內(nèi)容?工作產(chǎn)品規(guī)模估計 工作量及成本估計 關(guān)鍵資源的量化估計10.項目活動和項目約定計劃指的是什么?活動指開發(fā)活動和

7、管理活動;約定指各種規(guī)范、標準、規(guī)則;1) 規(guī)范是對過程和行為的約束;2) 標準是對產(chǎn)品的約束;3) 規(guī)則或規(guī)程是對操作的約束。-11-需求分析1. 需求獲取為什么難?1) 用戶需求具有動態(tài)性 (不穩(wěn)定性 )。2) 用戶需求具有模糊性 (不準確性 )。3) 對需求達成一致的艱難性。4) 管理體制、機構(gòu)設(shè)置處在變革中。-12-5) 軟件書籍沒有將需求分析講清楚。6) 分析方法和分析工具問題。2. 需求分析的重點業(yè)務(wù)模型、 .功能模型、性能模型、接口模型3. 需求分析的 9項任務(wù)1) 畫出目標系統(tǒng)的組織機構(gòu)模型。2) 畫出目標系統(tǒng)業(yè)務(wù)操作流程圖。3) 畫出目標系統(tǒng)的數(shù)據(jù)流圖。4) 列出目標系統(tǒng)的功

8、能點列表,即功能模型。5) 列出系統(tǒng)的性能點列表,即性能模型。6) 列出目標系統(tǒng)的接口列表,即接口模型。7) 確定目標系統(tǒng)的運行環(huán)境,即環(huán)境模型。8) 目標系統(tǒng)的界面約定,即界面模型。9) 分析與評估開發(fā)工期、 費用、進度、風險等。4. 需求分析的過程1.問題識別、 2.分析與綜合、 3.編制需求文檔、4.需求分析評審。5. 獲取需求的常用方法-13-1) 訪談:正式的和非正式的訪談2) 問卷調(diào)查:問卷調(diào)查即把需要調(diào)查的內(nèi)容制成表格交給用戶填寫。 該方法對需要調(diào)查大量人員的意見時,十分有效。3) 情景分析:情景分析就是對目標系統(tǒng)解決某個具體問題的方法和結(jié)果, 給出可能的情景描述,以獲知用戶的具

9、體需求。4) 實地考察 /收集資料:開調(diào)查會參加業(yè)務(wù)實踐5) 構(gòu)造原型6. 需求分析的原則1) 解決邏輯問題:需求分析是對問題的識別和說明,要回答“做什么” ,而不是“怎么做” 。(2)以運行環(huán)境為基礎(chǔ):需求分析工作應(yīng)以具體的運行環(huán)境為基礎(chǔ),實事求是。(3)用戶參與的原則:需求分析工作是系統(tǒng)分析人員同用戶不斷交互的過程。( 4)構(gòu)造高質(zhì)量的需求規(guī)格說明:需求規(guī)格說明是需求分析工作重要的完成標志。-14-7. 需求分析的基本要求1) 理解問題的數(shù)據(jù)域和功能域2) 自頂向下、逐層分解3) 給出系統(tǒng)的邏輯視圖和物理視圖8. 常見的需求分析方法有哪些?1) 面向數(shù)據(jù)流的分析方法2) 面向功能的分析方法

10、3) 面向數(shù)據(jù)的 Jackson 方法4) 面向?qū)ο蟮姆治龇椒?15-16-軟件設(shè)計1. 軟件設(shè)計的具體任務(wù)包括哪些內(nèi)容?1)制定規(guī)范2)結(jié)構(gòu)設(shè)計3)處理方式結(jié)構(gòu)設(shè)計4)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計5)可靠性設(shè)計(質(zhì)量設(shè)計)6)編寫軟件設(shè)計文檔7)設(shè)計審查和復審8)詳細設(shè)計2. 什么是數(shù)據(jù)的保護性設(shè)計?1) 防衛(wèi)性設(shè)計:在軟件設(shè)計中就插入自動檢錯,報錯和糾錯的功能2) 一致性設(shè)計: 在并發(fā)處理過程中使用封鎖和解除封鎖機制保持數(shù)據(jù)不被破壞3) 冗余性設(shè)計3. 軟件設(shè)計的目標是什么?軟件設(shè)計的最終目標是要取得最佳方案。即:節(jié)省開發(fā)費用、降低資源消耗、縮短開發(fā)時間、能夠贏得較高的生產(chǎn)效率、 較高的可靠性和可

11、維護性的方案。-17-并且使開發(fā)軟件滿足以下特點:( 1)功能、性能都符合指定的要求;( 2)軟件是可維護的,可方便地進行修改;( 3) 除了代碼,還有一套配置齊全的文檔。4. 模塊具有哪些基本屬性 ? “模塊”,又稱“組件”。一般有四個基本屬性l1) 功能:描述該模塊做什么?2) 邏輯:描述模塊內(nèi)部怎么做?3) 狀態(tài):模塊使用時的環(huán)境和條件。4) 接口:指模塊的輸入與輸出。5. 什么是耦合?什么是內(nèi)聚?如何增強模塊的獨立性?1) 耦合:各模塊之間的互相連接的緊密程度。模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其獨立性就越弱。2) 內(nèi)聚:模塊內(nèi)各功能元素彼此結(jié)合的緊密程度。一個模塊內(nèi)部各

12、個元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高,相對地,它與其它模塊之間的耦合性就會減低,而模塊獨立-18-性就越強。3) 增強模塊獨立性的方法是: 高內(nèi)聚、低耦合6. 模塊化的特征有哪些?1) 抽象:用層次的方式構(gòu)造和分析復雜系統(tǒng)。2) 逐步求精:幫助開發(fā)人員把精力集中在與當前開發(fā)階段最相關(guān)的那些問題上。3) 信息隱蔽:如果一個模塊內(nèi)包含的信息 (過程和數(shù)據(jù) ) 不允許外部的模塊訪問的話,其它模塊不能對其訪問。4) 局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。7. 影響耦合度的因素有哪些?1) 連接方式的類型。 2) 接口的復雜性。 3) 傳送的信息流的類型。 4) 耦合的時間。8. 降

13、低耦合度的方法有哪些?1) 對于需要了解的內(nèi)容, 若是隱含的,應(yīng)改為明顯的,以便更容易理解;2) 連接的方式盡量標準化,不要直接引用;3) 減少公共區(qū),將公共區(qū)劃分為若干個邏輯子-19-區(qū);4) 輸入輸出應(yīng)局限在少量模塊, 不要分散在全系統(tǒng);5) 延遲耦合時間。9. 軟件結(jié)構(gòu)設(shè)計優(yōu)化的準則是什么?1) 劃分模塊時, 盡量做到高內(nèi)聚、 低耦合,保持模塊相對獨立性。模塊劃分的準則: “將相關(guān)的各部分放在一起,無關(guān)的東西不要放在一起。”2) 模塊的大小要適中。3) 模塊的接口要簡單、 清晰、含義明確,便于理解,易于實現(xiàn)、易于測試和維護。4) 一個模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊,應(yīng)

14、與受其影響的模塊在層次上盡量靠近。5) 軟件結(jié)構(gòu)的深度、 寬度、扇入、扇出應(yīng)適當。6) 力求設(shè)計單入口和單出口的模塊, 避免“病態(tài)連接”,以防止內(nèi)容耦合。7) 設(shè)計功能可預(yù)測模塊的劃分, 應(yīng)防止功能過分局限。-20-10. 結(jié)構(gòu)化設(shè)計的優(yōu)點是什么? (問題 PPT 上無此問,自己選擇)1) 減少設(shè)計復雜性。 將大化小,使復雜問題簡單化。2) 結(jié)構(gòu)獨立。將程序劃分成多個相對獨立的模塊。3) 模塊功能單一化,可使軟件設(shè)計獲得最大的益處。4) 易于進行軟件修改。5) 易于開發(fā)和維護。6) 加強了代碼的可重用性。-21-代碼設(shè)計1. 代碼設(shè)計的主要原則是什么?1) 使用語言中的順序、 選擇、重復等有限

15、的基本控制結(jié)構(gòu)表示程序邏輯;2) 選用的控制結(jié)構(gòu)只準許有一個入口和一個出口;3) 程序語句組成容易識別的塊, 每塊只有一個入口和一個出口;4) 復雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)2. 編程規(guī)范包括哪些內(nèi)容?1) 命題規(guī)范2) 界面規(guī)范-22-3) 提示及幫助信息規(guī)范4) 熱鍵定義等3. 良好的代碼設(shè)計風格包括哪些內(nèi)容?1) 規(guī)范化的程序內(nèi)部文檔2) 數(shù)據(jù)結(jié)構(gòu)的詳細說明3) 清晰的語句結(jié)構(gòu)4) 遵守編程規(guī)范4. 代碼語句設(shè)計應(yīng)遵從哪些原則 ?1) 在一行內(nèi)只寫一條語句2) 程序編寫清晰性第一3) 程序要能直截了當?shù)卣f明程序員的用意4) 清晰第一,效率第二5) 先保證程序正確,再要求提高

16、速度6) 避免使用臨時變量而使可讀性下降7) 讓編譯程序做簡單的優(yōu)化8) 盡可能使用庫函數(shù)和構(gòu)件9) 避免不必要的轉(zhuǎn)移:盡量不用 GO TO語句10) 盡量采用三種基本的控制結(jié)構(gòu)編寫程序5. I/O 代碼設(shè)計的原則是什么?1) 輸入數(shù)據(jù)要檢驗-23-2) 檢查輸入項的各種重要組合的合理性3) 輸入的步驟和操作盡可能簡單4) 應(yīng)允許使用自由格式輸入數(shù)據(jù)5) 應(yīng)允許缺省值6) 批數(shù)據(jù)輸入時,使用輸入結(jié)束標志7) 交互式輸入時,屏幕上使用提示符明確提示輸入的請求8) 保持輸入格式與輸入語句要求的一致性9) 輸出加注釋軟件測試1. 軟件測試的原則?1) 軟件測試應(yīng)當盡早和不斷地進行。2) 程序員應(yīng)避免

17、檢查自己的程序。3) 設(shè)計測試即應(yīng)包括合理的、 還應(yīng)包括不合理的輸入條件。4) 經(jīng)驗表明,測試后程序中殘存的錯誤數(shù)目與該程序中已發(fā)現(xiàn)的錯誤數(shù)目成正比。5) 妥善保存測試計劃, 測試用例, 出錯統(tǒng)計和最終分析報告,為維護提供方便。-24-( a-j是軟件工程課件第八章 P6 的)a) 所有的測試都應(yīng)追溯到用戶需求。b) 軟件測試必須基于 “質(zhì)量第一 ”的思想去開展各項工作c) 測試計劃應(yīng)該在測試工作真正開始前的較長時間內(nèi)就進行。d) 將Pareto 原則應(yīng)用于軟件測試。e) 測試應(yīng)從 “小規(guī)模 ”開始,逐步轉(zhuǎn)向 “大規(guī)模”。f) 測試用例是設(shè)計出來的,不是寫出來的。g) 窮舉測試是不可能的h)

18、為了達到最佳效果, 應(yīng)該由獨立的第三方來構(gòu)造測試。i) 不充分的測試是不負責任的; 過分的測試也是一種不負責任的表現(xiàn)j) 重視文檔。2. 軟件測試的最初定義 ?最初定義 : 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。-25-3. 軟件測試的經(jīng)典定義 ?經(jīng)典定義 : 測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;一個好的測試在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。4. 測試的目的?1) 以最少的時間和人力, 系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。2) 能夠證明軟件的功能和性能與需求說明相符合。3) 測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。4) 測試不能表明軟件中不存在錯誤, 它只能說明軟件中存在錯誤。5. 黑盒測試的優(yōu)點?1) 對于較大的代碼單元來說, 黑盒測試比白盒測試效率要高;2) 測試人員不需要了解實現(xiàn)的細節(jié), 包括特定的編程語言;3) 從用戶的角度進行測試,容易被理解和接-26-受

溫馨提示

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

評論

0/150

提交評論