關鍵字:項目計劃 質量管理
好規范必須是本企業有能力執行的。一個普通企業照搬一流企業的規范未必行得通。軟件工程的規范很容易從書籍中找到,但有了這些規范并不表明就能把軟件做好。國內很多軟件公司根本沒有條件去執行業界推薦的軟件工程規范。社會主義初級階段的“草”與發達資本主義國家的“苗”的確有不同的培育方式。
軟件是如此的靈活,如果沒有規范來制約,就容易因無序的喜好而導致混沌;但規范如果太嚴密了,就會扼殺程序員生機勃勃的創造力。制定軟件規范是進退兩難的事。程序員必須深入了解軟件多方面的質量因素,把那些能提高軟件質量因素的各種規范植入腦中,才能在各個實踐環節自然而然地把高質量設計到軟件中。
軟件開發網
3 軟件的質量因素
http://www.mscto.com
“運行正確”的程序就是高質量的程序嗎?
不貪污的官就是好官嗎?
時下老百姓對一些腐敗的地方政府深痛惡絕,對“官”不再有質量期望。只要當官的不貪污,哪怕毫無政績,也算是“好官”。也有一些精明的老百姓打出旗號:寧要貪污犯,不要大笨蛋。相比之下,程序員是夠幸福的了。因為我們能通過努力,由自己來把握軟件的命運。那么就不要輕易放棄提高軟件質量的權利了。
“運行正確”的程序不見得就是高質量的程序。這個程序也許運行速度很低并且浪費內存;也許代碼寫得一塌糊涂,除了開發者本人誰也看不懂也不會使用。正確性只是反映軟件質量的一個因素而已。
軟件的質量因素很多,如正確性、精確性、可靠性、容錯性、性能、效率、易用性、可理解性、簡潔性、可復用性、可擴充性、兼容性等等(還可以列出十幾個)。這些質量因素之間“你中有我,我中有他”,非常纏綿。如果程序員每天要面對那么多質量因素咬文嚼字,不久就會迂腐得象孔乙已,并且有找不到女朋友的危險。
為了便于理解,可以參照武俠小說中的武學分類,將質量因素粗略地分成幾大派。你想那武學源源流長,相互滲透,誰能數得清有多少江湖派別。但想在道上混,總得知道六大門派:“少林派”、“武當派”、“峨嵋派”、“華山派”、“昆侖派”和“崆峒派”。軟件質量因素的分類如圖3.2所示。其中“正確性與精確性”排在首位,地位如同“少林派”與“武當派”;而“性能與效率”,“易用性”,“可理解性與簡潔性”和“可復用性與可擴充性”亦是舉足輕重的質量因素,地位仿佛“峨嵋派”,“華山派”,“昆侖派”和“崆峒派”。其它的質量因素總可以在圖3.2中找到合適的親緣關系,本節不再一一細表。
3 軟件質量因素分類和武學分類
3.1 正確性與精確性
正確性與精確性之所以排在質量因素的第一位,是因為如果軟件運行不正確或者不精確,就會給用戶造成不便甚至造成損失。機器不會主動欺騙人,軟件運行不正確或者不精確一般都是人造成的。即使一個軟件能100% 地按需求規格執行,但是如果需求分析錯了,那么對客戶而言這個軟件也存在錯誤。即使需求分析完全符合客戶的要求,但是如果軟件沒有100% 地按需求規格執行,那么這個軟件也存在錯誤。開發一個大的軟件項目,程序員要為“正確”、“精確”四個字竭盡精力。
與正確性、精確性相關的質量因素是容錯性和可靠性。
容錯性首先承認軟件系統存在不正確與不精確的因素,為了防止潛在的不正確與不精確因素引發災難,系統為此設計了安全措施。在一些高風險的軟件系統,如航空航天、武器、金融等系統中,容錯性設計非常重要。
可靠性是指在一定的環境下,在給定的時間內,系統不發生故障的概率?煽啃员緛硎怯布I域的術語。比如某個電子設備,一開始工作很正常,但由于工作中器件的物理性質會發生變化(如發熱),慢慢地系統就會失常。所以一個設計完全正確的硬件系統,在工作中未必就是可靠的。軟件在運行時不會發生物理性質的變化,人們常以為如果軟件的某個功能是正確的,那么它一輩子都是正確的?墒俏覀儫o法對軟件進行徹底地測試,無法根除軟件中潛在的錯誤。平時軟件運行得好好的,說不準哪一天就不正常了,如“2000年”問題。因此把可靠性引入軟件領域是有意義的。我曾買了一本關于軟件可靠性的著作,此書充滿了數學公式。我發現以我目前的學歷實在難以看懂書上講了些什么。請寬恕我的愚昧,我把此書給“供”起來,沒敢用筆畫一處記號。
文章來源于領測軟件測試網 http://www.kjueaiud.com/