2016年軟體工程總結範文
軟體工程的定義:軟體工程是將系統化的,規範化的,可度量的方法應用於軟體的開發,執行和維護過程,即將工程化應用於軟體中的方法的研究。
軟體工程的定義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個步驟進行:單元測試,整合測試,確認測試,系統測試。
軟體可維護性的因素:可理解性,可測試性,可修改性。