面向对象方法学与结构化方法学的异同
面向對象方法學與結構化方法學的異同
面向對象方法與結構化方法都是軟件開發過程中的方法。在傳統的軟件開發過程中多采用結構化技術完成軟件開發的一系列工作,但這種方法并不適應發型軟件產品的開發,而隨著硬件發展,對于大型軟件產品的需求又逐步提高,于是面向對象方法就應運而生。面向對象方法在上世紀八十年代中期開始被人們所關注的,而到了九十年代,面向對象方法學已經成為開發大型軟件的首選范型。面向對象方法學的極大推廣在目前并沒有完全取代傳統方法學說明了面向對象方法學目前也有缺陷需要進一步提高。那么面向對象方法學和結構化方法學之間的異同點有哪些呢,筆者認為二者不同點主要有以下幾個方面:
一、開發思想方面
結構化方法開發的背景是在上世紀六十年代末提出軟件危機之后,為了應對軟件危機,軟件開發的先輩們模仿當時比較成熟的工程化生產而提出一種方法。而這種方法也確實減輕或者說緩解了軟件危機。結構化方法學的思想是面向過程,自上而下、逐步地分解問題,把一個大問題分解成多個小問題,小問題再分解成多個更小的問題,直到保證底層的問題足夠簡單,容易解決。
面向對象方法學在開始,是編程語言而被引入的。而把對象作為編程的實體最早是上世紀六十年代由Simula 67語言引入思維。在結構化方法學提出幾年之后,上世紀八十年代面向對象方法學逐漸走上歷史的舞臺,并在之后乃至現在大放異彩。面向對象方法學的思想是面向對象,以對象為中心,把數據封裝在對象內部成為對象的屬性,把面向過程的函數轉為對象的行為方法,把對象抽象成為類,用以描述和設計、開發軟件系統。
二、基本概念方面
結構化方法學又被稱生命周期方法學或傳統方法學。軟件從設計者誕生開發想法起始,到沒有人用、被廢棄結束,稱為軟件的生命周期。傳統的軟件開發方法中,軟件的生存周期分為三個大的階段,即軟件定義階段,開發階段,維護階段。詳細又可以分為問題定義、可行性分析、需求分析、系統設計、系統實現、后期維護等階段。
面向對象方法學是一種把面向對象程序設計語言的思想應用于軟件開發過程,指導開發過程的方法。面向對象方法學由以下三部分面向對象分析、面向對象設計、面向對象程序設計組成。面向對象開發是按照人的邏輯概念,思維方式去解決問題,使軟件開發時的代碼重用性和可靠性大大提高。也使軟件更容易被人理解,從而提高軟件后期運行易維護性。
三、開發過程方面
結構化開發分為以下五個階段
1、系統規劃階段
系統規劃階段的內容主要為明確軟件的發展規劃,確定用戶對軟件需求,并制定軟件開發的計劃。
2、系統分析階段
系統分析階段的內容有解析軟件所對應的工作任務,工作任務中的數據和數據流圖,軟件的功能所需要的技術支持和選擇。
3、系統設計階段
系統設計階段的工作有設計系統總體的結構,相關硬件設施的建設,相關環境的建立與進一步確定和數據庫、數據結構設計等。
4、系統實施階段
系統實施階段的內容為按照上衣階段的成果,協調技術人員開始編程同時對軟件編程開發人員展開培訓,測試等相關任務。
5、系統運行階段
系統運行階段的工作包括以下三個部分即對軟件的運行管理,用戶評價反饋,后臺數據監省察。在軟件運行時,一定會出現一些問題,這是也一定需要對軟件進行修改,維護和調整,又時甚至會出現影響比較大的問題,如用戶需求發生重大改變,相關技術革新,例如網絡系統的更新換代,平臺的升級更新,雖然這些問題可能出現的時間會比較晚,但也要即使監管并進行相關軟件功能或者模塊的升級。
面相對象開發分為以下四個階段
1、面向對象分析階段(OOA)
這一階段的工作主要有需求分析以及建立相關需求模型。具體來說就是建立軟件中需要的相關的完整的對象,包括這些對象應具有的屬性和相關行為。
2、面向對象設計階段(OOD)
這個階段的主要任務就是將上一階段得到的需求轉化為有技術能力實現的,成本符合預算的并且能夠達到用戶需求的軟件實現方案。具體呢就是確定軟件的高層架構,確定需要的類以及對外接口和實現算法等。
3、面向對象編程階段(OOP)
此階段的工作內容就是實現上一階段的設計結果,并在編程的過程中修正出現的設計不到位的部分,實現預計的各項功能。
4、面向對象測試階段(OOT)
面向對象測試階段的主要工作任務就是測試軟件各項功能是否存在問題,各項性能如容錯性,穩定性,安全性等各項性能,以讓軟件不斷完善。
四、優劣對比的方面
結構化方法開發
優點
1、傳統方法學吧軟件的大生命周期分成了許多小的階段,每一個小階段又可以分為其他多個不同的階段,知道每個階段的任務足夠簡單,實現相對獨立,這樣在開發時的分工合作就會比較簡單,這樣面對一些相同軟件便可以流水線式快速高效開發。
2、在傳統方法學軟件生命周期每一個階段都會細細劃分,這樣也便于科學的管理開發進度使開發工作可以科學條理的開展,而且由于傳統方法學中有著非常嚴格的審查制度,只有審查合格之后才可以進行下一階段的開發工作。這可以在一定程度上保證軟件的質量及其可維護性。而且值得肯定的是這種開發方法由于使用時間較長使其管理層面和技術層面都比較成熟,所以在一些簡單的軟件開發中,它的效率很高,甚至在當代一些軟件開發仍然或多或少地使用傳統方法學進行開發。
缺點
1、由于傳統方法學的開發只能串行開發,前面的工作如果沒有做好,就會給后面的工作帶來非常大的麻煩,所以它的生產效率總體來說會比較低。
2、由于其面向過程的局限性,軟件的重用性非常差,程序冗余比較嚴重
3、因為軟件代碼冗余比較多,這就會給后期的開發帶來許多困難,這就使得軟件的可維護性很低,由此帶來的軟件容錯性、穩定性也比較低。
4.開發出的軟件無法很好地滿足用戶需求。由于用戶一般是非專業人員,其所使用的語言邏輯,描述都可能有誤差,這就導致呢軟件在滿足用戶需求上效果不佳。
面向對象方法開發
優點
1、面向對象方法學的開發邏輯和人的邏輯思維方法相近。開發大型軟件難度相對降低,易被人所理解,同時也可以更好的滿足客戶需求。
2、可以靈活的修改軟件,軟件穩定性高,這就使的后期可維護性有了很大的提高。而后期的軟件升級也相對更加容易,更加穩定。
3、面向對象的程序可重用性有了很大的提高,減少了程序冗余,代碼重復,這在一定程度上也降低了開發難度,同時便于維護。
缺點
1、面向對象開發也存在著許多弊端,由于面向對象對環境的依賴,雖然大部分擁有了不錯的跨平臺性能,但需要依賴環境的支持,而相關的開發軟件并不全面充分。
2、面向對象開發不大適合比較大型的信息管理系統開發,而如果從整體設計劃分不合理的情況下,會導致系統結構有較大缺陷,關系無法正常分配。
3、由于其開發邏輯思維與人相似,所以無法從科學的角度管理和優化開發。
五、對以上總結如下:
傳統方法學編程是以過程為中心的,盡量把大的程序劃分為許多個相對獨立、功能盡可能簡單的小的程序模塊,其強調重視過程,重視功能的結構化,和簡單化。最終實現功能是通過一系列過程的調用和處理來完成。雖然經過時間累積開發人員們的不斷完善,傳統開發方法一直都有新的成果,模式出現,但無可避免的被面向對象開發方法所沖擊。
面向對象編程是將對象作為中心的,其功能的實現是對一系列相關對象的操作,給對象發送消息,再由對象來執行相對應的一系列操作并返回結果,重在強調對象。而在理論上,面向對象的程序設計方法可以生產更良好的模塊內聚和耦合特性,更好得實現軟件開發的邏輯原則,這也使得面向對開發的軟件更易于重用與維護,也相對更加穩定,質量也相對更高。
總結
以上是生活随笔為你收集整理的面向对象方法学与结构化方法学的异同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机辅助药物设计 fda,计算机辅助药
- 下一篇: 2019阿里校招测评题 光明小学完全图最