一、軟件產(chǎn)品質(zhì)量的特點(diǎn)
按照ISO 9126的定義,軟件的質(zhì)量通??梢詮囊韵铝鶄€(gè)方面去衡量(定義)
·功用性(Functionality),即軟件是否滿(mǎn)足了客戶(hù)功能要求;
·可靠性(Reliability),即軟件是否能夠-直在-個(gè)穩定的狀態(tài)上滿(mǎn)足可用性;
·可用性(Usability),即衡量用戶(hù)能夠使用軟件需要多大的努力;
·效率(Efficiency),即衡量軟件正常運行需要耗費多少物理資源;
·可維護性(Maintainability),即衡量對已經(jīng)完成的軟件進(jìn)行調整需要多大的努力;
·可移植性(Portability),即衡量軟件是否能夠方便地部署到不同的運行環(huán)境中。
可見(jiàn),同其它產(chǎn)品相比,軟件產(chǎn)品的質(zhì)量有其明顯的特殊性。
第一,很難制定具體的、數量化的產(chǎn)品質(zhì)量標準,所以沒(méi)有相應的國際標推、國家標準或行業(yè)標淮。對軟件產(chǎn)品而言,無(wú)法制定諸如"合格率"、"一次通過(guò)率"、"PPM"、"壽命"之類(lèi)的質(zhì)量目標。每千行的缺陷數量是通用的度量方法,但缺陷的等級、種類(lèi)、性質(zhì)、影響不同,不能說(shuō)每千行缺陷數量小的軟件,一定比該數量大的軟件質(zhì)量更好。至于軟件的可擴充性、可維護性、可靠性等,也很難量化,不好衡量。軟件質(zhì)量指標的量化手段需要在實(shí)踐中不斷總結。
第二,軟件產(chǎn)品質(zhì)量沒(méi)有絕對的合格/不合格界限,軟件不可能做到"零缺陷",對軟件的測試不可能窮盡所有情況,有缺陷的軟件仍然可以使用。軟件產(chǎn)品的不完善可通過(guò)維護和升級問(wèn)題來(lái)解決。
第三,軟件產(chǎn)品之間很難進(jìn)行橫向的質(zhì)量對比,很難說(shuō)這個(gè)產(chǎn)品比那個(gè)產(chǎn)品好多少。不同軟件之間的質(zhì)量也無(wú)法直接比較,所以沒(méi)有什么"國際領(lǐng)先"、"國內領(lǐng)先"的提法。
第四,滿(mǎn)足了用戶(hù)需求的軟件質(zhì)量,就是好的軟件質(zhì)量。如果軟件在技術(shù)上很先進(jìn),界面很漂亮,功能也很多,但不是用戶(hù)所需要的,仍不能算軟件質(zhì)量好??蛻?hù)的要求需雙方確認,而且這種需求一開(kāi)始可能是不完整、不明確的,隨著(zhù)開(kāi)發(fā)的進(jìn)行不斷調整。
第五,軟件的類(lèi)型不同,軟件質(zhì)量的衡量標準的側重點(diǎn)也不同。例如,對于實(shí)時(shí)系統而言,效率(Efficiency)會(huì )是衡量軟件質(zhì)量的首要要素,對于一些需要軟件使用者(用戶(hù))與軟件本身進(jìn)行大量交互的系統,對可用性(Usability)就提出了較高的要求。
二、軟件產(chǎn)品質(zhì)量管理的特點(diǎn)
1.軟件質(zhì)量管理應該貫穿軟件開(kāi)發(fā)的全過(guò)程,而不僅僅是軟件本身
軟件質(zhì)量不僅僅是一些測試數據、統計數據、客戶(hù)滿(mǎn)意度調查回函等等,衡量一個(gè)軟件質(zhì)量的好壞,應該首先考慮完成該軟件生產(chǎn)的整個(gè)過(guò)程是否達到了一定質(zhì)量要求。在軟件開(kāi)發(fā)實(shí)踐中,軟件質(zhì)量控制可以依靠流程管理(如缺陷處理過(guò)程、開(kāi)發(fā)文檔控制管理、發(fā)布過(guò)程等),嚴格按軟件工程執行,來(lái)保證質(zhì)量。例如:
·通過(guò)從"用戶(hù)功能確認書(shū)"到"軟件詳細設計"過(guò)程的過(guò)程定義、控制和不斷改善,確保軟件的"功用性";
·通過(guò)測試部門(mén)的"系統測試"、"回歸測試"過(guò)程的定義、執行和不斷改善,確保軟件的"可靠性"和"可用性";
·通過(guò)測試部門(mén)的"性能測試",確保軟件的"效率";
·通過(guò)軟件架構的設計過(guò)程及開(kāi)發(fā)中代碼、文檔的實(shí)現過(guò)程,確保軟件的"可維護性";
·通過(guò)引入適當的編程方法、編程工具和設計思路,確保軟件的"可移植性"等等。
2 .對開(kāi)發(fā)文檔的評審是產(chǎn)品檢驗的重要方式
由于軟件是在計算機上執行的代碼,離開(kāi)軟件的安裝、使用說(shuō)明文檔等則寸步難行,所以開(kāi)發(fā)過(guò)程中的很多文檔資料也作為產(chǎn)品的組成部分,需要像對產(chǎn)品一樣進(jìn)行檢驗,而對文檔資料的評審就構成了產(chǎn)品檢驗的重要方式。
3 .運用技術(shù)手段保證質(zhì)量
利用多種工具軟件進(jìn)行質(zhì)量保證的各種工作,如用CVS軟件進(jìn)行配置管理和文檔管理、用MR軟件進(jìn)行變更控制、用RATIONAL ROSE軟件進(jìn)行軟件開(kāi)發(fā)等。采用先進(jìn)的系統分析方法和軟件設計方法(OOA、OOD、軟件復用等)來(lái)促進(jìn)軟件質(zhì)量的提高。
4 .應用質(zhì)量管理思想滿(mǎn)足顧客需要
·缺陷預防
一 分析過(guò)去遇到過(guò)的缺陷并采用響應的措施以避免這些類(lèi)型的缺陷以后再次出現。
一 規劃缺陷預防活動(dòng)。
一 找出并確定引起缺陷的通常原因。
一 對引起缺陷的通常原因劃分優(yōu)先級并系統地消除。
·緊緊扣住用戶(hù)需求
用戶(hù)分為兩種顧客(Customer)和使用者(User)。前者是付錢(qián)的,而后者才是使用者。兩者的要求有時(shí)是不同的。所以?xún)煞矫娴囊蠖家獫M(mǎn)足。 ·采用快速原型法,盡快演示(Demo)給用戶(hù)并及時(shí)獲取用戶(hù)的反饋,根據用戶(hù)的反饋不斷修改軟件,而不是全部完工后再最后交給用戶(hù)。否則,要改的地方可能很多。甚至推翻重來(lái)。
·充分設計之后再編碼,防止因考慮不周而返工。
·牢牢控制對缺陷的修改
要用專(zhuān)門(mén)的軟件,記錄和跟蹤軟件缺陷的修復。缺陷跟蹤記錄包括:發(fā)現人、缺陷描述、修復人、修復記錄、確認人、確認結論,通過(guò)后才關(guān)閉該記錄。
·充分進(jìn)行軟件的系統測試
軟件編碼、單元測試、集成測試后,還要進(jìn)行充分的系統測試、回歸測試,待軟件穩定、不再出現新的缺陷后,再考慮軟件出廠(chǎng)。
· 恰當掌握軟件的放行標淮
并不是零缺陷的軟件才是質(zhì)量高的軟件,軟件零缺陷幾乎是不可能的,
對遺留的缺陷要充分進(jìn)行分析,只要能滿(mǎn)足用戶(hù)需求,軟件遺留的缺陷可以在今后升級中解決。
三、大型軟件開(kāi)發(fā)的質(zhì)量管理體系 所謂"大型軟件開(kāi)發(fā)",通常指那些開(kāi)發(fā)過(guò)程資源消耗較大、開(kāi)發(fā)時(shí)間跨度長(cháng)、技術(shù)復雜的軟件開(kāi)發(fā)過(guò)程。例如"集中告警監控軟件"NetGuard"在開(kāi)發(fā)過(guò)程中,需要30到40名軟件工程師花費半年左右的時(shí)間;技術(shù)上,"NetGuard"與其它多達20多家的電信設備提供商的系統的接口進(jìn)行互聯(lián),并且,作為告警集中監控系統,實(shí)時(shí)性要求很高。大型軟件開(kāi)發(fā)流程可采用螺旋式增量開(kāi)發(fā)方式,示意如下:
圖中各階段的輸出點(diǎn)也是質(zhì)量控制點(diǎn),有相應的輸出文檔和軟件代碼,均需要得到QM的確認。
除了上述7個(gè)階段外,還有項目管理(PM)、變更控制、需求控制、文檔控制、用戶(hù)滿(mǎn)意度管理等貫穿整個(gè)流程。
軟件企業(yè)實(shí)施ISO 9001,以保證軟件產(chǎn)品的質(zhì)量,總經(jīng)理應親自抓質(zhì)量體系??偨?jīng)理要制定企業(yè)的質(zhì)量方針和質(zhì)量目標、配備足夠的人力、物力資源,明確各崗位的質(zhì)量職責,并保證質(zhì)量體系的運行。
1.質(zhì)量管理部門(mén)的職責 由于軟件的專(zhuān)業(yè)性和復雜性,
質(zhì)量管理可實(shí)行"檢、監、控"三分離的職責設置:
"質(zhì)量檢驗"部門(mén)是"系統測試部",負責軟件質(zhì)量的檢驗(功能、性能測試、回歸測試等)。"質(zhì)量管理部"的角色和功能定位為:在管理者代表的領(lǐng)導下,獨立:擴企業(yè)的運行之外、規劃、監督、指導和改進(jìn)公司質(zhì)量體系的運行,檢查開(kāi)發(fā)結果是否符合規定,可以更全面、客觀(guān)、公正地觀(guān)察企業(yè)的運際而各部門(mén)經(jīng)理推動(dòng)該部門(mén)的質(zhì)量管理工作,負行政責任。
質(zhì)量管理部的具體職能是:制定質(zhì)量管理工作計劃;對各部門(mén)的質(zhì)量管理工作提出建議指導跟蹤、內審、分析質(zhì)量體系的運行;控制軟件和開(kāi)發(fā)文檔的版本;確認軟件產(chǎn)品的測試結果;組織質(zhì)量體系的改進(jìn)。 根據能力成熟度模型(Capability Maturity Model,簡(jiǎn)稱(chēng)CMM),質(zhì)量管理部可開(kāi)展三個(gè)小組的話(huà)動(dòng)、即SEPG(軟件工程過(guò)程小組)、SCM(軟件配置管理小組)、SQA(軟件質(zhì)量保證小組)。這些小組的成員都是兼職的,是各部門(mén)的資深開(kāi)發(fā)人員。在質(zhì)量管理部的領(lǐng)導下,這些小組可以把CMM的原則運用到公司開(kāi)發(fā)流程的改進(jìn)中。例如分析質(zhì)量體系各種過(guò)程的運行數據,提出對過(guò)程的改進(jìn)方案。
質(zhì)量管理部對產(chǎn)品質(zhì)量進(jìn)行確認。雖然對軟件產(chǎn)品的測試、檢驗是由專(zhuān)門(mén)的部門(mén)完成的,但質(zhì)量管理部要對其進(jìn)行確認,例如采購的驗收、軟件的測試等是否按程序文件的規定完成并達到規定的質(zhì)量要求,開(kāi)發(fā)文檔的編寫(xiě)是否符合規定等。
質(zhì)量管理部的一項重要工作,是控制軟件和開(kāi)發(fā)文檔的版本。軟件產(chǎn)品的版本非常復雜,相應的開(kāi)發(fā)文檔數量多、版本也很復雜,如果軟件或文檔的版本搞錯了,會(huì )給使用帶來(lái)麻煩,所以版本控制是軟件產(chǎn)品質(zhì)量的重要部分。
對顧客滿(mǎn)意程度進(jìn)行搜集、分析和評價(jià)是質(zhì)量管理部的另一項重要工作。"以顧客為關(guān)注焦點(diǎn)"是ISO9000質(zhì)量管理體系的八項原則之一,
公司對顧客的服務(wù)的部門(mén)有市場(chǎng)營(yíng)銷(xiāo)部、產(chǎn)品開(kāi)發(fā)部、工程部等,而對顧客服務(wù)的效果、顧客滿(mǎn)意程度的調查、搜集、分析和評價(jià),則應由質(zhì)量管理部進(jìn)行(正如運動(dòng)員不能同時(shí)又是裁判一樣)。
2.基于IS09001標準和CMM原則的開(kāi)發(fā)流程管理 基于ISO9001標淮,并吸收CMM的原則,制定的程序文件和指導書(shū),以及記錄這些流程操作的記錄表格,應涵蓋合同評審、采購、項目管理、軟件開(kāi)發(fā)、變更控制、設計評審、文檔控制、測試控制、不合格品控制、現場(chǎng)安裝、售后服務(wù)、技術(shù)支持、培訓管理等軟件開(kāi)發(fā)的全過(guò)程,保證質(zhì)量體系有效性的管理評審、內審、文件/記錄控制、糾正/預防措施控制等程序文件,應為各項操作提供科學(xué)合理的指導,以此構成完整嚴密的質(zhì)量保證體系。
對于部分模塊外包給其它公司開(kāi)發(fā),公司應首先嚴格審核承包商的資格,包括人員、設備、資質(zhì)、以往業(yè)績(jì)、管理水平等,與其簽訂外包合同后,則對承包商進(jìn)行相同軟件的開(kāi)發(fā)過(guò)程監控和驗收。
軟件開(kāi)發(fā)同樣應建立嚴密的售后服務(wù)方面的流程,如技術(shù)支持流程、現場(chǎng)技術(shù)支持流程、用戶(hù)本地化技術(shù)支持流程、用戶(hù)走訪(fǎng)流程、用戶(hù)滿(mǎn)意調查等,為用戶(hù)提供全方位的、周到的服務(wù),真正體現ISO9001"讓顧客滿(mǎn)意"的精神。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。