標籤:
1、什麼是軟體工程:
想明白軟體工程的定義,首先要明白什麼是工程:“工程”一詞有廣義和狹義之分。就狹義而言,工程定義為“以某組設想的目標為依據,應用有關的科學知識和技術手段,通過“一群人”的有組織活動將某個(或某些)現有實體(自然的或人造的)轉化為具有預期使用價值的“人造產品過程”。就廣義而言,工程則定義為由“一群人”為達到某種“目的”,在一個較長時間周期內進行協作活動的過程。
所以,通過以上的定義可以看出,工程首先是一個“一群人”的活動,不是個體的活動;其次是,工程的目的是“人造產品”。相應的,軟體工程,就是:一群人為了完成一個(此處省略若干形容詞)軟體的活動。
通過上述粗略的定義,應有幾個疑問:
第一,這個要完成的軟體,應該是怎樣的?就是該用怎樣的形容詞來形容這個軟體,既是軟體工程的目標。那麼這個目標是什麼呢,上有定義,證曰:正確性(達到預期的功能要求)、可用性(基本結構、實現及文檔為使用者可用的程度)、開銷合宜(開發、啟動並執行整體開銷滿足使用者要求);
第二,由於是一堆人來完成的一項活動,有人的地方就有江湖,所以啊,這個活動該怎麼籌劃和安排,才能達到“天下太平”的理想情境呢?既是軟體工程的過程。過程嘛,通過上個問題可以這麼解:開發出一個能滿足所有需求的成品所需要的全部步驟。這不廢話嘛!所以再分解下,證曰:軟體工程的過程包括開發過程、運行過程、維護過程,整體涵蓋了需求整理、軟體(概要&詳細)設計、功能實現及確認、後續測試和維護等活動。
第三,既然是活動,既然有好多人蔘加,那麼,至少得先定一個幫規吧,不然亂糟糟的,什麼都完成不了。這就是規則,軟體工程的原則:圍繞工程設計、工程支援以及工程管理在軟體開發過程中必須遵循的原則。這些原則都是在開始實施軟體工程的前期,由大神級高手親自或指導下制定的,最好遵守,否則後果不可設想(想想六大派圍攻光明頂就知道了)。
2、軟體工程有什麼用?為什麼要用軟體工程?
起初,世上沒有光。咳咳,跑錯片場了,迴歸正題。軟體工程的由來,其實就是其存在的目的和意義。那麼,軟體工程這個玩意,是什麼時候興起的呢?諸葛亮的一張無中生有?不可能滴。他是有曆史原因的:在“猿少”年代,軟體開發是件“崇高而偉大”的職業(猿區就隨便自吹自擂),但是隨著“猿族崛起”,越來越多的人蔘與程式開發,軟硬體也極大的發展,但是(重點),開發的效率卻越發的低了。於是就有“深思猿”曰:為毛?缺一開發思想而。所以,就有“猿”碼千行,而後出塵,說我得道了,是xxxx道,其他也有猿得道,且道不盡相同,於是,大家將各種道彙集總結到一起,篩選驗證,最後得出一個有效規則,這就是“工程”。(以上純屬胡扯,大致意思對就行)
所以啊,軟體工程的作用,就是保證軟體開發的效率和開發方向的正確性,能保證開發工作的順利完成。為嘛需要?你做一款軟體難道想著做一半就不做了?誰給付錢啊?
3、怎麼利用軟體工程的東西來為自己服務?
以上胡扯了那麼多,大致算是說明白了什麼是軟體工程了(沒明白也沒轍,這玩意到現在都每一個統一的定義)。所以啊,這麼個好東西,怎麼用到實際中去創造價值呢?我也不知道,正在研究。整體感覺這個東西太龐大了,學起來很複雜很麻煩,就算理論知道了,實際中用到的還只是鳳毛麟角而已。找本書慢慢啃吧,別想著網上能有速成的教材,都是騙子。
軟體工程(一)