官术网_书友最值得收藏!

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ā)等。

主站蜘蛛池模板: 余江县| 崇礼县| 攀枝花市| 临西县| 盐山县| 阿城市| 吴桥县| 纳雍县| 梧州市| 通许县| 罗定市| 福建省| 平山县| 凤山县| 博客| 华坪县| 黄浦区| 岐山县| 丹阳市| 和田市| 深圳市| 凉城县| 江山市| 张家界市| 大姚县| 庄浪县| 永济市| 毕节市| 得荣县| 金乡县| 康定县| 福贡县| 瓮安县| 措美县| 仁布县| 乃东县| 乡城县| 北流市| 澄江县| 新源县| 瓮安县|