認識軟體質量

2021-08-31 04:29:19 字數 2350 閱讀 3422

提高軟體質量

從軟體開發工程技術人員的角度,軟體質量特性因子包含:功能性、效能、可靠性、安全性、使用性、維護性、移植性、重用性。

使用者對軟體質量特性可分解成五個質量特性因子:功能性、使用性、可靠性、維護性和移植性,它們包含了軟體的基本特徵。

作為軟體產品開發人員,為了開發高質量的軟體,需要在深入理解和實現使用者質量特性因子上,盡量全面覆蓋軟體開發的質量特性因子設計的質量指標,以便減少軟體維護、擴充套件和移植等後期管理成本。

以使用者為中心的軟體質量管理

軟體的終端使用者是使用者,因此提高軟體質量要以使用者滿意為中心,以影響軟體質量特性因子為基礎,綜合考慮開發方和使用者方關注的質量特性因子。

從軟體生命週期的過程來看,軟體質量特性因子的各項指標貫穿於軟體需求、軟體開發、軟體交付和軟體維護的各個環節。作為軟體開發工程人員,僅僅考慮滿足使用者的現實需求是不夠的,還需要考慮軟體未來擴充套件的方便性,考慮在軟體開發過程中模組的可重用性。

軟體質量特性因子偏重於軟體技術方面的要求,主要靠有效選擇和應用合適的軟體開發和測試技術來實現。除此之外,乙個高質量的軟體專案要取得成功,軟體團隊、軟體過程和專案管理是關鍵要素。

顯然,提高軟體質量需要「多管齊下」的綜合技術、過程、團隊和管理等各個關鍵要素,下面分別論述如何更好的應用這些要素。

設計為本,測試輔助

近年來,軟體測試對保證軟體質量的重要性已經得到軟體企業的廣泛認識。但是,從軟體測試的技術和方法看,當前的軟體測試技術不能保證軟體沒有缺陷,只能盡量的、被動的發現缺陷。也就是說,單純的靠軟體測試進行質量把關是做不到的。

提高軟體質量重要的是分析軟體缺陷的根本**。軟體測試的實踐統計表明,大部分軟體缺陷是由於需求不準確、架構設計不合理、軟體編碼錯誤引起的。進一步分析表明,比較嚴重的軟體缺陷都是在需求分析和架構設計階段產生的。

因此,提高軟體質量的最有效方法是準確獲取使用者的真實需求(功能和效能),採用合理的軟體架構設計技術(擴充套件性、安全性、移植性),在軟體編碼階段遵守程式設計規範(使用性、可靠性、重用性)。在此基礎上,盡早和全面的實施測試的驗證和確認技術。 「設計為本,測試輔助」的方法可以在保證軟體質量方面實現從被動檢測到主動預防,從事後質量檢測,轉變為事前和事中檢測。

規範過程,不拘標準

軟體開發是一系列過程和階段相互銜接的產品生產方式。可以簡單的劃分為專案規劃、需求分析、架構設計、編碼、測試、維護等階段。每乙個當前過程的輸入都是前乙個過程的輸出,當前過程的輸出作為後乙個過程的輸入。

無論軟體開發採用傳統的「瀑布模型」還是「rup」模型,過程的規範程度是影響軟體質量的因素。通過規範過程改進提高軟體質量,這是cmm/cmmi規範的基本思想。

規範軟體過程沒有統一的標準和模式。iso9001,iso15504 (spice),cmm/cmmi,六西格瑪,全面質量管理(tqm)等都是可以參考的標準和過程規範。現在cmm/cmmi正在大行其道,但是對於非外包行業的中小軟體企業而言,如果內部的開發過程不很規範,筆者建議初期採用iso9001標準作為過程改進的基礎,另外結合公司的技術和資源現狀,確立公司的過程管理準則。

規範過程的基本要求是劃分過程和階段,確定過程基線(里程碑),明確各個過程的目標、角色、進入、輸入、輸出、退出、驗證與確認的準則,採用統一的模板化的文件、流程化和視覺化的跟蹤、度量和評估過程的實施情況。

團隊激勵,知識傳承

打造具有戰鬥力的專案團隊成為保證軟體質量的理想目標。團隊是具有共同目標的多個人員和角色的成員構成的。團隊中的每個人知識背景不同,掌握的技能不同,承擔的角色認為不同。團隊的價值體現在「1+1>2」,即任何個人的能力都是有限的,多個人的團隊合作的能量可以最大化的發揮出來。 「夢幻團隊」是由行業和技術精英組成的,但是軟體企業需要的是現實地具有戰鬥力的團隊,而不是「夢幻團隊」。

團隊的能量來自於團隊成員的有效激勵、既明確各自職責,同時相互配合,通過有效交流,資訊共享和知識傳承,保證團隊眾的每個人都始終處於高效率的、滿足進度和質量要求的,向著團隊共同的目標努力。

在保證軟體質量的共同目標下,團隊中的個人從原來的單角色轉變為多角色,每個人都承擔質量保證的不同職責,付諸實施psp/tsp的規範,充分發揮個人的技能,提高整個團隊的績性能力,改進企業組織級的過程管理能力。

專案管理,高層支援

軟體開發是系統化、過程化和複雜化的工程任務,需要專業的專案經理帶領團隊成員、採用正確的技術、規範的過程、實現質量、進度和成本的有效平衡。在提高軟體質量方面,專案經理的職責之一是制定、分配和監控明確的、可量化的、可度量的、具有不同優先順序的專案質量目標。對於實現高質量的專案,專案經理的重要性是不言而喻的。

提高軟體質量是涉及面廣泛的工程體系,在很多軟體企業屬於公司「一把手」工程。專案經理和專案團隊一定要爭取企業管理層對軟體質量重要性的認識和支援。管理層的職責是制定企業質量方針和目標,確立組織統一的質量宗旨及方向,創造並保持使員工能充分參與實現組織目標的內部環境,以統一的方式評估、協調和實施質量活動確保員工主動理解和自覺實現組織的質量目標。

軟體質量保證 軟體質量

這篇博文將較為全面深入地談談軟體質量保證中關於軟體質量的概念,內容等相關問題。關於質量的定義,不同的領域,不同的人,不同的側重點會得出截然不同的結果。因此關於其質量的基礎概念相對而言較為好理解,但是具體如何去定義實際上確是無關緊要的。不過我們在分析軟體質量的時候,不僅要考慮其面向使用者的需求覆蓋率,...

質量屬性的認識

6個最常見的系統的質量屬性 可用性 可修改性 效能 安全性 可測試性 易用性。可用性 是指系統正常執行時間的比例,是通過兩次故障之間的時間長度或在系統崩潰情況下能夠恢復正常執行的速度來衡量的。可修改性 兩個關注點 可以修改什麼?核實以及水進行修改。效能 是指系統的響應能力 即對外部刺激 事件 做出反...

軟體質量之路(1) 軟體質量框架

林星 iamlinx 21cn.com 2004 年 3 月 自ibm developerworks 軟體質量的重要性是不言而喻的,但是當所有人都意識到它的重要性的時候,卻很少有人能夠清晰的描述出如何才能夠提高軟體質量。軟體質量框架的目的就在於提出乙個評價的原型,幫助我們分析一種方法和技術是否能夠提...