2.軟件工程的起源和概念


2.1 軟件工程的起源

(1)早期計算機程序

在1946年計算機剛誕生時,人們采用機器碼編制程序,根本沒有獨立的軟件的概念。

機器碼指令只是為了驅動計算機硬件工作,就像人們調節電視機、錄像機、洗衣機等家用電器的按鈕一樣。

1947年,馮諾依曼首先提出用流程圖描述計算機的運行過程,才使人們認識到程序設計是完全不同於硬件研制的另一項工作。從此以后,軟件的開發和研究才開始獨立地進行。

(2)現在人們認為

在信息產業中,微電子是基礎,計算機和網絡是載體,軟件是核心

2.2 軟件開發的三個階段

(1)個人程序時期(1947年-1950年代末)

  • 這一時期特點是硬件價格非常昂貴,軟件完全作為硬件的附屬
  • 硬件致力於執行功能單一的程序
  • 應用大多集中在科學計算方面
  • 軟件是為了某個具體的應用和特定的硬件而定制
  • 程序設計完全憑程序員的經驗和技藝以個人或小組方式進行

在這個時期,程序員使用的開發語言主要是機器語言和匯編語言,負責從程序的開卡、運行和維護的全過程,這是一種私人化的軟件環境。

 

(2)軟件作坊時期(1960年代初-1960年代末)

隨着以計算機為基礎的系統應用范圍的不斷擴大,以及系統數量的不斷增長,個體生產方式已經不能適應社會發展的需求,而是需要多人分工合作,共同完成一個程序的編制,需要對項目開發進行管理,即所謂“作坊式生產方式”。

出現了若干高級程序語言

 

(3)軟件工程時期(1970年代初至今)

計算機應用領域的進一步擴大,軟件的規模和復雜性也不斷增加

在軟件開發領域出現了“軟件危機”:

  軟件質量差,可靠性難以保證

  成本難以控制,很少有在預算內完成的

  開發進步難以把握,周期長

  可維護性較差,維護人員和費用增加

2.3 軟件工程的定義

軟件工程概念的提出:

  1968年,NATO在聯邦德國舉行的關於軟件開發的會議上,首次提出了軟件工程的術語,標志着軟件工程作為一門學科的正式出現,至今已有40年的歷史。

其目的是倡導以工程的原理、原則和方法進行軟件開發,以解決軟件危機。

 

計算機百科全書上的軟件工程定義:

  應用計算機科學、數學及管理科學等原理,以工程化方法制作軟件的工程。它借鑒傳統工程的原則、方法,創建軟件以達到提高質量,降低成本的目的。

  其中,計算機科學、數學用於構造模型與算法,工程科學用於指定規范、設計范型、評估成本 及確定權衡,管理科學用於計划、資源、質量、成本等管理。

  軟件工程是一門指導計算機軟件開發和維護的工程學科。軟件工程師一門交叉性學科。

 

首次NATO會議上的軟件工程定義:

  軟件工程是用來建立和使用合理的工程原則,以經濟地獲取可靠的、且在真實機器上可高效工作的軟件。

 

IEEE中軟件工程定義:

  (1)將系統化的、規范的、可量化的方法應用到軟件的開發、運行及維護中,即將工程化方法應用於軟件;

  (2)在(1)中所述方法的研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM