趙小盼,羅省賢
(成都理工大學 信息工程學院,四川 成都 610059)
隨著管理學的思想逐漸融入到軟件開發(fā)的過程中,軟件質(zhì)量管理得到了長足的發(fā)展,軟件全面質(zhì)量管理平臺也呼之欲出。由于歷史或者其它各方面的原因,各質(zhì)量管理平臺是異構(gòu)的,因此,如何提供一種有效的機制,實現(xiàn)各異構(gòu)管理平臺的應(yīng)用集成,消除信息孤島,優(yōu)化業(yè)務(wù)流程,并為決策層提供有用的數(shù)據(jù)分析,就成為整個軟件全面質(zhì)量管理平臺一個亟待解決的問題。
TSQM包括以下基本特點:
(1)全員參與:即所有人員都將參與到質(zhì)量管理中來;
(2)軟件開發(fā)整個生命周期:即存在于需求分析、概要設(shè)計、詳細設(shè)計、編碼、單元測試、集成測試、確 認測試、系統(tǒng)測試這幾個階段;
(3)外圍環(huán)境因素:即全面控制影響軟件質(zhì)量的人員素質(zhì)、設(shè)備質(zhì)量、測試手段等;
(4)客戶滿意:即以達到客戶全面滿意為最終目的。
TSQMP必須具有以下的特點[1]:
(1)有效的通信機制:即保證各異構(gòu)平臺之間傳遞的信息是可以被相互理解的,這就要求必須存在一個語義支撐機制,可以自動的解決異構(gòu)平臺之間的語義一致性問題;
(2)完整的封裝性:即為了保持TSQMP核心的穩(wěn)定性,所提供的接口方式必須具有極強的適應(yīng)能力;
(3)良好的靈活性、可擴展性、可維護性:即TSQMP必須良好地支持各管理平臺的變化、更新,必須方便維護,減少必要的維護成本;
(4)跨Internet的互操作:即處于不同地理位置的各管理平臺可以通過互聯(lián)網(wǎng)進行通信、交互。
基于上述4個特點,本文認為Web Service體系結(jié)構(gòu)在支持TSQMP的實現(xiàn)上具有不可替代的作用。Web Service采用了面向服務(wù)(Service-Oriented Architecture)的體系結(jié)構(gòu)[2],通過服務(wù)提供者、請求者、注冊中心之間的交互實現(xiàn)服務(wù)調(diào)用,如圖1所示。
圖1 Web Service體系結(jié)構(gòu)圖
Web Service最基本的技術(shù)規(guī)范包括XML、SOAP、WSDL和UDDI[3]
(1)XML:全稱可擴展標記語言(eXtensible Markup Language),使用標記來界定內(nèi)容,運行用戶自定義結(jié)構(gòu),具有良好的可擴展性;具有自描述性,適合數(shù)據(jù)交換和共享;具有平臺無關(guān)性;
(2)SOAP:是W3C維護的標準;是一個基于XML的,用于在分布式環(huán)境下交換信息的協(xié)議。其優(yōu)點在于它與廠商無關(guān),可以獨立于平臺、操作系統(tǒng)、目標模型和編程語言;
(3)WSDL:Web服務(wù)使用標準的消息格式/通信協(xié)議,因此需要某種結(jié)構(gòu)化的方式,對服務(wù)的調(diào)用/通信加以描述,它不依賴于底層的協(xié)議和編碼要求,將Web服務(wù)用XML語言的形式描述為能夠進行信息交換的服務(wù)訪問端口集合;
(4)UDDI:為了使服務(wù)申請者能夠查找需要的服務(wù),業(yè)界指定了注冊和查找Web服務(wù)的UDDI技術(shù)規(guī)范。服務(wù)提供者發(fā)布服務(wù),服務(wù)請求者查找注冊中心以期獲得服務(wù)。
在Web Service的環(huán)境下[4],請求服務(wù)方和服務(wù)提供方是松耦合,容易擴展;以XML的形式傳輸信息,可擴展性、跨平臺性好;Web Service基于HTTP,容易穿越防火墻[5],因此,TSQMP的搭建非Web Service莫屬。
要實現(xiàn)TSQMP,還要實現(xiàn)以下兩項功能:
(1)有效的組織數(shù)據(jù):即將看似雜亂無章的數(shù)據(jù)進行分析,從中提取數(shù)據(jù)信息;
(2)生成展現(xiàn)數(shù)據(jù)分析的報表:即通過數(shù)據(jù)分析、挖掘,生成Excel報表提供給管理層,實現(xiàn)輔助決策。
ODS(Operational Data Store)在實現(xiàn)以上兩項功能上具有不可替代的作用。ODS是數(shù)據(jù)倉庫體系結(jié)構(gòu)中的一個可選部分,ODS具備數(shù)據(jù)倉庫的部分特征和OLTP系統(tǒng)的部分特征[6],它是“面向主題的、集成的、當前或接近當前的、不斷變化的”數(shù)據(jù)。由上述定義可以看出ODS有以下4個特點:
(1)數(shù)據(jù)是面向主題的:主題是一個抽象的概念,是在較高層次上將企業(yè)信息系統(tǒng)中的數(shù)據(jù)綜合、歸類、并進行分析利用的對象;
(2)數(shù)據(jù)是集成的:即數(shù)據(jù)來源不同,數(shù)據(jù)被載入ODS之前需要經(jīng)過轉(zhuǎn)換,歸并等過程,這是構(gòu)建ODS最關(guān)鍵的一步;
(3)數(shù)據(jù)是當前的或接近當前的:即ODS只存放當前或接近當前的數(shù)據(jù);
(4)數(shù)據(jù)是不斷變化的:即可以對ODS中的數(shù)據(jù)進行實時修改,保持各平臺的數(shù)據(jù)一致性。
由于TSQMP的第二個功能是為管理層提供有用的數(shù)據(jù)分析信息,所以,這一步的工作重點是通過ODS讓海量雜亂的數(shù)據(jù)會“思考”和會“說話”[7]。如何有效的組織數(shù)據(jù)?通常來說,在這些海量的數(shù)據(jù)當中,我們所關(guān)注的數(shù)據(jù)通常只占總數(shù)據(jù)量的2%~4%左右,這些數(shù)據(jù)是進行決策分析的基礎(chǔ),如何從海量數(shù)據(jù)中抽取出這些數(shù)據(jù)?又如何將這些數(shù)據(jù)轉(zhuǎn)化為信息?目前來說,有兩條途徑:ETL(數(shù)據(jù)抽取、轉(zhuǎn)換和加載)和ELT(存儲過程),二者的特點對比如表1所示。
表1 ETL與ELT特點對比表
由表1可得出結(jié)論:如何有效地組織數(shù)據(jù),進行數(shù)據(jù)分析和挖掘,還需要具體問題具體分析,不能生搬硬套。組織好的數(shù)據(jù)如何展現(xiàn)?本文選擇Excel作為展現(xiàn)平臺,即建立一個基于Excel的統(tǒng)計分析報表管理平臺,原因如下:
(1)Excel作為辦公軟件,在企業(yè)中使用率高,使用人員不需經(jīng)過培訓;
(2)Excel提供了自己的API文檔,可通過VBA進行二次開發(fā);
(3)可充分利用Excel強大的計算、統(tǒng)計、展現(xiàn)功能;
(4)方便用程序進行開發(fā),目前在開源世界里,針對于Excel開發(fā)的API主要有兩種:①Apache的POI;②JExcel(jxl),它們都可以通過Java對Excel進行操作。
圖2是通過ODS生成各類報表的結(jié)構(gòu)圖。
圖2 ODS與報表管理平臺結(jié)構(gòu)圖
軟件開發(fā)的宏觀過程有其內(nèi)在的特點。軟件生產(chǎn)的宏觀過程包括需求分析、編碼、測試等環(huán)節(jié)。每一個子環(huán)節(jié)展開來的話,又包含了若干個子過程,這些子過程之間可能有并發(fā)執(zhí)行或順序執(zhí)行;另外,軟件開發(fā)本身就是一個創(chuàng)造性的活動,我們無法完全的規(guī)范每一個流程,因此其管理過程面臨很大的困難。
目前,CMM/CMMI是目前國際上最流行、最實用的一種軟件生產(chǎn)過程標準(軟件能力成熟度模型Capability Maturity Model For Software,簡稱SW-CMM/CMMI)。其目的是幫助軟件企業(yè)對軟件工程過程進行管理和改進,增強開發(fā)與改進能力,從而按時地,不超預(yù)算地開發(fā)出高質(zhì)量的軟件。
CMM/CMMI把軟件開發(fā)組織的能力成熟度分為5~6個可能的等級,除了第1級外,其他每一級由幾個過程方面組成。每個過程方面都由公共特性予以表征。CMMI分為4個類別25個過程域(CMM有18個過程域)。
針對于每一個過程域,都需要有相應(yīng)的功能平臺予以支持。如配置管理平臺、需求管理平臺等等。通過引入這些功能平臺,從而實現(xiàn)對某些過程域的管理。
然而,軟件質(zhì)量的管理過程也離不開測試環(huán)節(jié),傳統(tǒng)的測試理念把軟件測試的目標定位發(fā)現(xiàn)錯誤。這一理念使軟件測試長期處于開發(fā)完成后的檢驗環(huán)節(jié)。
如果我們按照這個理念去建立軟件全面質(zhì)量管理平臺,那么這個軟件全面質(zhì)量管理平臺對于測試將毫無意義。即:當目標系統(tǒng)發(fā)生變化時,測試用例要隨著發(fā)生變化,測試資源沒有形成積累,不能實現(xiàn)復用。
因此,我們應(yīng)把測試環(huán)節(jié)納入軟件質(zhì)量管理的范疇。從全面質(zhì)量管理的角度來看,檢驗不是最終目的,也不是唯一手段,這就要求我們把質(zhì)量管理過程滲透到軟件開發(fā)的全過程。所以將軟件測試平臺融入該結(jié)構(gòu)體系,是軟木質(zhì)量管理結(jié)構(gòu)的更新。
此時我們要考慮的另外一個問題是,在實際的軟件生產(chǎn)過程中,決策層的主觀意識很強,往往是憑經(jīng)驗和感覺去做出決策。在這里也需要有一個決策機制,而這個決策機制需要通過相關(guān)的數(shù)據(jù)信息來支持,因此,在大量的數(shù)據(jù)信息面前,抽取相關(guān)有用信息形成報表或報告,需要建立報表管理機制。
綜上所述,本文認為,軟件全面質(zhì)量管理平臺體系需要3方面內(nèi)容:
(1)建立支撐CMM/CMMI中關(guān)鍵過程的平臺;
(2)將測試平臺融入軟件全面質(zhì)量管理體系;
(3)建立決策支持平臺。
TSQMP的整體架構(gòu)如圖3所示。
TSQMP是由配置管理平臺、流程管理平臺、需求管理平臺、測試管理平臺、測試過程平臺、報表管理平臺和數(shù)據(jù)庫組成。本文中,配置管理平臺選擇FireFly,流程管理平臺選擇ButterFly,需求管理平臺選擇Doors,測試管理平臺選擇Quality Center,測試過程平臺選擇Business Analysis Platform,報表管理平臺選擇Excel,數(shù)據(jù)庫選用選擇Oracle9i。
軟件全面質(zhì)量管理平臺的實現(xiàn)如下功能:
(1)實現(xiàn)異構(gòu)功能平臺數(shù)據(jù)整合:建立松耦合異構(gòu)平臺數(shù)據(jù)總線,各平臺基礎(chǔ)數(shù)據(jù)通過XML包完成交換,各平臺對總線的接插通過Web Service接口標準完成[5],對于沒有發(fā)布為Web Service服務(wù)的平臺,需要完成一個以Web Service為出口的適配器(adapter)。數(shù)據(jù)總線定義一組基本的尋址請求方法,并定義必要的數(shù)據(jù)交換格式。
(2)提供管理層決策的數(shù)據(jù)支持:TSQMP通過ODS系統(tǒng)來存儲數(shù)據(jù)[8],支持簡單的數(shù)據(jù)挖掘。即首先將所有管理平臺的數(shù)據(jù)通過適配器或者接口傳遞到DB Server,再經(jīng)過數(shù)據(jù)分析和數(shù)據(jù)挖掘,生成一系列的報表,為決策層提供數(shù)據(jù)支持,從而最終實現(xiàn)決策層對軟件產(chǎn)品質(zhì)量的可視化管理。
圖3 TSQMP架構(gòu)圖
對于軟件全面質(zhì)量管理平臺的研究,本文進行了探索和實踐,初步建立起一個完整的框架,這個框架囊括了軟件開發(fā)工程的各個階段。在用于測試階段的各個環(huán)節(jié)中,此平臺有以下幾個優(yōu)勢:
(1)此平臺基于某企業(yè)完整先進的自動化測試理論,此理論經(jīng)過很多大型項目的實際檢驗,實踐是檢驗真理的唯一標準,目前看來確實可行;
(2)此平臺集成了市面上多個優(yōu)秀的平臺,這些功能平臺運行穩(wěn)定,從而保證了此管理平臺在各模塊的可靠性;
(3)Web Service技術(shù)的運用,保證了各異構(gòu)平臺之間穩(wěn)定的通信;
(4)ODS技術(shù)的運用,有利于企業(yè)即時了解每天的工作進度、工作狀態(tài),并提取出有效信息為企業(yè)決策提供有效支持。
在實際的項目使用中,TSQMP極大地減少了軟件生產(chǎn)過程中對軟件質(zhì)量管理的時間消耗,提高了項目人員的工作效率,實現(xiàn)了管理層和決策層對管理信息的實時性的要求。已完全滿足了設(shè)計的需要,當流程管理發(fā)生變化時,只需要修改相應(yīng)的配置文件即可滿足通信;當管理層和決策層關(guān)注的管理信息改變時,亦可通過修改配置文件滿足其需求。
此外,雖然已經(jīng)實現(xiàn)了全面質(zhì)量管理平臺的初步原型系統(tǒng),但這只是初步的實踐和驗證。需要在原有的基礎(chǔ)上,對TSQMP進行安全性的優(yōu)化,使得全面質(zhì)量管理平臺更成熟和實用化。
[1]楊濤,劉錦德.Web Service技術(shù)綜述——一種面向服務(wù)的分布式計算模式[J].計算機應(yīng)用,2004,24(8):4-6.
[2]岳昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù)_研究綜述[J].軟件學報,2004,15(3):23-25.
[3]劇立偉,姜浩,普安建.Web Service架構(gòu)下的分布式關(guān)聯(lián)規(guī)則挖掘研究[J].計算機技術(shù)與發(fā)展,2009,19(4):15-16.
[4]Matjaz B. Juric,Ana Sasa, Bostjan Brumen, Ivan Rozman. WSDL and UDDI extensions for version support in web services .Journal of Systems and Software[J]. August 2009, Pages 1326-1343. Volume 82, Issue 8
[5]Ho-Jun Lee, Jae-Woo Lee, Jeong-Oog Lee.Development of Web services-based Multidisciplinary Design Optimization framework. Advances in Engineering Software[J]. 2009-03-01, Page: 176 - 183.Volume 40, Issue 3
[6]張二朋,黃振宇.基于數(shù)據(jù)倉庫ODS的電子政務(wù)決策支持系統(tǒng)[J].科技情報開發(fā)與經(jīng)濟,2004,14(3):14-16.
[7]雷霄,徐立臻.基于ODS的數(shù)據(jù)訂閱及其更新策略[J].計算機技術(shù)與發(fā)展,2006,16(6):33-34.
[8]夏秀峰,劉啟文,于戈.分布式環(huán)境中基于ODS模型的數(shù)據(jù)構(gòu)造及傳輸策略研究[J].小型微型計算機系統(tǒng),2004,25(5):43-45.