軟件工程總結
軟件工程總結
軟件工程的定義1:軟件工程是將系統(tǒng)化的,規(guī)范化的,可度量的方法應用于軟件的開發(fā),運行和維護過程,即將工程化應用于軟件中的方法的研究。
軟件工程的定義2:開發(fā)運行,維護和修復軟件的工程方法。
軟檢策略思想:軟件復用,分而治之,優(yōu)化折中。
軟件的生命周期:軟件生命周期是指一個計算機軟件從功能確定,設計,到開發(fā)成功投入使用,并在使用中不斷地修改,增補和完善,直到停止該軟件使用的全過程。
它包括制定計劃(可行性與計劃研究),需求分析,設計,程序編碼(實現(xiàn)),測試及運行維護6個階段。
軟件開發(fā)模型:瀑布模型,快速原始模型,增量模型,螺旋模型,噴泉模型,組件復用模型。
軟件開發(fā)過程:
(1)定義;
(2)開發(fā);
(3)驗證;
(4)維護。
軟件開發(fā)的基本方法:傳統(tǒng)的結構化方法,面向對象的方法。
可行性研究的主要任務:
可行性研究的主要任務不是具體解決系統(tǒng)中的問題,而是以最小的代價在盡可能短的時間內確定問題是否值得解決,是否能夠解決。
可行性研究主要包括以下幾個方面:
1,技術可行性(風險分析,資源分析和技術分析);
2,經濟可行性(成本-效益分析);
3,社會可行性(社會可行性是指開發(fā)后的系統(tǒng)能否得到社會的認可)
系統(tǒng)模型:物理(框圖),邏輯(流程圖);
系統(tǒng)流程圖在可行性分析階段使用。
成本—效益分析:
成本—效益分析的目的是從經濟角度來評價開發(fā)一個新的軟件項目是否可行。
系統(tǒng)的成本包括系統(tǒng)的開發(fā)陳本與運營成本。
系統(tǒng)成本包括:
(1)硬件成本;
(2)系統(tǒng)軟件成本;
(3)軟件開發(fā)成本;
(4)施工成本;
(5)用戶培訓費用;
(6)不可預見費用。
系統(tǒng)的運營成本是指發(fā)生在軟件生命周期內維持系統(tǒng)運行的費用,以每年的花費量計算。
它包括:
(1)人員費用;
(2)網(wǎng)路使用費用;
(3)維修費用;
(4)消耗品費用。
需求分析的任務是理解和表達用戶的需求,描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統(tǒng)元素的借口細節(jié),定義軟件的其他有效性需求。
數(shù)據(jù)流圖在需求分析階段
ER模型包含“實體”,“聯(lián)系”和“屬性”三個階段。
在ER圖中用矩形方框代表實體
在ER圖中用菱形方框代表聯(lián)系。
在ER圖中用橢圓或圓角矩形表示屬性。
層次框圖是用樹形結構的一系列多層次的矩形框描述數(shù)據(jù)的層次結構。
軟件設計的原則:模塊化,抽象化,信息隱蔽,模塊獨立。
模塊化是指解決一個復雜問退時自頂向下逐層把軟件系統(tǒng)劃分為若干模型的過程。
抽象化是指認識復雜現(xiàn)象過程中使用的思維工具,即抽出事物本質的,共同的特性而暫不考慮它的細節(jié),不考慮其它因素。
抽象化和逐步求精,模塊化的概念是一致的。
模塊獨立性的概念是模塊化,抽象化和信息隱蔽的直接產物。
模塊獨立性可用兩個定性標準來度量:內聚性和耦合性
內聚性:又稱塊內聯(lián)系,是指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。
耦合性:又稱塊間聯(lián)系,是指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。
偶然內聚:這種模塊內各部分之間沒有有意義的關系或者關系很松散。
邏輯內聚:這種模塊把幾種相關的功能組合在一起,每次被調用時,根據(jù)傳送給模塊的控制型參數(shù)來確定應執(zhí)行的功能。
時間內聚:這種模塊大多為多功能模塊,但要求模塊的各個功能必須在同一時間段執(zhí)行。
工程內聚:使用流程圖作為工具設計程序的時候,通過流程圖來確定模塊劃分,把流程圖中的某一部分劃出組成模塊,就是過程內聚模塊。
通信內聚:一個模塊內各功能部分都使用了相同的輸入數(shù)據(jù),或產生了相同的輸出數(shù)據(jù)。
順序內聚:一個模塊中各個部分都是完成一項具體的功能而協(xié)同工作,緊密聯(lián)系,不可分割的。
內容耦合:如果一個模塊直接訪問另一個模塊內的內部數(shù)據(jù),或一個模塊不能通過正常入口轉到另一個模塊內部,或兩個模塊有一部分程序代碼重疊(在匯編語言程序中可能出現(xiàn)),或者一個模塊有多個入口,則兩個模塊之間就發(fā)生了內容耦合。它是最高程度的耦合,應該避免。
公共耦合:如果一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦合稱為公共耦合。
外部耦合:一組模塊都訪問同一全局簡單變量而不是同一全局數(shù)據(jù)結構,而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。
控制耦合:如果一個模塊把控制信息傳遞給另一個模塊,對其功能進行控制,這種耦合稱為控制耦合。
標記耦合:如果一組模塊通過參數(shù)表傳遞記錄信息,這組模塊就是標記耦合。事實上這組模塊共享了某一數(shù)據(jù)結構的子結構,而不是簡單變量。
數(shù)據(jù)耦合:如果一個模塊訪問另一個模塊彼此之間通過數(shù)據(jù)參數(shù)(不是控制參數(shù),公共數(shù)據(jù)結構或外部變量)來交換輸入,輸出信息,這種耦合稱為數(shù)據(jù)耦合。
非直接耦合:如果兩個模塊之間沒有直接關系,它們之間的聯(lián)系完全是通過主模塊的控制和調用來實現(xiàn)的,這就是非直接耦合。
數(shù)據(jù)流圖的類型:變換型,事務型,混合型。
SD方法以數(shù)據(jù)流圖為基礎設計系統(tǒng)的模塊結構。
事務型中間是有事務中心的!由它來進行處理的!
程序設計語言的分類:
機器語言——第一代語言
匯編語言——第二代語言
高級語言——第三代語言
4GL——第四代語言
變換型數(shù)據(jù)流圖是線形結構的,由輸入,變換(或稱主加工)和輸出三部分組成。
程序的效率:程序執(zhí)行速度的快慢和程序占用存儲空間的大小。
效率要求實際上就是性能要求對效率追求應取決于再需求分析階段確定的效率方面的要求;
程序的效率包括以下三個方面:程序運行時間;存儲器效率;輸入/輸出的效率。
公式計算:V(G)=m-n+p
V(G)有向圖G的環(huán)數(shù);
m有向圖G的有向弧數(shù);
n有向圖G的節(jié)點數(shù);
p=1;
軟件測試的目標:為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
軟件測試的常用方法:
黑盒法:已知該程序應具備的功能而通過檢測來檢驗的它的每一項功能是否能正常使用此方法為黑盒測試。
白盒法:已知程序的內部結構和工作過程,通過檢測可檢驗產品內部動作是否符合規(guī)格說明書的規(guī)定,為白盒測試。
用白盒法設計測試用例最常用的是邏輯覆蓋法:包括語句覆蓋,判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋,路徑覆蓋。
軟件測試分為4個步驟進行:單元測試,集成測試,確認測試,系統(tǒng)測試。
軟件可維護性的因素:可理解性,可測試性,可修改性。
【軟件工程總結】相關文章:
關于軟件工程的總結五篇02-25
對老板總結感想總結二篇03-20
學科總結03-20
電場公式總結06-08
離校總結精選范文03-19
工會總結范本03-19
總結電熱的作用12-09
FLASH教程總結01-20
香茅做法總結03-19
工會總結精選范文03-20