欢迎来到天天文库
浏览记录
ID:11026670
大小:53.50 KB
页数:10页
时间:2018-07-09
《物件导向的软体发展》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、物件導向的軟體發展針對日趨複雜之軟體需求的挑戰,軟體業界發展出了物件導向(OO)的軟體發展模式。目前作爲針對「軟體危機」的最佳對策,OO技術已經引起人們的普遍關注。最初被多數人看作只是一種不切實際的方法,和滿足一時好奇心的研究,現在得到了人們近乎狂熱的歡迎。許多程式語言都推出了支援物件導向的新版本。大量的物件導向的開發方法被提出來。關於OO的會議、學術研討班和課程極受歡迎,無數專業的學術期刊都爲這一話題開闢了專門的版面。一些軟體發展合同甚至也指明了必須使用OO的技術和語言。物件導向的軟體發展對於90年代,就像是結構化的軟體發展對於70年代那樣讓人著迷
2、,而且OO的發展勢必還在日益加速。諸如「物件」和「物件的屬性」這樣的概念,可以一直追溯到1950年代初,首先出現在人工智慧的早期著作中。然而,OO的實際發展卻是始於1966年。當時KistenNygaard和Ole-JohanDahl開發了具有更高層級抽象機制的Simula語言。Simula提供了較副程式更高一級的抽象和封裝;爲了模仿一個實際問題,引入了資料抽象和類別的概念。大約在同一時期,AlanKay正在尤他大學的一台個人電腦上努力工作,他希望能在這上面實現圖形化和虛擬實境。儘管由於軟硬體的限制,Kay的嘗試沒有成功,但他的這些想法並沒有丟失。7
3、0年代初期,他加入了PaloAlto研究中心(PARC),再次將這些想法付諸實施。在PARC,他所在的研究小組堅信電腦技術是改善人與人、人與機器之間通訊渠道的關鍵。在這信念的支援下,並吸取了Simula類別的概念,他們開發出Smalltalk語言;1972年PARC發佈了Smalltalk的第一個版本。大約在此時,「物件導向」這一術語正式確定,Smalltalk被認爲是第一個真正物件導向的語言。Smalltalk的目標是爲了使軟體設計能夠盡可能以自動化的單元來進行。在Smalltalk中運作的一切都是物件-----即是某個類別的實例。最初在Small
4、talk的世界中,物件與名詞緊緊相連。Smalltalk還支援一個高度互動式的開發環境和原型方法。這一原創性的工作開始並未被發表,只是被視爲帶有濃厚試驗性質的學術興趣而已。Smalltalk-80是PARC一系列Smalltalk版本的總結,發佈於1981年。1981年8月的<>雜誌公佈了Smalltalk開發小組的重要結果。在這期雜誌的封面圖上,一個熱氣球正從一個孤島上冉冉升起來,標誌著PARC的物件導向思想的啓航。該是向軟體發展界公開發表的時候了,起初,影響只是漸進式的,但很快就躍升到火爆的程度。熱氣球確實啓航了,而且影響深遠。早期S
5、malltalk關於開發環境的研究導致了後來的一系列進展:視窗(window),圖示(icon),滑鼠(mouse)和下拉式window環境。Smalltalk語言還影響了80年代早期和中期的物件導向的語言,如:Object-C(1986)、C++(1986)、Self(1987)、Eiffl(1987)、Flavors(1986),物件導向的應用領域也被進一步拓寬。物件不再僅僅與名詞相聯繫,還包括事件和程序。1980GradyBooch首先提出物件導向設計(OOD)的概念,然後其他人緊隨其後,物件導向分析的技術開始公開發表。1985年,第一個商用物
6、件導向資料庫問世。1990年代以來,物件導向的分析、測試、度量和管理等研究都得到長足發展。目前物件技術的先進課題包括設計模式(designpatterns)、分散式物件系統和以網路為基礎的物件應用等。2動機爲什麽物件導向運動發展到了現在這樣火爆的程度?部分是源于人們長久以來的一個希望:人們希望它像以前其他軟體發展的技術一樣,能夠滿足軟體發展對於生産效率、可靠性、易維護性、易管理等方面,具有更高、更快、更強的迫切需求,除此之外,還有許多原因都促使了它的流行。物件導向的開發強調從問題領域的概念到軟體程式和介面的直接映射;心理學的研究也表明,把客觀世界看成
7、是許多物件,將更接近人類的自然思維方式。物件比函數更爲穩定;軟體需求的變動往往是功能相關的變動,而其功能的執行者----物件----通常不會有大的變動。另外,物件導向的開發也支援、鼓勵軟體工程實踐中的資訊隱藏、資料抽象化和封裝。在一個物件內部所進行任何的修改是被隔離在局部,因此物件導向開發的軟體就易於修改、擴充和維護。物件導向也被擴充應用於軟體生命周期的各個階段---從分析到編寫程式碼。而且,物件導向的方法自然而然地支援快速原型開發方法和RAD(RapidApplicationDevelopment)。物件導向的開發鼓勵重覆使用,不僅軟體的重覆使用,
8、還包括分析、設計的模型的重覆使用。更進一步,OO技術還方便了軟體的互換性,即是網路中一個節點上的應用,能夠利
此文档下载收益归作者所有