軟件工程總結

來源:巧巧簡歷站 2.52W

軟件工程的定義:軟件工程是將系統化的,規範化的,可度量的方法應用於軟件的開發,運行和維護過程,即將工程化應用於軟件中的方法的研究。

軟件工程總結

軟件工程的定義2:開發運行,維護和修復軟件的工程方法。

軟檢策略思想:軟件複用,分而治之,優化折中。

軟件的生命週期:軟件生命週期是指一個計算機軟件從功能確定,設計,到開發成功投入使用,並在使用中不斷地修改,增補和完善,直到停止該軟件使用的全過程。

它包括制定計劃(可行性與計劃研究),需求分析,設計,程序編碼(實現),測試及運行維護6個階段。

軟件開發模型:瀑布模型,快速原始模型,增量模型,螺旋模型,噴泉模型,組件複用模型。

軟件開發過程:(1)定義;(2)開發;(3)驗證;(4)維護。

軟件開發的基本方法:傳統的結構化方法,面向對象的方法。

可行性研究的主要任務:
可行性研究的主要任務不是具體解決系統中的問題,而是以最小的代價在儘可能短的時間內確定問題是否值得解決,是否能夠解決。

可行性研究主要包括以下幾個方面:1,技術可行性(風險分析,資源分析和技術分析);2,經濟可行性(成本-效益分析);3,社會可行性(社會可行性是指開發後的系統能否得到社會的認可)

系統模型:物理(框圖),邏輯(流程圖);

系統流程圖在可行性分析階段使用。

成本—效益分析:
成本—效益分析的目的是從經濟角度來評價開發一個新的軟件項目是否可行。

系統的成本包括系統的開發陳本與運營成本。

系統成本包括:(1)硬件成本;(2)系統軟件成本;(3)軟件開發成本;(4)施工成本;(5)用户培訓費用;(6)不可預見費用。

系統的運營成本是指發生在軟件生命週期內維持系統運行的費用,以每年的花費量計算。
它包括:(1)人員費用;(2)網路使用費用;(3)維修費用;(4)消耗品費用。

需求分析的任務是理解和表達用户的需求,描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統元素的藉口細節,定義軟件的其他有效性需求。

數據流圖在需求分析階段

ER模型包含“實體”,“聯繫”和“屬性”三個階段。
在ER圖中用矩形方框代表實體
在ER圖中用菱形方框代表聯繫。
在ER圖中用橢圓或圓角矩形表示屬性。

層次框圖是用樹形結構的一系列多層次的矩形框描述數據的層次結構。

軟件設計的原則:模塊化,抽象化,信息隱蔽,模塊獨立。

模塊化是指解決一個複雜問退時自頂向下逐層把軟件系統劃分為若干模型的過程。

抽象化是指認識複雜現象過程中使用的思維工具,即抽出事物本質的,共同的特性而暫不考慮它的細節,不考慮其它因素。

抽象化和逐步求精,模塊化的概念是一致的。

模塊獨立性的概念是模塊化,抽象化和信息隱蔽的直接產物。

模塊獨立性可用兩個定性標準來度量:內聚性和耦合性

內聚性:又稱塊內聯繫,是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。

耦合性:又稱塊間聯繫,是指軟件系統結構中各模塊間相互聯繫緊密程度的一種度量。

偶然內聚:這種模塊內各部分之間沒有有意義的關係或者關係很鬆散。

邏輯內聚:這種模塊把幾種相關的功能組合在一起,每次被調用時,根據傳送給模塊的控制型參數來確定應執行的功能。

時間內聚:這種模塊大多為多功能模塊,但要求模塊的各個功能必須在同一時間段執行。

工程內聚:使用流程圖作為工具設計程序的時候,通過流程圖來確定模塊劃分,把流程圖中的某一部分劃出組成模塊,就是過程內聚模塊。

通信內聚:一個模塊內各功能部分都使用了相同的輸入數據,或產生了相同的輸出數據。

順序內聚:一個模塊中各個部分都是完成一項具體的功能而協同工作,緊密聯繫,不可分割的。

內容耦合:如果一個模塊直接訪問另一個模塊內的內部數據,或一個模塊不能通過正常入口轉到另一個模塊內部,或兩個模塊有一部分程序代碼重疊(在彙編語言程序中可能出現),或者一個模塊有多個入口,則兩個模塊之間就發生了內容耦合。它是最高程度的耦合,應該避免。

公共耦合:如果一組模塊都訪問同一個公共數據環境,則它們之間的耦合稱為公共耦合。

外部耦合:一組模塊都訪問同一全局簡單變量而不是同一全局數據結構,而且不是通過參數表傳遞該全局變量的信息,則稱之為外部耦合。

控制耦合:如果一個模塊把控制信息傳遞給另一個模塊,對其功能進行控制,這種耦合稱為控制耦合。

標記耦合:如果一組模塊通過參數表傳遞記錄信息,這組模塊就是標記耦合。事實上這組模塊共享了某一數據結構的子結構,而不是簡單變量。

數據耦合:如果一個模塊訪問另一個模塊彼此之間通過數據參數(不是控制參數,公共數據結構或外部變量)來交換輸入,輸出信息,這種耦合稱為數據耦合。

非直接耦合:如果兩個模塊之間沒有直接關係,它們之間的聯繫完全是通過主模塊的控制和調用來實現的,這就是非直接耦合。

數據流圖的類型:變換型,事務型,混合型。

SD方法以數據流圖為基礎設計系統的模塊結構。

事務型中間是有事務中心的!由它來進行處理的!

程序設計語言的分類:
機器語言——第一代語言
彙編語言——第二代語言
高級語言——第三代語言
4GL——第四代語言

變換型數據流圖是線形結構的,由輸入,變換(或稱主加工)和輸出三部分組成。

程序的效率:程序執行速度的快慢和程序佔用存儲空間的大小。
效率要求實際上就是性能要求對效率追求應取決於再需求分析階段確定的效率方面的要求;

程序的效率包括以下三個方面:程序運行時間;存儲器效率;輸入/輸出的效率。

公式計算:V(G)=m-n+p
V(G)有向圖G的環數;
m有向圖G的有向弧數;
n有向圖G的節點數;
p=1;

軟件測試的目標:為了發現錯誤而執行程序的過程。

軟件測試的常用方法:
黑盒法:已知該程序應具備的功能而通過檢測來檢驗的它的每一項功能是否能正常使用此方法為黑盒測試。
白盒法:已知程序的內部結構和工作過程,通過檢測可檢驗產品內部動作是否符合規格説明書的規定,為白盒測試。

用白盒法設計測試用例最常用的是邏輯覆蓋法:包括語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋,路徑覆蓋。

軟件測試分為4個步驟進行:單元測試,集成測試,確認測試,系統測試。

軟件可維護性的因素:可理解性,可測試性,可修改性。

熱門標籤