1. 程式人生 > >軟體工程之總體概述

軟體工程之總體概述

軟體工程也看了一段時間,在完成學生資訊管理系統和機房收費系統的基礎上,看軟體工程視訊也成了一件不是非常頭疼的一件事情了,基本上都有 共鳴,有了共鳴,自然就覺得他有意思了。

軟工視訊和其它視訊課本一樣,首先介紹的是軟體工程的產生與發展,比較系統地介紹了軟體工程這門課程。論述了什麼是軟體工程,什麼是軟體生命週期,軟體工程過程的基本活動,軟體開發方法,軟體工程的基本原則、基本內容與目標等。

一、軟體危機

軟體危機指的是軟體開發和維護過程中遇到的一系列嚴重問題。軟體危機的主要表現有幾種方面:

1、產品不符合使用者的實際需要。軟體做出來是給使用者使用的,所以作為軟體的開發者應該站在使用者的角度開發軟體,開發出實用並且能夠令使用者滿意的軟體。如果軟體不能滿足使用者的實際需要,那這款軟體的價值就沒有體現出來。很簡單,軟體不能被使用者使用,自然會帶來一系列的問題,從而導致危機的出現。

2、軟體開發生產率提高的速度遠遠不能滿足客觀需要,軟體的生產率遠遠低於硬體生產率和計算機應用的增長,使人們不能充分利用現代計算機硬體提供的巨大潛力。

3、軟體產品的質量差,可維護行差。

4、軟體文件資料通常既不完整也不合格,對軟體開發成本和進度的估計經常不準確。

5、軟體的價格昂貴,軟體成本在計算機系統總成本中所佔的比例逐年上升。軟體的開發是人工製作 ,到目前為止,還沒有出現製作開發軟體的工具,要付出大量的人力,而且要求軟體的開發人員要有較高技術水平以及思想素質。

二、屬性

美國著名的軟體工程專家Barry Boehm提出軟體工程的定義為:運用現代科學技術知識來設計並構造計算機程式及為開發、執行和維護這些程式所必需的相關檔案資料,同時他也提出了軟體工程的七大原理,這七大原理網上有介紹

點選開啟連結。我覺得這七大原理貫穿著整個視訊,軟體的開發過程中的內容、方法、原則、目標都和這七大原理有關。

1、用分階段的生命週期計劃嚴格管理。這個原理與軟體的生命週期密切聯絡著,軟體的生命週期分為:可行性分析、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試和軟體維護。每個階段都有不同的方法策略進行管理。

2、堅持進行階段評審。在不同的階段,對軟體的要求也不一樣,會有不同的目標和原則。進行階段評審,可以儘早發現問題,解決問題,減少解決問題的成本。

3、實行嚴格的產品控制。嚴格的產品控制,可以減少問題的發生,這也是對軟體工程的一個要求,也可以說是原則。

4、採用現代程式設計技術。採用現代的程式設計技術,可以縮短軟體的開發時間,也可以減少問題的發生,避免軟體釋出時的軟體相容性問題。

5、結果應能清楚的審查。根據軟體開發專案的總目標及完成期限,規定開發組織的責任和產品標準,可以提高軟體開發過程的可見性,更好地進行管理,從而實現所得到的結果能夠清楚地審查。

6、開發小組人員應該少而精。軟體開發小組的組成人員的素質應該好,而人數則不宜過多。開發小組人員的素質和數量是影響軟體產品質量和開發效率的重要因素。素質高的人員的開發效率比素質低的人員的開發效率可能高几倍至幾十倍,而且素質高的人員所開發的軟體中的錯誤明顯少於素質低的人員所開發的軟體中的錯誤。

7、承認不段改進軟體工程實踐的必要性。整個軟體的開發過程就是一個實踐的過程,不可能把一個系統敲完再進行執行測試,一邊開發,一邊執行程式的每一個模組,這樣可以提早檢測出問題,使得程式得以順利的開發。就像我們在敲機房的時候一樣,敲出一個窗體,甚至是一個按鈕功能的時候,都要執行一下是否能夠成功執行。

我覺得視訊中所提到的六種開發方法,瀑布模型、螺旋模型、第四代技術模型、圓型模型、構件組裝模型和混合模型都體現著這七大原理的思想。