“尋找圣杯的任務”——度量軟件之美 軟件度量
關鍵字:“尋找圣杯的任務”——度量軟件之美
“當你能夠測度你所說的并將其用數字表達出來,你就對它有了一些了解;但當你不能測度,不能用數字表達它時,你對它的了解就很貧乏.你在思想上還遠沒有進入科學的階段” ——Load Kelvin
軟件質量判定遇到的問題
判斷和衡量代碼質量一直是開發過程中令人苦惱的問題,在同樣完成功能的情況下,如何判別一種寫法比另一種寫法好呢?在代碼重構的過程中,如何確定代碼質量是在不斷的改進當中呢?引入一種設計模式以后,代碼真的變的比以前好了嗎?
大部分時候我們憑感覺和經驗做這些事情,我們使用很多模糊的詞語來描述我們的判斷,比如這樣做以后,代碼的可維護性更好,可擴展性提高等等。在越來越注重代碼設計的今天,很多人開始使用更感性化,更形而上學的詞語來形容軟件質量,我們會聽到評價軟件結構
很優雅,帶來美的享受,甚至一些設計原則被提升到了哲學高度,:)。
不得不承認這些詞語的描述確實很符合我們看到一段高質量代碼的心境,但是這些新詞語的出現并沒有幫助我們解決軟件質量判定中遇到的問題,因為這些感性的判定,由于每個人的經驗不同,經歷不同,所得出的結論也不盡相同。
軟件度量能解決的問題
眾所周知,度量對任意一個工程產品研制都是很重要的,度量讓人們更加 了解產品,可以評價產品,衡量產品質量從而進行改進。對于軟件產品也一樣,只有定性的評估是不夠的,只有通過定量的評估才可以根本的解決評估軟件產品質量這樣的問狻H歡,软件产品诞攘咳捶淺@,哆\牟飭靠贍苡澇段薹ㄗ齙膠臀錮聿芬謊耐昝潰牽砑飭咳勻瘓哂兄匾囊庖濉?lt;/P>
要度量軟件質量,首先需要定義軟件質量要素,比如,軟件的功能性(functionality)、可用性(usability)、可靠性(reliability)、性能(performance)和支持度(supportability)都衡量軟件質量的要素。不過,要真正定量的從技術上度量這些要素,就是非常困難的了。
軟件度量工作首先需要確定能夠表示軟件質量的各種屬性和指標;然后,分析軟件,收集數據;接著運用公式換算代碼的各種指標值;最后,通過這些指標就可以分析代碼的質量。確定哪些屬性和指標可以表示軟件質量,收集哪些數據,如何用公式推導指標,都是軟件度量這門科學的研究重點。它所確定的各種軟件度量指標為我們了解軟件屬性,衡量軟件質量提供了科學的依據。
軟件度量經歷了幾十年的發展,在軟件的各個方面和領域都開發出了各種度量套件。有針對分析模型的度量,體系結構設計的度量,構件級設計的度量,界面設計的度量,以及源代碼級的度量等等,要了解這些度量套件如何進行質量測量可以參考相關的資料。不過,這些度
量套件并不是都具備實際的操作意義,有些度量就太復雜不可操作,或者脫離實際很難理解。但是也有一些度量套件具備很實際的指導意義。本文打算介紹的構件級度量套件和源碼級度量套件都是很有意義的。
軟件度量可以幫助我們理解軟件屬性,衡量軟件質量,但是,軟件度量并沒有真正的去測量軟件質量,而是測量軟件質量的表現,因此,仍然需要我們去分析確定所測量的指標和軟件質量的準確關系。
文章來源于領測軟件測試網 http://www.kjueaiud.com/