鄧 軍
(湖南科技職業(yè)學(xué)院,中國 長沙 410004)
基于CMMI的企業(yè)軟件過程與質(zhì)量管理平臺設(shè)計(jì)
鄧 軍*
(湖南科技職業(yè)學(xué)院,中國 長沙 410004)
針對提高企業(yè)軟件過程管理的需要,設(shè)計(jì)了一種企業(yè)軟件過程與質(zhì)量管理平臺.采用三層模式結(jié)構(gòu)設(shè)計(jì)出了平臺系統(tǒng)架構(gòu),采取組件化的設(shè)計(jì)方式,在同一組件模塊中進(jìn)行縱向分層子模塊設(shè)計(jì),不同層子模塊之間以及同層子模塊之間通過規(guī)范的接口交互信息.根據(jù)平臺的應(yīng)用需求,采用了協(xié)同式方法,將平臺分解成了企業(yè)軟件過程管理子系統(tǒng)、企業(yè)軟件過程資源庫及過程改進(jìn)子系統(tǒng)和企業(yè)軟件質(zhì)量評價(jià)及決策支持子系統(tǒng),并對3個子系統(tǒng)分別進(jìn)行了詳細(xì)設(shè)計(jì).
軟件過程;軟件能力成熟度模型集成;軟件質(zhì)量管理; 軟件質(zhì)量評價(jià);過程改進(jìn)
軟件產(chǎn)業(yè)是信息產(chǎn)業(yè)的核心和國民經(jīng)濟(jì)信息化的基礎(chǔ),目前我國軟件產(chǎn)業(yè)每年保持25%以上的高速增長速度,軟件產(chǎn)品市場正由導(dǎo)入期走向成長期[1].但軟件生產(chǎn)還處于模仿和加工階段,究其原因主要存在如下不足:
(1) 軟件過程不夠成熟:由于軟件的開發(fā)和維護(hù)過程不規(guī)范,沒有統(tǒng)一的標(biāo)準(zhǔn),互不兼容導(dǎo)致無法形成產(chǎn)業(yè)鏈,軟件企業(yè)成本增加;達(dá)到CMMI3以上認(rèn)證的企業(yè)數(shù)目較少.
(2) 企業(yè)規(guī)模普遍偏小[2]:由于軟件的開發(fā)和維護(hù)過程不規(guī)范,沒有統(tǒng)一的標(biāo)準(zhǔn),仍停留在原始的、作坊式的加工階段,從組織和管理上難以實(shí)現(xiàn)企業(yè)的不斷發(fā)展,核心競爭力較缺乏.員工的分工(需求分析、系統(tǒng)設(shè)計(jì)、編碼、測試、實(shí)施等)往往不能清晰界定,項(xiàng)目與項(xiàng)目或產(chǎn)品與產(chǎn)品之間不能達(dá)到有計(jì)劃的流動,不能實(shí)現(xiàn)專業(yè)化和產(chǎn)業(yè)化,因此,人力成本居高不下,企業(yè)往往不堪重負(fù).
(3) 企業(yè)出口能力很弱:企業(yè)沒有完善的質(zhì)量保障體系,對軟件過程缺乏有效的管理機(jī)制,缺乏嚴(yán)格的質(zhì)量認(rèn)證和規(guī)范化管理,難以形成自主知識產(chǎn)權(quán)的拳頭產(chǎn)品,無法與國外較強(qiáng)軟件企業(yè)抗衡.
基于目前的形勢,本文構(gòu)建出一個組件化的、具體統(tǒng)一的、與國際接軌的、又能夠靈活地為企業(yè)提供個性化服務(wù)的、適應(yīng)軟件企業(yè)提升軟件質(zhì)量的管理系統(tǒng).幫助企業(yè)按照國內(nèi)外權(quán)威標(biāo)準(zhǔn)和規(guī)范要求,如CMMI(軟件能力成熟度模型集成)對軟件過程進(jìn)行有效改進(jìn)、規(guī)范管理,協(xié)助軟件企業(yè)本身建立較好的質(zhì)量保證體系[3-4],有效解決目前制約軟件企業(yè)普遍存在的瓶頸問題.
本文以CMMI和ISO9000族[5]標(biāo)準(zhǔn)為基礎(chǔ),針對國內(nèi)不同規(guī)模軟件企業(yè)的軟件過程模式,建立一個企業(yè)軟件過程與質(zhì)量管理平臺,為軟件企業(yè)的軟件過程管理和質(zhì)量保證提供有效方法和手段.
平臺架構(gòu)采用“三層模式”設(shè)計(jì).從縱向?qū)用嫔戏譃椋合到y(tǒng)應(yīng)用層、安全管理層和系統(tǒng)擴(kuò)展層.系統(tǒng)應(yīng)用層為平臺的核心部分,負(fù)責(zé)系統(tǒng)的所有業(yè)務(wù)功能;安全管理層負(fù)責(zé)平臺的安全策略控制和網(wǎng)絡(luò)管理;系統(tǒng)擴(kuò)展層負(fù)責(zé)連接其他應(yīng)用系統(tǒng).三層的設(shè)計(jì)都采用組件化的設(shè)計(jì)思想,不同層次之間廣泛采用各種標(biāo)準(zhǔn)的開放接口交互資源、控制以及承載業(yè)務(wù)等信息,如圖1所示.
圖1 系統(tǒng)體系結(jié)構(gòu)圖Fig.1 System structure diagram
系統(tǒng)應(yīng)用層從橫向也采用三層模式設(shè)計(jì),分別是質(zhì)量評價(jià)和過程管理層、組件層和數(shù)據(jù)訪問層;層次之間信息交互也采用組件技術(shù),將軟件通過分層打包,開發(fā)系統(tǒng)化的組件模塊.在同一組件模塊中進(jìn)行縱向分層子模塊設(shè)計(jì),不同層子模塊之間以及同層子模塊之間通過規(guī)范的接口交互信息.
根據(jù)CMMI,系統(tǒng)設(shè)計(jì)18個關(guān)鍵模塊共同完成CMMI中的18關(guān)鍵過程域,如圖2所示.
圖2 系統(tǒng)模塊與CMMI KPA映射關(guān)系圖Fig.2 System module and CMMI KPA mapping diagram
18個模塊并不是與CMMI的18個KPA一一對應(yīng),根據(jù)項(xiàng)目設(shè)計(jì)需要而是相互交叉實(shí)現(xiàn)的.系統(tǒng)架構(gòu)圖中的核心業(yè)務(wù)部分負(fù)責(zé)實(shí)現(xiàn)項(xiàng)目管理、產(chǎn)品管理、需求管理、計(jì)劃管理、任務(wù)管理、配置過程管理、變更管理、缺陷管理、測試過程管理、培訓(xùn)管理、測量管理、工作技能管理、軟件質(zhì)量保證、合同管理和里程碑管理.決策分析、項(xiàng)目過程評價(jià)和軟件質(zhì)量評價(jià)由質(zhì)量評價(jià)及過程改進(jìn)子系統(tǒng)實(shí)現(xiàn).核心業(yè)務(wù)部分與質(zhì)量評價(jià)及過程改進(jìn)子系統(tǒng)通過工作流引擎實(shí)現(xiàn)數(shù)據(jù)交互.
系統(tǒng)設(shè)計(jì)按照平臺的功能予以實(shí)現(xiàn).將系統(tǒng)分為下列3部分:企業(yè)軟件過程管理子系統(tǒng);企業(yè)軟件過程資源庫及過程改進(jìn)子系統(tǒng);企業(yè)軟件質(zhì)量評價(jià)及決策支持子系統(tǒng).各子系統(tǒng)的功能模塊按組件技術(shù)設(shè)計(jì)完成后,再將各組件放置到系統(tǒng)架構(gòu)中規(guī)定的各自層次中.但是,各子系統(tǒng)之間都存在相互依賴和協(xié)同工作的關(guān)系.3個子系統(tǒng)的關(guān)系如圖3所示.
圖3 子系統(tǒng)關(guān)系圖Fig.3 Relationship between sub systems diagram
由圖3可知,3個子系統(tǒng)在實(shí)際使用過程中存在數(shù)據(jù)交互和相互依存,這樣為軟件企業(yè)提供一個能實(shí)現(xiàn)軟件開發(fā)過程控制和資源積累的軟件管理平臺,有利于企業(yè)對長期積累的開發(fā)過程數(shù)據(jù)進(jìn)行有效分析,使企業(yè)軟件開發(fā)過程得到持續(xù)改進(jìn).
2.1 企業(yè)軟件過程管理子系統(tǒng)設(shè)計(jì)
該子系統(tǒng)是平臺3部份中的業(yè)務(wù)中心,對軟件過程管理進(jìn)行全面監(jiān)控,為軟件開發(fā)活動涉及的任務(wù)分配、信息定義和項(xiàng)目管理提供支持.該子系統(tǒng)構(gòu)成整個平臺的基礎(chǔ),并可獨(dú)立運(yùn)行.總體架構(gòu)如圖4所示.
圖4 企業(yè)軟件過程管理子系統(tǒng)的總體架構(gòu)圖Fig.4 The overall system architecture of software process management of enterprise digram
圖5 改進(jìn)型的企業(yè)標(biāo)準(zhǔn)軟件過程管理流程圖 Fig.5 Improved enterprise standard of software process management flow chart
由圖4可見,企業(yè)軟件過程管理子系統(tǒng)提供了一個集生產(chǎn)過程管理、質(zhì)量保證、成本分析、業(yè)務(wù)活動處理于一體的綜合管理平臺,其功能模塊涵蓋了軟件能力成熟度模型CMMI 5個等級和ISO9000族所要求的關(guān)鍵過程域和相關(guān)要素.功能模塊包括:軟件產(chǎn)品/軟件項(xiàng)目管理、計(jì)劃管理、問題管理、測試管理、任務(wù)管理、配置管理、軟件質(zhì)量保證,測量統(tǒng)計(jì)管理等一系列密切相關(guān)的功能組.
并且通過任務(wù)協(xié)同和工作流控制,支持CMMI所要求的機(jī)構(gòu)級和項(xiàng)目級軟件過程的功能,并能應(yīng)用過程模板和裁減指南定制符合企業(yè)自身的軟件過程[6-7].
2.2 企業(yè)軟件過程資源庫及過程改進(jìn)子系統(tǒng)設(shè)計(jì)
該子系統(tǒng)是平臺3部份中的政策中心,是將軟件開發(fā)過程中的有關(guān)數(shù)據(jù)進(jìn)行記錄和管理,實(shí)現(xiàn)軟件開發(fā)過程的資源優(yōu)化和重復(fù)利用,并對其不斷改進(jìn)優(yōu)化.與“企業(yè)軟件過程管理子系統(tǒng)”共同構(gòu)成“企業(yè)軟件質(zhì)量評估及決策支持子系統(tǒng)”的數(shù)據(jù)基礎(chǔ).主要進(jìn)行以下兩方面的設(shè)計(jì).
2.2.1 企業(yè)標(biāo)準(zhǔn)軟件過程改進(jìn)設(shè)計(jì) 為軟件項(xiàng)目提供在開發(fā)、維護(hù)、實(shí)施方面的基本準(zhǔn)則,從組織層明確規(guī)范軟件開發(fā)的標(biāo)準(zhǔn)過程,完成可重復(fù)利用、有價(jià)值的“軟件過程資產(chǎn)”.它需要依照一定的規(guī)則和方法進(jìn)行改進(jìn)和優(yōu)化,企業(yè)標(biāo)準(zhǔn)軟件過程改進(jìn)有一套對標(biāo)準(zhǔn)過程的開發(fā)和維護(hù)的過程體系[6-7],為企業(yè)標(biāo)準(zhǔn)過程的改進(jìn)提供操作平臺.當(dāng)然,這個過程與其他過程一樣,都可以根據(jù)不同企業(yè)的改進(jìn)模型進(jìn)行流程自定義.圖5是一個改進(jìn)模型的流程圖示.
2.2.2 企業(yè)軟件生命周期和過程裁剪設(shè)計(jì) 企業(yè)軟件生命周期和過程裁剪指南功能模塊實(shí)現(xiàn)的目標(biāo)是:指導(dǎo)軟件過程管理和實(shí)施者選擇出符合企業(yè)要求的軟件開發(fā)過程和軟件生命周期模型,裁減符合項(xiàng)目要求的項(xiàng)目軟件過程,并應(yīng)用于軟件項(xiàng)目的開發(fā),確保軟件開發(fā)過程質(zhì)量得到控制和跟蹤.
建立和維護(hù)軟件過程中常用的、符合企業(yè)軟件過程特點(diǎn)的軟件過程模型庫,如常用的V模型,V噴泉模型(V模型和噴泉原型),原型模型,瀑布模型等[7].
圖6 過程裁剪示意圖Fig.6 Schematic diagram of process tailoring
在項(xiàng)目的初始階段,生命周期模型的選擇是一個必須而且關(guān)鍵的任務(wù),系統(tǒng)可以自動化方式選擇過程模型,提高工作效率[8-9].從一系列可選的生命周期模型中選擇最合適的生命周期.根據(jù)項(xiàng)目的類型以及各種其他必要信息(例如工作量、團(tuán)隊(duì)大小、復(fù)雜性、需求清晰程度等),可設(shè)計(jì)一個計(jì)算矩陣,推薦最合適的生命周期.
在裁減生成項(xiàng)目軟件過程和生命周期模型過程中,其影響過程裁剪的因素如圖6所示.
2.2.3 企業(yè)項(xiàng)目軟件過程資源數(shù)據(jù)庫設(shè)計(jì) 位于平臺的數(shù)據(jù)訪問層.以文檔數(shù)據(jù)庫、業(yè)務(wù)數(shù)據(jù)庫、管理信息數(shù)據(jù)庫、員工數(shù)據(jù)庫、認(rèn)證數(shù)據(jù)庫、項(xiàng)目數(shù)據(jù)庫和產(chǎn)品數(shù)據(jù)庫等為基礎(chǔ)數(shù)據(jù),在協(xié)同工作的基礎(chǔ)上,按照不同需求(如項(xiàng)目質(zhì)量、成本、周期等)進(jìn)行提煉和抽取,動態(tài)地不斷更新和完善,得到不斷更新和充實(shí)的“企業(yè)軟件過程資源數(shù)據(jù)庫系統(tǒng)”形成企業(yè)級的過程數(shù)據(jù)庫.為軟件過程的改進(jìn)提供歷史項(xiàng)目的查詢、統(tǒng)計(jì)及分析.
2.3 企業(yè)軟件質(zhì)量評價(jià)及決策支持子系統(tǒng)設(shè)計(jì)
是平臺的分析決策中心.通過軟件過程資源的管理實(shí)現(xiàn)機(jī)構(gòu)軟件資源和項(xiàng)目文檔管理的規(guī)范化,為軟件企業(yè)提供開放式的軟件技術(shù)文檔自動生成和管理工具.
2.3.1 軟件質(zhì)量評價(jià)設(shè)計(jì) 軟件質(zhì)量評價(jià)是一項(xiàng)系統(tǒng)活動,包括最終產(chǎn)品的評價(jià)、開發(fā)過程評價(jià)以及若干相似功能的軟件比較評價(jià).軟件質(zhì)量和評價(jià)技術(shù)在國外已發(fā)展成為一項(xiàng)比較完整的技術(shù),并在某些大型軟件公司中投入實(shí)際使用,它對降低軟件開發(fā)成本,提高軟件質(zhì)量和軟件生產(chǎn)率起了一定的作用.
圖7 軟件質(zhì)量評價(jià)工作方式示意圖 Fig.7 Schematic diagram of software quality evaluation work
本文依據(jù)ISO9216,并參考國外質(zhì)量評估系統(tǒng)模型,結(jié)合我國的實(shí)際情況,提出建立統(tǒng)一的多數(shù)據(jù)源的多層質(zhì)量評測軟件模型,形成軟件質(zhì)量評價(jià)體系.評價(jià)模塊建立在過程管理平臺基礎(chǔ)上.共同組成質(zhì)量評價(jià)模型.其工作方式如圖7所示.
評價(jià)系統(tǒng)的數(shù)據(jù)來源是在機(jī)構(gòu)過程數(shù)據(jù)的基礎(chǔ)上,根據(jù)項(xiàng)目過程數(shù)據(jù)和控制信息按照制定模型進(jìn)行分析,對產(chǎn)品/項(xiàng)目的特性分別進(jìn)行各自評價(jià).從圖7中可以看出評價(jià)系統(tǒng)對企業(yè)改進(jìn)軟件過程起著關(guān)鍵性的作用,系統(tǒng)的實(shí)施會大幅改變企業(yè)在過程改進(jìn)中盲目性.下面對軟件質(zhì)量評價(jià)進(jìn)行建模,如圖8所示.
圖8 軟件質(zhì)量評價(jià)建模過程示意圖Fig.8 Schematic diagram of software quality evaluation model
系統(tǒng)模型是若干子模型的集合體,根據(jù)不同產(chǎn)品/項(xiàng)目的不同特性建立子模型.建立模型流程解析如下:
模型一:產(chǎn)品/項(xiàng)目質(zhì)量評價(jià).設(shè)置軟件產(chǎn)品的質(zhì)量評價(jià)指標(biāo),也就是評價(jià)特性,如軟件產(chǎn)品的一般評價(jià)特性有:可靠性、安全性、性能等,然后找到其子特性,也就是特性來源的分類屬性,界面、系統(tǒng)、功能等.以項(xiàng)目過程管理中缺陷管理、變更管理等為入口,系統(tǒng)進(jìn)行子特性分類,再由子特性分類納入到產(chǎn)品特定即評價(jià)指標(biāo),最終評價(jià)產(chǎn)品/項(xiàng)目或某個功能的質(zhì)量評價(jià)模型.
模型二:過程質(zhì)量評價(jià).通過和不同項(xiàng)目的過程執(zhí)行情況,評價(jià)出特定項(xiàng)目軟件的過程執(zhí)行是否最優(yōu).由項(xiàng)目的計(jì)劃和缺陷、變更,產(chǎn)生出所有項(xiàng)目軟件任務(wù),系統(tǒng)跟蹤項(xiàng)目中的人力、時(shí)間要素和分類情況,匯總出了產(chǎn)品/項(xiàng)目的工作量,同時(shí)按功能點(diǎn)計(jì)算出錯誤率等指標(biāo),然后計(jì)算出不同階段的投入成本,最終得到過程質(zhì)量評價(jià).
總之,用戶可以根據(jù)實(shí)際需要,設(shè)定評價(jià)子模型,再設(shè)定模型的質(zhì)量評價(jià)指標(biāo),然后找到其度量元,所有度量元的數(shù)據(jù)從歷史過程資源庫獲得.
2.3.2 輔助決策支持 通過決策支持引擎得到的獨(dú)立的軟件產(chǎn)品/項(xiàng)目的過程和其他相關(guān)數(shù)據(jù),以及相關(guān)測量分析結(jié)果,并不斷納入到企業(yè)軟件過程資源數(shù)據(jù)庫子系統(tǒng)中.管理者通過過程改進(jìn)決策支持子系統(tǒng)得到企業(yè)級過程數(shù)據(jù)的統(tǒng)計(jì)分析結(jié)果,并與最初軟件過程定義時(shí)的期望數(shù)據(jù)值進(jìn)行比較,以發(fā)現(xiàn)過程改進(jìn)的實(shí)際效果.并從偏差中發(fā)現(xiàn)軟件過程的強(qiáng)項(xiàng)、弱項(xiàng)和可改進(jìn)處,以指導(dǎo)企業(yè)確定下一步的過程改進(jìn)目標(biāo).
該平臺是基于CMMI規(guī)范和質(zhì)量評價(jià)指標(biāo)體系的基礎(chǔ)上,提出了企業(yè)軟件開發(fā)過程持續(xù)改進(jìn)的綜合信息管理平臺.在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí),根據(jù)平臺的應(yīng)用需求,將平臺分成了企業(yè)軟件過程管理子系統(tǒng)、企業(yè)軟件過程資源庫及過程改進(jìn)子系統(tǒng)和企業(yè)軟件質(zhì)量評價(jià)及決策支持子系統(tǒng),簡化了系統(tǒng)設(shè)計(jì)的復(fù)雜性.采取分層模式的方法,使系統(tǒng)在設(shè)計(jì)時(shí)結(jié)構(gòu)清晰.在設(shè)計(jì)系統(tǒng)的功能點(diǎn)時(shí),采取組件化的設(shè)計(jì)方式,在同一組件模塊中進(jìn)行縱向分層子模塊設(shè)計(jì),不同層子模塊之間以及同層子模塊之間通過規(guī)范的接口交互信息.目前,該平臺已經(jīng)被許多軟件企業(yè)使用,實(shí)踐證明,該平臺的研究與實(shí)施對促進(jìn)軟件企業(yè)軟件開發(fā)質(zhì)量的提升、增強(qiáng)軟件企業(yè)競爭力、加快軟件管理的規(guī)范化進(jìn)程、提高我國軟件的國際競爭力具有重要意義.
[1] 中國信息產(chǎn)業(yè)部.2012年電子信息產(chǎn)業(yè)統(tǒng)計(jì)公報(bào)[EB/OL].(2013-02-18)[2013-07-20].http://www.cnii.com.cn/informatization/2013-02/18/content_1092720.htm.
[2] 莊 曉,張義珍.基于CMMI框架下持續(xù)改進(jìn)的軟件過程體系[J].計(jì)算機(jī)應(yīng)用與軟件, 2013,29(1):186-189.
[3] 袁安富,伏 萍.基于CMMI的軟件質(zhì)量保證[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2012,24(1):13-16.
[4] 龔 波.能力成熟度模型集成及其應(yīng)用[M].北京:中國水利水電出版社, 2003.
[5] 魏 頔.ISO90001:2008版最新動向及主要修訂點(diǎn)對照[J].技術(shù)與創(chuàng)新管理, 2011,5(9):487-491.
[6] 武俊生.雙基、改性雙基數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)[J].湖南師范大學(xué)自然科學(xué)學(xué)報(bào), 2013,36(2):35-39.
[7] 劉志成,薛志良.Oracle數(shù)據(jù)庫管理與應(yīng)用實(shí)例教程[M].北京:人民郵電出版社, 2010.
[8] 戴建華. PDCA循環(huán)在軟件質(zhì)量管理中的應(yīng)用[J]. 軟件, 2011(3):47-50.
[9] 田麗從,李鐵牛,彭 宏.中小型軟件企業(yè)的軟件過程改進(jìn)方法研究[J].計(jì)算機(jī)應(yīng)用與軟件, 2011,27(4):208-211.
(編輯 陳笑梅)
Design of Enterppise Software Prcess and Quality Management Platform Based on CMMI
DENGJun*
(Hunan Vocational College of Science and Technology, Changsha 410004, China)
In order to enhance the management of enterprise software process, a kind of enterprise software process and quality management platform is designed. Three layer model structure was adopted to design the platform system architecture, and the method of componentization was employed in the design of longitudinal sub module design in the same module, and the information interchange was conducted by a standardized interface between different sub modules and same sub modules. According to the demand of application platform, using collaborative methods, the platform is divided into the enterprise software process management subsystem, enterprise software process database and process improvement subsystem, and enterprise software quality evaluation and decision supporting system, and the three subsystems are designed in details.
software process; CMMI; software quality management; software quality evaluation; process improvement
2013-09-21
湖南省科技廳項(xiàng)目專項(xiàng)基金資助項(xiàng)目(2013F6066);湖南科技職業(yè)學(xué)院青年基金資助項(xiàng)目(KJ13205)
*
,E-maildengjun_10@163.com
TP393.08
A
1000-2537(2014)01-0063-06