軟體工程複習

2022-08-14 07:57:04 字數 3011 閱讀 9001

第1章軟體工程概述

1、軟體危機的典型表現

軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。概括地說,軟體危機包含下述兩方面的問題:如何開發軟體,以滿足對軟體日益增長的需求;如何維護數量不斷膨脹的已有軟體。

軟體危機典型表現:對軟體開發成本和進度的估計常常很不準確。使用者對「已完成的」軟體系統不滿意的現象經常發生。

軟體產品的質量往往靠不住。軟體常常是不可維護的。軟體通常沒有適當的文件資料。

軟體成本在計算機系統總成本中所佔的比例逐年上公升。軟體開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。

2、軟體危機產生的原因(*)

產生軟體危機的原因:一方面與軟體本身的特點有關,另一方面也和軟體開發與維護的方法不正確有關。軟體不同於硬體,它是計算機系統中的邏輯部件而不是物理部件。

管理和控制軟體開發過程相當困難。軟體是規模龐大,而且程式複雜性將隨著程式規模的增加而呈指數上公升。目前相當多的軟體專業人員對軟體開發和維護還有不省糊塗觀念,在實踐過程中或多或少地採用了錯誤的方法和技術,這是使軟體問題發展成軟體危機的主要原因。

3、消除軟體危機的途徑:技術措施+組織管理措施(*)

為了消除軟體危機,首先應該對計算機軟體有乙個正確的認識。既軟體是程式、資料及相關文件的集合,而不是「軟體就是程式」。

必須充分認識到軟體開發不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協調配合、共同完成的工程專案。應該推廣使用在實踐中總結出來的開發軟體成功的技術和方法。

應該開發和使用更好的軟體工具。

總之,為了消除軟體危機,即要有技術措施(方法和工具),又要有必要的組織管理措施。

4、什麼是軟體工程(*)

概括的說,軟體工程是指導計算機軟體開發和維護的工程學科。採用工程的概念、原理、技術和方法來開發與維護軟體,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,經濟的開發出高質量的軟體並有效的維護它,這就是軟體工程。

5、軟體工程的基本原理

(1)用分階段的生存週期計畫進行嚴格的管理。

(2)堅持進行階段評審。

(3)實行嚴格的產品控制。

(4)採用現代程式設計技術。

(5)軟體工程結果應能清楚地審查。

(6)開發小組的人員應該少而精。

(7)承認不斷改進軟體工程實踐的必要性。

第2章軟體過程

1、軟體生命週期由哪3個時期組成?每個時期又劃分為哪幾個階段?

2、軟體生命週期分為哪幾個階段,每個階段的任務是什麼?(*)

3、軟體開發的模型有哪幾種?每種的優點和缺點?

4、快速原型和螺旋模型的原理分別是什麼?(*)

第3章結構化分析(sa)

1、與使用者溝通的方法有哪些

2、分析建模的目標

3、分析模型的結構

4、實體關係圖三種基本成分(*)

5、資料流圖4種基本符號表示的含義(*)

6、建立資料流圖(*)

第4章結構化設計

1、把分析模型轉變成軟體設計(圖4.1)

2、模組化、抽象、逐步求精、資訊隱藏

3、模組獨立的意義

4、衡量模組獨立的兩個標準?這兩個標準的含義?(*)

5、對於耦合採用的設計原則:盡量使用資料耦合,少用控制制耦合和特徵耦合,限制公共環境耦合的範圍,完全不用內容耦合。(*)

6、耦合的強弱取決於哪些因素?

7、最高內聚是功能內聚,最低內聚是偶然內聚(*)

8、軟體設計中常用的啟發規則

9、表示軟體結構的圖形工具(*)

10、面向資料流的設計方法是把資訊流對映成軟體結構,資訊流的型別決定了對映的方法

11、資訊流兩種型別:變換流、事務流

12、變換流的變換分析的步驟

13、事務流的事務分析的步驟

14、分析和軟體的結構圖(*)

15、人機介面設計過程中注意的四個問題

16、過程設計採用的技術:結構化程式設計

17、三種基本的控制項結構:順序、選擇、迴圈

18、過程設計的工具有哪些?針對設計如何用工具進行描述?(*)

第5章結構化實現

1、盡量採用高階語言編寫程式**

2、編碼的風格

3、軟體測試的目標

4、白盒測試又叫結構測試,黑盒測試又叫功能測試,什麼是白盒測試,什麼是黑盒測試(*)

5、理解測試的準則

6、程式流程圖轉換為流圖(*)

7、邏輯覆蓋的型別、測試用例的設計(*)

8、基本路徑測試(*)

9、條件測試

10、迴圈測試

11、等價劃分(*)

12、邊界值分析(*)

13、測試策略(單元測試、整合測試、確認測試,系統測試)

14、軟體測試的步驟,簡要說明各測試步驟的目的

15、alpha測試和beta測試

16、除錯的作用及途徑(*)

17、軟體可靠性和軟體可用性

第6章物件導向方法學導論

1、類的表示方法

2、物件導向=物件+類+繼承+通訊(*)

3、物件導向方法學的主要優點

4、物件導向的概念(物件、類、例項、訊息、方法、屬性、封裝、繼承、多型性、過載)

5、物件之間的關係(*)多重數(*)

5、物件導向建模的三種模型:物件模型、動態模型、功能模型(*)

第7章物件導向分析

1、建立物件模型的步驟

2、建立動態模型的步驟

3、建立物件模型(*)

第8章物件導向設計

1、理解物件導向設計的準則

2、軟體可重用性的含義(*)

3、理解啟發規則

4、子系統之間的兩種互動方式,應該盡量用哪種方式

5、組織系統的兩種方案

6、如何設計問題域子系統

7、設計人機互動介面的準則

8、設計人機互動子系統的策略

9、如何設計任務管理子系統

10、如何設計資料管理子系統

11、設計關聯

12、調整繼承關係

第9章物件導向實現

1、選擇物件導向語言需著重考慮的實際因素

2、程式設計風格(提高可重用性

軟體工程複習

一 考試複習範圍 1 軟體工程基本概念 基本原理 2 需求分析,結構化分析 物件導向分析,結構化分析建模 物件導向分析建模 3 軟體設計,結構化程式設計,概要設計 詳細設計 4 軟體測試 二 考試題型 單項選擇題 簡答題 綜合應用題 要求會畫 資料流圖 軟體結構圖 用例圖 類圖 n s盒圖 pad圖...

軟體工程複習

24.為了進一步改善軟體系統的可維護性和可靠性,並為以後的改進奠定基礎的軟體維護稱為 預防性維護 25.按軟體的功能進行劃分,軟體分為 系統軟體 支撐軟體和應用軟體。26.軟體定義的基本任務是確定軟體系統的工程 需求 也就是要搞清 做什麼 27.資料流圖 dfd 是一種圖形化技術,描繪資訊和資料從輸...

《軟體工程》複習

一 選擇題 每小題1分,共20分 1.在uml的順序圖中,通常由左向右分層排列各個物件,正確的排列方法是 a 執行者角色控制類使用者介面業務層後台資料庫 b 執行者角色使用者介面控制類業務層後台資料庫 c 執行者角色控制類使用者介面後台資料庫業務層 d 執行者角色使用者介面業務層控制類後台資料庫 2...