软件工程(吕云翔第二版)部分简答题答案
簡答題
(做過的練習,答案不一定對)
第一章
答:①軟件具有抽象性、②軟件的生產與硬件的制造不同、③軟件會退化、④軟件的開發尚未完全擺脫手工藝的開發方式、⑤軟件開發和運行必須依附于特定的計算機系統環境
答:①用分階段的生命周期計劃進行嚴格的管理
②堅持進行階段評審
③實行嚴格的產品控制
④采用現代程序設計技術
⑤軟件工程結果應能被清楚地審查
⑥開發小組的人員應該少而精
⑦承認不斷改進軟件工程實踐的必要性
答:過程、方法、工具
答:①結構化方法
②面向數據結構方法
③面向對象方法
④形式化方法
第二章
答:軟件產品的生命周期是指從設計該產品的構想開始,到軟件需求的確定、軟件設計、軟件實現、產品測試與驗收、投入使用以及產品版本的不斷更新,到最終該產品被市場淘汰的全過程。軟件生命周期這個概念從時間的角度將軟件的開發和維護的復雜過程分解為了若干個階段,每個階段都完成特定的相對獨立的任務。由于每個階段的任務相對于總任務難度會大幅度降低,在資源分配、時間把握和項目管理上都會比較容易控制。合理地劃分軟件生命周期的各個階段,使各個階段之間既相互區別又相互聯系,為每個階段賦予特定的任務。
答:業務建模、需求、分析和設計、實現、測試和部署
答:核心價值觀:
①個體與交互高于過程和工具
②可運行軟件高于詳盡的文檔
③與客戶協作高于合同(契約)
④對變更及時響應高于遵循計劃
體現:
敏捷方法對傳統方法的“反叛”體現在以人為中心,不再依靠文檔來控制過 程,認為傳統過程過于僵化,文檔繁瑣,主張對傳統過程“瘦身”,在上述價 值觀的支配下,做到能夠為準。
第四章
答:需求分析是一個非常重要的過程,它完成的好壞直接影響了后續軟件開發的質量。
答:結構化的需求分析方法是一種面向數據流的需求分析方法,其中數據作為獨立實體轉換,數據建模定義了數據的屬性和關系,操作數據的處理建模表明當數據在系統流動時處理如何轉換數據。
答:數據字典用于定義數據流圖中各個圖元的具體內容,為數據流圖中出現的圖形元素做出確切的解釋。
第五章
答:軟件設計就是要把需求規格說明書中歸納的需求轉換為可行的解決方案,并把解決方案反映到設計說明書里。需求分析回答軟件系統能“做什么”的問題,而軟件設計就是要解決“怎么做的問題”。
答:模塊是數據說明、可執行語句等程序對象的集合,是構成程序的基本構件,可以被單獨命名并通過名字來訪問。
模塊化是把系統或程序劃分為獨立命名并且可以獨立訪問的模塊,每個模塊完成一個特定的子功能。
軟件模塊化的目的是建立可重用的軟件組件,在不需要修改或僅作少量修改的情況下,可再次用來組建新的軟件系統,提高軟件的開發周期和可靠性。
答:主要是指依據一定的映射規則,將需求分析階段得到的數據描述、系統的輸入端到輸出端所經歷的一系列變換或處理的數據流圖轉換為目標系統的結構描述
答:可以清晰地表示層次結構,易于對自頂向下的結構進行描述;
結構易懂、易用,并且比較直觀、形象;
不僅可以表示數據結構,也可以表示程序結構;
第六章
答:面向對象的方法是為了模擬現實世界,使各種不同的現實世界系統在計算機中得以實現,進而為工作、學習、生活提供幫助
面向對象的特點:
- 把數據和操作封裝在一起,形成對象。對象是構成軟件系統的基本構件
 - 把特征相似的對象抽象為類
 - 類之間可以存在繼承或被繼承的關系,形成軟件系統的層次結構
 - 對象類之間通過發送消息進行通信
 - 將對象的私有信息封裝起來。
 
答:UML的作用:UML是一種通用的可視化建模語言,可以用來描述、可視化、構造和文檔化軟件密集系統的各種工作
UML的優點:
- UML語言使系統建模過程標準化,統一化,規范化。
 - UML在整個軟件開發過程中采用相同的概念和表示方法,在不同的開發階段,不必轉換概念和表示方法,避免了傳統軟件開發方法的兩個鴻溝。
 - UML采用圖形化的表現形式。產生的模型易于理解,易于開發人員與用戶之間的溝通,從而能夠及時得到用戶的反饋信息。
 - 用UML進行系統建模所得到的建模制品不僅僅包括各種模型框圖,還有大量豐富的文檔,這些文檔給系統后期的維護工作帶來了便捷。
 - UML不是一門程序設計語言,但可以使用代碼生成工具將UML模型轉換為多種程序設計語言代碼,或使用反向生成工具將程序源代碼轉換為UML模型。
 
答:類之間的外部關系:關聯、依賴、泛化、實現
關聯:表達模型元素間的一種語義關系
依賴:表示的兩個元素之間語義上的聯系
泛化:描述類的一般-特殊關系
實現:將一個模型連接到另外一個模型
第七章
答:①首先要找到系統的操作者,既用例的參與者
②可以把參與者執行的每一個系統功能都看作一個用例
③確定了系統的所有用例之后,就可以開始識別目標系統中的對象和類了,把具有相似屬性和操作的對象定義為了一個類
答:動態模型描述對象和關系的狀態、狀態轉換的觸發事件、對象的服務(行為)。
答:對象模型描述了現實世界中的“類與對象”以及它們之間的關系,表示了目標系統的靜態數據結構
答:功能模型表明了系統中數據之間的依賴關系,以及有關的數據處理功能,它由一組數據流圖組成
第八章
答:規范軟件開發的基礎結構;便于開發人員與用戶的溝通;模塊化、層次化設計,有利于減少返工,提高效率;便于系統開發前期、后期的籌備與服務
答:軟件質量屬性是指軟件系統在其生存周期過程中所表現出的各種特征
答:
- 通過合理地劃分三層結構,使之在邏輯上保持相對獨立,提高系統的可維護性和可擴展性
 - 能更靈活地選用相對應的平臺和應用系統,使之在處理負荷能力上與處理特性上分別適應各層的要求;并且這些平臺和組成部分可以具體良好的可升級性和開放性
 - 應用的各層可以獨立地并行開發,每層可以根據自己的特點選用合適的開發語言
 - 安全性相對較高,應用層屏蔽了客戶直接訪問數據庫的權利,使得未授權用戶或黑客難以繞過應用層直接獲取敏感數據,為數據的安全管理提供了系統結構的支持
 
答:MVC可以最大化地重用代碼,且靈活性極高
第九章
答:①模塊化、②抽象化、③信息隱藏、④低耦合、⑤高內聚、⑥復用性
答:系統設計關注于確定實現系統的策略和目標系統的高層結構。
對象設計以問題域的對象設計為核心,其結果是一個詳細的對象模型
第十章
答:重要性:具有良好編程風格的源程序具有較強的可讀性、可維護性、同時還能提高團隊開發的效率。良好的個人編程風格是一個優秀程序員素質的一部分。
<2>①版權和版本聲明、②程序版本、③注釋、④命名規則、⑤數據說明、⑥語句構造、⑦輸入\輸出、⑧效率
答:①機器語言
優點:執行速度快
缺點:對程序員的要求較高,花費時間長,直觀性差,容易出錯
②匯編語言
優點:可高效地訪問、控制計算機的各種硬件設備
缺點:不能直接識別匯編語言
③高級語言
優點:易懂、易記、易改、移植性較強
缺點:經過解釋或編譯才能被計算機識別、執行,其效率比匯編語言還低
④超高級語言
優點:易懂、易記、易改、移植性較強
缺點:經過解釋或編譯才能被計算機識別、執行,其效率比匯編語言還低
答:注釋有利于軟件開發人員之間以及開發人員和用戶之間進行交流的重要途徑,有利于日后的軟件維護。
總結
以上是生活随笔為你收集整理的软件工程(吕云翔第二版)部分简答题答案的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 盘点9个你可能不会用的JS技巧
 - 下一篇: 盘点最经典的外包案例