目前開發方式的主要缺點 (轉)
目前開發方式的主要缺點 (轉)[@more@]目前開發方式的主要缺點
目前開發方式存在弊病的來源主要在於設計,實現和執行時的分離和弱連線。
1 設計和實現(廣義的程式碼)的分離。目前的所有設計都是弱的設計(只是程度不同),就是說設計不能直接的或不能完全直接的產生程式碼實現,一旦管理不嚴,程式碼實現就會脫離設計,尤其在一個專案測試後期或執行期,並且需求變化比較大的時候;甚至一個被長期維護的,設計往往早已消失,只有維護的人員知道系統目前的樣子。至於從實現反向的產生設計的反向工程,那更是一個高難的動作。這種弱的設計直接導致的就是實現缺乏控制,最後導致的失敗或縮短軟體生命期。目前解決這個問題從技術和人兩個角度來考慮,一方面使用UML這樣的語言來強化設計,另一方面用CMM這樣的規範來強化人的管理。要指出的是UML對設計的強化是有限度的,CMM的管理也會大幅度提高成本。
2 實現(程式碼)和執行時的分離。這種分離導致了開發者在編寫程式碼的需要想象系統執行時的狀況,這時候開發者可以用很多實現的方法,使用哪一種取決於開發者的素質和,這也就是說是藝術的原因。消除這種隨意性和不一致,就要透過反覆的測試來驗證執行時的結果,就是這樣也無法保證程式碼的不作出意料之外的事情。上述因素導致了軟體質量低下和漫長的測試周期。解決上述問題,一般是透過提供粒度更大的功能模組,4GL介面,加強開發規範等方法,流行的XP(極限程式設計)就是一個比較好的方法,主要也是透過挖掘人的潛能。
上述幾個重要因素的分離導致從需求到設計到程式碼實現到產生執行結果,就像一個鬆散的鏈條,一個漫長的行軍隊伍,問題的複雜度在人為因素的逐級參與下變得更加複雜。為了達到目的:將最終結果到最開始的需求上,就需要增加人力成本和技術成本來完成,如購買各種開發輔助工具和增強和人員的培訓,總之是透過增加各類成本來努力消除來軟體的質量問題和保證進度。
目前開發方式存在弊病的來源主要在於設計,實現和執行時的分離和弱連線。
1 設計和實現(廣義的程式碼)的分離。目前的所有設計都是弱的設計(只是程度不同),就是說設計不能直接的或不能完全直接的產生程式碼實現,一旦管理不嚴,程式碼實現就會脫離設計,尤其在一個專案測試後期或執行期,並且需求變化比較大的時候;甚至一個被長期維護的,設計往往早已消失,只有維護的人員知道系統目前的樣子。至於從實現反向的產生設計的反向工程,那更是一個高難的動作。這種弱的設計直接導致的就是實現缺乏控制,最後導致的失敗或縮短軟體生命期。目前解決這個問題從技術和人兩個角度來考慮,一方面使用UML這樣的語言來強化設計,另一方面用CMM這樣的規範來強化人的管理。要指出的是UML對設計的強化是有限度的,CMM的管理也會大幅度提高成本。
2 實現(程式碼)和執行時的分離。這種分離導致了開發者在編寫程式碼的需要想象系統執行時的狀況,這時候開發者可以用很多實現的方法,使用哪一種取決於開發者的素質和,這也就是說是藝術的原因。消除這種隨意性和不一致,就要透過反覆的測試來驗證執行時的結果,就是這樣也無法保證程式碼的不作出意料之外的事情。上述因素導致了軟體質量低下和漫長的測試周期。解決上述問題,一般是透過提供粒度更大的功能模組,4GL介面,加強開發規範等方法,流行的XP(極限程式設計)就是一個比較好的方法,主要也是透過挖掘人的潛能。
上述幾個重要因素的分離導致從需求到設計到程式碼實現到產生執行結果,就像一個鬆散的鏈條,一個漫長的行軍隊伍,問題的複雜度在人為因素的逐級參與下變得更加複雜。為了達到目的:將最終結果到最開始的需求上,就需要增加人力成本和技術成本來完成,如購買各種開發輔助工具和增強和人員的培訓,總之是透過增加各類成本來努力消除來軟體的質量問題和保證進度。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-979537/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js/javascript 繼承方式主要有哪些?及其優缺點特點JSJavaScript繼承
- 元件開發方式 (轉)元件
- Python 的 3 個主要缺點及其解決方案Python
- JavaScript繼承的多種方式和優缺點JavaScript繼承
- redis兩種持久化方式的優缺點介紹Redis持久化
- Redis持久化的兩種方式的優缺點介紹Redis持久化
- 6種JavaScript繼承方式及優缺點JavaScript繼承
- hibernate實際開發中用到的東西,其缺點和優點
- Hooking linux核心函式(三):Ftrace的主要優缺點HookLinux函式
- 注意力機制目前有什麼缺點和改進空間?
- 併發程式設計的優缺點程式設計
- Java裡連線字串的幾種方式以及優缺點Java字串
- 單例模式的五種實現方式及優缺點單例模式
- JavaScript 深入之建立物件的多種方式以及優缺點JavaScript物件
- JavaScript 深入之繼承的多種方式和優缺點JavaScript繼承
- JavaScript深入之繼承的多種方式和優缺點JavaScript繼承
- JavaScript深入之建立物件的多種方式以及優缺點JavaScript物件
- WebApp 開發框架推薦以及優缺點分析WebAPP框架
- JavaScript 各種繼承方式優缺點對比JavaScript繼承
- MySQL NDB Cluster和Galera Cluster的主要特性和優缺點介紹MySql
- JS中資料型別檢測四種方式的優缺點JS資料型別
- 51. ajax幾種請求方式?他們的優缺點?
- 十大遊戲開發引擎優缺點對比遊戲開發
- 增量式開發的優點 (轉)
- zigbee協議的缺點 zigbee的主要應用領域協議
- Docker的優缺點Docker
- 聊聊HTTP的缺點HTTP
- AngularJS 的缺點AngularJS
- CAP定理的缺點
- 目前APP開發有幾大型別?APP型別
- 玩轉 React(二)- 新型前端開發方式React前端
- 節點快取的優缺點快取
- MyBatis的優缺點以及特點MyBatis
- 繼承的優點和缺點繼承
- Docker 的主要用途,目前有三大類Docker
- 深入學習js之——建立物件的各種方式以及優缺點 #12JS物件
- MySQL索引的優缺點MySql索引
- 在Google工作的缺點Go