天天看點

《面向對象分析與設計》一1.5面向對象方法的發展史及現狀簡介

在這裡把面向對象方法的發展分為三個階段:雛形階段、完善階段和繁榮階段。

(1) 雛形階段

20世紀60年代挪威計算中心開發的simula 67,首先引入了類的概念和繼承機制,它是面向對象語言的先驅。該語言的誕生是面向對象發展史上的第一個裡程碑。随後20世紀70年代的clu、并發pascal、ada和modula2等語言對抽象資料類型理論的發展起到了重要作用,它們支援資料與操作的封裝。猶他大學的博士生alan kay設計出了一個實驗性的語言flex,該語言從simula 67中借鑒了許多概念,如類、對象和繼承等。1972年palo alno研究中心(parc)釋出了smalltalk72,其中正式使用了“面向對象”這個術語。smalltalk的問世标志着面向對象程式設計方法的正式形成,但是這個時期的smalltalk語言還不夠完善。

(2)完善階段

parc先後釋出了smalltalk72、76和78等版本,直至1981年推出該語言完善的版本smalltalk80。smalltalk80的問世被認為是面向對象語言發展史上最重要的裡程碑。迄今絕大部分面向對象的基本概念及其支援機制在smalltalk80中都已具備。它是第一個完善的、能夠實際應用的面向對象語言。但是随後的smalltalk的應用尚不夠廣泛,其原因是:

1)追求純oo的宗旨使得許多軟體開發人員感到不便。

2)一種新的軟體開發方法被廣泛地接受需要一定的時間。

3)針對該語言的商品化軟體開發工作到1987年才開始進行。

(3)繁榮階段

從20世紀80年代中期到90年代,是面向對象語言走向繁榮的階段。其主要表現是大批比較實用的面向對象程式設計語言的湧現,例如 c++、objectivec、object pascal、clos(common lisp object system)、eiffel和actor等。這些面向對象的程式設計語言分為純oo型語言和混合型oo語言。混合型語言是在傳統的過程式語言基礎上增加了oo語言成分形成的,在實用性方面具有更大的優勢。此時的純oo型語言也比較重視實用性。現在,在面向對象程式設計方面,普遍采用語言、類庫和可視化程式設計環境相結合的方式,如visual c++、jbuilder和delphi等。面向對象方法也從程式設計發展到設計、分析,進而發展到整個軟體生命周期。

到20世紀90年代,面向對象的分析與設計方法已多達數十種,這些方法都各有所長。目前,統一模組化語言(unified modeling language,uml)[9]已經成為世界性的模組化語言,适用于多種開發方法。把uml作為面向對象的模組化語言,不但在軟體産業界獲得了普遍支援,在學術界影響也很大。在面向對象的過程指導方面,目前還沒有國際規範釋出。目前較為流行的用于面向對象軟體開發的過程指導有“統一軟體開發過程” [6] (也有人稱為rup)和國内的青鳥面向對象軟體開發過程指導等。

目前,面向對象方法幾乎覆寫了計算機軟體領域的所有分支。例如,已經出現了面向對象的程式設計語言、面向對象的分析、面向對象的設計、面向對象的測試、面向對象的維護、面向對象的圖形使用者界面、面向對象的資料庫、面向對象的資料結構、面向對象的智能程式設計、面向對象的軟體開發環境和面向對象的體系結構等。此外,許多新領域都以面向對象理論為基礎或作為主要技術,如面向對象的軟體體系結構、領域工程、智能代理(agent)、基于構件的軟體工程和面向服務的軟體開發等。

繼續閱讀