999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SPEM擴展元模型的PSP實施方法

2008-01-01 00:00:00周津慧
計算機應用研究 2008年3期

摘要:提出了一種支持PSP過程的SPEM擴展元模型PSPEM,并給出了基于PSPEM的PSP實施過程及支持該過程的原型工具。其中使用PROBE方法幫助個體進行項目計劃和估算,用DEA分析方法綜合評價工程師的過程性能,有效地指導工程師實施PSP。

關鍵詞:個體軟件過程;軟件過程工程元模型;數據包絡分析

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2008)03-0775-04

卡內基梅隆大學軟件工程研究所提出的個體軟件過程PSP[1]從個體的層次描述了軟件開發過程,提供了詳細的控制、管理和改進工程師的工作方式的方法。它是一個包括軟件開發表格、指南和規程的結構化框架,為小型軟件組織及個體如何收集、管理過程數據提供量化指導。SEI的研究者對在校大學生進行了PSP課程培訓,收集了23個PSP課程中提交的數據,分析得出的結論是軟件工程師通過PSP培訓,顯著地改善了任務計劃的準確率和產品的質量[2]。但由于缺乏有效的實施方法及相關工具的支持,PSP在業界的應用并不理想,一份調查顯示[3],在有78個學生的PSP課程結束后,其中的72個學生放棄了繼續使用PSP,因為PSP太過于“嚴格、不連貫”,難于實施。

SPEM[4]是國際對象管理組織OMG提出的軟件過程領域通用元模型。它歸納并抽象提取了RUP等軟件過程中通用的過程元素,并定義了相關的語法及語義,在RPW等軟件過程工具中得到了良好的應用[5]。但是,SPEM中并沒有針對PSP特定語義的建模支持。例如,PSP中的數據表格、數據分析方法以及項目計劃過程在SPEM元模型中沒有對應的概念支持,這給SPEM模型描述PSP語義以及定義PSP實施過程帶來了障礙。為此,本文針對PSP的特點對SPEM進行了擴展,定義了元模型PSPEM,并基于PSPEM提出了一種PSP實施方法。其中使用PROBE (proxy based estimating)[1]方法幫助軟件工程估算程序規模和所需資源,利用數據包絡分析方法DEA[6]綜合評價個體軟件過程性能,以協助下一次根據個體性能和任務要求作出更合理的分配策略,從而減少項目風險,提高項目產品質量。為驗證方法的有效性,開發了支持該實施過程的原型工具,并應用在中國科學院軟件研究所的軟件質量管理平臺SoftPM[7]上。

1基于PSP的SPEM擴展模型

1.1SPEM的擴展方法

SPEM支持兩種元模型擴展方式,即重型擴展和輕型擴展 [10]。在PSPEM的定義中,使用重型擴展為SPEM定義符合PSP的元類以及元類之間的關聯,最終建立PSPEM元模型;使用輕型擴展的UML profile機制進一步擴展PSPEM,使PSPEM符合UML的標準語法,可支持UML CASE工具操作。限于篇幅,本文只給出重型擴展模型及其說明。

1.2PSPEM

PSP為小型軟件組織及個體如何收集、管理過程數據提供量化指導,定義了一些腳本指南、日志格式、標準、表格等用于收集個體數據,同時還定義了相關數據統計、估算方法以及個體性能度量元、產品質量度量元等。 為了支持上述PSP中的元素和語義,本文在SPEM的extensions包中引入了一個新的PSP elements子包,該子包擴展了另外兩個子包,即BasicElements和ProcessStructure,如圖1所示。

在PSP elements子包中,將PSP中涉及到的元素和方法定義成新的元類,與SPEM現有的模型元素建立關聯,使新的模型PSPEM支持PSP過程語義。PSPEM主要的抽象語法如圖2 所示,圖中主要關注于PSP相關的元素,忽略了SPEM其他部分。主要元類的定義如下:

a)Person,即PSP過程中的個體,代表軟件工程師個體。它是process role的執行者。

b)PSP data。個體軟件過程中收集的歷史項目數據,包含了PSP中的主要數據。PSP data本身是一個抽象的元類,它主要的子類有PSP表格(PSP form)和PSP日志(PSP log)。PSP中主要涉及五種表格,即過程改進方案表、項目計劃總結表、PROBE估算表、設計模板和評審檢查表。PSP log 是一個體在執行任務時記錄的詳細信息,如時間日志time log、規模日志size log和缺陷日志defect log。

c)PSP plan activity 主要是個體對任務的PSP相關計劃活動,主要從規模、資源和日程表等方面制訂的詳細計劃。這些計劃數據都是參照歷史經驗數據PSP data來估算,并由PSP Util輔助執行。

d)PSP Util是PSP提供的輔助工具,主要有PSP standards和PSP scripts。

e)Analyze method是PSP的數據統計分析方法,如平均數法、PROBE方法以及本文引入的DEA分析方法等。

f)PSP metrics是從個體數據PSP data中統計出來的度量元,用于度量個體軟件過程的性能或產品質量,如缺陷密度、評審率、收益、A/FR、時間估算準確率、編碼效率、CPI、重用百分比、缺陷密度等。這些度量元數據都從PSP data的表格或者日志中分析得來。

g)PSP capability 代表個體軟件過程性能的綜合評價,是PSP Metrics的特殊子類。通過DEA方法對其他PSP metrics度量元分析所得。

h)PSP level和PSP KPA。PSP雖然沒有像CMM那樣嚴格定義了不同層次以及KPA,但它定義了一個個體過程進化框架,分為四個PSP level,即PSP0~PSP3,每個級別包含一些基本訓練要求,稱之為PSP KPA。

PSP data是PSPEM中的核心元素,PSP data和PSP util輔助個體執行任務計劃活動。其中PSP Util隨著個體所屬的PSP level而變更。個體在計劃活動以及執行任務的過程中收集PSP data數據,通過analyze method更新度量元PSP metrics以及PSP capability數據,進而用于指導個體下次的任務計劃以及任務執行過程。

2基于PSPEM的PSP實施過程

PSPEM的實例就是一個PSP實施過程。PROBE是以proxy或者對象為基礎,參照歷史數據來估算、預測目標數據的方法。PSP過程收集了工程師在以往項目中的規模和時間數據,因而在PSP實施過程中采用PROBE方法來估算當前任務中的規模、時間數據,幫助工程師制訂更準確的項目計劃。DEA方法是在相對效率評價概念基礎上發展起來的一種新的評價技術。它的適用對象是一組同類型的決策單元DMU。本文引入DEA數據分析方法來評價組織中工程師的個體軟件過程性能PSP capability,從而協助下一次根據個體性能和任務要求制訂更合理的分配策略。

2.1PSP實施過程

圖3中是一個基于PSPEM的PSP實施過程。實例圖中主要關注了PSP語義相關的元素和活動,忽略了其他不相關部分。

主要活動定義為:

a)任務分配。當獲得客戶需求定義后,參照任務需求和組織個體中的PSP capability數據確定分配策略,尋找最合適的執行者來負責任務的執行。

b)概要設計。為了對任務進行精確的估算,工程師根據任務需求確定目標產品大致會是如何設計和構建的。同時PSP提供了PSP standards(如design standards)和PSP scripts來協助工程師進行標準的設計。

c)規模估算。工程師根據概念設計中描述的要構建的產品,采用PROBE方法來估算任務的規模數據。

d)資源估計。根據上一步中估算得到的程序規模來確定完成任務所需要的時間資源。在time DB中記錄了以往任務的實際執行時間t和規模s,利用兩者之間的關系,同樣采用PROBE方法的線性回歸模型來估算開發需要的時間資源。

e)日程制訂。有了時間資源的估算值后,根據time DB中的歷史數據確定各階段占用時間比例(即項目計劃總結表中的ToDate%項),預測各個階段(設計、開發、測試等)需要的時間。再參照個體的PSP metric數據日有效工作時間DayAviableTime或者每周有效工作時間WeekAviableTime來確定各個階段的開始和結束時間,進而定制詳細的日程計劃。

f)產品交付。在交付客戶期望的產品同時,提交開發過程中收集的時間、規模以及缺陷相關的計劃和實際數據。

g)數據統計。任務完成之后,工程師根據收集的表格數據更新自己的各項PSP數據庫,并重新計算各項與個體性能、產品質量相關的PSP metrics,檢查過程改進方案PIP并作出調整;review編譯和測試過程中的缺陷,并更新個人的review checklist來幫助下次fix同類缺陷。

h)DEA數據統計之后,利用個體的PSP metrics數據和DEA方法評價組織中個體之間的相對性能,即PSP capability,以供下次任務分配時參考。

2.2用PROBE方法估算項目規模

PROBE以proxy為基礎,參照歷史數據來估算目標數據。Proxy代表要估算的目標所能劃分成的最小元素,在PSP中選objects或者objects所包含的方法作為proxy來估算程序規模。PROBE方法分為四個步驟:a)確定proxy歷史參考數據表;b)統計當前估算目標的proxy類型和數目;c)計算估算proxy規模E;d)利用E值和線性回歸模型計算目標數據。定義1定義了本節使用的規模變量。

定義 1B=基本規模,E=估算proxy規模,M=修改規模,D=刪除規模,BA=基本新增規模,PA=局部新增規模,AM=新增以及修改規模,R=重用規模, T=總規模。

1)Proxy歷史數據參考表

Proxy歷史數據參考表,即歷史項目中同等類型方法的規模參考數據。表 1是CMUSEI在PSP課程中收集的規模數據[1]。工程師在每次完成任務后,提交方法的實際規模,并用平均數方法更新此表。

2)統計當前估算目標的proxy類型和數目

概要設計的作用就是幫助工程師確定目標產品的大致形態,了解產品開發所需新增、修改、刪除以及重用的objects。根據這些objects對照表1統計出所需開發的不同類型和大小的方法數目。

3)估算proxy規模

若程序有n個屬于新增object的method,根據表2,第i個新增方法所需要的代碼行記為L(ci,si)。其中ci為第i個方法的category,si為第i個方法對應的大小(VS/S/M/L/VL),則程序基本新增規模BA的計算方式為

BA=nm=1L(ci,si)

同樣可估算出程序的局部新增規模BA、修改規模M、刪除規模D和重用規模R。從而得出估算proxy規模:

E=BA+PA+M

4)運用線性回歸模型計算目標數據

估算的目標數據是程序的新增、修改規模MA,估算proxy規模E和MA之間相互關聯[1]。利用兩者的歷史數據和線性回歸模型以及當前的E值來推導MA的值:

μ=xavg=(1/n)ni=1Xi

β1=a[(ni=1xiyi-nxavgyavg)/(ni=1x2i-nx2avg)]

β0=yavg-β1xavg

y=β0+β1X

其中:y是要估算的目標值MA,x是當前參考值E,xi、yi分別為i個歷史任務中對應的數據,n為歷史任務數據個數。依此計算出線性回歸模型的參數β0和β1,可推導當前程序新增修改規模AM以及程序總規模的估算值:

新增修改規模:AM=β0+β1E

程序總規模:T =AM+B-M+R

PROBE方法也可用于估算任務所需時間資源,此時線性回歸模型y=β0+β1X中,X為程序新增修改規模MA,y為任務成本,即開發時間。PROBE方法根據個體的歷史數據對當前任務的規模和所需時間資源進行比較合理的估算,能幫助軟件工程師進一步制訂更詳細的計劃。

2.3用DEA方法評價個體軟件過程性能

DEA適用于評價一組同類型的決策單元(DMU)的相對性能。DMU是指代表或表現出一定的經濟意義,將一定輸入轉換為一定輸出的實體。DEA方法的最主要應用就是根據輸入/輸出數據對同類型的DMU進行相對有效性的評價。本文選擇DEA方法來分析PSP capability,以軟件工程師作為DMU,個體的資源消耗作為輸入,關于產品質量和個體效率的PSP metrics作為輸出來評價個體軟件過程相對性能。選用DEA的BCC模型來評價PSP capability:

min y-ε (mi=1si+sk=1tk)

s.t.nj=1aij+si = aij0y;i=1,2,…,m

nj=1bkjxj-tk=bkj0;k=1,2,…,s

nj=1xj=1

xj≥0,j=1,2,…,n;si≥0,i=1,2,…,m;tk≥0,j=1,2,…,s

其中:aij0和bkj0分別為決策單元j0的第i種輸入指標數據和第k種輸出指標數據;xj為第j個決策單元的決策變量,si為第i種輸入指標的松弛變量,tk為第k種輸出指標的剩余變量,y為輸入比例變量;ε為非阿基米德無窮小量,具體計算時,可取ε=10-6。從項目計劃總結表中提取如表2中的PSP metrics參數作為評價輸入/輸出(由于缺陷率越高產品質量越低,本文取其倒數)。

經DEA 的BCC模型求解計算結果如表4所示。從結果可以看出,代表DMU 1、4、8、10的個體其過程性能相對其他個體較好,而3、9兩個體的過程性能較差,在下一次任務分配時,這些結果可用于指導分配策略。由于不同的任務對工程師的各項指標要求不同,可選取任務所關注的輸入/輸出指標來進行評價,能更明確地找出最合適當前任務的執行者,從而降低項目延遲的風險,提高產品質量。

3工具及應用

以PSPEM元模型為基礎,開發了原型工具PSPEMQMP,并實施在中國科學院軟件研究所軟件質量管理平臺(SoftPM)中,如圖4所示。該工具以周報或日報的形式收集工程師執行任務的數據,自動統計個體的PSP規模、時間、缺陷等歷史數據,計算并更新個體的性能數據PSP metrics。在任務分配時,系統根據任務需求用DEA方法計算組織中可用工程師的PSP capability,協助找出任務最合適的執行者。任務初始化期間,應用PROBE方法自動估算任務的規模、時間資源,并為工程師制訂計劃日程表,有效地降低了PSP過程實施的障礙,為工程師改進其開發過程提供持續的指導。

4結束語

PSP提供了一套循序進化框架,能有效地引導軟件工程師持續改進其開發過程,提高開發產品質量。但一直以來PSP在業界的應用都不理想,原因之一是缺乏良好的PSP實施過程和工具的支持。本文給出了一種面向PSP的SPEM擴展模型PSPEM,并基于PSPEM提出了PSP實施方法及其支持工具。其中,使用PROBE方法指導工程師制訂任務計劃,采用DEA方法綜合評價個體軟件過程性能,幫助軟件工程師更深刻地理解PSP過程。應用開發的工具原型有助于降低PSP實施的障礙,有效地指導工程師持續改進其開發過程。

在進一步工作中,將就元模型的自動化實施以及如何擴展元模型和工具實現對TSP的支持進行研究。

參考文獻:

[1]HUMPHREY W S.The personal software process,CMU/SEI-2000TR-022[R].Pittsburgh:CMU/SEI,2000:1-39.

[2]HAYES W,OVER J W.The personal software process (PSP):an empirical study of the impact of PSP on individual engineers, CMU/SEI97TR-001[R].Pittsburgh:CMU/SEI, 1997:4-20.

[3]BORSTLER J,CARRINGTON D,HISLOP G W,et al.Teaching PSP:challenges and lessons learned[J].IEEE Software,2002,19(5):518.

[4]Object Management Group. Software process engineering metamodel (SPEM) specification,version1.1,formal/05-01-06 [R]. Needham:Object Management Group, 2005:20-56.

[5]BENCOMO A.Extending the RUP:process modeling [EB/OL].[2007-01-26].http://www128.ibm.com/developerworks/rational/library/05/323_extrup1/.

[6]DING Liping,YANG Qiusong,SUN Liang,et al.Evaluation of the capability of personal software process based on data envelopment analysis[C]//Proc of the Software Process Management LNCS 3840.Beijing:[s.n.],2005:235-248.

[7]WANG Qing,LI Mingshu.Software process management:practices in China[C]//Proc of the Software Process Workshop LNCS 3840.Beijing:[s.n.],2005:317-331.

[8]JOHNSON P M,KOU Hongbing,AGUSTIN J,et al.Beyond the personal software process:metrics collection and analysis for the differently disciplined[C]//Proc of the 25th Inernational Conference on Software Engineering.Washington D C:IEEE Computer Society,2003:641-646.

[9]PUTZ V.The Personal software process:an independent study[EB/OL].[2007-01-26].http://www.nyx.net/~vputz/psp_index/book1.html.

[10]FRANKEL D S.應用MDA[M].鮑志云,譯.北京:人民郵電出版社,2003:145161.

[11]HUMPHREY W S.個體軟件過程[M].吳超英,譯.北京:人民郵電出版社,2002:86125.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产97视频在线观看| 狠狠色婷婷丁香综合久久韩国| 黄色a一级视频| 日韩 欧美 小说 综合网 另类| 激情在线网| 欧美视频在线第一页| 亚洲欧美日韩成人在线| 欧美在线国产| 亚洲久悠悠色悠在线播放| 无套av在线| 亚洲国产黄色| 国产精品尤物铁牛tv| 2021国产精品自拍| 欧美日本在线观看| 91美女视频在线| 黄色网站不卡无码| 成人欧美在线观看| 午夜无码一区二区三区在线app| 精品视频一区在线观看| 亚洲熟女偷拍| 亚洲国产精品人久久电影| 亚洲国产清纯| 国产成人精品视频一区视频二区| 激情乱人伦| 久青草网站| 人妻丰满熟妇αv无码| 成人免费网站久久久| 欧美成人一级| 亚洲国产天堂久久综合226114 | 国产高清无码麻豆精品| 97无码免费人妻超级碰碰碰| 婷婷亚洲视频| 国产a v无码专区亚洲av| 538国产视频| 国产精品一线天| 国产亚洲欧美在线视频| 99这里只有精品免费视频| 天堂中文在线资源| 毛片三级在线观看| 91久久国产热精品免费| 成人午夜视频免费看欧美| 亚洲 欧美 日韩综合一区| 国产又色又爽又黄| 亚洲日本www| 又污又黄又无遮挡网站| 国产大片喷水在线在线视频| 人妻21p大胆| 一级片一区| 精品免费在线视频| 中文字幕有乳无码| 婷婷综合在线观看丁香| 伊人福利视频| 国产XXXX做受性欧美88| 亚洲综合天堂网| 欧美精品亚洲二区| 亚洲精品久综合蜜| 国产老女人精品免费视频| 粉嫩国产白浆在线观看| 中文字幕1区2区| 日本高清免费不卡视频| 欧美中文字幕在线二区| 亚洲婷婷六月| 青草国产在线视频| 黑人巨大精品欧美一区二区区| 成年人视频一区二区| 黄色网址免费在线| 精品无码一区二区三区在线视频| 色悠久久综合| 日韩欧美国产三级| 5388国产亚洲欧美在线观看| 国产AV无码专区亚洲A∨毛片| 亚洲成在线观看| 免费啪啪网址| 国产欧美专区在线观看| 色综合天天综合| 日韩国产 在线| 亚洲无码A视频在线| 久久99国产综合精品女同| 国产精品一区二区不卡的视频| 国产白浆一区二区三区视频在线| 日本在线免费网站| 一级片一区|