摘要:面向對象技術是一種用途非常廣的軟件開發方法,隨著信息技術的飛速發展,面向對象技術在軟件開發中發揮了越來越大的作用,已成為世界廣為流行飛一種軟件開發方法。簡單介紹傳統軟件工程的模式,詳細論述面向對象技術的特征和應用面向對象技術開發軟件的過程。
關鍵詞:面向對象;軟件工程模式;開發
中圖分類號:TP3 文獻標識碼:A 文章編號:1671-7597(2011)0220077-01
隨著計算機技術的發展,計算機軟件的升級換代很快,現代軟件系統對軟件技術的要越老越高,傳統的軟件工程方法已經不能滿足其需要。面向對象軟件工程方法是一種新的軟件工程方法,在當今世界軟件界很流行,并且發揮著越來越重要的功效。
1、傳統的軟件工程模式
作為一個新興學科,軟件工程的發展速度很迅速,幾年時間便發展成為軟件學的支柱學科。它的主要對象是計算機軟件,主要任務是尋求如何對計算機軟件進行定義、開發和維護。當前,在軟件工程和軟件開發技術中,討論最為廣泛的是模式設計問題。模式設計主要的工作是確定物理數據庫結構,其遇到主要問題是對具體數據庫管理系統的結構約束的處理。軟件工程采用的方法主要是劃分軟件周期為若干個階段,每個階段都有相對簡單的、比較獨立的任務,這樣有利于不同人員分工協作,從客觀上降低了軟件開發的工程的困難程度。傳統的軟件工程模式,就是采用系統化的技術方法來完成每個階段的任務,系統化的技術方法主要是指結構分析和結構化設計技術。傳統軟件工程模式的缺點是:過分強調整個任務的分段實施和結構化的程序設計技術方法,而對人在軟件開發中的地位和作用沒有給予足夠的重視。
2、面向對象技術的介紹
作為一種新的思維方式,面向對象設計代表著一種新的程序設計方法潮流。面向對象技術要求在軟件開發過程中,要面對客觀世界中的的事物,運用人類認識世界普遍采用的方法論,自然、直觀地去描述所存在的事物。抽象性、封裝性繼承性和多態性是面向對象技術的基本特征。
2.1抽象性。人們在認識客觀世界時通常采用歸納、分類的思維方法,抽象是人們分類的慣用依據原則。所謂抽象,就是把注意力集中到與當前目標有關的本質特征,忽視與目標無關的非本質特征,從而得出事物的共性,總結出抽象概念。
2.2封裝性。封裝具有兩個方面的含義:一是把對象的全部內容結合成一個整體;二是作為屏障把內部細節隱藏起來,僅把外部接口作為與外部聯系的位移途徑。封裝信息具有隱蔽作用,反應了事物相對獨立性,這樣可以只注意它的對外接口而不用太在意其內部細節。通過封裝,對象以為的部分不能夠不能夠隨意存取對象內部屬性,這樣可以防止外部對象內部屬性受外部錯誤的影響,降低了查錯和排錯難度。同時,也有效防止了內部對象修改對外部的影響。但是,如果過分強調封裝,外部不能直接存取任何對象屬性,就會增加許多僅僅負責讀和寫而沒有其他意義的行為,這樣會使程序顯得臃腫,也加重了編程的負擔。增加對象語言具體實現過程中的可見性,使其盡量符合客觀世界,是避免這種情況發生的有效方法。封裝的運用提供了代碼中用性,隱藏了復雜性,降低了軟件開發難度。
2.3繼承性。繼承性的主要作用是,在軟件開發過程中實現軟件模塊的獨立性和可重用性,節省了開發所用的時間,從而提高了軟件開發工作的效率,便利了軟件的維護和修改。
2.4多態性。多態性的主要體現是:不同對象在收到相同消息時可以產生多種行為方式,客觀世界的多態性是它的模板。例如,在幾何中,繪圖可以有很多種圖形的表現形式,單獨說繪圖并沒有表明具體要執行的圖形。
3、面向對象技術在軟件開發中主要運用的方法
面向對象軟件開發改變了傳統飛以過程為中心的開發模式,以數據為中心來開發軟件,它自身的內部結構也發生了質變。良好的構造性、可擴充性和可復用性是面向對象軟件所具有的優勢。對象本身提供了一種結構化系統設計的抽象手段,它是唯一標志的實體,封裝了一組屬性及相關操作。這種軟件開發方法在各個階段都是按照統一的相互作用對象來組織的,它是由對象系統本身的特點來決定的,這樣組織能夠使各個階段的過程比較平滑,從分析道設計不會出現很大跳躍。
4、運用面向對象方法開發軟件的過程
4.1分析階段。以問題陳述為開端,逐步建立具體特性的客觀世界模型,在這個模型中,對象是應用領域的概念,分析階段由論域分析和應用分析兩個步驟組成。首先進行的是論域分析。論域分析的覆蓋范圍要大于直接解決的問題,因為客戶需求和問題環境都有可能隨時發生改變,因此,論域分析要有一個寬闊的問題考察范圍。它最大的價值是抽象開發,這些抽象所組成的軟件庫還可以支持多應用開發。應用分析主要是在論域分析開發出來信息的基礎上解決需要解決的問題。
4.2高層設計。高層設計的主要任務是設計所需要的頂層視圖,這等于開發了一個代表系統是類的界面,這個階段主要是設計所要應用的頂層視圖,這相當于開發一個表示系統的類的界面,利用建立應用實例和發送消息來完成系統的“執行”任務。
4.3類的開發。類的開發是應用設計階段的主要任務,一個應用總是通過一個或幾個類來表示。高層設計的主要任務是標志出各個類的要求,并且給出它們的定義。
4.4實例的建立。這是問題的最后解決階段,在這個階段要解決對應于分析階段所標示的實體的對象的實例。應用階段的聯系在論域分析階段標示出來,它們之間傳輸消息的主要方式是通過實例來傳輸。
4.5組裝測試。這個階段的主要任務是組裝系統為一個完整的應用,并且進行測試。在測試中,完備的封裝和類測試可以減少測試所用的時間。
4.6應用維護。在系統操作中定位故障和在現有系統中加入新的行為,是應用維護的主要任務,它能夠修改類實例的實現、簡化類實例的內容,利用改變和接收消息的次數來使應用特殊對象的角色得到改變。
應用維護工作的內容主要包括在系統操作中定位故障和在現有系統中加入新的行為,它能夠簡化對類實例的定位、修改其類的實現、通過改變消息和接收消息的次數來改變應用中特殊對象的角色。定義新的類和建立實例可以產生新的行為。數據維護活動大都發生在這一級。局部修改可以通過把類的實現與其規格分開來實現,而通過改變類界面來修正問題的方法很少應用,但是,有時為了在系統中增加新的行為,也會應用這種方法。
5、結語
面向對象技術是一種新的軟件技術和工程,在信息技術、工程技術和自動化技術取得長足發展的今天,研究面向對象技術軟件開發和與其有關的系統,具有理論上和實踐上的重大意義。
參考文獻:
[1]陳文字、白忠建、吳勁,面向對象技術與工具[M],北京:電子工業出版社,2008,9
[2]謝偉,淺談面向對象程序設計[J],科學咨詢,2010(15):72-72
[3]王彩霞、賀興石、張娟娟,面向對象技術的系統思想[J],湖北師范學院學報(自然科學版),2010(2),33-35
[4]趙運紅,面向對象程序設計研究[J],考試周刊,2009(18):132-133