面向對象方法與結構化方法比較

        結構化方法首先關心的是功能,強調以模塊(即過程)爲中心,採用模塊化、自頂向下、逐步求精設計過程,系統是實現模塊功能的函數和過程的集合,結構清晰、可讀性好,的確是提高軟件開發質量的一種有效手段。
結構化設計從系統的功能入手,按照工程標準和嚴格規範將系統分解爲若干功能模塊。然而,由於用戶的需求和軟、硬件技術的不斷髮展變化,作爲系統基本成分的功能模塊很容易受到影響,局部修改甚至會引起系統的根本性變化。開發過程前期入手快而後期頻繁改動的現象比較常見。
        面向對象方法則從所處理的數據入手,以數據爲中心來描述系統,數據相對於功能而言,具有更強的穩定性,這樣設計出的系統模型往往能較好地映射問題域模型。對象、類,、繼承性、多態性、動態定連概念和設施的引入使用,顯然令面向對象的設計方法具有一定的優勢,能爲生產可重用的軟件構件和解決軟件的複雜性問題提供一條有效的途徑。
        面向對象的設計過程就是指通過建立一些類以及它們之間的關係來解決實際問題,這就需要對問題域中的對象作整體分析,類和類間關係的設計要求較高,否則設計出的並不是真正意義上的面向對象的軟件系統,而只是一些類的堆砌而已,不能體現出面向對象設計方法的優勢之處。
     同時,系統的分析設計是一個注重實踐的領域,不僅僅依賴於一整套核心的概念與原理,要想設計出一個成功的系統來,還需要相應的語言、工具和技術的有力支持。在這方面,經過多年的實踐和發展,適應結構化方法的技術和開發環境已經相當成熟穩定。而對面向對象方法而言,雖然近時期涌現了大量的新工具和新技術,但仍有待於不斷的完善和改進,特別是面向對象的數據庫技術。
結束語-理解和體會
1. 軟件工程的目標是以最小的代價開發出滿足用戶需求的軟件。爲此,根據系統的實際需求,分別針對具體情況選擇採用不同的設計方法,可以充分發揮面向對象與結構化方法各自的優勢。目前在大多數軟件系統的分析設計過程中,這兩者方法都兼而有之。
事實上,在上述《機動設備管理系統》的開發過程中,除了使用對象模型、動態模型等面向對象的一些建模技術外,結構化的一些技術也被採用了,比如爲了清晰描述系統的運行流程,依然使用了系統流程圖,這些技術的綜合使用起到了非常良好的作用。
2. 理解是修改維護任何一個軟件系統的基礎,對面向對象的軟件而言,理解該軟件就需要了解軟件系統中主要對象的整個運行機制。但對象間的並行、繼承、傳遞、激活等特性,可能會對後期維護人員快速理解系統原設計思想帶來一定的障礙。目前,支持面向對象方法的軟件開發環境中能幫助理解軟件設計思路的工具並不多,在這方面結構化方法佔有相對優勢。所以,使用面向對象方法設計的軟件系統要切實注意避免此類理解錯誤對開發帶來的不良影響。
3. 不論哪一種設計方法,正確清晰的需求界定都是開發一個成功的軟件系統必不可少的前提條件,否則再好的設計方法也無濟於事。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章