僵化性是指難以對軟體進行改動,即使是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。改動時,必須要改動的模組越多,設計就越僵化。
脆弱性是指,在進行乙個改動時,可能會導致程式的許多地方出現問題。常常是,出現新問題的地方與改動的地方沒有概念上的關聯。
頑固性是指,設計中包含了對其他系統有用的部分,但是要把這些部分從系統中分離出來所需要的代價很巨大的。
當面臨乙個改動時,開發人員常常發現會有多種改動的方法。其中,一些方法會保持設計;而另一些方法會破壞方法(也就是拼湊的方法)。當可以保持系統設計的方法比拼湊手法更難應用時,就表明設計具有很高的粘滯性。
當開發環境遲鈍。低效時,就會產生環境的粘滯性。
如果設計中包含了當前沒有用到的組成部分,他就包含不必要的複雜性。為過多的可能性做準備,致使設計中含有絕對用不到的結構,從而變得混亂。這些準備工作也許會帶來回報,但更多的不會有什麼好的回報。同時,設計時揹負著這些用不到的部分,是軟體變得複雜,並且難以理解。
剪下和貼上也許是有用的文字編輯器操作,但卻是災難性的**罪魁禍首。
晦澀性是指模組難以理解。**隨著時間而演化,往往會變得越來越灰色,讓開發人員越來越難理解模組的工作方式。為了使**的晦澀性保持最低,就需要持續地保持**清晰和富有表達力。
在非敏捷的環境中,由於需求沒有按照初始預期的方式進行變化,從而導致設計的退化。通常,改動都非常很急迫,並且進行改動的開發人員對於原始的設計思路並不熟悉。因而,雖然是可以對設計進行改動,但是卻在某種程度上違反了原始的設計。隨著改動的不斷進行,這些詬病將漸漸的積累起來,直到惡性腫瘤的出現。
敏捷設計是乙個過程,不是乙個事件。它是乙個持續的應用原則、模式以及實踐來改進軟體的結構和可讀性的過程。它致力於保持系統設計在任何時間都盡可能的簡單、乾淨和富有表達力。
什麼是敏捷?
scrum中文網 什麼是敏捷?敏捷是一種通過創造變化和響應變化在不確定和混亂的環境中取得成功的能力。什麼敏捷軟體開發?敏捷軟體開發是基於敏捷宣言定義的價值觀和原則的一系列方法和實踐的總稱。自組織 跨職能團隊運用適合他們自身環境的實踐進行演進得出解決方案。敏捷開發簡史?這些方 強調了開發團隊和業務干係...
敏捷軟體開發之什麼是敏捷設計
實際上滿足工程設計標準的唯一軟體文件,就是源 清單 jack reeves 僵化性 rigidity 僵化性是指難以對軟體進行改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。很難對系統進行改動,因為每個改動都會迫使許多對系統其他部分的其它改動 脆弱性 fragility ...
第7章 什麼是敏捷設計
7.1 軟體出了什麼錯 在軟體開發過程中,我們經常發現 越來越難以維護。需求變化時,很難去修改 修改後很容易引起意想不到的bug。在開發初期,程式設計師尚能清楚地掌握 能輕鬆的進行維護。隨著專案地進行,設計越來越複雜,越來越混亂,程式設計師自己也不清楚修改某處 是否會引起別的問題。7.2 設計的臭味...