1. 程式人生 > >軟體工程-軟體工程基本概念

軟體工程-軟體工程基本概念

知識要點:

軟體危機的概念、原因以及消除途徑;

軟體工程的概念、基本原理、方法學;

軟體生命週期,主要軟體過程的特點。

一、軟體危機的定義:軟體開發和維護過程中所遇到的一系列嚴重問題;

二、軟體危機產生原因:使用者需求不明確、缺乏科學理論作為指導、軟體開發規模越來越大、軟體產品的複雜程度越來越高;

三、消除途徑:

1)研究軟體的客觀規律性,建立與系統化軟體生產有關的概念、原則、方法、技術和工具,指導和支援軟體系統的生產活動,

達到降低軟體生產成本,改進軟體產品質量,提高軟體生產率水平的目標;

2)將軟體生命週期各階段使用的軟體工具有機的集合成一個整體,形成能夠連續支撐軟體開發和維護全過程的整合化軟體支撐

環境,從管理和技術兩方面解決問題;

軟體危機的主要表現:軟體開發進度和成本難以預測;產品功能難以滿足使用者需求;

                                    產品質量得不到保障;缺少適當的文件資料;

                                    軟體開發生產率的提高速度,跟不上計算機應用的普及和深入;

軟體工程方法學

傳統方法學(生命週期方法學或結構化泛型):採用結構化技術來完成軟體開發的各項任務,並使用適當的軟體工具或軟體

工程環境來支援結構化技術的運用。把軟體生存週期的全過程劃分為若干個階段,然後順序的完成每個階段的任務。對於相鄰

的兩個階段,前一階段的結束標準就是後一階段的開始標準(後一階段任務使得前一階段任務解法更加具體化),每一個階段結束

都必須經過技術審查和管理複審,從技術和管理兩方面對該階段的成果進行審查,審查通過後進入下一階段,反之要進行返工處

理且返工後仍需進行審查。

優點:每個階段任務獨立且比較簡單,降低了整個軟體開發的困難程度;在每個階段結束前都採用科學的管理技術與良好

的技術方法,從技術和管理兩方面進行嚴格審查;保證了軟體質量,提高了軟體可維護性以及軟體開發的成功率。

面向物件方法學:(物件+類+繼承+用訊息通訊)

四、軟體工程的定義:

指導軟體系統開發的工程的工程學科,採用工程化的概念、原理、技術和方法進行軟體開發和維護,把實踐證明的、科學的

管理措施與最先進的技術結合起來,以經濟地開發出高質量的軟體並有效地維護它;

五、軟體工程的基本原理(七條):

用分階段的生命週期計劃嚴格管理、堅持進行階段評審、實行嚴格的產品控制、採用現代化程式設計技術

結果能夠清楚地審查、開發小組人員應當少而精、承認不斷改進軟體工程的必要性;

六、軟體生命週期:

問題定義、可行性研究、需求分析、總體設計、詳細設計、程式編碼、軟體測試、執行維護

七、流常用的軟體過程:

瀑布模型:

1)具有順序性和依賴性,後一階段任務必須等前一階段完成後才能進行,前一階段的輸出文件是後一階段的輸入

文件,只有前一階段的輸出文件正確,後一階段的才能獲得正確的結果。

2)該模型清楚地區分邏輯與物理設計,儘可能的推遲物理實現。

3)每個階段都必須完成規定的文件,每個階段結束前都要對完成的文件進行評審,儘早的發現問題改正錯誤。

快速原型模型:增量模型、螺旋模型、噴泉模型、Rational同一過程、敏捷過程與極限程式設計、微軟過程;