版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
企業(yè)CMM統(tǒng)一軟件管理系統(tǒng)的集成設(shè)計(jì)與研究摘要隨著信息社會(huì)的高速開展,軟件逐漸成為了人們?nèi)粘I?、學(xué)習(xí)和工作的一局部,并作為信息技術(shù)的核心,起著重要的作用。國內(nèi)軟件產(chǎn)業(yè)作為一個(gè)新興的產(chǎn)業(yè)正在高速開展,軟件企業(yè)和組織的開展和成長(zhǎng)越來越受到關(guān)注。軟件產(chǎn)品不同與其它產(chǎn)品,其開發(fā)、生產(chǎn)過程的管理模式一直是一個(gè)難點(diǎn)。而CMM〔CapabilityMaturityModelforSoftware〕軟件能力成熟度模型的出現(xiàn),為軟件企業(yè)管理帶來新的契機(jī)。隨著CMM理論體系和管理模型不斷取得成果,以及在應(yīng)用中的良好表現(xiàn),成為國內(nèi)軟件企業(yè)所熱衷的管理模式。但由于國內(nèi)軟件業(yè)開展特點(diǎn),導(dǎo)致軟件企業(yè)在CMM的實(shí)際執(zhí)行應(yīng)用上,缺乏有效的軟件支持,尤其是缺乏一個(gè)能幫助企業(yè)表達(dá)CMM管理價(jià)值,具有一定通用性的集成軟件管理系統(tǒng)的方案和模型,所以對(duì)這一領(lǐng)域的研究顯得愈發(fā)重要。本文通過企業(yè)在CMM2級(jí)到CMM3級(jí)評(píng)估過程中軟件系統(tǒng)設(shè)計(jì)開發(fā)和方案運(yùn)用的實(shí)踐經(jīng)歷,結(jié)合CMM的理論根底,對(duì)CMM管理系統(tǒng)的集成設(shè)計(jì)和運(yùn)用進(jìn)展了討論和研究。本文第一章對(duì)CMM的根本理論進(jìn)展研究背景介紹,了解了目前國內(nèi)外企業(yè)的CMM認(rèn)證和執(zhí)行狀況,對(duì)企業(yè)用于支撐CMM運(yùn)作的軟件的應(yīng)用狀況進(jìn)展了介紹;第二章中通過對(duì)CMM支撐軟件管理系統(tǒng)的開發(fā)實(shí)踐,從企業(yè)的實(shí)際問題解決出發(fā),討論了一套通行性較強(qiáng)的CMM軟件管理的集成方案和開發(fā)優(yōu)化方法;第三章研究了其中涉及的設(shè)計(jì)難點(diǎn)和關(guān)鍵解決技術(shù);第四章對(duì)系統(tǒng)在數(shù)據(jù)度量方面的擴(kuò)展和改良方案進(jìn)展了分析;最后對(duì)整個(gè)系統(tǒng)實(shí)施效果進(jìn)展了評(píng)估和總結(jié)。【關(guān)鍵詞】軟件能力成熟度、企業(yè)、集成、統(tǒng)一管理系統(tǒng)【論文類型】應(yīng)用根底第1章緒論1.1研究背景國內(nèi)外企業(yè)CMM認(rèn)證及支撐軟件應(yīng)用現(xiàn)狀CMM認(rèn)證和執(zhí)行現(xiàn)狀CMM支撐軟件的應(yīng)用現(xiàn)狀本文研究系統(tǒng)的產(chǎn)生、優(yōu)勢(shì)及缺乏第2章CMM統(tǒng)一軟件管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)集成方案設(shè)計(jì)關(guān)鍵問題方案設(shè)計(jì)根底數(shù)據(jù)組成2數(shù)據(jù)模型和構(gòu)造2根底數(shù)據(jù)運(yùn)用商業(yè)軟件的優(yōu)化2ClearCase優(yōu)化2ClearQuest優(yōu)化2.MicrosoftProjectServer優(yōu)化2.商用軟件優(yōu)化共同點(diǎn)協(xié)同工作軟件開發(fā)工具工作流的設(shè)計(jì)方法工作流的開發(fā)方法.過程數(shù)據(jù)構(gòu)造定義過程數(shù)據(jù)抽取規(guī)則統(tǒng)一平臺(tái)的設(shè)計(jì)軟件導(dǎo)航平臺(tái)設(shè)計(jì)權(quán)限驗(yàn)證集成第3章本系統(tǒng)的設(shè)計(jì)難點(diǎn)、關(guān)鍵解決技術(shù)根底數(shù)據(jù)構(gòu)造擴(kuò)展模型ClearQuest的Hook機(jī)制什么是HookHook的應(yīng)用技術(shù)3.3ProjectServer提醒問題解決提醒格式的修改統(tǒng)一的提醒規(guī)則的處理工作流的關(guān)鍵技術(shù)技巧工作流的視圖設(shè)計(jì)流程變換的具體實(shí)現(xiàn)新增數(shù)據(jù)抽取修改數(shù)據(jù)抽取刪除數(shù)據(jù)修正第4章本系統(tǒng)的擴(kuò)展與改良數(shù)據(jù)度量分析方案關(guān)注點(diǎn)指示器狀態(tài)報(bào)告和數(shù)據(jù)二次抽取高級(jí)度量功能工程預(yù)警機(jī)制方案工程進(jìn)度預(yù)警質(zhì)量水平預(yù)警第5章本系統(tǒng)的實(shí)施效果評(píng)估和總結(jié)實(shí)施效果評(píng)估性能效益提升效率提高CMM管理價(jià)值的表達(dá)總結(jié)第1章緒論CMM是全面質(zhì)量管理中的過程管理概念在軟件方面的應(yīng)用,目前國內(nèi)外的各類IT類企業(yè)〔包括軟件開發(fā)、通訊、系統(tǒng)集成等〕都以通過CMM等級(jí)評(píng)定作為企業(yè)到達(dá)一定質(zhì)量管理和控制水平的標(biāo)志。目前國內(nèi)通過CMM5級(jí)的軟件企業(yè)己經(jīng)有一定的數(shù)量,通過三、四級(jí)的企業(yè)也很多,包括對(duì)于CMM的版本更新和CMMI概念的承受,也己經(jīng)同國外的先進(jìn)水平同步。國內(nèi)軟件企業(yè)的質(zhì)量水平正在穩(wěn)步提高,企業(yè)軟件工程管理的質(zhì)量控制更有章法可依,軟件產(chǎn)品的質(zhì)量更有保證。優(yōu)秀的管理體系就需要有相應(yīng)的軟件系統(tǒng)的支持,對(duì)于CMM支撐軟件的應(yīng)用和集成就成為一個(gè)能提升企業(yè)效率和效益的研究方向。本章將介紹研究背景及CMM,CMMI的根本概念,并介紹和分析當(dāng)前國內(nèi)外企業(yè)CMM認(rèn)證和執(zhí)行的現(xiàn)狀,CMM相關(guān)支撐軟件的應(yīng)用現(xiàn)狀,以及CMM執(zhí)行過程和軟件應(yīng)用過程中產(chǎn)生的種種問題,為本文所要研究的CMM軟件管理系統(tǒng)做好鋪墊。CMM,CapabilityMaturityModelforSoftware,即“軟件能力成熟度模型〞。作為一種保證軟件產(chǎn)品質(zhì)量、縮短開發(fā)周期和提高工作效率的軟件工程模式與標(biāo)準(zhǔn)標(biāo)準(zhǔn),始于1986年11月,為了滿足美國聯(lián)邦政府評(píng)估軟件供給商能力的要求,美國卡內(nèi)基·梅隆大學(xué)軟件工程研究院(SEI)展開研究。1991年,SEI出版了軟件CMM版本1.0,該模型描述了根底軟件過程成熟度的原理和實(shí)踐。CMM1.0版正式推出,其后又修改升級(jí)為CMMl.1,CMM2.0等版本,并被納入國際標(biāo)準(zhǔn)組織,成為認(rèn)證標(biāo)準(zhǔn)之一。CMM除了包括有效開發(fā)軟件的作業(yè)程序外,還制訂了五個(gè)循序漸進(jìn)的質(zhì)量等級(jí)(CMM1~CMM5),分別為:初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已管理級(jí)和優(yōu)化級(jí)。每個(gè)級(jí)別的成熟度反映了軟件過程能力〔SoftwareProcessCapability〕的大小,任何一個(gè)軟件機(jī)構(gòu)的軟件過程必定屬于其中某個(gè)級(jí)別。除了第一級(jí)以外,每級(jí)成熟度又由假設(shè)干關(guān)鍵過程域〔KeyProcessArea〕構(gòu)成。每個(gè)關(guān)鍵過程域都確定了一套相應(yīng)的活動(dòng),完成這些活動(dòng),就到達(dá)了被認(rèn)為是對(duì)改良過程能力非常重要的一組目標(biāo)。CMM描述了五個(gè)等級(jí)的能力成熟度,等級(jí)水平依次上升,說明了軟件組織在預(yù)見使用當(dāng)前軟件過程的結(jié)果方面的能力。其中,CMM5是CMM認(rèn)證的最高標(biāo)準(zhǔn),可有效地幫助企業(yè)改良和優(yōu)化管理,大大提高軟件企業(yè)的開發(fā)水平和產(chǎn)品質(zhì)量。根據(jù)SEI的統(tǒng)計(jì),軟件企業(yè)在引入CMM管理后,勞動(dòng)生產(chǎn)率平均增長(zhǎng)率得到了大幅提升,錯(cuò)誤率則大幅下降。如圖1-1所示:圖1-l:CMM的五個(gè)等級(jí)而CMMI,CapabilityMaturityModelIntegration,即能力成熟度模型集成。CMM模型主要用于軟件過程改良,促使軟件企業(yè)軟件能力成熟度的提高,但它對(duì)于系統(tǒng)工程、集成化產(chǎn)品和過程開發(fā)、供給商管理等領(lǐng)域的過程改良都存在缺陷。(最初CMM提出的是軟件過程成熟度,但隨著開展,其在許多領(lǐng)域被成功地采納和使用,SEI又相繼開發(fā)了其它成熟度模型,例如系統(tǒng)工程、人員、集成產(chǎn)品開發(fā)、軟件采購等等。當(dāng)SEI開場(chǎng)開發(fā)新一代成熟度模型的時(shí)候,提出了新的要求:整合不同模型中的最正確實(shí)踐,建立統(tǒng)一模型,覆蓋不同領(lǐng)域,供企業(yè)進(jìn)展整個(gè)組織的全面過程改良。所以,SEI于2000年發(fā)布了CMMⅡ-SE/SW1.0版。同樣,CMMI也描述了5個(gè)不同的成熟度級(jí)別,分別是:級(jí)別1(初始級(jí))、級(jí)別2(己管理級(jí))、級(jí)別3(嚴(yán)格定義級(jí))、級(jí)別4(定量管理級(jí))、級(jí)別5(優(yōu)化級(jí))。CMM和CMMI評(píng)估遵循SEI的標(biāo)準(zhǔn),評(píng)估人員要對(duì)一記錄進(jìn)展整理,并檢驗(yàn)所觀察到的一切信息,然后把這些數(shù)據(jù)與CMM/CMMI模型進(jìn)展比擬,最后給出一個(gè)評(píng)估報(bào)告,針對(duì)CMM/CMMI的每個(gè)過程方面,指出這個(gè)軟件過程的執(zhí)行情況,所有評(píng)估人員一致通過的情況下,評(píng)估完畢時(shí)由主任評(píng)估師簽字生效。在評(píng)估報(bào)告的根底上,評(píng)估小組產(chǎn)生一個(gè)評(píng)估結(jié)果。評(píng)估和評(píng)級(jí)的結(jié)果應(yīng)在關(guān)鍵過程方面和目標(biāo)相對(duì)應(yīng)。評(píng)估報(bào)告和結(jié)果將送交所有相關(guān)的人員并上報(bào)SEI。而企業(yè)則還需要根據(jù)評(píng)估報(bào)告的結(jié)果持續(xù)改良。CMM/CMMI主要應(yīng)用于能力評(píng)估和過程改良。能力評(píng)估包括:用于確定一個(gè)組織當(dāng)前的軟件工程過程狀態(tài)及組織所面臨的軟件過程的優(yōu)先改善問題的軟件過程評(píng)估,以及軟件能力評(píng)價(jià)集中關(guān)注識(shí)別在預(yù)算和進(jìn)度要求范圍內(nèi)完成制造出高質(zhì)量的軟件產(chǎn)品的軟件合同及相關(guān)風(fēng)險(xiǎn)。而軟件過程改良是一個(gè)持續(xù)的、全員參與的過程,其清晰地描述了軟件過程的關(guān)鍵元素,并包括軟件工程和管理方面的優(yōu)秀實(shí)踐。企業(yè)可以有選擇地引用這些關(guān)鍵實(shí)踐指導(dǎo)軟件過程的開發(fā)和維護(hù),以不斷地改善組織軟件過程,實(shí)現(xiàn)本錢、進(jìn)度、功能和產(chǎn)品質(zhì)量等目標(biāo)。為增強(qiáng)自身實(shí)力,積極參與國際競(jìng)爭(zhēng),國內(nèi)軟件企業(yè)把資質(zhì)認(rèn)證也提上了日程,獲得了CMM認(rèn)證就獲得了邁向國際市場(chǎng)的“通行證〞。因此,對(duì)于CMM標(biāo)準(zhǔn)管理的應(yīng)用支撐軟件系統(tǒng)的設(shè)計(jì)、優(yōu)化和集成的深入研究是很有必要的。不僅能夠?qū)M(jìn)展中的軟件工程提供信息平臺(tái)的支持,還可以進(jìn)一步提供軟件工程管理的決策能力。1.2國內(nèi)外企業(yè)CMM認(rèn)證及支撐軟件應(yīng)用現(xiàn)狀越來越多的公司希望或已經(jīng)通過CMM認(rèn)證,來幫助企業(yè)改良和優(yōu)化管理,提高軟件企業(yè)的開發(fā)水平和產(chǎn)品質(zhì)量及管理水平。對(duì)于CMM的各個(gè)等級(jí)以及關(guān)鍵域的自身管理的支撐,包括各類標(biāo)準(zhǔn)和執(zhí)行保障,相關(guān)評(píng)審流程的順暢及有效率,以及一記錄數(shù)據(jù)的整理保存和使用,這些都需要有相關(guān)的軟件和數(shù)據(jù)庫給與支撐。作為一個(gè)軟件產(chǎn)品開發(fā)的企業(yè),其自身的研發(fā)過程的管理如果能夠直接得到遵循CMM標(biāo)準(zhǔn)的強(qiáng)有力的軟件系統(tǒng)的保障,并且可以伴隨認(rèn)證等級(jí)的提高,同時(shí)增加和完善各項(xiàng)KPA的軟件支持的話,就完全可以進(jìn)一步提高管理效率,降低質(zhì)量監(jiān)控的本錢。1.CMM認(rèn)證和執(zhí)行現(xiàn)狀CMM的理論和標(biāo)準(zhǔn)雖然是美國發(fā)起和制定的,但目前世界上60%通過CMM5等級(jí)的公司是在印度。我國在2000年左右,各類型的軟件企業(yè)如雨后春筍般的成長(zhǎng)起來,在最初的幾年間,大家也都逐漸接觸到了CMM的概念。隨著國內(nèi)幾家有實(shí)力的軟件企業(yè)率先通過了CMM的認(rèn)證,更有企業(yè)一舉通過了最高的CMM5級(jí)認(rèn)證,也吸引了大量企業(yè)進(jìn)展研究、實(shí)驗(yàn)或?qū)嵤╊A(yù)評(píng)估。同時(shí)國家政府對(duì)目前軟件業(yè)的開展有了較全面的認(rèn)識(shí):1)我國的軟件主要以應(yīng)用軟件為主,在數(shù)據(jù)庫、操作系統(tǒng)等根底軟件方面和國外差距還很大;2)軟件產(chǎn)業(yè)在我國興起時(shí)間不長(zhǎng),還缺乏上規(guī)模、上檔次的實(shí)力強(qiáng)勁的軟件產(chǎn)業(yè)化集團(tuán),眾多的軟件開發(fā)、生產(chǎn)企業(yè)還處于各自為戰(zhàn)的狀況,難以形成合力;3)對(duì)于知識(shí)產(chǎn)權(quán)的保護(hù),軟件開發(fā)企業(yè)和人員對(duì)各類專利和標(biāo)準(zhǔn)的申請(qǐng)不重視,受制于企業(yè);4)我國軟件業(yè)都無視質(zhì)量和軟件開發(fā)過程的管理,標(biāo)準(zhǔn)性和工程化較低,過于注重功能的實(shí)現(xiàn)。因此,國家開場(chǎng)積極推動(dòng)軟件的安康開展,在許多地區(qū)設(shè)立了軟件園,以優(yōu)惠的政策扶植軟件產(chǎn)業(yè)的開展,同時(shí)國家還發(fā)布了如鼓勵(lì)軟件產(chǎn)業(yè)和集成電路產(chǎn)業(yè)開展的假設(shè)干政策的一系列政策,對(duì)中國軟件企業(yè)申請(qǐng)CMM認(rèn)證給予了積極的支持和推動(dòng)作用。因此,在近2~3年,我國的軟件公司對(duì)于CMM認(rèn)證的關(guān)注程度也提到了相當(dāng)高度。越來越多的企業(yè)認(rèn)識(shí)到執(zhí)行標(biāo)準(zhǔn)的開發(fā)過程,重視質(zhì)量才能進(jìn)一步提升企業(yè)競(jìng)爭(zhēng)力;獲得CMM的認(rèn)證,也意味著獲得了通往國際市場(chǎng)的通行證,可以得到更多的外包軟件合同。大量的企業(yè)開場(chǎng)研究和申請(qǐng)認(rèn)證,目前通過CMM認(rèn)證的企業(yè)在國內(nèi)軟件企業(yè)的比例己經(jīng)超過了世界平均水平。但由于CMM的理論和認(rèn)證是一個(gè)國外標(biāo)準(zhǔn),到了中國難免有些水土不服,有些企業(yè)強(qiáng)套CMM的理論和方法,反而影響了正常的軟件過程和效率。同時(shí),我國從事CMM的認(rèn)證機(jī)構(gòu)CMM認(rèn)證的商業(yè)機(jī)構(gòu)違背認(rèn)證的〞第三方〞原則;獲得國家級(jí)認(rèn)證的時(shí)間遠(yuǎn)遠(yuǎn)短于世界平均值;有些國內(nèi)企業(yè)的CMM評(píng)估并甚至沒有到SEI備案;有些企業(yè)只是把通過CMM認(rèn)證作為裝修門面,實(shí)際部門職能重疊,缺乏全員參與,SEI標(biāo)準(zhǔn)運(yùn)作不力。[1]還有一個(gè)重要問題,CMM國內(nèi)企業(yè)在認(rèn)證中表現(xiàn)出急功近利,爭(zhēng)權(quán)奪利,難以保證的標(biāo)準(zhǔn)過多,并且CMM的理論和標(biāo)準(zhǔn)也是在不斷的成長(zhǎng)中,國內(nèi)企業(yè)在實(shí)施過程中難免困惑,且己經(jīng)不再局限于軟件行業(yè),下一代的CMM工的標(biāo)準(zhǔn)被推出,使企業(yè)在選擇實(shí)施CMM還是CMMI時(shí)無法決策。在實(shí)際實(shí)施過程中,一定要根據(jù)企業(yè)的實(shí)際情況,深入研究CMM的理論,通過驗(yàn)證和分析,找到符合自身開展的模型和差距,同時(shí)要提高實(shí)際的執(zhí)行力。相關(guān)的理論和方法可參考許多文獻(xiàn)和資料,引入較好的評(píng)估和分析也是正確選擇,這里不再贅述。1.CMM支撐軟件的應(yīng)用現(xiàn)狀國際上一些公司開展CMM已經(jīng)多年,己經(jīng)有成熟的思路和軟件平臺(tái)支撐,同國內(nèi)剛剛起步的企業(yè)相比,無論其經(jīng)營還是管理模式上的理念都有很大差異。國內(nèi)有些東西可以借鑒,但也有很大一局部需要根據(jù)企業(yè)的自身特點(diǎn)來重新設(shè)計(jì)開發(fā)。通過對(duì)目前國內(nèi)外企業(yè)的CMM的認(rèn)證和執(zhí)行情況的了解,可以發(fā)現(xiàn)在實(shí)際操作中,有不少的阻礙和困難,這是因?yàn)镃MM的認(rèn)證和執(zhí)行也是一個(gè)通過數(shù)據(jù)積累和各類審核來發(fā)現(xiàn)差距并加以改正的過程,此時(shí)如果其本身有一個(gè)軟件環(huán)境的支持,無疑可以大大提高執(zhí)行力,使認(rèn)證執(zhí)行的過程可以數(shù)據(jù)化和可視化,使企業(yè)實(shí)際的研發(fā)管理過程和質(zhì)量管理監(jiān)控更直接。CMM的認(rèn)證,是對(duì)構(gòu)成相應(yīng)等級(jí)成熟度的關(guān)鍵過程域〔KeyProcessArea〕的目標(biāo)達(dá)成情況的評(píng)估,所以在實(shí)際的CMM的認(rèn)證或執(zhí)行中都是圍繞KPA來進(jìn)展的。因此,目前大局部的軟件研發(fā)過程的管理軟件都是以某一個(gè)過程域KPA的實(shí)施和運(yùn)作來設(shè)計(jì)的,如需求分析、質(zhì)量保證、配置管理、工程管理等。在配置管理較為成熟常見的支持產(chǎn)品就有:MicrosoftVSS,CCCHarvest,RationalClearCase、US等,但是針對(duì)某個(gè)CMM等級(jí)或模型,卻很少有企業(yè)能系統(tǒng)的將各KPA的數(shù)據(jù)有效地利用,或?qū)⑦@些KPA關(guān)聯(lián)起來,以支持軟件產(chǎn)品,其中包括幾個(gè)原因:1)目前各類軟件企業(yè)還沒有意識(shí)到,還都是以通過CMM認(rèn)證為主要目標(biāo),只要評(píng)估時(shí)將數(shù)據(jù)和記錄整理齊了,通過認(rèn)證以后就廢棄了相關(guān)工作。2)一些企業(yè)還停留在:哪個(gè)KPA差距較大就是重點(diǎn),可以給予各更多的關(guān)注和軟件支持,而一些簡(jiǎn)單過程域只是做一些記錄和數(shù)據(jù)存儲(chǔ),消耗的人力極大,流程效率低下。到需要整體的對(duì)軟件的質(zhì)量和過程標(biāo)準(zhǔn)進(jìn)展分析時(shí),才發(fā)現(xiàn)缺這少那。3)國外企業(yè)還是走在了前列,目前己有此類系統(tǒng)的軟件產(chǎn)品,如IBMSoftwareDevelopmentPlatformEⅢ,在合并了Rational后,IBM的這套軟件與很多KPA工具進(jìn)展集成,可以貫穿了整個(gè)研發(fā)過程。但如果使用這一產(chǎn)品,費(fèi)用是相當(dāng)高的,使用復(fù)雜度也較大,很少企業(yè)能夠承受。4)企業(yè)本身就是搞軟件產(chǎn)品開發(fā)的,自己開發(fā)了一些符合自身的KPA簡(jiǎn)單實(shí)用工具,但CMM的過程性和標(biāo)準(zhǔn)性涉及的數(shù)據(jù)量太大,如果將整個(gè)CMM運(yùn)作體系開發(fā)出來,靠企業(yè)本身無法實(shí)現(xiàn),且缺乏擴(kuò)展性和數(shù)據(jù)兼容性。5)各種KPA的軟件的數(shù)據(jù)構(gòu)造都是獨(dú)立的,在實(shí)施CMM的前期規(guī)劃中,使用企業(yè)沒有建立標(biāo)準(zhǔn)標(biāo)準(zhǔn),數(shù)據(jù)構(gòu)造無法統(tǒng)一,各獨(dú)立系統(tǒng)數(shù)據(jù)冗余,數(shù)據(jù)重復(fù)。后期要想建立關(guān)系和綜合數(shù)據(jù)分析時(shí)就會(huì)困難重重,甚至?xí)⒃械南到y(tǒng)推倒重來,造成資源的浪費(fèi)。本文研究系統(tǒng)的產(chǎn)生、優(yōu)勢(shì)及缺乏目前對(duì)于CMM理論、方法、應(yīng)用的研究如火如荼,國內(nèi)企業(yè)正花大力氣投入到軟件研發(fā)的過程改良中,不少企業(yè)取得了一定成果,受益匪淺。在企業(yè)通過和設(shè)計(jì)的CMM2級(jí)認(rèn)證,并在向CMM3級(jí)努力縮短差距的過程中,本系統(tǒng)也正是開場(chǎng)著手考慮在過程改良中逐步積累應(yīng)用的經(jīng)歷,搭建相應(yīng)的軟件平臺(tái),將原本繁多的改良內(nèi)容逐步統(tǒng)合為一個(gè)系統(tǒng),使日常的研發(fā)改良遵循CMM的規(guī)程,同時(shí)企業(yè)不再為CMM實(shí)施所帶來的管理本錢所累,而員工對(duì)于各種研發(fā)活動(dòng)數(shù)據(jù)收集復(fù)雜的抱怨也越來越少,更多的是得益于軟件支撐所帶來的標(biāo)準(zhǔn)和保障,數(shù)據(jù)的有效性。在CMM3級(jí)的差距分析時(shí),發(fā)現(xiàn)預(yù)評(píng)估工程在這個(gè)系統(tǒng)中的數(shù)據(jù)和記錄都非常完整,并有很好的關(guān)聯(lián)和邏輯性,打下了良好的根底,對(duì)于弱項(xiàng)的解決方法很快就能得以實(shí)施,使最終的評(píng)估也很順利。企業(yè)內(nèi)各類IT系統(tǒng)的建立,一直是熱門的研究對(duì)象,從人力資源、物流、生產(chǎn)、商務(wù)都有各種集成方案和平臺(tái)系統(tǒng)的設(shè)計(jì)研究,而對(duì)于CMM的研發(fā)過程改良的支撐軟件平臺(tái)研究還剛剛起步,本文就這一領(lǐng)域著手,從系統(tǒng)的通用性出發(fā),為有同類需求的企業(yè)提供了一套經(jīng)濟(jì)可行的集成方案,并就具體各局部進(jìn)展了設(shè)計(jì)和優(yōu)化;通過實(shí)際的系統(tǒng)運(yùn)作,為企業(yè)在實(shí)現(xiàn)過程中可能遇到的問題難點(diǎn)、關(guān)鍵技術(shù)提供了相應(yīng)的解決思路和方法。同時(shí),對(duì)其進(jìn)一步的擴(kuò)展和應(yīng)用方案進(jìn)展了研究,以期發(fā)揮系統(tǒng)的成效,為企業(yè)帶來效率和產(chǎn)生價(jià)值。由于本系統(tǒng)在實(shí)踐時(shí)面向的對(duì)象是大中型的軟件或軟件相關(guān)企業(yè),必須要投入一定的管理和IT開發(fā)力量,可能對(duì)于局部希望通過CMM認(rèn)證或進(jìn)展管理的小型軟件企業(yè),本文所介紹的系統(tǒng)投入本錢可能會(huì)過大,可以考慮對(duì)本系統(tǒng)進(jìn)展一定的裁剪。第2章CMM統(tǒng)一軟件管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)正如前文所述,大局部CMM支撐軟件都是以某一個(gè)過程域KPA的實(shí)施和運(yùn)作來設(shè)計(jì)的,其中各獨(dú)立的商業(yè)軟件功能都很強(qiáng)大,而企業(yè)自己設(shè)計(jì)開發(fā)的軟件的功能則更貼近企業(yè)實(shí)際運(yùn)用。但如果在實(shí)施CMM前不對(duì)各類軟件之間的關(guān)系、數(shù)據(jù)的運(yùn)用進(jìn)展分析,形成統(tǒng)一的集成方案,就會(huì)造成數(shù)據(jù)管理的混亂、冗余,形成一個(gè)個(gè)的孤島,對(duì)企業(yè)運(yùn)用CMM進(jìn)展管理反而會(huì)造成阻礙。本系統(tǒng)結(jié)合公司實(shí)際運(yùn)作和需要,圍繞為企業(yè)降低本錢和提高效率為目標(biāo),經(jīng)過企業(yè)評(píng)審和實(shí)際的部署操作,收到了很大的成效。本系統(tǒng)的用戶需求和設(shè)計(jì)需求,顯然就是CMM的根本理論和企業(yè)的研發(fā)過程改良決策,且無論對(duì)于哪個(gè)軟件企業(yè),這些也都是根本的需求,而本集成方案則側(cè)重于實(shí)施CMM軟件平臺(tái)的過程中的如下幾個(gè)關(guān)鍵問題,也是集成方案中需要重點(diǎn)解決的問題:1)沒有符合企業(yè)自身構(gòu)造的產(chǎn)品、工程以及人力資源的根底信息系統(tǒng),各KPA軟件各自為陣,一致性差,如何使這類數(shù)據(jù)能夠有統(tǒng)一的關(guān)聯(lián)和接口2)在CMM實(shí)施過程中如何對(duì)應(yīng)等級(jí)的提高,相應(yīng)關(guān)鍵域的擴(kuò)大能夠更平滑和簡(jiǎn)單3)KPA的軟件的數(shù)量較多,且使用環(huán)境和權(quán)限各不一樣,如何使企業(yè)員工能夠迅速的找到需要的軟件入口,尤其對(duì)于新進(jìn)員工,如何使他們能快速地掌握各個(gè)軟件的使用4)各KPA軟件在使用過程中產(chǎn)生的大量數(shù)據(jù),如何形成一個(gè)對(duì)產(chǎn)品工程CMM化管理的全面分析的匯總,或提供工程經(jīng)理和更高層的決策支持5)獨(dú)立KPA的商業(yè)軟件購置本錢過高,而自行設(shè)計(jì)軟件人力本錢過高,如何協(xié)調(diào)兩者之間的關(guān)系方案設(shè)計(jì)圖2-l:CMM統(tǒng)一軟件管理系統(tǒng)集成方案下面就圖2-1集成方案中數(shù)字標(biāo)示局部的設(shè)計(jì),各局部之間的關(guān)系及關(guān)鍵問題的解決給予說明:1)根底數(shù)據(jù)構(gòu)造——這里包含兩局部,人力資源信息〔HR〕和產(chǎn)品與組織構(gòu)造管理系統(tǒng)〔ProductandOrganizationManagement〕簡(jiǎn)稱POM。以企業(yè)自有的人力資源數(shù)據(jù)為輸入,結(jié)合企業(yè)產(chǎn)品構(gòu)造和管理模型,建立產(chǎn)品管理和行政部門管理的根底配置信息系統(tǒng),作為所有關(guān)鍵域〔KPA〕軟件的公用根底信息的輸入,各KPA軟件不再單獨(dú)建立用以管理此類信息、的模塊和數(shù)據(jù),保證根底信息的一致。例如:產(chǎn)品名稱、工程屬性、部門人員信息、產(chǎn)品和工程之間的父子關(guān)系等。2)商業(yè)軟件應(yīng)用優(yōu)化——局部關(guān)鍵域支撐軟件需要實(shí)現(xiàn)的功能僅為數(shù)據(jù)的錄入、存放查詢,都有較復(fù)雜的數(shù)據(jù)構(gòu)造,并發(fā)數(shù)據(jù)量大,需要很好的性能。此類軟件采用成熟的商業(yè)軟件較好,商業(yè)軟件所支持的數(shù)據(jù)構(gòu)造和接口強(qiáng)大,有較好的技術(shù)支持和部署方案,在部署后不會(huì)有較大功能上的變動(dòng),后期維護(hù)的工作小。例如:配置管理中產(chǎn)品版本管理的ClearCase和變更管理的ClearQuest,方案管理的MicrosoftProjectServer。但此類軟件還是需要經(jīng)過優(yōu)化,才能更符合企業(yè)的實(shí)際運(yùn)作,包括部署優(yōu)化、性能優(yōu)化以及公用根底信息數(shù)據(jù)的獲取。3)協(xié)同軟件自行開發(fā)——另有局部關(guān)鍵域支撐軟件主要涉及評(píng)審和工作協(xié)同組織,如同行評(píng)審〔PR〕、會(huì)簽、審批流程等。這類軟件依靠企業(yè)郵件效勞系統(tǒng)的支持,如Exchange2000Server是Microsoft推出的通訊和協(xié)作工具,還有LotusDomino/Notes也是先進(jìn)的單一架構(gòu)的文檔數(shù)據(jù)庫和電子郵件系統(tǒng),提供工作流自動(dòng)化以及標(biāo)準(zhǔn)的應(yīng)用和開發(fā)環(huán)境[13]。同時(shí)企業(yè)管理模式的變化,這類關(guān)鍵域的管理流程也可能會(huì)有較大改變,但開發(fā)工具的控件對(duì)流程功能針對(duì)性較強(qiáng),使用的開發(fā)語言比擬簡(jiǎn)單,投入較少的人力能獲得軟件功能上較大的擴(kuò)展。4)過程數(shù)據(jù)接口統(tǒng)一和抽取——各關(guān)鍵域支撐軟件會(huì)累積大量數(shù)據(jù),對(duì)企業(yè)工程做匯總的數(shù)據(jù)查詢和分析時(shí),如果手工到各KPA軟件中去查詢、導(dǎo)出和整理,會(huì)浪費(fèi)大量的人力和時(shí)間,而且各類數(shù)據(jù)之間都是孤立的。而如果按圖2-2,各個(gè)KPA系統(tǒng)的數(shù)據(jù)進(jìn)展實(shí)時(shí)訪問來進(jìn)展工程跟蹤、工程報(bào)告和分析,對(duì)程序執(zhí)行效率、數(shù)據(jù)庫查詢復(fù)雜度等原因所導(dǎo)致的返回?cái)?shù)據(jù)等待時(shí)間上是無法承受的。圖2-2數(shù)據(jù)抽取圖解決方案是將各KPA系統(tǒng)中的數(shù)據(jù)接口統(tǒng)一,并定期整理后自動(dòng)抽取到過程數(shù)據(jù)庫〔ProcessDataBase〕PDB中,通過對(duì)過程數(shù)據(jù)訪問,實(shí)現(xiàn)工程匯總報(bào)告、監(jiān)控和決策分析等功能。5)統(tǒng)一的軟件平臺(tái)——提供平臺(tái)管理,對(duì)軟件進(jìn)展分類導(dǎo)航說明和建立系統(tǒng)連接,使企業(yè)員工能迅速找到需要的入口或直接翻開相應(yīng)的系統(tǒng)。將各系統(tǒng)的身份驗(yàn)證系統(tǒng)集成,只需一次登錄,在訪問相關(guān)系統(tǒng)時(shí)進(jìn)展身份驗(yàn)證,并賦予相應(yīng)權(quán)限。這里請(qǐng)注意,由于涉及軟件系統(tǒng)較多,各局部系統(tǒng)都需要數(shù)據(jù)庫支持,但集成方案沒有對(duì)數(shù)據(jù)庫的選用做具體要求,這取決于企業(yè)CMM部署的規(guī)模以及各系統(tǒng)數(shù)據(jù)量的大小。建議,除了某些協(xié)同開發(fā)工具和商業(yè)軟件對(duì)支撐數(shù)據(jù)庫有限制外,其它的系統(tǒng)建議都使用統(tǒng)一的數(shù)據(jù)庫系統(tǒng),如SQLServer和Oracle,這樣可以在開發(fā)和進(jìn)展數(shù)據(jù)構(gòu)造關(guān)聯(lián)上提高一定效率。當(dāng)然數(shù)據(jù)庫的優(yōu)化方案也會(huì)在一定程度提高系統(tǒng)的執(zhí)行效率,本文就不再贅述。整個(gè)集成方案以關(guān)鍵問題為解決的重點(diǎn),綜合考慮各系統(tǒng)間的關(guān)聯(lián),對(duì)各局部的實(shí)現(xiàn)再作深入的研究。根底數(shù)據(jù)組成根底數(shù)據(jù)是建立整個(gè)集成方案的起點(diǎn),所有的KPA系統(tǒng)都需要依托其支撐,而且數(shù)據(jù)必須及時(shí)準(zhǔn)確。有了標(biāo)準(zhǔn)標(biāo)準(zhǔn)的統(tǒng)一根底數(shù)據(jù),產(chǎn)品工程的各分布數(shù)據(jù)才能有效結(jié)合在一起。各個(gè)企業(yè)的產(chǎn)品組織構(gòu)造都可能不盡一樣,但也有一定的共通之處,大局部都是以產(chǎn)品、工程、行政部門、人員信啟、和人員角色組成。企業(yè)在CMM實(shí)施前,首先需要分析自己根底信息、數(shù)據(jù),并為其選定一個(gè)符合自己運(yùn)作模式且有一定擴(kuò)展性的產(chǎn)品組織模型。這里結(jié)合本系統(tǒng)在實(shí)際開發(fā)過程中的經(jīng)歷,介紹一套擴(kuò)展性較強(qiáng)的數(shù)據(jù)模型。數(shù)據(jù)模型主要分三局部:產(chǎn)品構(gòu)造信息、行政構(gòu)造信息、人員角色信息。圖2-3根底數(shù)據(jù)組成如圖2-3所示,產(chǎn)品構(gòu)造和行政構(gòu)造按父子關(guān)系由上至下逐步細(xì)分,人員角色信息同產(chǎn)品構(gòu)造和行政構(gòu)造均相關(guān),但因?yàn)椴簧婕叭耸滦姓芾?,所以沒有上下級(jí)關(guān)系約束。1)產(chǎn)品數(shù)據(jù)構(gòu)造模型如圖2-4,從上至下的層次,按一對(duì)多的關(guān)系將產(chǎn)品構(gòu)造逐步細(xì)分,細(xì)分的準(zhǔn)則是按產(chǎn)品的實(shí)體父子關(guān)系以及各KPA系統(tǒng)的實(shí)際應(yīng)用面的需求。并不是越細(xì)分越好,如例圖2-4中頂層是“產(chǎn)品系列〞,底層是“產(chǎn)品版本〞,雖然可以再細(xì)分至“功能模塊〞。但在實(shí)際使用中,“功能模塊〞可能只是版本的一個(gè)屬性,大局部的CMM關(guān)鍵域都不需要給與關(guān)注或度量分析。過于復(fù)雜的分層,反而會(huì)導(dǎo)致實(shí)際操作時(shí)效率的降低。圖2-4產(chǎn)品數(shù)據(jù)構(gòu)造模型在實(shí)際模型的運(yùn)用時(shí),如企業(yè)規(guī)模的擴(kuò)大或縮小,可以根據(jù)細(xì)分準(zhǔn)則靈活的擴(kuò)展或收縮層次,而不用重新設(shè)計(jì)數(shù)據(jù)構(gòu)造,下面是按圖2-4實(shí)現(xiàn)該模型的數(shù)據(jù)構(gòu)造:表2-1T_PRODUNIT表模型實(shí)現(xiàn)IDParent_IDInherit_IDLevelother1other2…0010000011120001001,1202135120001,120,1353276135001,120,135,2764使用一張表〔T_PRODUNIT〕實(shí)現(xiàn)產(chǎn)品層次關(guān)系,ID為單個(gè)產(chǎn)品信息的唯一標(biāo)識(shí),按建立順序累加產(chǎn)生;Parent_ID為父結(jié)點(diǎn)產(chǎn)品ID,標(biāo)示父子的上下級(jí)關(guān)系〔000為根節(jié)點(diǎn),如果沒有父結(jié)點(diǎn)則為NULL〕;Inherit-ID為子節(jié)點(diǎn)樹形構(gòu)造索引的指針鏈;Level為子節(jié)點(diǎn)深度;other(n)為其它的產(chǎn)品屬性字段。如果企業(yè)因規(guī)模縮小取消了產(chǎn)品二層“產(chǎn)品規(guī)格型號(hào)〞,可修改數(shù)據(jù)或修改父結(jié)點(diǎn)和深度并刪除指針鏈上的二層索引,則數(shù)據(jù)構(gòu)造變?yōu)楸?-2所示:表2-2T_PRODUNIT表指針鏈改變IDParent_IDInherit_IDLevelother1other2…0010000011135001001,1352276135001,135,27632)行政數(shù)據(jù)構(gòu)造模型行政數(shù)據(jù)構(gòu)造模型與產(chǎn)品數(shù)據(jù)構(gòu)造類似,如圖2-5,但企業(yè)行政機(jī)構(gòu)都比擬穩(wěn)定,數(shù)據(jù)表構(gòu)造可以與產(chǎn)品數(shù)據(jù)構(gòu)造一樣,如果企業(yè)人事系統(tǒng)有行政根底數(shù)據(jù),建議仍然使用原有數(shù)據(jù)。圖2-5行政數(shù)據(jù)構(gòu)造模型3)人員角色模型建立角色字典,與產(chǎn)品信息或行政信息通過一對(duì)一關(guān)系形成產(chǎn)品角色和行政角色。而單個(gè)人員信息可以對(duì)應(yīng)多個(gè)產(chǎn)品角色或行政角色。如圖2-6:圖2-6人員角色模型下面數(shù)據(jù)構(gòu)造中,表(T-Role)為角色字典;表(T_Employee_Role)表示人員角色數(shù)據(jù):ID為唯一標(biāo)識(shí)順序號(hào),EmployeeJD為人員ID,Role-ID為角色I(xiàn)D,S_ID為產(chǎn)品或行政信息ID,TYPE標(biāo)示S_ID類型(PROD為產(chǎn)品信息,HR為行政信息)。表2-3TRole表信息IDNAME003產(chǎn)品經(jīng)理023部門經(jīng)理132測(cè)試工程師表2-4T_Employee_Role表信息IDEmployee_IDRole_IDS-IDTYPE3135PROD3107HR2135PROD根底數(shù)據(jù)運(yùn)用首先注意,建議上述模型的最大深度不要超過5層,否則對(duì)于數(shù)據(jù)的冗余度和相關(guān)的查詢關(guān)聯(lián)復(fù)雜度就太大,而一般大型企業(yè)CMM實(shí)施對(duì)象的細(xì)分關(guān)注程度也不會(huì)超過這一范圍。產(chǎn)品與組織構(gòu)造管理系統(tǒng)〔POM〕中的數(shù)據(jù),可以使各個(gè)KPA系統(tǒng)根底信息數(shù)據(jù)更標(biāo)準(zhǔn)和標(biāo)準(zhǔn)。同時(shí)通過層次構(gòu)造,用于產(chǎn)品和行政的根底信息逐層分類,可任意縮小選擇信息的范圍。各KPA根據(jù)實(shí)際使用的需求,可以自行組織獲取根底數(shù)據(jù)的方式。如SQA系統(tǒng),只需要選擇相應(yīng)的“產(chǎn)品線〞和“工程〞,由于父子的節(jié)點(diǎn)樹型關(guān)系,就可以直接跳過“產(chǎn)品規(guī)格型號(hào)〞,而根據(jù)選擇的“產(chǎn)品線〞直接篩選出相應(yīng)的“工程〞。結(jié)合人力資源信息,通過角色的設(shè)定,維護(hù)一處數(shù)據(jù),就可以使各類協(xié)同工作類的KPA系統(tǒng)在流程環(huán)節(jié)上獲得一樣配置的人員角色信息。同時(shí)通過角色的設(shè)定,可以對(duì)各系統(tǒng)的使用權(quán)限進(jìn)展管理和控制。2.3.1ClearCase優(yōu)化1)ClearCase簡(jiǎn)介ClearCase這里簡(jiǎn)稱CC,是軟件開發(fā)產(chǎn)品的配置管理工具,有強(qiáng)大的功能和操作界面,如圖2-7分四個(gè)局部,利用全面的版本控制、工作空間管理以及構(gòu)建和版本管理來實(shí)現(xiàn)軟件資產(chǎn)管理。圖2-7ClearCase運(yùn)作圖版本控制:在CC中所有的文件類型都是版本,目錄是有版本的,元素存儲(chǔ)在版本庫VersionObjectBase(VOB)中,元素被檢出前是只讀的,非常容易簽入和簽出操作,可以無限制的分支和歸并,并提供圖形化比擬和歸并工具。工作空間管理:通過視圖(view)實(shí)現(xiàn)工作空間管理,基于用戶定義的規(guī)則來進(jìn)展版本選擇,控制工作中的私有或公共資源。構(gòu)建管理:使用標(biāo)準(zhǔn)的make文件來工作,自動(dòng)檢測(cè)頭文件和源文件的依存關(guān)系,有效去除重復(fù)編譯,依據(jù)標(biāo)簽進(jìn)展構(gòu)建管理。過程控制:通過腳本語言編寫觸發(fā)機(jī)制,進(jìn)展自動(dòng)化的團(tuán)隊(duì)開發(fā)過程控制,能夠通過加鎖的機(jī)制來約束元素或分支的訪問權(quán)限,使文件更加平安。2)部署優(yōu)化CC一般由四個(gè)主要效勞構(gòu)成:VOB效勞(VOBServer),視圖效勞(ViewServer),注冊(cè)效勞(RegistryServer)和許可證效勞(LicenseServer)。假設(shè)企業(yè)在部署上將一套獨(dú)立的CC效勞全部裝在一個(gè)效勞器上,勢(shì)必造成效勞器性能的下降。但為每個(gè)效勞單獨(dú)使用一個(gè)效勞器,則一個(gè)產(chǎn)品可能就需要四臺(tái)效勞器,硬件本錢就要大大提高。且其中注冊(cè)效勞(RegistryServer)為用戶權(quán)限驗(yàn)證登錄用,如果獨(dú)立分開會(huì)使維護(hù)工作加大,而許可證效勞(LicenseServer)的增加就意味著軟件本錢的上升。通過對(duì)性能的深入研究,發(fā)現(xiàn)最消耗資源的是VOB效勞。由于其存儲(chǔ)著實(shí)際的工作產(chǎn)品,且需要反復(fù)簽入簽出,所以CPU、I/O、內(nèi)存和物理存儲(chǔ)空間的消耗都很大;其次是視圖效勞,它是連接用戶和VOB的窗口,所以也需要反復(fù)調(diào)用。而注冊(cè)效勞和許可證效勞均只在用戶登錄時(shí)使用,使用資源很少。所以,企業(yè)部署時(shí)可以為每個(gè)產(chǎn)品使用獨(dú)立的VOB效勞器和視圖效勞器,而將注冊(cè)效勞和許可證效勞全部使用一套,分別放置在某一產(chǎn)品的視圖效勞器上。事實(shí)證明這使系統(tǒng)性能得到了大幅度提升。如果最初部署時(shí)沒有按照這個(gè)思路,也不必?fù)?dān)憂,CC提供了較為自動(dòng)的遷移工具,能輕松地重新部署。3)其它優(yōu)化CC的一個(gè)重要功能是版本構(gòu)建,隨著功能模塊的逐步完善和整合,版本的編譯需要的執(zhí)行時(shí)間會(huì)越來越長(zhǎng),導(dǎo)致每天正常工作時(shí)間都在等待編譯中度過。CC提供了自動(dòng)構(gòu)建的功能,設(shè)定好編譯和構(gòu)建的版本分支,每天夜間進(jìn)展自動(dòng)構(gòu)建,第二天可以對(duì)編譯的結(jié)果、構(gòu)建中的錯(cuò)誤進(jìn)展修正,可以提高工作效率。對(duì)單個(gè)效勞器的優(yōu)化也會(huì)提升性能。如VOB效勞器,在存儲(chǔ)工作產(chǎn)品空間的不斷增長(zhǎng)的同時(shí),對(duì)磁盤的讀寫也需要占用大量空間,根據(jù)經(jīng)歷調(diào)整VOB的操作系統(tǒng)的Cache到2G,并將存儲(chǔ)工作產(chǎn)品空間使用外接磁盤陣列,可以提升效勞器性能。而視圖效勞器,隨著產(chǎn)品開發(fā)人員的增長(zhǎng),對(duì)視圖訪問的量也會(huì)增大,這時(shí)就需要新部署一臺(tái)視圖效勞器,減少訪問的阻塞。ClearQuest優(yōu)化1)ClearQuest簡(jiǎn)介ClearQuest簡(jiǎn)稱CQ,是一套變更管理工具,它能與CC很好的集成,方便的定位到CC工作產(chǎn)品中元素的變更〔如缺陷、功能、文檔、需求等〕,并對(duì)變更的研究、評(píng)審、處理和驗(yàn)證過程進(jìn)展管理??梢愿鶕?jù)企業(yè)自己的工作流進(jìn)展定制,并設(shè)計(jì)缺陷和變更請(qǐng)求的字段、用戶界面、查詢、圖表和報(bào)告。圖2-8就是CQ的操作界面。工作空間提供視圖的導(dǎo)航功能和CC的工作空間功能一樣;變更明細(xì)區(qū)將變更的各類詳細(xì)信息分類分簽放置,布局可以自行定義;操作按鈕區(qū)提供對(duì)變更處理的各種操作;查詢結(jié)果集是根據(jù)工作空間中定義的視圖報(bào)告所反應(yīng)的變更集,在查詢結(jié)果集中點(diǎn)擊單條變更,可以顯示在變更明細(xì)中。圖2-8ClearQuest操作界面2)CQ使用中的問題本系統(tǒng)的CQ在實(shí)際使用過程中經(jīng)過屢次修訂,以滿足企業(yè)CMM研發(fā)管理的需求,但是隨著研發(fā)管理水平的提高和研發(fā)人員的大量增加,CQ系統(tǒng)在使用中也會(huì)暴露出很多缺乏:a)產(chǎn)品和組織構(gòu)造根底在CQ系統(tǒng)內(nèi)維護(hù),和其它系統(tǒng)數(shù)據(jù)無法關(guān)聯(lián)吻合;b)定義的流程環(huán)節(jié)太多,對(duì)流程效率有一定的影響;c)變更類型的劃分界限不明確,影響后續(xù)數(shù)據(jù)分析的有效性;d)系統(tǒng)對(duì)變更影響分析和故障定位支持不夠,不能滿足產(chǎn)品研發(fā)改良的需求;e)量化管理以及缺陷預(yù)防工作的開展要求,CQ系統(tǒng)對(duì)缺陷度量提供更科學(xué)更系統(tǒng)化的支持。f)隨著人員的增加以及屢次修改流程增加控制,原有CQ系統(tǒng)在相應(yīng)速度上越來越不能滿足需求。g)處理頁面上字段較多,而且邏輯性不強(qiáng),不利于處理人填寫。3)對(duì)問題的優(yōu)化解決為了提供CMM管理更好的支撐效勞,對(duì)CQ系統(tǒng)進(jìn)展了系列的優(yōu)化以解決上述問題。但由于CMM管理的深化和企業(yè)格局的不同,下面的優(yōu)化方案僅作為實(shí)施的參考,最終目標(biāo)是使CQ調(diào)整到與企業(yè)特點(diǎn)相吻合和運(yùn)作最有效化:a)產(chǎn)品組織構(gòu)造數(shù)據(jù)調(diào)用外部統(tǒng)一根底數(shù)據(jù)系統(tǒng)〔POM〕;b)調(diào)整變更類型分為三類:缺陷、需求和重構(gòu),并使流程也縮小到三個(gè)分支處理,以簡(jiǎn)化針對(duì)不同流程過多造成的開發(fā)人員的操作效率下降;c)調(diào)整和簡(jiǎn)化流程:將變更分析流程提前,目的使加強(qiáng)變更定位和變更分析環(huán)節(jié),簡(jiǎn)化指派后的處理環(huán)節(jié),以加快處理過程;d)優(yōu)化CQ表單字段,根據(jù)實(shí)際使用情況,刪除了局部無用或根本不用的字段;e)對(duì)頁面布局進(jìn)展了優(yōu)化,使得字段的位置更能表達(dá)邏輯性;f)對(duì)原有相近的意義的字段整合,增加可選項(xiàng),以利于故障的深入分析和預(yù)防。2.3.3MicrosoftProjectServer優(yōu)化1)MicrosoftProjectServer簡(jiǎn)介MicrosoftProjectServer簡(jiǎn)稱PS,是微軟的企業(yè)級(jí)工程方案管理〔SoftwareProjectPlanning〕SPP工具,Project原本是Office的成員之一,可以對(duì)方案進(jìn)展管理和組織,但只能單機(jī)操作,無法進(jìn)展任務(wù)的分配下達(dá)、方案的跟蹤和企業(yè)資源的共享,與ProjectServer一起可以幫助更有效地方案工程,更好地管理資源,并且在整個(gè)組織范圍內(nèi)建立可以重復(fù)的過程。如圖2-9所示,用戶可以通過IE訪問PS的Web界面對(duì)任務(wù)進(jìn)展反應(yīng)、驗(yàn)證和更新,而工程經(jīng)理和領(lǐng)導(dǎo)層則可以通過Project客戶端制定方案,對(duì)方案的總體進(jìn)度和資源的合理分配進(jìn)展掌控,并可以對(duì)任務(wù)輸出的文檔進(jìn)展管理。圖2-9ProjectServer效勞分布圖2)效勞部署優(yōu)化如圖2-9所示,PS的效勞分為三個(gè),Web效勞、數(shù)據(jù)庫效勞和文檔SharePoint效勞,其中微軟設(shè)計(jì)PS的連接數(shù)據(jù)庫必須是SQLServer。由于方案任務(wù)管理需要的資源開銷較小,不需要按不同產(chǎn)品系列開發(fā)分開,所以部署一套即可。其中IE和客戶端用戶都是通過PS的Web效勞來登錄驗(yàn)證身份,而Web效勞再向數(shù)據(jù)庫效勞發(fā)出指令并返回結(jié)果給用戶,大局部的計(jì)算和查詢都是數(shù)據(jù)庫效勞在處理,而文檔管理效勞需要對(duì)磁盤反復(fù)讀寫,所以建議三個(gè)效勞都使用獨(dú)立的效勞器來運(yùn)行。以提高用戶訪問的性能。3)根底數(shù)據(jù)優(yōu)化PS的方案管理是以單個(gè)文件形式進(jìn)展管理,除文件名以外無法設(shè)置任何產(chǎn)品組織構(gòu)造中的“工程〞數(shù)據(jù),此時(shí)只能通過對(duì)文件名的設(shè)置來容納相關(guān)的信息,如:產(chǎn)品系列名稱,工程ID,工程名稱,版本號(hào)。這樣在數(shù)據(jù)輸出和關(guān)聯(lián)上就可以通過分隔符和層次將相關(guān)數(shù)據(jù)剝離處理使用。PS有自己的資源管理功能,包括人力資源以及其他各類儀器設(shè)備資源的管理,其中資源的共享和分配的功能相當(dāng)強(qiáng)大,可以按工時(shí)、工期和百分比來為任務(wù)分配資源,但需要將其與統(tǒng)一的產(chǎn)品組織構(gòu)造的人力資源信息相關(guān)聯(lián)。通過對(duì)PS數(shù)據(jù)庫的研究發(fā)現(xiàn),其企業(yè)主資源數(shù)據(jù)的存儲(chǔ)在表(msp_resources)中,而每個(gè)工程文件都有自己的資源數(shù)據(jù),只需要修改企業(yè)主資源的相關(guān)數(shù)據(jù),PS會(huì)自動(dòng)在翻開工程文件時(shí)將數(shù)據(jù)同步到各文件的資源數(shù)據(jù)中。這樣就可以使用SQLServer的定時(shí)代理功能,將產(chǎn)品和組織構(gòu)造根底數(shù)據(jù)中的人力資源數(shù)據(jù)對(duì)應(yīng),定期更新到表(msp_resources)中,就可以實(shí)現(xiàn)根底數(shù)據(jù)的共享。此外,單個(gè)Project文件的任務(wù)條目數(shù)超過2000條,就會(huì)影響文件翻開和保存的速度。這時(shí)可以使用Project的文件鏈接功能,將各工程方案按照任務(wù)的版本和模塊分開成多個(gè)Project文件,用于方案制定下達(dá)和驗(yàn)收等寫入操作,然后建立一個(gè)工程方案主文件,將各相關(guān)的拆分文件鏈接到主文件中,通過這個(gè)主文件對(duì)工程的總體進(jìn)度的跟蹤進(jìn)展把握。4)自定義內(nèi)容優(yōu)化a)模板的定義優(yōu)化:企業(yè)在CMM實(shí)施過程中都有自己的工程生命周期過程管理的定義,根據(jù)工程的各個(gè)里程碑節(jié)點(diǎn)和基線〔BaseLine〕,通過PS的任務(wù)層次和前置關(guān)系功能,制定統(tǒng)一的工程文件的模板,可以使工程經(jīng)理方便的定制自己的工程方案,如圖2-10就是一個(gè)軟硬件瀑布模型工程方案的模板。圖2-10Project文件模板樣例b)通知提醒優(yōu)化:PS可以通過郵件效勞的設(shè)置在任務(wù)的下達(dá)和反應(yīng)時(shí)郵件通知,而且可以設(shè)置任務(wù)的開場(chǎng)、到期和超期的時(shí)間提醒,各用戶可以通過Web自行定義,也可以根據(jù)管理需要為所有用戶定制統(tǒng)一的任務(wù)提醒要求。c)自定義域的使用:PS為用戶提供自定義數(shù)據(jù)域,這些數(shù)據(jù)域包括系統(tǒng)中各種類型數(shù)據(jù)域,如日期型、貨幣型、數(shù)字型、正文型、Y/N型。[18]工程經(jīng)理可以使用這些字段來設(shè)定PS系統(tǒng)中沒有的任務(wù)和方案屬性,如目標(biāo)、質(zhì)量要求、輸出、類型、本錢和基線標(biāo)示等,使方案任務(wù)數(shù)據(jù)更完善。還可以根據(jù)需要將這些字段發(fā)布給完成任務(wù)的負(fù)責(zé)人,使其明確任務(wù)的完成要求。商用軟件優(yōu)化共同點(diǎn)可以采用的KPA商業(yè)軟件還有很多,綜合各類商用軟件的使用特點(diǎn)和優(yōu)化方案,總結(jié)出以下共同點(diǎn),在其它類型的商用軟件的CMM應(yīng)用優(yōu)化上會(huì)提供幫助。1)使用統(tǒng)一的產(chǎn)品組織構(gòu)造根底數(shù)據(jù)輸入,作為系統(tǒng)數(shù)據(jù)的根本信息來源。2)部署時(shí)考慮各商用軟件的性能和效勞,采用效勞分布式部署,在本錢投入允許的情況下,考慮性能的最優(yōu)化方案,將消耗資源高的軟件效勞單獨(dú)配置。3)好的商業(yè)軟件部署方案可以為企業(yè)節(jié)省本錢,但需要根據(jù)實(shí)際對(duì)涉及CMM管理工作流程的構(gòu)造進(jìn)展調(diào)整,通過軟件提供的自定義功能,將其效用最大化。4)在商業(yè)軟件提供的各類應(yīng)用模板或方案中,提供更多人性化的提示和說明功能,對(duì)時(shí)間和人力消耗較大的操作,提供自動(dòng)化程度較高的解決方案,讓使用人員的操作簡(jiǎn)化,效率提高。5)及時(shí)更新和升級(jí)各商用軟件的補(bǔ)丁,也會(huì)為系統(tǒng)帶來穩(wěn)定性和性能提高。協(xié)同工作軟件設(shè)計(jì)CMM中很大局部的工作是評(píng)審和記錄,需要評(píng)審和工作協(xié)同組織的KPA軟件系統(tǒng)支持。由于企業(yè)管理模式的變化,以及信息組織方式的不同,對(duì)這一類系統(tǒng)如果企業(yè)有一定的IT力量,可以自行開發(fā)和維護(hù)管理。這樣可以對(duì)問題及時(shí)響應(yīng),并節(jié)省由于流程變化而帶來的功能修改的本錢。本系統(tǒng)由于采用了LotusDomino/Notes為郵件效勞器平臺(tái),為和郵件系統(tǒng)更好的集成,也以此作為工作流的設(shè)計(jì)應(yīng)用系統(tǒng)平臺(tái)。LotusNotes的是一個(gè)文檔型數(shù)據(jù)庫,文檔和域是最小的設(shè)計(jì)元素,目前在各類OA辦公平臺(tái)開發(fā)中廣泛使用。其整個(gè)數(shù)據(jù)庫就是1張大數(shù)據(jù)表,每加一個(gè)域,就是往這張數(shù)據(jù)表中加了一個(gè)字段,而每增加一個(gè)文檔,相當(dāng)于新增一條記錄。它的設(shè)計(jì)工具LotusDesigner也是面向?qū)ο蟮?,并且提供各類封裝好的設(shè)計(jì)控件用來組織文檔和域,公式與LotusScript語言是Notes應(yīng)用程序的根底,LotusScript語言是一種完全面向?qū)ο蟮木幊陶Z言,而公式對(duì)于簡(jiǎn)單應(yīng)用程序來說更為方便。LotusNotes的開發(fā)方法有很多,這里為了適合CMM管理、評(píng)審和協(xié)同工作的方法,結(jié)合實(shí)際開發(fā)經(jīng)歷,提供了一套容易學(xué)習(xí)上手,可以節(jié)省開發(fā)周期和人力,且易于維護(hù)的設(shè)計(jì)方法。一些設(shè)計(jì)難點(diǎn)和技術(shù)技巧將在下一章介紹。1)Form域的特性前面提過Notes數(shù)據(jù)庫是一張大數(shù)據(jù)表,而Form也就是其中的一個(gè)字段,只是Form這個(gè)字段有一些特殊,即使不在設(shè)計(jì)中增加這個(gè)域,它也會(huì)作為文檔記錄的缺省字段屬性來保存數(shù)據(jù)。建立了一張表單〔Notes的一個(gè)設(shè)計(jì)元素,用來組織域的顯示方式,類似窗口〕,用他來創(chuàng)立一個(gè)文檔,保存關(guān)閉后,再從視圖中翻開,你會(huì)看到這個(gè)文檔依然以創(chuàng)立時(shí)的那張表單來顯示,因?yàn)镕orm這個(gè)字段的信息已經(jīng)被保存了下來。你可以在這張表單上建一個(gè)域,取名為Form,你再翻開這張表單就會(huì)看到Form域中己經(jīng)有了值,也就是保存這個(gè)文檔時(shí)所用表單的名稱。將Form域值改成另一張表單的名稱,再翻開時(shí)你就會(huì)發(fā)現(xiàn)你翻開了一個(gè)完全陌生的文檔,里面的內(nèi)容和原來完全兩樣,但不用擔(dān)憂,文檔中的數(shù)據(jù)一個(gè)也沒少,這是因?yàn)槭褂肍orm域?yàn)槲臋n定制了一個(gè)新的表單顯示形態(tài)。2)工作流實(shí)現(xiàn)以質(zhì)量保證〔SQA〕報(bào)告評(píng)審簡(jiǎn)單流程為例,介紹一下如何利用Form域的特性來實(shí)現(xiàn)工作流。質(zhì)量保證〔SQA〕報(bào)告評(píng)審流程為:創(chuàng)立人→SQA人員審核→工程經(jīng)理審批→產(chǎn)品經(jīng)理審批→完成??梢钥吹竭@個(gè)工作流有5個(gè)階段,然后為5個(gè)階段各設(shè)計(jì)一個(gè)表單,表單的樣式布局和放置的域完全一樣,不同的只是表單名和域的屬性。根據(jù)各階段填寫內(nèi)容的不同,將需填寫的域?qū)傩灾脼榭删庉?,其他置為?jì)算域(可見但不可編輯),如表2-5:表2-5流程填寫內(nèi)容變化表創(chuàng)立人SQA人員審核工程經(jīng)理審批產(chǎn)品經(jīng)理審批完成報(bào)告根本信息編輯計(jì)算計(jì)算計(jì)算計(jì)算SQA審核意見計(jì)算編輯計(jì)算計(jì)算計(jì)算工程經(jīng)理意見計(jì)算計(jì)算編輯計(jì)算計(jì)算產(chǎn)品經(jīng)理意見計(jì)算計(jì)算計(jì)算編輯計(jì)算從第一步流程起,每步流程的操作者在填寫完成對(duì)應(yīng)的內(nèi)容后,提交下一流程時(shí),將Form域的值改成下一階段所對(duì)應(yīng)表單名,并將文檔的編輯者置為所提交的人員,同時(shí)發(fā)送郵件通知。下一操作人翻開文檔時(shí)能看到的內(nèi)容和信息沒有發(fā)生變化,但可以操作編輯的只是屬于自己流程范圍內(nèi)的那局部,依此類推直到完成整個(gè)過程,實(shí)現(xiàn)工作流。上述介紹的只是工作流的實(shí)現(xiàn)思路,開發(fā)中還有許多技巧和方法。工作流的開發(fā)方法下面是在實(shí)際開發(fā)過程中,工作流設(shè)計(jì)所需要關(guān)注的主要方法,按設(shè)計(jì)開發(fā)的先后順序依次介紹:1)控制域:為每個(gè)流程建一張子表單〔notes的一個(gè)設(shè)計(jì)元素,可嵌入表單〕,除了正文表格以外其他所有的“控制域〞〔和用戶填寫和瀏覽內(nèi)容無關(guān)所有域〕都應(yīng)該放在子表單中,這張子表單將會(huì)在同一流程的每一張表單中都嵌入。以后所有控制域的修改都在該子表單增加或修改。表2-6列舉的是子表單常用控制域〔關(guān)于產(chǎn)品組織構(gòu)造數(shù)據(jù)的信息全部通過notes的SQL接口從統(tǒng)一入口中讀取〕。表2-6子表單常用控制域字段名說明Form計(jì)算,當(dāng)新建流程時(shí)使用新表單名,以后計(jì)算自己值:@if(@isnewdoc;〞流程第一張表單的名稱〞;form)Pstatus編輯,使用缺省人為第一字段的名稱,一般為“新建〞SendTo編輯,郵件承受人,多值A(chǔ)pplyDate計(jì)算,申請(qǐng)創(chuàng)立日期值:@if(@isnewdoc;@today;ApplyDate)ModifyDate計(jì)算,最后修改日期UnID計(jì)算,放置當(dāng)前表單的全球唯一標(biāo)識(shí)符EmployeeNo計(jì)算,人員工號(hào),如果表格中需要顯示則放在正文中Author作者域多值可編輯RoleAuthor作者域多值,放有作者權(quán)限的特殊角色Reader讀者域多值可編輯RoleReader讀者域多值,放有讀者權(quán)限的特殊角色TempApprover姓名域,臨時(shí)轉(zhuǎn)換審批人的值tempHr獲取供選擇外部行政數(shù)據(jù)構(gòu)造,根據(jù)行政層次擴(kuò)展需要增加tempProducts獲取供選擇外部產(chǎn)品數(shù)據(jù)構(gòu)造,根據(jù)產(chǎn)品層次擴(kuò)展需要增加saveoptions保存設(shè)置域,0為無法保存,1為可保存CopyTo姓名域多值,抄送人員列表2)表單的建立:首先需要建立全計(jì)算域的表單,表單中先嵌入子表單,子表單使用公式計(jì)算的方式嵌入,防止子表單過長(zhǎng)影響正文的編輯修改。在畫正文和表格前一定要考慮全面,不能漏掉一個(gè)域,規(guī)劃好以后再開場(chǎng)畫。設(shè)計(jì)表格時(shí)要將所有行列全部考慮進(jìn)去。表格設(shè)計(jì)好以后要固定寬度,然后再建域,這樣可以防止域名過長(zhǎng)而將表格撐大。此外還可以將表單所需的全局變量定義好,建立日志記錄域,使用的Script庫use說明,關(guān)閉按鈕,常用的Query0pen事件中對(duì)ODBC的檢驗(yàn)等。3)表單起名的標(biāo)準(zhǔn):以前面的流程為例,起名標(biāo)準(zhǔn)如表2-7,“|〞后面為實(shí)際編程時(shí)使用的別名,如果同一系統(tǒng)中還有其它分支流程則將開頭的字母改成B。這樣起名標(biāo)準(zhǔn)的優(yōu)點(diǎn)在于如果在4,5之間增加一個(gè)總經(jīng)理流程則為A041.xxx審批單(總經(jīng)理審批)|formApply_041,方便處理流程的設(shè)計(jì)變更。表2-7流程表單命名A01.SQA報(bào)告審批單〔創(chuàng)立人〕|formApply_01A02.SQA報(bào)告審批單〔SQA審核〕|formApply_02A03.SQA報(bào)告審批單〔工程經(jīng)理審批〕|formApply_03A04.SQA報(bào)告審批單〔產(chǎn)品經(jīng)理審批〕|formApply_04A05.SQA報(bào)告審批單〔完成〕|formApply_054)其它階段表單的建立:其它階段的表單只需將全計(jì)算的表單拷貝一份,改表單名,加上相關(guān)按鈕,將填寫局部改成可編輯(原有的計(jì)算值可以不用刪除)就可以使用了。但新建申請(qǐng),也就是第一張表單要注意對(duì)某些域加上缺省值,如日期、姓名等,還有在PostOpen事件中參加外部SQL根底數(shù)據(jù)信息的預(yù)讀取。5)流程實(shí)現(xiàn)過程設(shè)計(jì):通過notes的操作按鈕,在操作按鈕中編寫過程,傳入要到達(dá)的流程的目標(biāo)參數(shù),修改表單名稱,狀態(tài)值和操作者等相關(guān)字段,并發(fā)送郵件通知。對(duì)整套工作流的設(shè)計(jì)和實(shí)現(xiàn),還有很多技術(shù)和技巧,在后面再作具體介紹。從各個(gè)KPA系統(tǒng)中將數(shù)據(jù)抽取到過程數(shù)據(jù)庫中,并不是也不可能將不同數(shù)據(jù)都統(tǒng)一為一樣的數(shù)據(jù)構(gòu)造,只是在過程數(shù)據(jù)庫PDB中為每個(gè)KPA系統(tǒng)建立一個(gè)有通用構(gòu)造數(shù)據(jù)的匯總表,這樣在同一個(gè)數(shù)據(jù)庫中對(duì)數(shù)據(jù)表進(jìn)展關(guān)聯(lián)和數(shù)據(jù)查詢。同時(shí)這些數(shù)據(jù)表大局部的應(yīng)用都只是查找而不是寫入、更新或刪除,日常的執(zhí)行效率將提高許多。在匯總的底層過程數(shù)據(jù)表的根底上,為了提高CMM管理所需數(shù)據(jù)分析的效率,對(duì)于相對(duì)固定的查詢還可以根據(jù)需要縮小查詢的范圍,可以再次抽取數(shù)據(jù)到二層過程數(shù)據(jù)表中。這一局部在工程度量對(duì)過程數(shù)據(jù)的使用時(shí)再詳細(xì)說明。而這些底層匯總表有一局部的數(shù)據(jù)構(gòu)造是一樣的,表2-8就是這個(gè)統(tǒng)一接口數(shù)據(jù)構(gòu)造的表述:表2-8某一KPA統(tǒng)一接口數(shù)據(jù)構(gòu)造的表述T_PD1_〔KPI名稱〕字段名數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)nID…PROD_1產(chǎn)品系列1產(chǎn)品系列1…PROD_2工程1工程2…PROD_3版本1版本2…PROD_4NULLNULL……………HR_1事業(yè)部1事業(yè)部1…HR_2部門1部門3…HR_3科室1科室4…HR_4NULLNULL……………create_date2005-5-3114:202005-5-3114:20…update_date2005-6-1117:202005-5-3114:20…valid10…(Otherfield…)(…)(…)…表中ID為KPA系統(tǒng)中數(shù)據(jù)的唯一ID,create_date為數(shù)據(jù)在KPA系統(tǒng)中的創(chuàng)立日期,update_date為數(shù)據(jù)在KPA系統(tǒng)中的最后一次更新日期,valid為數(shù)據(jù)有效性(數(shù)據(jù)刪除只是置為無效,不實(shí)際刪除),這四個(gè)字段在各KPA數(shù)據(jù)構(gòu)造中都是必備的字段,都有數(shù)據(jù)對(duì)應(yīng);PROD_n為根底數(shù)據(jù)中產(chǎn)品構(gòu)造的各層次數(shù)據(jù),HR_n為根底數(shù)據(jù)中行政構(gòu)造的各層次數(shù)據(jù),這兩類根底數(shù)據(jù)一般是后續(xù)綜合各KPA數(shù)據(jù)進(jìn)展度量、查詢分析的要點(diǎn),以及進(jìn)展CMM過程改良的對(duì)象。各KPA系統(tǒng)本身的數(shù)據(jù)構(gòu)造都不是一兩張表所能構(gòu)成的,這就需要對(duì)KPA系統(tǒng)的數(shù)據(jù)進(jìn)展提煉和匯總后再進(jìn)展抽取。這一過程中匯總的方法、抽取數(shù)據(jù)值的要求和抽取的頻率,結(jié)合上面的統(tǒng)一接口數(shù)據(jù)構(gòu)造在本系統(tǒng)實(shí)際設(shè)計(jì)中的運(yùn)用,對(duì)相關(guān)的規(guī)則和數(shù)據(jù)構(gòu)造的設(shè)定加以說明。1)匯總方式:匯總抽取到過程數(shù)據(jù)庫PDB的數(shù)據(jù)取決于CMM實(shí)施時(shí)需要度量的最小單位的數(shù)據(jù),這需要企業(yè)在實(shí)施度量方案時(shí)對(duì)每個(gè)KPA的數(shù)據(jù)顆粒度做好定義。以PS的方案數(shù)據(jù)為例:PS中以工程方案為主線,一個(gè)方案可以有多個(gè)任務(wù),而每個(gè)任務(wù)的承接人員也可能有多個(gè),則對(duì)于PS來說需要度量的最小顆粒度就是任務(wù)及人員所擴(kuò)展對(duì)應(yīng)的所有屬性數(shù)據(jù)??梢栽谠碖PA系統(tǒng)中建立一張視圖,按對(duì)應(yīng)得最小顆粒度將其他數(shù)據(jù)關(guān)聯(lián)組織起來。2)抽取數(shù)據(jù)值:抽取到過程數(shù)據(jù)庫中的各字段的值,必須都是實(shí)際值,不能以原KPA系統(tǒng)中各配置表或關(guān)聯(lián)表中的標(biāo)示ID來表示。這是因?yàn)檫^程數(shù)據(jù)庫中的數(shù)據(jù)在使用時(shí)必須與源KPA系統(tǒng)完全斷開聯(lián)系,否則只是增加后續(xù)數(shù)據(jù)分析查詢的復(fù)雜度,并在跨系統(tǒng)建立數(shù)據(jù)關(guān)聯(lián)時(shí)消耗時(shí)間,包括產(chǎn)品構(gòu)造和行政構(gòu)造,都必須按層次寫入實(shí)際值,可以根據(jù)具體使用的層次來設(shè)定數(shù)量,或預(yù)留相應(yīng)的字段以備擴(kuò)展。3)抽取頻率:根據(jù)KPA系統(tǒng)數(shù)據(jù)增長(zhǎng)的情況來確定抽取頻率,一般建議為每天夜間。按照數(shù)據(jù)寫入過程數(shù)據(jù)庫的算法,每次抽取的數(shù)據(jù)量不會(huì)過大,只是一天內(nèi)新增和修改正的數(shù)據(jù)。隨著cmm等級(jí)的提高,其支撐KPA系統(tǒng)也會(huì)越來越多。但系統(tǒng)使用的平臺(tái)軟件的用戶登錄入口各不一樣,且沒有相應(yīng)的分類整理和說明,對(duì)普通使用者和管理層都帶來了不便。建立統(tǒng)一的軟件導(dǎo)航平臺(tái),并將相關(guān)的信息有機(jī)的組織分類,能給日常的工程研發(fā)和CMM管理的工作提供了一扇大門和一個(gè)高效的工作平臺(tái)。計(jì)本系統(tǒng)中CMM的支撐軟件按用戶的使用平臺(tái)分三類:notes應(yīng)用KPA系統(tǒng)、Web應(yīng)用KPA系統(tǒng)、其他客戶端軟件系統(tǒng)?,F(xiàn)代辦公都是基于電子郵件,而本系統(tǒng)大局部的應(yīng)用系統(tǒng)及郵件系統(tǒng)都建立在LotusNotes平臺(tái)上,所以采用LotusNotes系統(tǒng)作為支撐軟件的導(dǎo)航系統(tǒng)的設(shè)計(jì)平臺(tái)。各企業(yè)在設(shè)計(jì)過程中可以根據(jù)KPA系統(tǒng)使用平臺(tái)的分布情況,采用Web平臺(tái)或其他通用性較好的工作協(xié)作平臺(tái)。在Notes中為每個(gè)應(yīng)用系統(tǒng)定制如圖2-11的表單,其中主要信息包括:系統(tǒng)名稱、使用范圍、簡(jiǎn)要描述、類型、設(shè)計(jì)和維護(hù)者、系統(tǒng)當(dāng)前的使用狀況、位置等。簡(jiǎn)要描述中可以放置系統(tǒng)的簡(jiǎn)介和說明并增加使用手冊(cè)等附件;類型可以按系統(tǒng)在企業(yè)內(nèi)工程研發(fā)周期各重要節(jié)點(diǎn)的使用來劃分,如方案管理、配置管理、數(shù)據(jù)度量、風(fēng)險(xiǎn)管理等;設(shè)計(jì)和維護(hù)人員信息可以對(duì)系統(tǒng)使用中的問題或權(quán)限申請(qǐng)時(shí)及時(shí)定位;而當(dāng)前的使用狀況則標(biāo)示系統(tǒng)當(dāng)前是否正常使用或停用。圖2-11導(dǎo)航信息表單內(nèi)容對(duì)不同使用平臺(tái)的軟件的位置如圖2-11中分別進(jìn)展了處理,notes平臺(tái)的軟件需要定位到效勞器和路徑;而Web應(yīng)用系統(tǒng)有URL地址就可以直接連接到Web瀏覽器;其他類型的客戶端系統(tǒng)在操作系統(tǒng)中安裝后一般都會(huì)在注冊(cè)表中寫入啟動(dòng)的命令,直接將命令填入位置信息即可。使用“點(diǎn)擊進(jìn)入〞的操作對(duì)應(yīng)不同的系統(tǒng)平臺(tái)位置,翻開相應(yīng)的KPA系統(tǒng)。將各CMM系統(tǒng)的相應(yīng)信息輸入導(dǎo)航表單并保存為文檔記錄,可以通過notes的視圖、頁面或?qū)Ш狡鱽韺?duì)內(nèi)容進(jìn)展信息組織。使用視圖可以直接按不同的字段設(shè)置分類折疊查詢,也可通過系統(tǒng)名稱在視圖中直接搜索到導(dǎo)航表單,如圖2-12:圖2-12分類導(dǎo)航平臺(tái)也可以如圖2-13,將工程開發(fā)周期中各系統(tǒng)的輸入輸出的流向繪制成導(dǎo)航地圖,為每個(gè)節(jié)點(diǎn)設(shè)置文檔連接,直接定位翻開前面的各系統(tǒng)的導(dǎo)航信息文檔,這樣會(huì)讓使用者對(duì)整個(gè)CMM軟件的運(yùn)作情況一目了然。圖2-13研發(fā)過程導(dǎo)航地圖導(dǎo)航平臺(tái)的組織方式可以由企業(yè)自行定制,要到達(dá)的主要目標(biāo)是讓用戶方便直觀的定位到需要使用的CMM軟件系統(tǒng),提高使用效率,并易于管理和維護(hù)。權(quán)限驗(yàn)證集成不同平臺(tái)的KPA軟件,一般都有自己獨(dú)立的登錄和權(quán)限驗(yàn)證系統(tǒng),這造成每個(gè)用戶在不同系統(tǒng)中都有不同的賬戶并需要設(shè)置密碼,這給使用帶來了極大的不便,也降低了效率。需要對(duì)各系統(tǒng)的權(quán)限驗(yàn)證功能進(jìn)展集成和優(yōu)化。以本系統(tǒng)為例,notes系統(tǒng)平臺(tái)的用戶賬戶涵蓋了郵件和協(xié)作軟件的使用,權(quán)限集成很好;而商用軟件一般都會(huì)與操作系統(tǒng)的網(wǎng)絡(luò)域管理集成,如CC,CQ,Web應(yīng)用系統(tǒng),可以通過IIS的密鑰驗(yàn)證,也可以將賬戶和操作系統(tǒng)域用戶集成。但還是可能會(huì)有局部軟件無法集成,所以在規(guī)劃這個(gè)CMM軟件集成方案時(shí)需要盡量使用統(tǒng)一的軟件平臺(tái)。第3章本系統(tǒng)的設(shè)計(jì)難點(diǎn)、關(guān)鍵解決技術(shù)在中介紹過了根底數(shù)據(jù)的產(chǎn)品構(gòu)造模型,但在很多企業(yè)的實(shí)際運(yùn)作中,并不是完全按照從上至下的這種構(gòu)造來進(jìn)展軟件產(chǎn)品工程的開發(fā)和管理,軟件企業(yè)是以團(tuán)隊(duì)組織進(jìn)展軟件產(chǎn)品的開發(fā),在人力資源和軟件模塊上都是共享的。對(duì)于這類企業(yè),“工程〞這一層次可能比擬特殊,“工程〞是一個(gè)平臺(tái)化的團(tuán)隊(duì),它可能效勞于多個(gè)“產(chǎn)品〞或“產(chǎn)品規(guī)格型號(hào)〞,而同一個(gè)“產(chǎn)品〞需要多個(gè)工程共同協(xié)作來完成開發(fā)。此時(shí)原有的父子的樹型關(guān)系就無法再表示,需要增加一個(gè)分支,并為“產(chǎn)品〞或“產(chǎn)品規(guī)格型號(hào)〞和“工程〞間建立關(guān)系。本系統(tǒng)在實(shí)施時(shí)也遇到這種情況,如圖3-1所示模型:圖3-1產(chǎn)品與工程關(guān)系擴(kuò)展模型此時(shí)數(shù)據(jù)表(TPRODUNIT)構(gòu)造需增加一個(gè)字段(TYPE),不同(TYPE)的值表示不同的分支,并建立一張新表(T_PROD_PROD),產(chǎn)品的ID和工程ID的多對(duì)多的關(guān)系說明同樣層次“工程〞和“產(chǎn)品型號(hào)規(guī)格〞之間的聯(lián)系。如表3-1(a)(b)
表3-1(a)T_PRODUNIT表增加TYPE字段IDParent_IDInherit_IDLevelTYPE0010000011PROD120001001,1202PROD276120001,120,2763PROD1350000002PROJ表3-1(b)T_PROD、PROJ表構(gòu)造PROD_IDPROJ_ID120135工程作為一個(gè)單獨(dú)的分支,也可以向上和向下擴(kuò)展,如建立開發(fā)組層次,而不與產(chǎn)品構(gòu)造有沖突,但同樣建議控制深度,以免導(dǎo)致實(shí)際構(gòu)造組織的效率下降。3.2ClearQuest的Hook機(jī)制前文我們?cè)贑learQuest的應(yīng)用中,對(duì)提出的問題給出了優(yōu)化解決的方案,而如何實(shí)現(xiàn)這些變更處理的優(yōu)化,讓變更管理系統(tǒng)的定義更加靈活、功能更加強(qiáng)大,這里我們來研究ClearQuest提供的Hook機(jī)制。Hook就是用戶用某種語言編寫的一小段代碼,會(huì)在操作某個(gè)記錄〔Record〕的特定時(shí)候觸發(fā)執(zhí)行。它可以檢查某個(gè)記錄的字段是否滿足復(fù)雜的約束條件,可以限制特定的當(dāng)前用戶才有權(quán)限操作,可以限制上傳文件的大小,可以在對(duì)特定的事件記錄日志,可以動(dòng)態(tài)靈活的生成各種選擇列表,甚至可以更靈活的和其他Rational工具,如ClearCase,RequirementZ具等集成。Hook有四種類型:字段、操作、記錄類型和全局。1)字段Hook可以在運(yùn)行時(shí)檢查字段的值約束條件,賦予它缺省值,或者根據(jù)當(dāng)前情況調(diào)整其他字段2)操作Hook可以檢查執(zhí)行操作的權(quán)限,驗(yàn)證整個(gè)記錄的有效性,或當(dāng)操作完成后發(fā)送通知3)記錄類型Hook是針對(duì)某一記錄類型定義的Hook4)全局Hook實(shí)際上就是全局函數(shù),可以在任何Hooks中調(diào)用Hook使用的語言一種類包括VB腳本、Perl腳本、常量和常量列表,且并不是每一種字段都支持所有的語言,圖3-2所示的就是操作Hook的設(shè)計(jì)界面:圖3-2操作Hook設(shè)計(jì)界面3.2.2Hook的應(yīng)用技術(shù)本系統(tǒng)中使用了VB作為Hook的主要設(shè)計(jì)語言,它對(duì)于CQ內(nèi)的對(duì)象的操作更直觀易讀,下面通過一段操作Hook,對(duì)錄入系統(tǒng)的變更進(jìn)展研究指派的操作,來說明操作Hook的應(yīng)用技術(shù):‘定義變量DimbValidateDim,..…‘對(duì)錄入的變更類型進(jìn)展判斷,給與必要操作提醒ifGetFieldValue(〞變更類型〞).GetValue()=〞需求〞thensmsg=smsg&〞需求指派的配置項(xiàng)必須含有’需求說明書’msgboxsMsg,64+0,〞提示〞Endif‘獲得外部數(shù)據(jù)的工程成員列表,并對(duì)列表sUsers=sGetProjUserssUserlist=split(sUsers,";")SetFieldChoiceList〞處理人〞,(sUserList)bflagSimple=GetFieldValue("flagSimple").GetValue()‘獲得變更類型crtype=GetFieldValue(〞變更類型〞).GetValue()SetFieldValue〞驗(yàn)證人〞,GetFieldValue(〞提交人〞).GetValue‘針對(duì)不同變更,驗(yàn)證當(dāng)前所需填寫內(nèi)容是否完全ifcrtype=〞缺陷〞thenSetFieldRequirednessForCurrentAction〞所屬模塊〞,AD-MANDATORYelseSetFieldRequirednessForCurrentAction〞所屬模塊〞,AD_OPTIONALendif,如果是外部故障,則需填寫如下內(nèi)容ifGetFieldValue(〞故障類型〞).GetValue()=〞外部故障〞thenSetFieldRequirednessForCurrentAction〞解決方案〞,AD_MANDATORYSetFieldRequirednessForCurrentAction"XXX",ADseMANDATORYendifSetFieldValue〞變更評(píng)審日期〞,Date記錄下SCCB的評(píng)審意見oldMemo=GetFieldValue("SCCB意見〞).GetValue()iftrim(oldMemo)o’川thennewMemo=cstr(date)&〞建議方案:〞&chr(13)&chr(10)&oldMemoelsenewMemo一cstr(date)&’,建議方案:。,EndifnewMemo=newMemo&GetFieldValue(〞建議方案〞).GetValue()SetFieldValue"SCCB意見〞,newMemo為下一個(gè)處理初始化值SetFieldValue〞合入版本〞,,,無,,SetFieldValue〞引入責(zé)任部門〞,“〞Hooks是ClearQuest提供的一個(gè)很重要、很有用的功能。利用它就可以非常靈活的定義變更管理模板,擴(kuò)展ClearQuest的功能。3.3ProjectServer提醒問題解決在中我們提到過,可以對(duì)ProjectServer的郵件提示進(jìn)展優(yōu)化,定制各類提醒和通知,但ProjectServer自身提供的定制功能相當(dāng)有限。如提醒的字樣和格式無法修改,無法定制統(tǒng)一的提醒規(guī)則等,這使ProjectServer功能雖然強(qiáng)大,但在人性化設(shè)定方面有些缺乏。但通過研究發(fā)現(xiàn),作為ProjectSever數(shù)據(jù)庫的SQLServer數(shù)據(jù)庫,實(shí)際上是開放的,通過對(duì)ProjectSever數(shù)據(jù)庫的構(gòu)造的研究,解決了下面的實(shí)際問題。提醒格式的修改通過研究數(shù)據(jù)庫構(gòu)造,發(fā)現(xiàn)其實(shí)提醒的信息都存儲(chǔ)在數(shù)據(jù)表MSPWEBCONVERSIONS中,如表3-2所示:表3-2MSPWEBCONVERSIONS表信息STRING_TYPE_IDCONV_VALUELANG_IDCONV_STRING39181033Thefollowingtasksarecurrentlyoverdue.\n\n39182052★您下達(dá)的以下任務(wù)今天已到期,請(qǐng)盡快與任務(wù)負(fù)責(zé)人聯(lián)系并對(duì)反應(yīng)的完成情況進(jìn)展確認(rèn)\n其中STRING_TYPE_ID為表示提示信息的字符類型;CONV_VALUE是提醒信息的代碼;LANG_ID為語言代碼,1033為英語,2052為簡(jiǎn)體中文;而CONV_STRING就是你可以自行定義的提醒通知的提示信息,其中“\n〞表示換行。如何找到要修改的對(duì)應(yīng)的信息呢其實(shí)只要將現(xiàn)有收到的提示信息的內(nèi)容,在CONV_STRING字段中查找,就可以找到相應(yīng)的記錄,直接修改內(nèi)容即可。但要提醒大家的是最好在測(cè)試環(huán)境中修改測(cè)試無誤后,再對(duì)正式環(huán)境修改,以免破壞數(shù)據(jù)庫構(gòu)造。企業(yè)內(nèi)對(duì)于管理要求應(yīng)該是統(tǒng)一的,但ProjectServer只提供了個(gè)人的郵件提醒定制,同樣通過對(duì)數(shù)據(jù)庫構(gòu)造,找到了提醒規(guī)則設(shè)定的數(shù)據(jù)表MSPWEBREMINDERS。首先根據(jù)MSPWEBRESOURCES表中的用戶名稱,找到用戶ID字段WRES_ID,而這個(gè)字段對(duì)應(yīng)MSP_WEB_RESOURCES表中的wrmnd_owner_id字段。根據(jù)wrmnd_owner_id將某一用戶的提醒規(guī)則記錄全部刪除,然后通過ProjectSever的提醒通知定義界面重新定義需要的規(guī)則,再根據(jù)wrmnd_owner_id就可以找到,只要復(fù)制這些規(guī)則記錄,而將wrmnd_owner_id的用戶ID值修改,就可以為其它人定制規(guī)則。通過下面這段SQL語句就可以為所有企業(yè)用戶在表(mspwebreminders)中定制任務(wù)開場(chǎng)前1天的提醒。InsertintoMSPWEBREMINDERS(wrmnd_owner_id,wrmnd_type_id,wrmndis_enabled,wrmndsendto,wrmnd,parameters,wrmndcriteria,wrmnd_start_date,wfreq,wfreqparl,wfreqpar2,wfreqpar3,wrmndnextupdate)Selectt1.wres_id,11001,1,0,’1,0','ASSN_STARTseDATE>=[today+1]andASSN-START-DATE<[today+2]','2000-01-01',0,1,127,0,convert(char(10),GetDate()+l,121)FromMSPWEBRESOURCESt1Wheret1.wresisenabled=1同樣其他的提醒規(guī)則,如任務(wù)到期、超期等也都可以通過這種方式為特定或所有用戶定制。前面在2.4節(jié)中介紹了協(xié)同工作軟件的設(shè)計(jì)方法,在實(shí)際的設(shè)計(jì)過程中還有許多需要解決的問題,通過實(shí)踐積累也獲得相關(guān)的設(shè)計(jì)技術(shù)和技巧。工作流的視圖設(shè)計(jì)1)文檔在視圖中的顯示文檔需要顯示在視圖中,視圖的文檔的篩選條件通過Selectform="XXX',的公式語言來實(shí)現(xiàn)的,按照節(jié)中表2-7所涉及的流程表單ViewSelection條件中就必須寫一大串form的名稱用“或〞連接起來,如果有流程表單的增加視圖也必須修改了。但這時(shí)別名則可以寫成SELECT@Contains(form;"formApply")或Select@left(form;"_")="formApply",就可以涵蓋整個(gè)流程所需要使用到的表單。2)文檔在視圖中的翻開權(quán)限控制一前面介紹了工作流的實(shí)現(xiàn)方法,可能就有人會(huì)問,改了表單form以后那其他讀者(非當(dāng)前編輯者)翻開文檔時(shí)不就會(huì)看到不屬于他的操作或內(nèi)容了嗎這里就要介紹一下視圖FormFormula1211的用法,還是以SQA報(bào)告評(píng)審流程為例:視圖的FormFormula的寫法為:@If(@IsMember(@UserName;author)|@IsNewDoc;form;"formApply_5"),這里的含義是如果是新建文檔,或當(dāng)前用戶為文檔當(dāng)前階段的操作者的成員,則使用文檔Form域中保存的值的表單來顯示,否則以完成狀態(tài)的計(jì)算表單來顯示。關(guān)于FormFormula的用法還有許多技巧,大家可以慢慢體會(huì)。節(jié)中提到,可以通過notes的操作按鈕,在操作按鈕中編寫過程,傳入要到達(dá)的流程的目標(biāo)參數(shù),修改表單名稱,狀態(tài)值和操作者等相關(guān)字段,并發(fā)送郵件通知。下面就給出一個(gè)過程sub_apply,具體說明實(shí)現(xiàn)流程變換中涉及的處理和郵件通知:Subsub-apply(intParamAsstring)-輸入?yún)?shù)為前面定義的流程目的的表單別名最右邊的編號(hào),也可以是具體的目的的狀態(tài)名稱Dim·····定義的參數(shù)Set······設(shè)置初始值CallconnToDB(CONN)-建立外部關(guān)系數(shù)據(jù)庫數(shù)據(jù)連接的過程SelectCaseintParam-根據(jù)參數(shù)來判斷流程處理步驟Case“1”:Case“2”:IfMsgbox(“是否將該申請(qǐng)交XX審批“,289)01Then一提交前必需有確認(rèn)操作ExitSubEndIfdoc.form="formApply_2",為form域賦予目的的表單名doc.Author=doc.SendTo(0)-寫入下一個(gè)操作者doc.Pstatus="SQA審批〞-寫入顯示狀態(tài)doc..fi1erecord(0)+Chr(13)+Cstr(newdoc.Created)+“XX審批,,-寫.文檔日志doc.saveoptions=“1”-Calluidoc.save’-保存Callsub_SendMailByName(doc.SendTo,“請(qǐng)?jiān)谠u(píng)審〞,’請(qǐng)?zhí)顚懺u(píng)審意見“,doc),發(fā)郵件給流程下一處理人,主送Callsub_SendMailByN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國石油大學(xué)(北京)《網(wǎng)絡(luò)及信息安全技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)春光華學(xué)院《數(shù)據(jù)倉庫理論與實(shí)踐實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 食品加工機(jī)械衛(wèi)生級(jí)潤(rùn)滑產(chǎn)品
- 餐飲業(yè)前瞻與策略模板
- 財(cái)務(wù)團(tuán)隊(duì)商務(wù)禮儀模板
- 專業(yè)基礎(chǔ)知識(shí)(給排水)-(給水排水)《專業(yè)基礎(chǔ)知識(shí)》模擬試卷1
- 生物地理學(xué)探究模板
- 商務(wù)禮儀講解模板
- 青少年健身指南模板
- 誠信考試-國旗下講話發(fā)言稿
- 2024年公務(wù)員考試必背常識(shí)大全
- JTG∕T E61-2014 公路路面技術(shù)狀況自動(dòng)化檢測(cè)規(guī)程
- 勞工與人權(quán)管理核心制度
- 北師大版數(shù)學(xué)五年級(jí)上冊(cè)第三單元《倍數(shù)與因數(shù)》大單元整體教學(xué)設(shè)計(jì)
- 中藥灌腸方法
- 醫(yī)美整形美容醫(yī)院眼部抗衰品牌課件
- 軟件研發(fā)安全管理制度
- 大學(xué)暑假假期社會(huì)實(shí)踐心得體會(huì)3篇
- 科普產(chǎn)業(yè)發(fā)展現(xiàn)狀調(diào)查報(bào)告
- 2024湖南湘電集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 新課標(biāo)人教版小學(xué)四年級(jí)體育與健康下冊(cè)全冊(cè)教案設(shè)計(jì)及教學(xué)反思
評(píng)論
0/150
提交評(píng)論