濟(jì)南軟件開發(fā)—開發(fā)方式的缺點

2015-10-23 13:30:49
    目前開發(fā)方式存在弊病的來源主要在于設(shè)計,實現(xiàn)和運行時的分離和弱連接。 
    1、實現(xiàn)(代碼)和運行時的分離。這種分離導(dǎo)致了開發(fā)者在編寫代碼的需要想象系統(tǒng)運行時的狀況,這時候開發(fā)者可以用很多實現(xiàn)的方法,使用哪一種取決于開發(fā)者的素質(zhì)和經(jīng)驗,這也就是說編程是藝術(shù)的原因。消除這種隨意性和不一致,就要通過反復(fù)的測試來驗證運行時的結(jié)果,就是這樣也無法保證代碼的不作出意料之外的事情。上述因素導(dǎo)致了軟件質(zhì)量低下和漫長的測試周期。解決上述問題,一般是通過提供粒度更大的功能模塊,4GL界面,加強開發(fā)規(guī)范等方法,流行的XP就是一個比較好的方法,主要也是通過挖掘人的潛能。 

    2、設(shè)計和實現(xiàn)的分離。目前的所有設(shè)計都是弱的設(shè)計,就是說設(shè)計不能直接的或不能完全直接的產(chǎn)生代碼實現(xiàn),一旦管理不嚴(yán),代碼實現(xiàn)就會脫離設(shè)計,尤其在一個項目測試后期或運行期,并且需求變化比較大的時候;甚至一個被長期維護(hù)的系統(tǒng),設(shè)計往往早已消失,只有維護(hù)的人員知道系統(tǒng)目前的樣子。至于從實現(xiàn)反向的產(chǎn)生設(shè)計的反向工程,那更是一個高難的動作。這種弱的設(shè)計直接導(dǎo)致的就是實現(xiàn)缺乏控制,最后導(dǎo)致軟件的失敗或縮短軟件生命期。目前解決這個問題從技術(shù)和人兩個角度來考慮,一方面使用UML這樣的語言來強化設(shè)計,另一方面用CMM這樣的規(guī)范來強化人的管理。要指出的是UML對設(shè)計的強化是有限度的,CMM的管理也會大幅度提高成本。 
 
   上述重要因素的分離導(dǎo)致從需求到設(shè)計到代碼實現(xiàn)到產(chǎn)生運行結(jié)果,就像一個松散的鏈條,一個漫長的行軍隊伍,問題的復(fù)雜度在人為因素的逐級參與下變得更加復(fù)雜。為了達(dá)到目的:將最終結(jié)果約束到最開始的需求上,就需要增加人力成本和技術(shù)成本來完成,如購買各種開發(fā)輔助工具和增強項目管理和人員的培訓(xùn),總之是通過增加各類成本來努力消除來軟件的質(zhì)量問題和保證進(jìn)度。