軟件工程作業題答案

第一章

1、 軟件產品特性?

答:邏輯產品有無形性、生產就是開發研製、不會壞不會磨損、成本昂貴、生產主要是腦力勞動。

2、 軟件生產有幾個階段?特徵?

答:程序設計、程序系統、軟件工程。

3、 什麼是軟件危機?產生的原因?

4、 什麼是軟件工程?目標和內容?

答:用科學的原理和理論定義,開發、維護軟件的學科。目標:及時交付、滿足用的功能要求、成本比較低、移植性好、可靠性高。內容:軟件開發技術、軟件開發管理。

5、 軟件工程面臨的問題?

答:軟件費用、軟件可靠性、軟件維護、軟件生產率、軟件重用。

6、 什麼是軟件生存週期?它有幾個活動?

答:從生到死

7、 什麼是軟件生存週期模型?有那些主要模型?

答:用來描述軟件開發過程中各種活動如何執行的模型。

8、 什麼是軟件開發方法?有那些方法?

答:用早就定義好的技術集合和符號表示習慣來組織軟件生產的過程。


11 個評論 至 “軟件工程全部習題答案”

  1. 第二章

    1、 可行性研究的任務是什麼?

    答:可行性研究的任務是對體統進行一次概要分析研究在儘可能短的時間裏明確系統的目標和規

    模、約束、限制。然後分析人員進行簡要的需求分析,抽象出該項目的邏輯結構、建立邏輯模

    型,提出幾種方案對它們進行可行性分析。包括技術可行性,經濟可行性、社會可行性。

    2、 可行性研究的步驟?

    答:確定項目規模和目標、研究當前的系統、建立新系統的高層邏輯模型、導出和評價各種方

    案、推薦可行方案、編寫可行性研究報告。

    3、 可行性研究報告有那些內容?

    答:引言、可行性研究前提、對現有系統的分析、所建議系統的技術可行性分析、所建議系統的

    經濟可行性分析、所建議系統的社會可行性分析、其它方案、結論意見。

    4、 成本—效益分析可用那些指標度量?

    答:投資回收期、純收入、貨幣的時間價值。

    5、 項目開發計劃內容?

    答:項目概述、實施計劃、人員分組及分工、交付期限。

  2. 第三章

    1、 什麼是需求分析?任務是什麼?

    答:需求分析是準確的理解用的需求將其轉換成需求定義,然後由需求定義轉換成形式化的功能

    規約。需求分析的困難表現在問題的複雜性、交流的障礙、不完備和不一致性、需求易變性。任

    務:問題識別(功能需求、性能需求、環境需求、用戶界面需求)分析綜合導出邏輯結構、編寫

    文檔(需求規格說明書、初步用戶手冊、確認測試計劃、完善修改軟件開發計劃)

    2、 什麼是結構化分析方法?用什麼工具描述?

    答:結構化分析方法是採用自頂向下逐層分解的分析策略把一個複雜的系統分解成若干小問題然

    後分別解決。描述工具:數據流圖、數據字典、結構化語言、判定表、判定樹。

    3、 結構化分析方法通過那些步驟實現?

    答:分析現行系統,獲得物理模型、抽象出當前系統的邏輯模型、建立目標系統的邏輯模型、補

    充優化。

    4、 什麼是數據流圖?作用?其中的符號表示什麼含義?

    答:數據流圖是用來表示系統的功能的工具它表示系統的邏輯模型描述了數據流在系統中流動的

    情況它是一種功能模型。它用來定義系統的功能。箭頭表示數據流、圓圈表示加工、雙橫線表示

    存儲、方框表示數據的原點和終點。

    5、 畫數據流圖要注意什麼?

    答:命名、父子圖平衡、局部數據存儲、畫數據流不畫控制流、每個加工至少有一個輸入和輸

    出、不畫物質流提高數據流圖的易理解性。

    6、 什麼是數據字典?

    答:數據字典是用來描述數據流圖中數據流、加工、存儲的詳細信息的。

    7、 描述邏輯加工有那些工具?

    答:結構化語言、判定表判定樹。

    8、 什麼是IDEF方法?IDEF0有什麼特點?

    答:IDEF方法是米國空軍針對集成化計算機制造工程項目中用來進行復雜系統分析和設計的方

    法。IDEF0用來描述功能活動極其聯繫的,它是功能模型。IDEF0中將系統功能稱爲活動,用輸

    入、輸出、控制、機制來表示系統的功能,一個活動至少有一個控制可以沒有輸入。

    9、 SA方法的優缺點?

    答:優點:SA是公認的、有效的、成熟的、使用廣泛的方法。它比較適用數據處理方面的設計。

    採用圖形形式化工具表達需求,簡潔、易讀、適用方便,對後續階段的測試、評價提供了有利的

    條件。缺點:它是個靜態模型,沒有反映控制流不適於實時控制系統的描述、SA對數據要求方面

    的描述木夠全面最好和E-R圖一起適用、不適合描述人機界面交互頻繁的系統、爲了加強對系統的

    描述能力應於形式化方法結合一起使用。

  3. 第四章

    1、 什麼是概要設計?有那些基本任務?

    答:概要設計是在需求分析的基礎上通過抽象和分解將系統分解成模塊,確定系統功能是實現。

    基本任務是:建立軟件系統結構(劃分模塊、定義模塊功能、模塊間的調用關係、定義模塊的接

    口、評價模塊的質量)、數據結構和數據庫的設計(數據結構設計、概念設計、邏輯設計、物理

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

    劃)。、

    2、 軟件設計基本原理包括那些內容?

    答:抽象、模塊化(接口、功能、邏輯、狀態)、信息隱蔽、模塊獨立性。

    3、 衡量模塊獨立性的兩個標準是什麼?他們表示什麼含義?

    答:內聚、耦合。內聚:表示模塊內各個組成部分之間聯繫的緊密程度的度量,耦合:模塊間聯

    繫緊密程度的度量。

    4、 模塊間的耦合有哪幾種?含義?

    答:無直接耦合:模塊間沒有直接聯繫

    數據耦合:模塊間傳遞的是數據

    標記耦合:模塊間傳遞的是數據結構

    控制耦合:傳遞的是控制變量,被調通過該變量有選擇的執行模塊內的某以功能。

    公共耦合:通過一個公共數據環境相互作用的模塊間的耦合關係。

    內容耦合:一個模塊直接使用另一個模塊的內容。

    5、 模塊的內聚有哪幾種?含義?

    答:偶然內聚:

    邏輯內聚:

    時間內聚:

    通信內聚:

    順序內聚:

    功能內聚:

    6、 什麼是軟件結構圖?簡述軟件結構設計優化準則。

    答:軟件系統的模塊層次結構,反映了整個系統的功能實現,即將來程序的控制體系。準則:高

    內聚底耦合、作用範圍在控制範圍內、軟件的深度、寬度、扇入、扇出適當、模塊大小適中、接

    口簡單清晰易懂。

    7、 什麼是模塊的控制範圍和作用範圍?他們的關係如何?

    答:控制範圍:是模塊本身和它的下屬模塊的集合。作用範圍:模塊中的一個判定影響的所有模

    塊的集合。作用範圍應該在控制範圍內。

    8、 什麼是變換流?什麼是事物流?

    答:變換流由輸入、變換(或處理)、輸出三部分組成。某個加工將它的輸入流分離成許多發散

    的數據流,形成許多加工路徑,並根據輸入選擇其中一個路徑來執行這種特徵的DFD稱爲事物流。

  4. 第五章

    1、 詳細設計的基本任務是什麼?有那幾種描述方法?

    答:設計模塊的數據結構、設計數據庫的物理結構、設計模塊的詳細算法、其它(代碼設計、輸

    入/輸出格式設計、人機對話設計)、編寫詳細設計說明書、評申。

    程序流程圖、PAD圖、PDL

  5. 第六章

    1、 程序語言的共同特徵?

    答:心理特徵(歧義性、簡潔性、局部性、順序性、傳統性)、工程特徵(可移植性、可重用

    性、可維護性)

    2、 項目開發時,選擇程序設計語言通常考慮的因素有那些?

    答:項目應用領域、軟件開發方法、軟件執行環境、算法和數據結構的複雜性、開發人員的知

    識。

    3、 4GL的特徵?

    答:友好的界面、有過程和非過程特性、高效的程序代碼、完備的DB應用程序生成。

    4、 什麼是程序風格?爲了具有良好的設計風格應注意那些方面的問題?

    答:原程序文檔化、數據說明、語句構造、輸入輸出、效率。

  6. 第七章

    1、 軟件測試的目的是?測試中要注意那些原則?

    答:軟件測試的目的是的發現軟件中存在錯誤的活動。好的測試用例可以發現至今沒有發現的錯

    誤、好的測試用例可以發現至今沒有發現的錯誤測試。要提供輸入數據還要提供輸出數據、保留

    測試用例、檢查它是否做了應該做的還要檢查它是否做了不該做的、避免自己測試自己的程序、

    多錯誤多的地方要更嚴格的測試。

    2、 什麼是白盒法?有那些覆蓋標準?比較他們的檢錯能力。

    答:將程序看成是白盒子,認真的分析程序的結構和功能制定測試用例來測試。有邏輯覆蓋(語

    句覆蓋、判斷覆蓋、條件覆蓋、判斷/條件覆蓋、條件組合覆蓋、路徑覆蓋)

    3、 什麼是黑盒法?有那些測試方法?特點?

    答:將程序當成是黑盒子以設計中的功能爲標準在程序的接口出進行測試看它能否達到功能要

    求。等價類劃分、邊界值分析、因果圖、錯誤推測。

    4、 軟件測試要經過那些步驟?這些步驟和開發那些階段對應?

    答:單元測試對應詳細設計和編碼、集成測試對應概要設計、確認測試對應需求分析。

    5、 單元測試有那些內容?

    答:測試模塊的接口、數據結構、重要的執行路徑、錯誤處理、邊界條件。

    6、 什麼是集成測試?非漸增式和漸增式有什麼區別?漸增式如何組裝模塊?

    答:將模塊組合起來成爲一個完整的系統對其進行測試。非漸增式是將模塊先進行單元測試然後

    組裝在一起進行測試。漸增式是逐個將未測試的模塊組裝到已經測試過的模塊上去進行集成測

    試,每加入一個就測試一次。非漸增式需要樁模塊和驅動模塊、非漸增式開始可以並行測試、漸

    增式可以及時的發現接口錯誤,非漸增式很難發現接口發現錯誤、漸增式開始不能並行測試、漸

    增式測試比較徹底。

    漸增式組裝模塊有自頂向下和自底向上兩種組裝方式。

    7、 什麼是確認測試?該階段有那些工作?

    答:按照需求規格說明書中的確定指標對系統進行功能與性能的測試。進行確認測試(對照需求

    規格說明書用黑盒法進行測試)、軟件配置檢查。(文檔的完整性、正確性,發現遺漏和錯誤及

    時補充和修改)

    8、 調試的目的是什麼?調試的技術有那些?

    答:調試的目的是發現錯誤的位置並改正錯誤。簡單調試、演繹調試、遞歸調試、回溯調試。

  7. 第八章

    1、 軟件維護有那些內容?

    答:校正性維護、完善性維護、適應性維護、預防性維護

    2、 軟件維護的特點?

    答:結構性維護、非結構性維護、別人的程序難懂、開發和維護在人員和時間上的差異、文檔的

    不一致性、維護不是一項吸引人的工作

    3、 軟件維護的流程?

    答:制定維護申請報告、審查申請報告並批准、實施維護並做記錄、複審

    4、 軟件維護的副作用?

    答:代碼副作用、數據副作用、文檔副作用

    5、 什麼是軟件的可維護性?可維護性度量的特性?

    答:是能夠別理解、適應、校正和增強功能的容易程度。可理解、可適應、可測試、可修改、可

    靠、可移植可使用、效率。

    6、 提高可維護性的方法?

    答:使用有可維護性的程序設計語言、及時更新文檔、使用先進技術和工具、明確軟件質量目

    標、明確質量保證工作。

  8. 第九章

    1、 漸增模型有那幾種?特點?

    答:增量構造和演化提交。增量構造是瀑布模型的基礎上在一些的階段中採用增量開發一些階段

    整體開發。演化提交是在瀑布模型的基礎上所有階段都使用增量開發也就是不緊使用增量開發也

    使用增量提交。

    2、 快速原形有那幾種?特點?

    答:探索型、試驗型、演化型。探索型:在需求階段幫助明確理解需求用完拋棄。試驗型:在設

    計階段考覈現行方案是否合適用完拋棄。演化型:及早的向用戶展示一個系統的原形包含主要的

    功能得到用戶的認可後將原形不斷的擴充直到系統完成。

    3、 快速原形開發的步驟?

    答:快速開發、需求、構造原形、原形、運行原形、評價原形、修改意見。

    4、 評價快速原形的優缺點?

    答:可以更清楚的理解用戶的需求、開發階段可以用原形解決局部的困難,通過原形的開發可以

    讓用戶看見系統的初步功能的實現有利與用戶的開發人員更好的交流,及早的解決存在的問題減

    少開發的風險。

    缺乏好的管理工具和開發環境、缺乏管理機制、對開發人員的技術要求高、更新文檔比較困難。

    5、 對比瀑布模型和增量模型,指出增量模型的新思路。

    答:瀑布模型是一種整體的開發模型,開發的每一階段必須按線性的順序來進行,前一階段的工

    作沒有完成後一階段的工作就不能開始。由於需求分析的易變性使的軟件開發工作不順利,同時

    瀑布模型的每個階段有不可避免的錯誤出現,那麼延伸到以下的各個階段錯誤就會放大。增量模

    型是非整體開發的模型它採用漸增模型和原形模型,軟件的開發是用增量開發和增量提交

  9. 第十章

    1、 說明對象、類、類結構、消息的基本概念?

    答:對象:是客觀實體在問題域中的抽象。

    類:具有相似或相同性質的對象的抽象就是類。

    類結構:類的結構通常有一般—-具體(分類結構)整體—抽象(組裝結構)

    消息:對象之間通信的構造。

    2、 面向對象的特徵和要素?

    答:特徵:一致性、多態性、分類性、繼承性。要素:共享、封裝、抽象。

    3、 說明對象模型的特徵?

    答:對象模型表示了靜態的、結構化的、系統數據性質,描述了系統的靜態結構,表現了對象間

    的相互關係,模型主要關心繫統中對象的結構、屬性和操作使用對象圖來描述。

    4、 說明動態模型的特徵。

    答:動態模型描述了與時間和變化有關的系統性質,描述的是系統的控制結構,表示了瞬間的系

    統控制性質,它關心繫統的控制,操作順序,從對象的狀態角度出發表現對象的相互行爲。

    5、 功能模型的特徵。

    答:功能模型描述了系統的所有計算。

    6、 三種模型的關係?

    答:功能模型描述發生了什麼,動態模型確定什麼時候發生,對象模型確定發生的客體。

    7、 三種模型的建立過程?

    答:對象模型:確定類、準備數據字典、確定聯繫、確定屬性、完善對象模型。

    動態模型:準備腳本、準備事件跟蹤、構造狀態圖。

    功能模型:確定輸入輸出值、建立DFD。

  10. 第十一章

    1、 軟件質量與質量保證的含義?

    答:軟件質量:與確定的功能和性能需求一致、與成文的開發標準相一致、與所有專業開發的軟

    件所期望的隱含特性相一致。質量保證:向社會和用戶提供滿意高質量的產品確保軟件從誕生到

    消亡爲止的所有階段的質量的活動。

    2、 影響軟件質量的因素有那些?

    答:可以直接度量的因素、只能間接度量的因素。

    3、 什麼是軟件質量保證的策略?軟件質量保證的主要任務是什麼?

    答:策略:檢測爲重、過程管理爲重、開發新產品爲重。任務:正確定義用戶要求、技術方法的

    使用、提高軟件的工程能力、充分發揮開發人員的能力、提高計劃和管理質量、軟件複用。

    5、程序複雜性的度量方法有那些?

    答:代碼行度量法、環路度量法。

    6、 什麼是軟件可靠性?它們是否能定量計算?

    答:在規定的環境下和時間裏軟件按要求的功能執行的概率。

    7、 什麼是軟件評審?軟件設計質量評審和程序質量評審有那些內容?

    答:軟件評審是一個過濾器,它使用在軟件開發的各個階段,通過軟件評審可以及時的發現軟件

    中存在的問題然後加以改正。設計質量評審:評審可靠性、評審可移植性、評審可測試性、評審

    規格說明是否符合用戶的要求、評審保密情況的實施、評審是否有可複用性。

    8、 容錯定義?容錯的方法?

    答:定義:規定功能的軟件在出現錯誤是仍然可以在一定程度上完成要求的功能、規定功能的軟

    件可以屏蔽錯誤、規定功能的軟件可以在出錯的時候自動恢復到正常的狀態、規定功能的軟件在

    一定的程度上有容錯的能力。方法:結構冗餘、信息冗餘、時間冗餘、冗餘附加技術。

  11. 第十二章

    1、 軟件工程管理包括那些內容?

    答:文檔管理、人員管理、控制管理、組織機構管理。

    2、 軟件項目計劃包括那些內容?

    答:範圍、資源、成本估算、進度安排、計劃培訓

    3、軟件開發成本估算方法有哪幾種?

    答:COCOMO、PUTANM。

    4、 什麼軟件配置管理?什麼是基線?

    答:軟件配置管理:軟件配置管理(SCM)用於整個軟件工程過程,目標是表示變更,控制變更,

    確保變更的正確實施,報告變更。SCM是用在整個軟件生存週期個階段中的變更活動。基線:是軟

    件生存週期中各開發階段的一個特定點,它的作用是把開發各階段的工作劃分的更加明確化,使

    本來連續的工作在這些點上斷開,便於檢查於肯定階段成果。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章