軟體工程複習重點

2022-10-12 10:27:02 字數 5336 閱讀 3975

第一章軟體工程概論

1.軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題,幾乎所有軟體都不同程度地存在這些問題。

2.軟體危機的典型表現:

1)對軟體開發成本和進度的估計常常很不準確;

2)使用者對「已完成的」軟體系統不滿意的現象經常發生;

3)軟體產品質量往往靠不住;

4)軟體常常是不可維護的;

5)軟體通常沒有適當的文件資料。

3.在軟體開發和維護的過程中存在這麼多嚴重問題,一方面與軟體本身的特點有關,另一方面也和軟體開發與維護的方法不正確有關。

4.乙個軟體必須由乙個完整的配置組成,事實上,軟體是程式,資料及相關文件的完整集合。

5.軟體工程是:

1)把系統的,規範的,可度量的途徑應用於軟體開發執行和維護過程,也就是把工程應用於軟體;

2)研究1)提到的途徑。

6.軟體工程的基本原理:

1)用分階段的生命週期計畫嚴格管理;

2)堅持進行階段評審;

3)實行嚴格的產品控制;

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

5)結果應能清楚的審查;

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

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

7.軟體工程方法學包含3個要素:方法,工具和過程。

8.當軟體規模龐大,或者對軟體的需求是模糊的或會隨時間變化而變化的時候,使用傳統方法學開發軟體往往不成功,應該使用物件導向方法學。

9.軟體生命週期由軟體定義,軟體開發和執行維護(也稱軟體維護)3個時期組成,每個時期又進一步劃分成若干個階段。

10.軟體過程是為了獲得高質量軟體所需要完成的一系列任務的框架,它規定了完成個項任務的工作步驟。

11.瀑布模型的特點:

1)階段間具有順序性和依賴性;

2)推遲實現的觀點;

3)質量保證的觀點。

12.瀑布模型的成功在很大程度上是由它基本上是一種文件驅動的模型。

13.快速原型模型的本質是快速。

14.生命週期方法學把軟體生命週期劃分為若干個相對獨立的階段,每個階段完成一些確定的任務,交出最終的軟體配置的乙個或幾個成分。

15.物件導向方法學=物件+類+繼承+用訊息通訊(物件導向方法就是既使用類和繼承等機制,而且物件之間僅能通過傳遞訊息實現彼此通訊的方法)。

16.物件導向方法簡化了軟體的開發和維護,提高了軟體的可重用性。

17.增量模型具有可在軟體開發的早期階段使投資獲得明顯回報和較易維護的優點。

18.風險驅動的螺旋模型適用於內部開發的大型軟體專案。

19.噴泉模型較好的體現了物件導向軟體開發過程無縫迭代的特性。

第2章可行性研究

1.可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。

2.可行性研究實質上是要進行一次大大壓縮簡化了的系統分析和設計的過程,也就是在較高層次上以比較抽象的方式進行的系統分析和設計的過程。

3.從3個方面研究每種解法的可行性:1)技術可行性;2)經濟可行性;3)操作可行性。

4.可行性研究過程:

1)複查系統規模和目標;

2)研究目前正在使用的系統;

3)匯出新系統的高層邏輯模型

4)進一步定義問題;

5)匯出和評價供選擇的解法;

6)推薦行動方針;

7)草擬開發計畫;

8)書寫文件提交審查。

5.系統流程圖是概括地描繪物理系統的傳統工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系統的每個部件(程式,文件,資料庫和人工工程等)。

系統流程圖表達的是系統個部件之間流動的情況,而不是對資料進行加工和處理的過程。

6.資料流圖(dfd)是一種圖形化技術,它描繪資訊和資料從輸入移動到輸出的過程中所經受的變換。在資料流圖中沒有任何具體的物理部件,它只是描繪資料在軟體中流動和被處理的邏輯過程。

資料流圖是系統邏輯功能的圖形表示。

7.資料儲存和資料流都是資料,僅僅所處的狀態不同,資料儲存是出於靜止狀態所謂資料,資料流是出於運動中的資料。

8.畫資料流圖的基本目的是利用它作為交流資訊的工具。

9.資料流圖的另乙個主要用途是作為分析和設計的工具。

10.資料字典是關於資料的資訊的結合,也就是對資料流圖中包含的所有元素的定義的集合。

11.資料字典的作用是在軟體分析和設計的過程中給人提供關於資料的描述資訊。

12.資料流圖和資料字典共同構成系統的邏輯模型,沒有資料字典,資料流圖就不嚴格,然而沒有資料流圖,資料字典也難以發揮作用。

13.資料字典由以下4類元素的定義組成:

1)資料流;2)資料流分量(即資料元素)3)資料儲存;4)處理。

14.投資**期就是使累計的經濟效益等於最初投資所需要的時間。

15.純收入就是在整個生命週期之內系統的累計經濟效益(折合成現在值)與投資之差。

16.系統流程圖實質上是物理資料流圖,它描繪組成系統的主要物理元素以及資訊在這些元素間流動和處理的情況。

第3章需求分析

1.需求分析是軟體定義時期的最後乙個階段,它的基本任務是準確定義新系統的目標,回答「系統必須做什麼」這個問題。

2.需求分析階段需要編寫的文件有需求規格說明書,初步使用者使用手冊,確認測試計畫。

3.在需求分析階段結束之前,系統分析員應該寫出軟體需求規格說明書,以書面形式準確地描述軟體需求。

4.需求分析的任務:

1)確定對系統的綜合要求;

2)分析系統的資料要求;

3)匯出系統的邏輯模型;

4)修正系統開發計畫。

5.在訪問使用者的過程中使用情景分析技術往往非常有效。(情景分析就是對使用者將來使用目標系統解決某個具體問題的方法和結果進行分析)。

6.必須請使用者對上述分析過程中得出的結果仔細地複查,資料流圖是幫助複查的極好工具。從輸入端開始,分析員借助資料流圖,資料字典和ipo影象使用者解釋輸入資料是怎樣一步一步地變成輸出資料的。

7.為了追蹤更詳細的資料流,分析員應該把資料流圖擴充套件到更低的層次,通過功能分解可以完成資料流圖的細化。

8.快速原型應該具備的第乙個特性是「快讀」;快速原型應該具備得第二個特性是「容易修改」。快速建立軟體原型是最準確,最有效和最強大的需求分析技術。

9.結構化分析實質上是一種建立模型的活動。

10.實體-聯絡圖,描繪資料物件及資料物件之間的關係,是用於建立資料模型的圖形;資料流圖,描繪當資料在軟體系統中移動時被變換的邏輯過程,指明系統具有的變換資料的功能,資料流圖是建立功能模型的基礎;狀態轉換圖,指明了作為外部事件結果的系統行為,狀態轉換圖是行為建模的基礎。

11.資料物件是對軟體必須理解的復合資訊的抽象。

12.在一張狀態轉換圖中只能有乙個初態,而終態可以有0至多個。初態用實心圓表示,終態用一對同心圓(內圓為實心圓)。

圖是輸入,處理,輸出圖的簡稱。是一種圖形工具,能夠方便的描繪輸入資料,對資料的處理和輸出資料之間的關係。

14.需求分析是發現,求精,建模,規格說明和複審的過程。

15.通常主要從一致性,完整性,現實性和有效性4個方面複審軟體規格說明書。

16.資料字典描述在資料模型,功能模型和行為模型**現的資料物件及控制資訊的特性,給出它們的準確定義。

17.層次方框圖用樹形結構的一系列多層次的矩形框描繪資料的層次結構。

第5章總體設計

1.總體設計階段的基本目的是用比較抽象概括的方式確定系統如何完成預定的任務,(怎樣做)。

2.總體設計過程通常有兩個主要階段組成:系統設計階段,確定系統的具體實現方案;結構設計階段,確定軟體結構。

3.總體設計過程的步驟:

1)設想供選擇的方案;

2)選取合理的方案;

3)推薦最佳方案;

4)功能分解;

5)設計軟體結構;

6)設計資料庫;

7)制定測試計畫;

8)書寫文件;

9)審查和複查。

4.模組是由邊界元素限定的相鄰程式元素的序列,模組是構成程式的基本構件。

5.軟體的結構設計是以模組為基礎的;在設計階段,以需求分析的結果為依據,從實際角度劃分模組。

6.模組化就是把程式劃分成獨立命名且可獨立訪問的模組。

7.區域性化的概念和資訊隱藏概念是密切相關的。所謂區域性化就是指把一些關係密切的軟體元素物理地放得彼此靠近。

8.模組獨立的概念是模組化,抽象,資訊隱藏和區域性化概念的直接結果。

9.模組的獨立性是軟體質量的關鍵。

10.模組獨立性重要的原因:第一,有效的模組化(即具有獨立的模組)的軟體比較容易開發出來;第二,獨立的模組比較容易測試和維護。

11.模組的獨立程度有2個標準:內聚和耦合;高內聚,低耦合

12.耦合是對乙個軟體結構內不同模組之間互連程度的度量。

13.耦合是影響軟體複雜程度的乙個重要因素,應該採取如下設計原則::盡量使用資料耦合,少用控制耦合和特徵耦合,限制公共環境耦合的範圍,完全不用內容耦合。

14.內聚標誌著乙個模組內各個元素彼此結合的緊密程度,它是資訊隱藏和區域性化概念的自然擴充套件(功能內聚:10分)

15.啟發式規則:

1)改進軟體結構提高模組獨立性;

2)模組規模應該適中;

3)深度,寬度,扇出和扇入都應適當;

4)模組的作用域應該在控制域之內;(模組的作用域定義為受該模組內乙個判定影響的所有模組的集合;模組的控制域是這個模組本身以及所有直接或間接從屬於它的模組的集合);

5)力爭降低模組介面的複雜程度;

6)設計單入口單出口的模組;

7)模組功能應該可以**。

16.層次圖用來描繪軟體的層次結構,雖然層次圖的形式和描繪資料結構的層次方框圖相同,但是表現的內容卻完全不同。層次圖中的乙個矩形框代表乙個模組,方框間的連線表示呼叫關係而不是像層次方框圖那樣表示組成關係

17.自頂向下逐步求精是進行軟體結構設計的常用途徑。

第6章詳細設計

1.詳細設計階段的根本目標是確定應該怎樣具體地實現所要求的系統。

2.衡量程式的質量不僅要看它的邏輯是否正確,效能是否滿足要求,更主要的是看它是否容易閱讀和理解。

3.3種基本的控制結構是順序,選擇和迴圈。

4.程式流程圖又稱為程式框圖;盒圖又稱為n-s圖,用於過程設計。

圖描述組成關係,尤其是資料結構的組成關係;即可表示資料結構,也可表示程式結構。即使在描繪程式結構時,乙個方框也並不代表乙個模組,通常乙個方框只代表幾個語句;乙個方框中包含的操作僅僅由它下層框中的那些操作組成。

6.計算環形複雜度的方法:

1)流圖中線性無關的區域數等於環形複雜度;

2)流圖g的環形複雜度v(g)=e-n+2,其中e是流圖中邊的條數,n是結點數;

3)流圖g的環形複雜度v(g)=p+1,其中p是判定結點的數目。

7.結構程式設計技術是進行詳細設計的邏輯基礎。

8.過程設計的任務是設計解題的詳細步驟(即演算法),它是詳細設計階段應完成的主要工作。過程設計的工具可分為圖形,**和語言3類。

第七章實現

1.通常把編碼和測試統稱為實現。所謂編碼就是把軟體設計結果翻譯成用某種程式語言書寫的程式。

軟體工程重點知識複習 集錦

第一章軟體工程概述 1 軟體產品的特性是什麼?產品特性 是一種邏輯產品,與物質產品有很大的區別。軟體產品的生產主要是研製,生產成本主要在開發和研製,開發研製完成後,通過複製就產生了大量軟體產品。軟體產品不會用壞,不存在磨損,消耗。生產主要是腦力勞動,還末完全擺脫手工開發方式,大部分產品是 定做 的 ...

軟體工程複習

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

軟體工程複習

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