軟體工程複習

2022-05-12 01:04:59 字數 5150 閱讀 8466

一、考試複習範圍:

1、軟體工程基本概念、基本原理

2、需求分析,結構化分析、物件導向分析,結構化分析建模、物件導向分析建模

3、軟體設計,結構化程式設計,概要設計、詳細設計

4、軟體測試

二、考試題型:單項選擇題、簡答題、綜合應用題(要求會畫:資料流圖、軟體結構圖、用例圖、類圖、n-s盒圖、pad圖)

三、複習內容:

1、什麼是軟體危機?

人們把軟體開發和維護中的各種問題稱為「軟體危機」。

2、軟體危機主要包含哪兩方面的問題?

①如何開發軟體以滿足軟體日益增長的需求。

②如何維護數量不斷增長的已有軟體。

3、軟體危機的表現有哪些?

①對軟體開發成本和進度的估算很不準確。

②使用者對完成的軟體很不滿意。

③軟體產品的質量很不可靠。

④沒有完整的文件。

⑤軟體成本比重上公升。

⑥軟體開發生產效率低下,軟體開發技術進步落後與需求的增長,造成「供不應求」的局面。

4、什麼是軟體工程?

軟體工程的定義:採用工程的概念、原理和方法來開發和維護軟體,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。

5、.軟體工程包括3個要素有哪些?

方法、工具和過程。

6、軟體生命週期各階段有哪些?

軟體生命週期包括:軟體定義、軟體開發、軟體維護三個時期。其中:

軟體定義包括:問題定義、可行性研究、需求分析階段;軟體開發包括:總體設計、詳細設計、編碼、軟體測試階段。

7、需求分析的任務有哪些?

需求分析的任務主要有兩個方面:

①通過對問題及環境的理解、分析和綜合,建立分析模型。

②在完全弄清使用者對軟體系統的確切要求的基礎上,用「軟體需求規格說明書」把使用者的需求表達出來。

8、軟體系統需求分類是哪些?

軟體系統需求可以分為功能需求、非功能需求和領域需求:

1)功能需求描述系統所預期提供的功能或服務。即定義系統應該做什麼,系統要求輸入什麼資訊,輸出什麼資訊,以及如何將輸入變換為輸出。它由開發的軟體型別、軟體未來的使用者以及開發的系統型別決定。

2)非功能需求是指那些不直接與系統具體工作相關的一類需求。主要涉及系統的總體特性,如可靠性、反映時間和儲存空間等。

3)領域需求是來自系統的應用領域的需求,反映了該領域的特點,它可能是乙個新的特有的功能需求,對已存在的功能需求的約束或者是需要實現的乙個特別計算。

9、獲取需求的方法有哪些?

1.通過系統調查獲取需求

2.通過快速原型獲取和驗證需求

10、需求開發包括哪些內容?

需求開發又分為可行性研究、需求匯出和分析(包括需求的獲取與建模)、編寫規格說明書和需求驗證。

11、傳統的需求分析方法建立什麼模型?分別畫什麼圖?(或問:結構化分析模型包括哪些?)

包括:資料模型(er圖),功能模型(資料流圖)、動態(行為)模型(狀態轉化圖)。

12、如何建立資料流模型?

[要有根據業務處理建立資料流圖的能力]

例如:工資管理系統的資料流圖

13、物件導向的分析模型包括哪些?

ooa模型的3種模型:

1)類-物件模型,描述系統所涉及的全部類-物件,每乙個類-物件都通過屬性、操作和協作者來進行進一步描述;

2)物件-關係模型,描述物件之間的靜態關係,同時定義了系統中所有重要的訊息路徑,它也可以具體化到物件的屬性、操作和協作者;

3)物件-行為模型描述了系統的動態行為,即物件在特定的狀態下如何反映外界的事件。3種模型分別起到描述資料模型、功能模型與行為模型的作用。

14、結構化建模的基本特點有哪些?

1)結構化方法是面向資料流分析方法之一,它採用圖形描述方式來建立分析模型,把軟體系統描繪成乙個可見模型,為系統的審查和評價提供了有利的條件,也為軟體開發人員和使用者提供了交換資訊的方便,為設計階段提供了依據。

2)結構化方法的分析過程實際上是乙個建模的活動,把系統自上向下逐層分解,逐步細化,從而獲得乙個分析模型。

3)結構化方法比較適用資料處理的領域。為了適合用於實時控制系統,可以在資料流圖中加入控制流,這是結構化方法的一種擴充。

4)用資料流圖不適合描繪人機介面。而且對大型軟體專案,資料字典的規模相當龐大,人工管理非常困難,因此需要借助於軟體開發工具。

5)用結構化方法建立的分析模型,只是提供人們閱讀的書面文件,不能被機器閱讀和執行。

15、請說說原型開發的一般過程。

原型開發的軟體開發過程一般包括四個階段:

1)提出基本需求,建立原型目標。

2)定義原型功能,建造快速原型。

3)對模型進行檢驗,補充、細化需求。

4)按照改進的需求對模型進行改進、擴充,評估原型。

5)通過第3)、4)步驟的反覆迴圈,最終形成完整、準確的需求,模型也就成為了符合要求的目標系統。

16、軟體質量保證有哪些方法?

評審測試

17、人類對客觀事物的認知過程主要有兩種:

1)從一般到特殊的演繹方法,

2)從特殊到一般的歸納方法,

18、物件導向分析方法的要點是什麼?物件導向方法的主要優點是什麼?

利用「物件」的概念模型建立乙個針對於問題域的模型,使用者和軟體工程師通過該模型進行交流。通過在這麼乙個基於「物件」的問題域模型的基礎上形成需求規格說明書。物件導向分析方法使得軟體工程師能夠通過物件、屬性和操作(作為主要的建模成分)的表示來對問題建模。

1)符合人類習慣的思維方法。

2)穩定性好。

3)可重用性好。

4)可維護性好。

5)可伸縮性。

19、用物件導向的用例方法進行需求分析根本要點是什麼?

物件導向方法中,需求匯出和分析目的用例方法,其要點是:

1)用例的重要功能是通過畫用例圖來鑑別和劃分系統功能。它把系統分成角色(actor)和用例(用例)。

2)角色(actor)表示系統使用者能扮演的角色。

3)用例描述了當角色給系統特定的刺激時系統的活動,即乙個用例描述了系統和乙個角色(actor)的互動順序。

4)用例被定義成系統執行的一系列動作,動作執行的結果能被指定角色察覺到。

20、使用用例開發系統的一般過程有哪些?

1)識別角色來識別系統與外界互動的實體。

2)識別用例。用例具有不同層次,對較為概括的用例,需要細化。

3)當用例細化到可以被理解的層次,需要基於用例進行下一步的開發。用例主要用來描述互動,因此存在互動的實體和互動的細節。互動的實體採用類圖來描述;而互動的細節,採用順序圖來描述。

4)當系統複雜到一定層次時,類圖和順序圖可能不能足以描述其複雜程度。在該情況下,需要使用狀態圖來輔助闡述。

21、uml的定義及uml圖的構成成份是哪些?

1、uml是乙個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模。uml適用於系統開發過程中從需求規格描述到系統完成後測試的不同階段。

2. uml 圖的構成成分,uml的定義了5類10種模型圖

1)用例圖:這是一種使用者模型檢視,用例圖是系統功能的描述。它從使用者的角度描述系統的功能,並指出各個功能的操作者。

2)靜態圖:這是一種結構模型檢視,這種圖描述系統的靜態結構。有類圖、物件圖、包圖。

3)行為圖:這是一種行為(動態)模型檢視,這種圖描述系統的動態行為和組成系統的物件之間的互動關係。行為圖有狀態圖和活**。

4)實現圖:這是一種實現模型檢視,這種圖描述系統實現的資訊,有構件圖和配件圖。

5)互動圖:這是一種環境模型檢視,表示系統的環境結構和行為,這種圖描述系統物件之間的互動關係,有順序圖和合作圖。

3.完整需求分析主要用五種圖:用例圖、類圖、狀態圖、協作圖和順序圖。

22、物件導向的分析模型主要有哪些子模型構成?它們分別是哪些圖?

由3類子模型構成,即:物件模型、動態模型和功能模型。

物件模型(object model)用於描述系統內部物件的靜態結構;動態模型描述軟體系統的控制結構;功能模型描述軟體系統必須要完成的功能。

物件模型由一組類圖構成。

動態模型由一組狀態圖、順序圖等構成。

功能模型由一組資料流圖構成。

23、如何建立用例圖、類圖?

建立類圖的工作步驟是:首先確定物件類和關聯,對於大型複雜問題還要進一步劃分若干個主題,然後給類和關聯增添屬性,以進一步描述它們,接下來利用適當的繼承關係進一步合併和組織類。而對類中操作的最後確定,則需要等到建立了動態模型和功能模型之後。

例如:學生管理系統用例圖例

[要有根據業務處理建立用例圖、類圖的能力]

學生管理類圖例:

24、軟體設計原則:

模組的獨立性原則:所謂模組的獨立性,是指軟體系統中每個模組只涉及軟體要求的具體子功能,而與軟體系統中其他的模組的介面是簡單的。例如,若乙個模組只具有單一的功能且與其他模組沒有太多的聯絡,則稱此模組具有模組獨立性。

模組的耦合性,聚合性的概念,它們是對模組獨立性的度量。

在進行軟體設計過程中,力爭鬆散(低)耦合,高內聚。

25、軟體設計種類

傳統的軟體設計方法(結構化軟體設計方法)、物件導向設計方法。

26、結構化程式設計有哪些設計型別?

有:概要設計、詳細設計

27、物件導向軟體設計有哪些設計型別?

有:系統設計、物件設計

28、面向資料流的軟體設計方法

是概要設計的一種方法,是基於分析模型,到設計模型的過程。具體的就是通過資料流圖到軟體(模組)結構圖。

[同學們應有該方法進行軟體設計的能力]

29、詳細設計工具

程式流程圖、n-s圖(合圖)、pad圖(問題分析圖)、pdl(偽**)

[同學們應有建立這些圖,並這些圖進行轉換的能力]

30、軟體測試

軟體測試是在軟體正式投入執行前,對軟體的需求分析、設計規格說明和編碼的最終複審,是質量保證工作最為關鍵的乙個環節。

軟體測試過程包括4個步驟進行:單元測試、整合測試(組裝測試)、驗收測試(確認測試)、系統測試

軟體測試方法有:白盒測試方法、黑盒測試方法

31、測試和除錯

測試是為了發現錯誤而執行程式的過程

除錯是為了改正錯誤而對錯誤進行定位與修改程式,從而排除該錯誤。

32、(詳細設計例)設計使用篩選法獲取1~100之間素數的程式(可以根據下面的參考程式**),要求使用pdl描述程式執行的各步驟,並畫出n-s圖或pad圖。

素數也稱為質數, 是不能被從2開始到比自己小1的任何正整數整除的自然數, 解決的演算法描述如下:

(1)構造外迴圈得到乙個1~100之間的數i, 為了減少迴圈次數, 可跳過所有偶數;

軟體工程複習

第1章軟體工程概述 1 軟體危機的典型表現 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。概括地說,軟體危機包含下述兩方面的問題 如何開發軟體,以滿足對軟體日益增長的需求 如何維護數量不斷膨脹的已有軟體。軟體危機典型表現 對軟體開發成本和進度的估計常常很不準確。使用者對 已完成的...

軟體工程複習

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

《軟體工程》複習

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