宋承繼
(陜西工業(yè)職業(yè)技術(shù)學(xué)院,陜西 咸陽 712000)
數(shù)據(jù)挖掘技術(shù)作為一種產(chǎn)生于應(yīng)用且面向應(yīng)用的數(shù)據(jù)分析處理技術(shù),可以快速、有效、深入的分析海量軟件項目風(fēng)險信息,挖掘大量影響軟件項目風(fēng)險決策數(shù)據(jù)中隱含的決策模式。數(shù)據(jù)挖掘技術(shù)挖掘項目管理風(fēng)險決策系統(tǒng)的各種實時決策模型和綜合決策模型,可以用于項目風(fēng)險的管理和控制,提高決策系統(tǒng)的風(fēng)險評估水平。
軟件項目風(fēng)險決策系統(tǒng)的數(shù)據(jù)來源廣泛、形式多樣,包括動態(tài)的項目風(fēng)險因子和項目風(fēng)險管理決策子系統(tǒng)的管理控制數(shù)據(jù),以及靜態(tài)的項目風(fēng)險評估數(shù)據(jù)等。軟件項目風(fēng)險決策系統(tǒng)管理和控制的對象是項目風(fēng)險因子,項目風(fēng)險因子數(shù)據(jù)是按項目進度采樣得到的一系列數(shù)值型數(shù)據(jù)序列,是軟件項目風(fēng)險決策系統(tǒng)中最重要的數(shù)據(jù)。
風(fēng)險因子是促使或引起風(fēng)險事件發(fā)生的條件,以及風(fēng)險事件發(fā)生時,致使損失增加、擴大的條件。風(fēng)險因子是風(fēng)險事件發(fā)生的潛在因素,是造成損失的間接和內(nèi)在的原因(如圖1)。
風(fēng)險因子通常可以分成實質(zhì)風(fēng)險因子(Physical Hazard)、道德風(fēng)險因子(Moral Hazard)和心理風(fēng)險因子(Morale Hazard)三種。實質(zhì)風(fēng)險因子是指增加風(fēng)險事件發(fā)生機會或擴大損失嚴(yán)重程度的物質(zhì)條件,它是一種有形的風(fēng)險因子。例如,缺乏合適的開發(fā)、測試環(huán)境對于項目進度的危害,關(guān)鍵技術(shù)不熟悉對于產(chǎn)生率降低等,都是實質(zhì)性風(fēng)險。道德風(fēng)險因子實質(zhì)與人的不正當(dāng)社會行為相聯(lián)系的一種無形的風(fēng)險因子。常表現(xiàn)為由于惡意行為或不良企圖,故意使風(fēng)險事件發(fā)生或損失擴大。心理風(fēng)險因子也是一種無形的風(fēng)險因子,但與道德風(fēng)險因子不同。它是由于人的主觀疏忽或過失,導(dǎo)致增加風(fēng)險事件發(fā)生機會或擴大損失程度。
圖2 風(fēng)險因子數(shù)據(jù)挖掘功能圖
數(shù)據(jù)挖掘過程分為數(shù)據(jù)準(zhǔn)備、模式發(fā)現(xiàn)、結(jié)果表達和解釋三個主要階段,圖2 給出了軟件項目風(fēng)險管理決策系統(tǒng)數(shù)據(jù)挖掘的系統(tǒng)模型。
ETL 及數(shù)據(jù)預(yù)處理為項目風(fēng)險信息的模式發(fā)現(xiàn)提供一個干凈、一致、集成、歸約(reduction)的數(shù)據(jù)集-風(fēng)險信息數(shù)據(jù)倉庫。數(shù)據(jù)挖掘任務(wù)管理在數(shù)據(jù)挖掘算法集中選擇完成挖掘任務(wù)的算法,在風(fēng)險信息數(shù)據(jù)倉庫中選擇挖掘算法應(yīng)用的數(shù)據(jù),執(zhí)行相應(yīng)的挖掘操作,將挖掘得到的模式保存到風(fēng)險因子模型庫。模型分析管理是項目風(fēng)險數(shù)據(jù)挖掘系統(tǒng)與其它項目風(fēng)險決策系統(tǒng)的應(yīng)用接口,并接收應(yīng)用系統(tǒng)的反饋信息對風(fēng)險因子模型庫的模式進行解釋與評價。
軟件項目風(fēng)險因子種類繁多,分布在各種智能決策應(yīng)用系統(tǒng)中,具有異構(gòu)、層次的特點,風(fēng)險數(shù)據(jù)挖掘需要將各種風(fēng)險因子數(shù)據(jù)從操作數(shù)據(jù)庫中抽取出來,經(jīng)過清洗、轉(zhuǎn)換、裝載等一系列處理,集成到一個統(tǒng)一的本地項目風(fēng)險決策信息數(shù)據(jù)倉庫。數(shù)據(jù)倉庫為數(shù)據(jù)挖掘提供有效的數(shù)據(jù)處理平臺,許多數(shù)據(jù)挖掘功能,如分類、關(guān)聯(lián)、聚類等,都可以與各種粒度的多維數(shù)據(jù)分析OLAP 操作集成,在多個抽象層上交互數(shù)據(jù)挖掘。
風(fēng)險因子挖掘系統(tǒng)的系統(tǒng)模型提供了一個多層的應(yīng)用體系結(jié)構(gòu),將數(shù)據(jù)挖掘功能的實現(xiàn)分為應(yīng)用層、分析邏輯層、算法工具層和數(shù)據(jù)層。應(yīng)用層是用戶調(diào)用分析邏輯所設(shè)立的分析功能的入口,分析邏輯則表現(xiàn)了應(yīng)用系統(tǒng)的分析能力。多層體系結(jié)構(gòu)能夠在跨平臺、網(wǎng)絡(luò)環(huán)境下應(yīng)用,應(yīng)用系統(tǒng)可以根據(jù)需要采用靈活的方式,如 B/S、C/S 等。
在風(fēng)險因子數(shù)據(jù)挖掘中,分析功能的抽取及響應(yīng)、數(shù)據(jù)挖掘算法的選取、設(shè)計是一個難題,需要利用決策系統(tǒng)知識和數(shù)據(jù)挖掘技術(shù)的緊密結(jié)合。分析邏輯層將分析模型從實際分析需求中提取出來,完成一定的獨立分析功能,由一個或多個數(shù)據(jù)挖掘算法具體實現(xiàn),每個分析模型都是獨立的功能單位。
算法工具層集中了項目風(fēng)險流分析需要的算法及相關(guān)計算工具,如挖掘各種模型的數(shù)據(jù)挖掘算法、統(tǒng)計方法、相似性度量方法等,是各個獨立的算法工具的集合。在算法工具層,除了數(shù)據(jù)挖掘算法外,還應(yīng)當(dāng)由數(shù)據(jù)挖掘算法所需要的輔助工具,如對于聚類算法,相似性度量或距離函數(shù)是關(guān)系到聚類質(zhì)量的核心問題,不同的相似性獨立或距離函數(shù)針對不同的數(shù)據(jù)或分析目標(biāo),在算法中可以根據(jù)需要來選擇配置。
風(fēng)險預(yù)測包含多個層次:基礎(chǔ)數(shù)據(jù)層的項目風(fēng)險數(shù)據(jù)的預(yù)測;基于特征屬性層的風(fēng)險性質(zhì)預(yù)測、風(fēng)險事件及事件類型預(yù)測;基于狀態(tài)描述層的風(fēng)險標(biāo)識預(yù)測、進度預(yù)測和風(fēng)險評估預(yù)測等。在軟件項目風(fēng)險決策系統(tǒng)中,標(biāo)識和預(yù)測風(fēng)險因子的狀態(tài)可以對軟件項目進度進行有效的監(jiān)控和管理,對于軟件項目的進度控制、資源分配、版本控制、人員培訓(xùn),風(fēng)險回避等具有非常重要的意義。
風(fēng)險因子可以有不同的分類特征P,因此風(fēng)險評估模型的建立也需選擇不同的相關(guān)屬性,刪除訓(xùn)練過程中與分類任務(wù)不相關(guān)的屬性。不同的分類算法也會建立不同的風(fēng)險因子評估模型,已有研究利用神經(jīng)網(wǎng)絡(luò)的方法和模糊邏輯的方法建立了數(shù)據(jù)流數(shù)據(jù)的分類模型。模糊邏輯的方法可以得到一組容易理解的分類規(guī)則;而采用神經(jīng)網(wǎng)絡(luò)方法進行訓(xùn)練,得到的是一個優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型,這個優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型可以對新的數(shù)據(jù)進行分類,但其分類規(guī)則是不可理解的。
風(fēng)險因子是和進度相關(guān)的,具有時空特性,空間數(shù)據(jù)是主要指人力資源變更、進度控制、需求變更等領(lǐng)域大量出現(xiàn)的與空間有關(guān)的數(shù)據(jù),包含的空間信息有進度、拓撲結(jié)構(gòu)等。對空間數(shù)據(jù)的關(guān)聯(lián)分析可能會得到“軟件開發(fā)人員的心理因素決定著軟件項目進度的60%”的規(guī)律。時空數(shù)據(jù)的數(shù)據(jù)挖掘模型包括時空元規(guī)則、時空范化、時空聚類和關(guān)聯(lián)、演化規(guī)則等,空間關(guān)聯(lián)規(guī)則是根據(jù)空間謂詞而不是根據(jù)項來定義的。風(fēng)險因子時空規(guī)則的挖掘?qū)浖椖匡L(fēng)險管理決策系統(tǒng)的預(yù)測具有重要的應(yīng)用價值。
軟件項目風(fēng)險管理的數(shù)據(jù)挖掘在大量的軟件項目信息中發(fā)現(xiàn)有價值的模式,以數(shù)據(jù)驅(qū)動的方式分析軟件項目風(fēng)險的決策狀況,建立軟件項目風(fēng)險決策系統(tǒng)的分析、評價及預(yù)測模型,用于軟件項目風(fēng)險管理的實時實時監(jiān)控,提供軟件項目風(fēng)險管理決策支持信息,可以極大改善軟件項目實施的風(fēng)險管理和控制水平。
[1]何文炯著.風(fēng)險管理[M],北京:東北財經(jīng)大學(xué)出版社,1999.
[2](加)JIAWEI HAN MICHELINE KAMBER著,范明,孟小峰,等譯.數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機械工業(yè)出版社,2006.8.
[3](新西蘭)IAN H.WITTEN,EIBE FRANK 著,董琳,邱泉,于曉峰,等譯.數(shù)據(jù)挖掘?qū)嵱脵C器學(xué)習(xí)技術(shù)[M].北京:機械工業(yè)出版社,2006.2.