質量,一直是企業生存的根本。軟件做爲一種高智力的創造活動,既具備製造業的通常特性,同時又因爲其知識性強、創造性大,而具備通常製造業所沒有的特色。因此軟件質量管理既要秉承製造業質量管理的通常原則和思想,又要針對軟件的特色,而具備自身的規範。制定出標準、有效、可操做性強的軟件質量管理規範,對於實行軟件產業化,提升生產效率,加強競爭力具備重要意義。數據庫
近年來,國際上軟件業按照ISO 9000體系框架和要素的要求,緊密結合軟件的特色,制定出在軟件設計、開發、供應、維護等各個方面的國際標準,來提升軟件開發管理水平, 控制產品質量。各國企業把ISO 9000質量體系認證做爲增強質量管理、提升企業競爭力的一張王牌。每一個經過質量認證的企業都取得了意想不到的效果,產生了巨大的社會效益和經濟效益。服務器
ISO900族標準的基本思想就在於一個組織要肯定其質量目標,並按照其肯定的質量目標創建並有效實施質量體系,確保影響產品質量的技術、管理和人的因素處於受控狀態 ,全部的控制應針對減小和消除不合格,尤爲是預防不合格,並創建和完善持續的質量改進機制。它由一系列規則和協議組成,由專門的組織機構以一系列的管理制度和工具來保證貫徹實施。框架
根據《質量管理和質量保證標準第三部分:GB/T 19001-ISO 9001在軟件開發、供應和維護中的使用指南》中規定,質量體系包括一系列的支持活動要素,同時這些支持活動也爲質量體系的實施提供保證。ide
在質量體系的諸多支持活動中,配置管理處在支持活動的中心位置,它有機地把其它支持活動結合起來,造成一個總體,相互促進,相互影響,有力地保證了質量體系的實施。工具
隨着計算機應用的深刻,軟件項目的需求日益複雜及變動頻繁,傳統的1、二我的搞定一個項目的狀況愈來愈少,稍大一點的項目已經再也不是靠某個"高手"從頭至尾包辦。從整個公司的發展戰略來講,如何在技術突飛猛進、人員流動頻繁的狀況下,創建本公司的知識庫及經驗庫,把我的的知識及經驗轉變爲公司的知識和經驗,這對於提升工做效率,縮短產品週期,增強公司的競爭力具備相當重要的做用。採用科學的配置管理思想,輔之以先進的配置管理工具,這對國際知名軟件大公司來講,已是必不可少的手段。開發工具
但同發達國家相比,我國的軟件企業在開發管理上,過度依賴我的的做用,沒有創建起協同做戰的氛圍,沒有科學的軟件配置管理流程;技術上只重視系統和數據庫、開發工具的選擇,而忽視配置管理工具的選擇,致使即便有配置管理的規程,也因爲可操做性差而擱淺。以上種種緣由致使開發過程當中廣泛存在以下一些問題:測試
開發管理鬆散
。部門主管沒法確切得知項目的進展狀況,項目經理也不知道各開發人員的具體工做,項目進展隨意性很大,可"左"可"右"。"左"時按領導下達的"期限"進行,到期時,彷佛一切已順利完成,你們一陣胡弄,交差完成,反正領導看的是界面,至於裏面是什麼,留到施工時再說。施工時的工做所以變成了沒法彙報、沒法理清的無休止的維護。"右"時則項目工期無休止地延期。對咱們軟件工程來講,總的特色是先"左"後"右"。在領導面前表現"左",在用戶面前表現"右"。編碼
項目之間溝通不夠
。各個開發人員各自爲政,編寫的代碼不只風格各異,並且編碼和設計脫節。原本開發中錯誤在所不免,但項目開發人員怕溝通,彷佛那是針對自已的批鬥會,互相推諉責任。開發大量重複,留下大量難維護的代碼。設計
文檔與程序嚴重脫節
。軟件產品是公司的寶貴財富,代碼的重用率是至關高的,如何建好知識庫,用好知識庫對公司優質高效開發產品,具備重大的影響。但開發人員的一句名口號是:"叫我幹什麼均可以,但別叫我看別人的程序"。固然,開發人員的工做態度要轉變,但客觀上有一個很重要的緣由是:前人留下的程序既無像樣的文檔(即便留下了文檔 ,其與源程序也嚴重脫節),開發風格又不統一,就像一堆垃圾,要開發人員到垃圾中去撿破爛,從這個角度上看,開發人員的要求是合理的。日誌
測試工做不規範
。傳統的開發方式中,測試工做只是人們的一種主觀願望,根本沒法提出具體的測試要求,加之開發人員的遮醜,測試工做每每是走一走過場,測試結果既沒法考覈又沒法量化,固然就沒法對之後的開發工做起指導做用。
施工週期過長,且開發人員必須親臨現場
。傳統的開發與施工是絕對統一的,別人沒法接手也無心接手(由於這意味着看別人的程序)。因爲應用軟件的特色,各個不一樣的施工點有不一樣的要求,開發人員要手工地保持多份不一樣的拷貝,即便是相同的問題,但因爲在不一樣地方提出,由不一樣人解決,其作法也不一樣,程序的可維護性愈來愈差。長此以往,最後連自已都分不清楚了,代碼的相互覆蓋現象時有發生,且這苦水還沒法傾訴,由於怕別人笑話,甚至別人問起,還得想法搪塞,可謂費盡苦心。針對以上問題,國內不少軟件企業已經逐漸認識到配置管理的重要性,在國外一些成熟的配置管理工具的輔助下,制定相應的配置管理策略,取得了很好的成效。
圍繞配置管理,世界一些致力於軟件工程研究的公司在深刻理解ISO 9000的基礎上, 推出了各類符合ISO 9000配置管理標準的工具軟件,如INTERSOLV公司的PVCS,Rational公司的Clear Case等。這些配置管理工具面向軟件規範化、工程化、自動化的須要,幫助開發團隊提升科學管理水平,從而提升工程效率,下降工程成本。現以PVCS爲例,結合咱們的實際經驗,談談咱們實施配置管理的益處:
(1) 縮短開發週期
利用PVCS的Version Manager對程序資源進行版本管理和跟蹤,創建公司的代碼知識庫,保存開發過程當中每一過程版本,這樣大大提升了代碼的重用率,還便於同時維護多個版本和進行新版本的開發,防止系統崩潰,最大限度地共享代碼。同時項目管理人員能夠經過Version Manager查看項目開發日誌,測試人員能夠根據開發日誌和不一樣版本對軟件進行測試,工程人員能夠從Version Manager上獲得不一樣的運行版本,而且Version Manager 能夠安裝在Web Server供外地施工人員存取最新版本,無需開發人員親臨現場。
利用Tracker組建開發團體之間的問題跟蹤及消息通迅,經過其Notify模塊與電子郵件結合起來大大增強了開發團體之間的溝通,Reporter模塊可對發現的問題進行整理、以報表方式分類報出,做爲開發的指導。
以上爲PVCS的兩個主要模塊,科學地應用能夠大大提升開發效率,避免了代碼覆蓋、溝通不夠、開發無序的混亂局面,若是利用了公司原有的知識庫,則更能提升工做效率,縮短開發週期。
(2) 減小施工費用
利用PVCS進行軟件配置管理後,創建開發管理規範,把版本管理檔案掛接在公司內部的Web服務器上,內部直接經過Netscape訪問Version Manager,工程人員經過遠程進入內部網,獲取所需的最新版本。開發人員無需下現場,現場工程人員經過對方系統管理員收集反饋意見,書面提交到公司內部開發組項目經理,開發組內部討論決定是否修改,並做出書面答覆。這樣作,能夠同時響應多個項目點,防止開發人員分配到各個項目點、分散力量、人員不夠的毛病,同時節約大量的旅差費用。
(1) 代碼對象庫
軟件代碼是軟件開發人員腦力勞動的結晶,也是軟件公司的寶貴財富,長期開發過程當中造成的各類代碼對象就像一個個零件坯同樣,是快速生成系統的組成部分。長期的一個事實是:一旦某個開發人員離開工做崗位,其原來所做的代碼便基本成爲垃圾,無人過問。究其緣由,就是沒有專門對各人的有用對象進行管理,把其使用範圍擴大到公司一級,進行規範化,加以說明和普及。Version Manager爲對象管理提供了一個平臺和倉庫,有利於創建公司級的代碼對象庫。
(2) 業務及經驗庫
經過PVCS Version Manager的註釋及Tracker,可造成完整的開發日誌及問題集合,以文字方式伴隨開發的整個過程,不依某我的的轉移而消失,有利於公司積累業務經驗,不管對版本整改或版本升級,都具備重要的指導做用。
(1) 量化工做量考覈
傳統的開發管理中,工做量一直是難以估量的指標,靠開發人員自已把握,隨意性至關大;靠管理人員把握,主觀性又太強。採用PVCS管理後,開發人員天天下班前對修改的文件 Check In,其中記述當天修改細節描述,這些描述能夠做爲工做量的衡量指標。
(2) 規範測試
採用PVCS之後,測試有了實實在在的工做,測試工做人員根據天天的修改細節描述對每一天的工做作具體的測試,對測試人員也具備可考覈性,這樣環環相扣,大大減小了其工做的隨意性。
(3) 增強協調與溝通
採用PVCS後,經過Version Manager文檔共享及其特定鎖機制、Tracker與電子郵件的集成,大大增強了項目成員之間的溝通,作到有問題及時發現、及時修改、及時通知,但又不額外增長不少的工做量。
衆所周知,管理工具軟件只是管理思想的載體,提供一個好的平臺,而導演仍是人,針對配置管理軟件,咱們應該根據ISO 9000各質量要素的要求,轉變咱們的觀念及管理思惟 ,制定科學的配置管理規程,結合ISO 9000其它各項支持活動,保證在質量體系的各生存週期活動中全面實施有效的質量管理,實現我國軟件產業的標準化、產業化。