2011年軟考系統分析師整理資料:面向對象(6)
八、面向對象的實現
(一)程序設計語言
1.選擇面向對象語言
采用面向對象方法開發軟件的基本目的和主要優點是通過重用提高軟件的生產率。因此,應該優先選用能夠最完善、最準確地表達問題域語義的面向對象語言。
在選擇編程語言時,應該考慮的其他因素還有:對用戶學習面向對象分析、設計和編碼技術所能提供的培訓操作;在使用這個面向對象語言期間能提供的技術支持;能提供給開發人員使用的開發工具、開發平臺,對機器性能和內存的需求,集成已有軟件的容易程度。
2.程序設計風格
(1)提高重用性。
(2)提高可擴充性。
(3)提高健壯性。
(二)類的實現
在開發過程中,類的實現是核心問題。在用面向對象風格所寫的系統中,所有的數據都被封裝在類的實例中。而整個程序則被封裝在一個更高級的類中。在使用既存部件的面向對象系統中,可以只花費少量時間和工作量來實現軟件。只要增加類的實例,開發少量的新類和實現各個對象之間互相通信的操作,就能建立需要的軟件。
一種方案是先開發一個比較小、比較簡單的來,作為開發比較大、比較復雜的類的基礎。
(1)“原封不動”重用。
(2)進化性重用。
一個能夠完全符合要求特性的類可能并不存在。
(3)“廢棄性”開發。
不用任何重用來開發一個新類。
(4)錯誤處理。
一個類應是自主的,有責任定位和報告錯誤。
(三)應用系統的實現
應用系統的實現是在所有的類都被實現之后的事。實現一個系統是一個比用過程性方法更簡單、更簡短的過程。有些實例將在其他類的初始化過程中使用。而其余的則必須用某種主過程顯式地加以說明,或者當作系統最高層的類的表示的一部分。
在C++和C中有一個main( )函數,可以使用這個過程來說明構成系統主要對象的那些類的實例。
(四)面向對象測試
(1)算法層。
(2)類層。
測試封裝在同一個類中的所有方法和屬性之間的相互作用。
(3)模板層。
測試一組協同工作的類之間的相互作用。
(4)系統層。
把各個子系統組裝成完整的面向對象軟件系統,在組裝過程中同時進行測試。
【編輯推薦】