- 面向對象分析與設計(第2版·雙色版)
- 麻志毅編著
- 1184字
- 2024-06-27 15:49:05
1.5 面向對象方法的發(fā)展史及現狀簡介
在這里把面向對象方法的發(fā)展分為三個階段:雛形階段、完善階段和繁榮階段。
(1)雛形階段
20世紀60年代挪威計算中心開發(fā)的Simula 67,首先引入了類的概念和繼承機制,它是面向對象語言的先驅。該語言的誕生是面向對象發(fā)展史上的第一個里程碑。隨后20世紀70年代的CLU、并發(fā)Pascal、Ada和Modula-2等語言對抽象數據類型理論的發(fā)展起到了重要作用,它們支持數據與操作的封裝。猶他大學的博士生Alan Kay設計出了一個實驗性的語言Flex,該語言從Simula 67中借鑒了許多概念,如類、對象和繼承等。1972年Palo Alno研究中心(PARC)發(fā)布了Smalltalk-72,其中正式使用了“面向對象”這個術語。Smalltalk的問世標志著面向對象程序設計方法的正式形成,但是這個時期的Smalltalk語言還不夠完善。
(2)完善階段
PARC先后發(fā)布了Smalltalk-72、76和78等版本,直至1981年推出該語言完善的版本Smalltalk-80。Smalltalk-80的問世被認為是面向對象語言發(fā)展史上最重要的里程碑。迄今絕大部分面向對象的基本概念及其支持機制在Smalltalk-80中都已具備。它是第一個完善的、能夠實際應用的面向對象語言。但是隨后的Smalltalk的應用尚不夠廣泛,其原因是:
1)追求純OO的宗旨使得許多軟件開發(fā)人員感到不便。
2)一種新的軟件開發(fā)方法被廣泛地接受需要一定的時間。
3)針對該語言的商品化軟件開發(fā)工作到1987年才開始進行。
(3)繁榮階段
從20世紀80年代中期到90年代,是面向對象語言走向繁榮的階段。其主要表現是大批比較實用的面向對象編程語言的涌現,例如C++、Objective-C、Object Pascal、CLOS(Common Lisp Object System)、Eiffel和Actor等。這些面向對象的編程語言分為純OO型語言和混合型OO語言。混合型語言是在傳統(tǒng)的過程式語言基礎上增加了OO語言成分形成的,在實用性方面具有更大的優(yōu)勢。此時的純OO型語言也比較重視實用性。現在,在面向對象編程方面,普遍采用語言、類庫和可視化編程環(huán)境相結合的方式,如Visual C++、JBuilder和Delphi等。面向對象方法也從編程發(fā)展到設計、分析,進而發(fā)展到整個軟件生命周期。
到20世紀90年代,面向對象的分析與設計方法已多達數十種,這些方法都各有所長。目前,統(tǒng)一建模語言(Unified Modeling Language,UML)[9]已經成為世界性的建模語言,適用于多種開發(fā)方法。把UML作為面向對象的建模語言,不但在軟件產業(yè)界獲得了普遍支持,在學術界影響也很大。在面向對象的過程指導方面,目前還沒有國際規(guī)范發(fā)布。當前較為流行的用于面向對象軟件開發(fā)的過程指導有“統(tǒng)一軟件開發(fā)過程”[6](也有人稱為RUP)和國內的青鳥面向對象軟件開發(fā)過程指導等。
當前,面向對象方法幾乎覆蓋了計算機軟件領域的所有分支。例如,已經出現了面向對象的編程語言、面向對象的分析、面向對象的設計、面向對象的測試、面向對象的維護、面向對象的圖形用戶界面、面向對象的數據庫、面向對象的數據結構、面向對象的智能程序設計、面向對象的軟件開發(fā)環(huán)境和面向對象的體系結構等。此外,許多新領域都以面向對象理論為基礎或作為主要技術,如面向對象的軟件體系結構、領域工程、智能代理(Agent)、基于構件的軟件工程和面向服務的軟件開發(fā)等。