質量入門介紹
根據國際標準組織(ISO)的定義,質量是依靠特定的或暗指的能力滿足特定需要的產品或服務的全部功能和特征。這個定義說明了質量是產品的內在特征,描繪了產品的質量觀點。第二個學術派的觀點堅持如果要達到質量的目標必須在這個質量的概念上要加強。這個學派認為,質量不是單獨以產品為中心的,而是和客戶和產品都有聯系的,其中客戶是出資金者或受影響的部分人,而產品包括利益和服務。進一步講,質量的概念會隨著時間響應和環境價值的改變而改變,價值會使人們弄清什么是好的、什么是不好的。因此,軟件的質量作為產品或服務需要的功能/特征,也必須定位于客戶和組織間的內容(R.T. Vidgen,A.T. Wood-Harper)。這是關于質量的有用的觀點。這些回顧的細節包含在以下幾段文字里,第一步是人為因素。
質量觀點
對于質量的觀點,開發過程中的每個人都有不同的看法和矛盾。以下幾點由開發過程中的幾個關鍵角色提供的簡要描述:
* 開發經理:產品是可靠的、可維護性好的,能夠讓客戶滿意,如此直到項目結束或強制終止(這導致折衷的需要)。
* 商業分析者:客戶和開發小組聯合,保護用戶定義的功能和需求不受外部改變干擾。
* QA審計師:發現從質量方案/產品中脫軌的現象——所有使過程偏離質量控制的活動將受到與項目有關的人員的反對。
* 最終用戶:初級雇員很少給系統輸入什么,但是對它的操作必須有責任。最終用戶不滿意,當他們不愿意為系統付支票時,就需要監察系統的可接受程度了。
* 生產線經理:最終用戶的老板通常持有這樣的態度,即他們不需要太大的時間周期。
* 項目投資者:付鈔票的人,需要按時、按預算地交付產品。
最后,是開發人員的質量觀點,這直接影響到選擇最終產品生產的方法。這不僅起源于開發者的質量觀點(產品相對于使用),也起源于如何獲得需求(主管相對于客觀),和他們如何創造他們工作的環境(協調相對于沖突)。R.T.Vidgen和A.T.Wood-Harper提出了四種可能的開發者對質量的認識觀點:
* 客觀的/協調的:在目標沒有問題并且得到很好的描述時,開發人員會客觀地認為質量是一個合理的工程過程。質量是和詳細闡述、實現開發過程嚴格控制的需要結合的。開發者趨向于接受質量是產品的屬性的觀點(這是目前大多數軟件工程師的觀點)。
* 客觀的/矛盾的:開發者不僅明白質量是客觀的,而且理解矛盾的興趣是可以解決的,于是不可能滿足所有人的質量需求,而會確定滿足誰的需求(使管理者的還是工人的呢?)。
* 客觀的/一致的:開發者認為質量關系到團體的結構,要解決許多不同團體(投資者/受益者)的不同的觀點和興趣。最終的結果反映了不同觀點的一致意見。
* 客觀的/矛盾的:開發者考慮了不同的觀點和興趣,但是,假定會有沖突和功能上的限制,解放者構造質量的新思路,這要求滿足多的興趣而忽視少部分功能。這一點更像一種協調而不是意見統一。
質量特征和屬性
所有學派都認為質量軟件有兩個有區別的特征:第一,即是規范的一致性(如這是一個好的方案嗎?),第二,即適合它的有意的目標(是問題的正確定位嗎?)。另外,所有學派都認為有一個構成高質量的軟件的屬性。搜索有關不同質量相關的文獻都會有許多不同的屬性列表,下面是Glass建議的七個屬性:
輕便性:允許軟件能夠從一臺計算機很容易地傳輸到另一臺需要運行的計算機上的能力。
可靠性:軟件正確無誤地滿足需求的能力。
效率:軟件最小是用計算機資源(如內存、外存和機器時鐘周期等)的能力。
人性化工程:軟件能夠容易地被人們理解和學習的能力。
易測性:為了測試軟件的可執行性能的測試能力。
可理解性:軟件能夠被軟件維護人員閱讀并理解的方便程度。
可修改性:軟件能夠被軟件維護人員修改的方便程度。
以上例出的屬性并沒有一個特定的先后順序,就像質量本身一樣,對這些屬性沒有絕對的層次關系。不是所有這些屬性在任何軟件工程項目里都有用。此外,用于實現這些屬性的技術可能導致確實的、消極的相互沖突。因此,質量屬性的優先此序列表必須在程序開發生命期之前定義,以彌補程序目標的不足和在各屬性之間保留一定距離。
質量法則
有一條規律可以決定軟件開發過程是如何引入軟件質量因素的,那就是質量法則。軟件開發團體已經認識到這個問題,并認為這有助于對生產軟件過程的風險測試。在軟件質量書籍《軟件開發和支持成功框架》中,Curran和Sanders指出,軟件質量過程要注意四點:
* 從一開始就要保證不出錯,至少應該努力是錯誤盡量不在代碼是發生。為了做到這一點包括采用適當的軟件工程標準和過程,建立獨立的質量保證將來標準和過程;根據過去的經驗和教訓制訂正式的方法;象軟件工具和合同軟件一樣的高質量輸入。
* 確保盡早發現錯誤并糾正,錯誤隱蔽得越久,修正錯誤花得代價就越大。因此,質量控制必須在開發生命周期重的每一個階段都要重視,如需求分析、設計、文檔和代碼。這些都隸屬于所有的回顧方法,如檢查、預排和技術回顧。
* 消除引起錯誤的引導因素,還沒有找到錯誤的誘因就糾正錯誤是不巧黨的。通過排除錯誤的誘因你就達到了改良過程的目的(回憶連續改良過程是全面質量管理TQC原則中用于軟件質量的另一個關鍵原則)。
* 運用獨立的按照標準和過程來的質量審核工作方式,通常有兩種方法用于檢查項目活動是否按照預定的標準和過程進行的,即SEI和SPR。
質量因素和風險
我們已經討論了質量,接下來的問題就是軟件質量,或程序的質量,在軟件開發項目中要討論的風險因素。在《軟件風險的評估和控制》一書中,Jones描述了他在軟件開發中的評估經驗。運用軟件生產力研究(SPR,Software Productivity Research)和軟件工程技術(SEI,Software Engineering Institute)方法來回顧幾百個企業的項目,這些項目產生的軟件可以分為六類:
* 管理信息系統:財務和管理系統;
* 象操作系統、通訊軟件或其他物理設備控制軟件等系統軟件;
* 商務開發項目,如給最終用戶出租/出售產品等;
* 軍事軟件項目;
* 合同/采購軟件項目(民間),一些零散的用于職員和雇主的客戶端軟件;
* 最終用戶軟件項目,即一些給特定的用戶開發的軟件。
這些程序中有超過100多個的風險因素。少數項目有超過15個風險因素,但大多數是6個因素影響。分析這些項目中的風險模式,結論是它們不都是所有軟件中的共同因素。這兒列出了幾個在樣本程序中出現最多的風險因素。
MIS:
* 緩慢的用戶需求分析(80%)
* 過大的時間進度壓力(65%)
* 低質量(60%)
* 嚴重超成本(55%)
* 不充分的配置控制(50%)
低質量的軟件被定義為根本不工作,或是重復出現操作失敗的現象。Jones定義低質量的軟件是,用戶報告中每日歷年、每個功能點出現超過0.5個錯誤。MIS系統低質量表現在兩個方面:(1)不確定的錯誤出現,如偶然或非專業的使用檢查或運行測試時出現錯誤;(2)不充分的錯誤預防,如使用象聯合應用設計(JAD)或信息工程(IE)的標準技術失敗,一些錯誤可以產生項目的說明。
系統軟件風險:
* 長期的計劃(70%)
* 不充分的成本估計(65%)
* 過多的文檔工作(60%)
* 錯誤的模塊(50%)
* 項目取消(35%)
過多的文檔工作并沒有嚴格的規律,但是可以從以下幾點來判斷是否是“過多”:(1)超過50種分散類型的文檔;(2)文檔費用接近或超過了整個項目費用的50%;(3)每個功能點有超過2000詞的描述。系統軟件的文檔在數量級上僅次于軍事軟件,太多的文檔對工作來講是多余的。(注意,過多的文檔會引起額外的問題,目前,還沒有出版相關的作品說明怎樣數量、卷、結構或什么樣的文檔風格對于軟件項目來講是合適的。)
商業軟件風險
* 不充分的用戶文檔(70%)
* 低用戶滿意度(55%)
* 太多的市場營銷時間(50%)
* 有害的競爭活動(45%)
* 訴訟費用(40%)
共2頁: 1 [2] 下一頁 |