敏捷開發之道(八)設計

        上次的博文敏捷開發之道(七)測試中,咱們講了一下敏捷開發中對測試的相關認識,今天咱們繼續講解敏捷開發中的另外一個重要概念-設計

一、傳統設計

        在傳統軟件開發的時候,一般須要作的首先是瞭解需求,其次會進行一個簡單的設計,例如畫一個UML或者UI界面等等。

        然而,在進行軟件開發的時候,更多的時候,開發者會發現隨着時間的流逝、需求的變化,不少以前作的設計,在慢慢發生着變更。而且隨之而來的一些變更致使的問題也會變的愈來愈大。編程


二、傳統設計的問題特色

        傳統設計一般致使的問題主要有這麼幾個特色:
測試


        a、僵化性。僵化性是指單一的改動會致使有依賴關係的模塊中的連鎖變更。這種僵化性,一般會致使改動量超出預算。spa

        b、脆弱性。脆弱性是指在進行一處改動以後,軟件的不少與之不相關地方出現不可預見的錯誤。這種問題一般會致使改動的越多出現的問題越多。
        c、牢固性。牢固性是指一些有用的部分難以從現有系統中抽離,或者一旦抽離風險很是大。
        d、粘滯性。所謂粘滯性就是指在保持現有設計或環境的狀況下很難對軟件進行修改。這種問題在開發過程當中很是常見,更多的時候咱們應對這種問題所採起的的都是比較激進的策略。
        e、沒必要要的複雜性。複雜性一般指軟件中存在一些沒有用的部分,一般這些沒有用的部分在一開始是爲了應對各類變化而存在的。
        f、沒必要要的重複性。沒必要要的重複性最典型的就是粘貼和複製代碼。這種問題在非面向對象編程中廣泛存在。
        g、晦澀性。晦澀性是指代碼難以閱讀、理解和應用。這種問題不少時候出如今一些新手或一些比較特立獨行的做者編寫的代碼身上。

三、問題緣由

大多數的開發人員可能會認爲,隨着需求變更,設計隨之變更是必然的。原始的設計不能應對需求變化,開發過程當中出現上述問題很正常。 然而,在敏捷開發中認爲,不能應對變化的設計自己就是失敗的。上述問題的出現的根本緣由,一是原始的設計是有缺陷的,二是隨着開發的進行,原始設計被破壞。 那麼敏捷開發是如何設計以應對更多的變化的呢?敬請期待下一篇!
相關文章
相關標籤/搜索