(软件工程复习核心重点)第一章软件工程概论习题
- 這一章題目主要以簡答和名詞解釋為主
文章目錄
- 一:選擇題
- 二:填空題
- 三:名詞解釋
- (1)必考
- (2)了解
- 四:簡答題
- (1)必考
- 1.關于軟件危機
- 2.關于軟件工程
- 3. 關于軟件生命周期
- 4.關于軟件過程
- 5.典型軟件生命周期模型優缺點及適用范圍
- (2)了解
- 五:應用題/畫圖題
一:選擇題
二:填空題
軟件發展的三個階段
- 程序設計階段(50~60年代)
- 程序系統階段(60~70年代)
- 軟件工程階段(70年代以后)
軟件包括的三個部分
- 數據:是使程序能夠適當處理信息的數據結構
- 程序:是能夠完成預定功能和性能的可執行指令序列
- 文檔:是開發、使用和維護過程中程序所需要的圖文資料
軟件過程方法學的三個部分
- 方法:完成軟件開發各項任務的技術方法,回答“怎么做”的問題
- 工具:為運用方法提供的自動或半自動軟件工程支撐環境
- 過程:是為了獲得高質量軟件所需要完成的一系列任務框架,回答“何時做”的問題
瀑布模型階段間具有順序性和依懶性,遵從推遲實現和質量保證的觀點
三:名詞解釋
(1)必考
- 軟件危機:在計算機軟件開發和維護過程中所遇到的一系列嚴重問題。主要包含兩個方面:如何開發軟件,以滿足日益增長的軟件需求;如何維護數量不斷膨脹的已有軟件
- -軟件工程:采用工程的概念、原理、技術和方法來開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,經濟的開發出高質量的軟件并維護它
- 軟件過程:是為了獲得高質量軟件所需要完成的一系列任務框架,它規定了完成任務的工作步驟。通常用軟件生命周期模型來描述軟件過程
(2)了解
- 軟件:是計算機系統中與硬件相互依存的另一部分,包括程序、數據及其相關文檔的完整集合
- 軟件工程方法學:把在軟件生命周期全過程中使用的一整套技術方法的集合稱之為方法學,也稱為范型
四:簡答題
(1)必考
1.關于軟件危機
★★★
【答案】
軟件危機的定義:軟件危機是在計算機開發和維護過程中所遇到的一系列的嚴重問題,主要包含兩個方面
- 如何開發軟件,以滿足日益增長的軟件需求
- 如何維護軟件數量不斷膨脹的已有軟件
軟件危機的表現:
- 對軟件開發成本和進度的估算不準確
- 用戶對軟件不滿意
- 軟件質量不可靠
- 軟件不可維護
- 沒有合適的文檔資料
- 軟件成本在計算機系統中的成本逐年上升
- 軟件開發生產率低
軟件危機的原因
①:主觀方面
- 忽視需求分析
- 輕視軟件維護
- 沒有認識到程序只是軟件的一部分
- 沒有認識到開發只是軟件漫長生命周期中一個比較次要的階段
- 越到后期引入變動代價會越高
②:客觀方面
- 軟件是邏輯實體,具有不可見性,管理控制很困難
- 軟件不會磨碎,維護意味著需要原來的設計,維護困難
- 軟件規模龐大,程序的復雜性會隨著軟件規模增加而增加
如何解決
- 對計算機軟件應該有正確的認識
- 要吸取和借鑒人類長期從事各種工程項目積累的原理、概念、技術和方法
- 積極開發和使用計算機輔助開發軟件
- 探索更好更有效的管理措施和手段對開發過程進行控制和管理
2.關于軟件工程
【答案】
軟件工程定義:采用工程的概念、技術、原理和方法,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,經濟的開發出高質量的軟件并維護它
軟件工程的特征
軟件工程的原理
3. 關于軟件生命周期
軟件生命周期階段如何劃分?
4.關于軟件過程
【答案】
軟件過程的定義:是為了獲得高質量軟件所需要完成的一系列任務框架,它規定了完成任務的工作步驟,通常用軟件生命周期模型來描述軟件過程
軟件工程方法學:把在軟件生命周期全過程中所使用的一整套技術方法的集合稱之為軟件工程方法學。包含三個要素
- 方法:完成軟件開發各項任務的技術方法
- 工具:為了運用方法提高的自動或半自動軟件工程支撐環境
- 過程:是為了獲得高質量軟件所需要完成的一系列任務框架
因此軟件過程是軟件工程方法學的重要組成部分
5.典型軟件生命周期模型優缺點及適用范圍
①瀑布模型
優點:
- 強迫開發人員使用規范的方法
- 嚴格規定了每個階段提交的文檔
- 要求每個階段交出的產品都必須經過質量保證小組的驗證
- 對文檔的約束,使得軟件維護變得容易一些,且能降低軟件預算
缺點
- 在軟件開發初期就要求做出正確的,全面的,完整的需求分析對多數應用軟件來說是很困難的
- 在需求分析階段,在需求確定后,無法及時驗證需求是否正確,完整
- 作為整體開發的瀑布模型,由于不支持產品演化,缺乏靈活性,對開發過程中很難發現的錯誤,只有在產品最終運行時才能發現
適用范圍
- 用戶的需求非常清晰全面,且在開發過程中沒有或很少有變化
- 開發人員對軟件的應用領域很熟悉
- 用戶的使用環境非常穩定
- 開發工作對用戶的參與要求很低
②快速原型模型
優點:
- 開發的軟件通常滿足用戶需求
- 軟件開發基本是線性過程
缺點
- 準確原型設計困難
- 原型理解可能不同
- 不利于開發人員創新
適用范圍
- 對所開發的領域比較熟悉且與快速的原型開發工具
- 項目招投標時,可以以原型模型作為軟件的開發模型
- 進行產品移植或升級時,或對已有產品原型進行客戶化工作時
③:增量模型
優點
- 短時間內可提交部分功能
- 逐漸增加產品功能,用戶適應產品快
缺點
- 增量構件劃分及集成困難
- 容易退化成邊做邊改模型
④:噴泉模型
優點
- 利于把軟件質量作為軟件的開發目標
- 減少測試
- 維護和開發不分開
缺點
- 風險估計困難
(2)了解
什么是軟件?軟件的特點是什么?
【答案】
在軟件開發的不同階段進行修改所付出的代價是不相同的。在早期引入變動,由于設計的面較少,因而代價也比較低;在開發的中后期,軟件配置相關工作已經完成,引入一個變動時常常會引起所有與之有關的成分發生變化,所以代價較高。一個人編碼錯誤是不可避免的,但是修改的成本是很小的,因為這不是整體架構的錯誤,只要不斷進行階段評審,不要讓錯誤留到后期,在早期就盡可能解決
【答案】
結構化范型
- 采用結構化技術完成軟件開發的各項任務
- 把軟件生命周期劃分不同階段
- 每個階段開始和結束都有嚴格標準
- 每個階段結束后要有嚴格審查
面向對象范型
- 把對象作為融合了數據及在數據上的操作行為的統一軟件構件
- 把所有對象劃分為類
- 按照父類與子類的關系,把若干類組成層次結構的系統
- 對象彼此間僅通過消息互相聯系
【答案】
因為使用面向對象方法學開發軟件時,各個階段都使用統一的概念和表示符號, 因此,整個開發過程都是吻合一致的,或者說是無縫連接的,這自然就很容易實現各個開發步驟的反復多次迭代,達到認識的逐步深化,而噴泉模型則很好的體現了面向對象軟件開發過程迭代和無縫的特性
【答案】
優點:提高了團隊生產力,在迭代的開發過程、需求管理、基于組建的體系結構、可視化軟件建模、驗證軟件質量及控制軟件變更等方面、針對所有關鍵的開發活動為每個開發成員提供了必要的準則、模版和工具指導,并確保全體成員共享相同的知識基礎。它建立了簡潔和清晰的過程結構,為開發過程提供較大的通用性
缺點:缺點: RUP只是一個開發過程,并沒有涵蓋軟件過程的全部內容,例如它缺少關于軟件運行和支持等方面的內容,此外,他沒有支持多項目的開發結構,這在一定程度上降低了在開發組織內大范圍實現重用的可能性
【答案】大型的需求不斷變化的復雜軟件系統項目
【答案】適用于商業競爭環境下對小型項目提出的有限資源和有限開發時間的約束
【答案】適用于商業環境下具有有限資源和有限開發時間約束的項目的軟件過程模式
五:應用題/畫圖題
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第一章软件工程概论习题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux系统安全工具tcpdump用法
- 下一篇: jQuery $.post $.ajax