試論軟件測試設計原則 軟件測試工具
關鍵字:試論軟件設計原則軟件開發過程千差萬別,開發資金規模從幾萬到幾千萬,開發方式從面向過程到模式驅動,開發人員從幾個人到幾百人,開發環境從Windows到Linux,人員水平從剛剛畢業的非計算機專業的員工到經驗豐富、能力有限的高手。
軟件設計的好壞,似乎完全取決于設計人員的能力、思維見地,判斷一個軟件設計的好壞,似乎只能看其發布后的用戶評價,靠時間來檢驗。那么,在軟件設計過程中是否存在一些基本的原則,在不同的開發過程中,真正的指導、提高軟件設計的水平呢?
一、功能分解
功能分解是非常樸素、普通的思想。然而,也是非常容易遺忘的思想。很多的設計人員總是雄心勃勃,試圖設計出非常復雜的算法,非常完美的結構,陶醉于自己定義的世外桃源,不是將問題簡化,而是將問題復雜化。而實踐證明,這些出發點就是有偏差的。軟件領域以外的很多實踐和經驗,都證明了分工、分解是處理復雜系統的基本前提。何況較很多系統更加復雜的軟件系統?
二、代碼重用
很多的軟件方案中,開宗明義自己的設計原則是面向對象,那么,我們把需求影射成為一個一個的對象,就是好的設計嗎?事實上,如何劃分、設計真正好的對象,是非常難以掌握的,如果面向對象在實踐中沒有很大的問題,就不會有時髦的重構了。實際上,翻開任何一本解釋面向對象的書,都會提到,面向對象的基本初衷是代碼重用。那么,如果把代碼重用作為設計原則,設計人員總是考慮如何能夠代碼重用的設計,則其效果會大大高于沒有什么可操作性的面向對象原則
三、減少耦合
如果將設計好的對象之間用有向箭頭連在一起,很多時候會變成了一張網,如果將對象的方法之間用有向箭頭連在一起,則看起來像信手涂鴉。對于設計人員,能夠將其中的關系一一說明白,已經是不錯的了,而對于的開發人員,則變成了黑洞。如果過一段時間、或者用戶需求有些變化,對很多人講,這樣的設計會成為噩夢,這是比較極端的情況。但是也能說明,在設計各個層面減少耦合是設計人員需要隨時提醒自己的。
四、規律的規律
如果設計人員確實還有能量,可以考慮一些超越用戶給定需求的PATTERN,很多情況下,是從用戶的需求得到一些PATTERN,而不是相反。
五、常識和品味
政治局常委起何作用?一般的轎車百公里油耗是多少,這些和我們的軟件設計有關么?是的,有很大的關系。設計人員會得到各個角度、各個層次的信息,需要作出方方面面的決策,而歸根結底,這些決策的依據很多是設計人員的常識和品味,不同的人有不同的常識和品味,而設計人員的常識和品味是否足夠高,一般只能隨著系統的使用才能看出來。
文章來源于領測軟件測試網 http://www.kjueaiud.com/