?

聯通PaaS項目質量管理

2015-05-13 23:25
信息通信技術 2015年3期
關鍵詞:軟件過程質量

中國聯通研究院 北京 100032

1 云計算及PaaS

云計算技術的出現為電信運營商提供了業務擴展、服務升級的機遇,構建基于云計算PaaS技術的綜合平臺成為電信運營商轉型的重要舉措[1]。隨著云計算技術的不斷成熟,許多重要軟件企業和云計算公司都推出了自己的PaaS產品,基于PaaS架構構建運營商平臺已成為一種趨勢。但由于PaaS項目具有新穎性,具備技術含量高、規模大、工期緊的特點,往往需要對整個項目的質量進行管理。隨著國內對軟件管理工程認識的不斷加深,這種趨勢使得中國的軟件企業逐步走向標準化、規范化、國際化的道路。

云計算產品和傳統軟件產品的本質區別在于整體性,傳統的產品只考慮局部應用,比如智慧城市只考慮某個城市的局部應用,而不考慮和其它城市的關聯關系。真正的云計算產品是站在國家層面上進行設計,既可以應用在小區域,又可以應用在更大的區域。

PaaS(Platform as a Service,平臺即服務)[2]是一個應用程序開發平臺,能夠在線提供端到端的開發環境,開發人員可以在線調試、部署、運行及管理,開發部署及運行都在同一開發環境下進行,避免平臺不兼容的問題,能大大縮短開發周期。開發人員無需配置服務器及部署環境,無需考慮存儲子系統及安全問題等,平臺提供部分封裝服務,開發人員可以快速創建修改程序以滿足不斷變更的需求,從而簡化開發過程、縮短開發時間、降低開發風險。不同的平臺各有其特點:Google App Engine[3]提供java/Python運行平臺和數據存儲等接口;Amazon的EC2[4]提供通用的基礎設施服務等。

2 CMMI質量管理

2.1 質量管理

在計算機領域,“質量”一詞通常定義產品或服務是否能夠滿足客戶需求,換一種說法就是“適用”。很多人在質量和成本方面存在一個誤區,認為高質量意味著高成本,也有部分技術人員會認為標準抑制創造性,因此,不愿遵從標準的規定,其實這些都是沒有完全理解質量管理標準的內涵造成的。軟件質量保證的正式定義是指為整個軟件產品的適用性提供證據的系統化活動。大部分軟件質量保證活動可劃分為軟件測試(即驗證與確認)、軟件配置管理和質量控制。如圖1所示[5],軟件質量的成功還依賴于標準、規程、慣例及規約的支持。

2.2 CMMI質量管理

CMMI(集成能力成熟度模型)模型是有助于企業提升項目過程的最佳實踐的集合,因此,可以將其融入到PaaS項目中,從而實現對項目進度及過程中關鍵成果質量的有效監控和控制以及對項目過程中風險及問題的有效跟蹤。

圖1 質量保證組成

就質量管理而言,大多數人會認為只需要對產品進行評估就可以了,孰不知過程決定產品,過程的評審同樣重要。如編碼標注的文檔化,方法和工具的規定和使用,變更管理,以及缺陷記錄和跟蹤等,通過對這些過程進行管理,可以在過程中發現潛在的風險,并及時規避風險。從項目開始進行質量管理,盡可能減少所開發軟件的缺陷,控制產品質量。據統計,由于未檢測出的軟件缺陷而損失數千萬、數億甚至數十億美元的例子數不勝數。周期的縮短也使得開發風險越來越大,產品周期從數年被壓縮到數月、數周甚至數天。如此緊張的時間限制,使得開發軟件存在很多風險,CMMI作為一種質量管理標準,是SEI(美國卡內基-梅隆大學的軟件工程研究所)于2000年發布的CMM[6]的新版本,不僅包括軟件開發過程改進,還包含系統集成、軟硬件采購等方面的過程改進內容,因此,能夠從管理和過程的兩個角度對整個項目進行監控,并定義多個過程域,根據不同項目的特點,可以對過程域進行裁剪,其最終目的是保證項目成果的質量、性能、可用性,降低軟件開發生命周期的總成本[7-8]。

缺陷清除率是衡量軟件質量的一個指標,所謂缺陷清除率即軟件在開發過程中(提交之前)發現的所有缺陷數D1與軟件中發現的缺陷總數D之比。其中D=D1+軟件提交后發現的缺陷數D2。眾所周知,清除軟件缺陷的難易程度是不同的。

表1反映的是CMM五個等級是如何影響軟件質量的,其數據來源于美國空軍1994年委托SPR(美國一家著名的調查公司)進行的一項研究。從表1中可以看出,CMM級別越高,缺陷清除率也越高。

表1 SEI CMM級別潛在缺陷與清除

實施CMMI對企業的好處主要體現在:1)能保證軟件開發的質量與進度;2)有利于成本控制;3)有助于提高軟件開發者的職業素養;4)能夠解決人員流動帶來的問題;5)有利于提升公司和員工績效管理水平,以持續改進效益。

2.3 CMMI質量裁剪

CMMI模型設計之初就是應對軍方大型項目的,所以CMMI模型框架龐大,存在文檔過載、過程繁冗等諸多問題,它包含22個過程域,各個企業的軟件項目在應用CMMI時,必須進行適當的剪裁以適應本企業的特點,而項目特點是裁剪依據和出發點。

1995年,在一次關于CMM裁剪的學術討論會之后,人們達成的共識是應該集中關注如何根據企業的具體情況裁剪CMM的方法,而不是企圖得到一個“裁剪版”的CMM。 集成能力成熟度模型CMMI相比軟件能力成熟度模型CMM在實踐對應多個目標方面做了重大改進。CMMI是關注過程改進的過程模型,包含多個組件。

CMMI-DEV V1.2 過程域(連續型表述)可以被歸為四類。1)過程管理類(Process Management):與組織層面聯系比較緊密的過程域;2)項目管理類(Project Management):與項目管理相關的過程域;3)工程類(Engineering):與項目實際開發聯系比較緊密的過程域;4)支持類(Support):項目過程中支持項目正常進行的相關過程域。

所謂裁剪即增加、刪除、替換和修改,策略是選擇適當的生命周期模型,加強需求的獲取、管理項目的技術、市場的風險,重視設計和測試。針對云計算項目的特點,從可操作的層面出發,可以對質量管理的過程域進行刪減。

3 具體實例應用

CMMI3流程過于繁雜,所以實際展開的時候比較困難,需要對流程進行適當的裁剪。CMM分為三個級別的裁剪,即組織級、同一類項目級、單一項目級。項目經理一般關心的都是單一項目級,也就是從OSSP(Organization Standard Software Process,組織標準軟件過程)到PDP(Project Def i ne Process,項目定義過程)的過程,項目經理需要結合項目的特點、規模(項目是管理高風險還是技術高風險,工期緊還是相對寬松,工期第一位還是質量第一位等)進行裁剪。本實例主要關注裁剪問題,介紹了如何根據項目特點和項目計劃進行有針對性的裁剪,每個裁剪都需要有一定的理由。

針對每個過程都會有相應的裁剪指南,具體的項目裁剪程度不一樣,都應記錄在PHB中。如:①根據客戶意愿進行裁剪,②根據項目類型、規模進行適當的裁剪,如小項目(NBNC 1-3K、總進度在2周~2月且總工作量小于6人),可以將概設與詳設合并為設計階段,裁剪掉集成測試階段等。

聯通PaaS平臺除了具有一般傳統云計算的特點外,其特殊性也決定了其裁剪策略的可實施性,比如過程管理類和工程類過程域被裁剪掉的理由是,該PaaS平臺項目對組織過程沒有進行要求,因此不需要進行質量管理,另外該項目屬于建設管理類項目不屬于工程類,因此不需要進行管理。 其他過程域同樣是從實際實施可落地角度出發進行裁剪的。這樣裁剪的理由是更加精細化,更加具有可操作性。

結合筆者參與的實際PaaS平臺建設體驗,采用CMMI3的標準對平臺及平臺上的應用進行了質量控制。根據該項目的特點對過程域進行了裁剪,如表2所示:去掉不合符本項目的相關過程域及CCMI3以上標準涉及到的過程域(如表2中的刪除線),另外在工程類過程域裁剪過程中(表2中的雙刪除線),從軟件項目生命周期模型出發,對各生命階段進行了質量管理,將過程域修改為:項目準備、項目計劃、需求分析階段、設計階段、開發階段、測試階段和實施階段。這樣裁剪的目的是從項目的實際特點和具體可落地的層面出發,去掉那些無法滿足的過程域。

表2 過程域裁剪結果

基于CMMI3能力成熟度模型以及該項目特點,對模型核心過程域進行裁剪,裁剪的過程中明確了過程域的檢查點及檢查方式。表3給出了項目管理類中PMC過程域的實際質量監控的檢查點、檢查方式等。實際質量管理中采用參與評審、檢查記錄及文檔規范性檢查等方式對項目關鍵過程和成果進行跟蹤檢查。

表3 PMC過程域檢查方式

通過這樣的裁剪,降低項目風險,加快項目的進度,并使龐大的項目得到了有效控制;項目管理者能夠對項目的整體進行把控,清楚項目進展的每個細節,并可以通過檢查點來衡量項目是否存在風險以及是否會影響整個項目的進度。實際的項目經驗說明,不同的項目具有不同的裁剪策略,因此,要結合實際情況酌情考慮。

在現有的項目實踐中一般只給出了每個過程域的輸入和輸出物,本實例給出了每個過程域的檢查點、檢查方式、相關責任人和頻率,注重可操作性, 從直觀上能夠給質量管理者一個清晰的指導。對里程碑報告的檢查,需要明確每個里程碑的完成情況,并檢查每個里程碑的標志物,相關子系統的項目經理應該及時提交報告,質量管理者在每個里程碑檢查點進行檢查。

4 總結

云計算技術的出現對運營商是一個機會也是一個挑戰,云計算帶給運營商一次業務擴展、服務升級、平臺整合的機會,但也對其組織架構帶來了沖擊和挑戰。對軟件項目進行質量管理的最終目的是實現持續質量改進。本文結合具體項目實踐,在CMMI給出的做什么的基礎上給出了怎么做,并對過程域進行了裁剪,主要依據了項目類型和項目質量與過程目標進行裁剪,可為以后項目實踐的參考。

參考文獻

[1]陸鋼.電信運營商云計算PaaS發展關鍵問題探析[J].廣東通信技術,2011,31(7),1-5

[2]Lawton,G.Developing Software Online With Platformas-a-Service Technology[J].Computer 2008,41(6):13-15

[3]IBM DeveloperWorks[EB/OL].[2015-03-10].http://www.ibm.com/developerworks/cn/webservices/0610_jinge/index3.html

[4]董玉萍,鄒承明,鐘珞.基于XML的異構數據源共享技術的研究[J].2002,24(9):90-92

[5] 陳紹英,劉建華,等.軟件測試與持續質量改進(第3版)[M].北京:人民郵電出版社,2011:11-23

[6]高巍.C M M在中小軟件企業的裁剪[J].程序員,2002,(08):42-44

[7]齊小玲,馮大鵬.CMMI體系建立過程及在項目管理中的作用[J].計算機科學,2013,40(z2):436-437

[8]鄧軍.基于CMMI的企業軟件過程與質量管理平臺設計[J].湖南師范大學自然科學學報,2014,37(1):63-66

猜你喜歡
軟件過程質量
“質量”知識鞏固
禪宗軟件
質量守恒定律考什么
描寫具體 再現過程
臨終是個怎樣的過程
做夢導致睡眠質量差嗎
軟件對對碰
質量投訴超六成
在這個學習的過程中收獲最大的是哪些,為什么?
即時通訊軟件WhatsApp
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合