關(guān)于我們

在線客服

幫助

24小時(shí)客服:010-82326699 400-810-5999

建設(shè)工程教育網(wǎng) > 建筑文苑 > 工程管理 > 正文

工程項(xiàng)目實(shí)施中的數(shù)據(jù)管理問題

2010-07-21 13:37  來(lái)源于網(wǎng)絡(luò)  【  【打印】【我要糾錯(cuò)】

  管理信息系統(tǒng)實(shí)施成功三大因素依次為:人、數(shù)據(jù)、技術(shù),也許有些人不完全認(rèn)同,但是數(shù)據(jù)的重要性是大家不可否認(rèn)的。

  1.數(shù)據(jù)管理的組織機(jī)構(gòu)的建立為了更好的進(jìn)行軟件系統(tǒng)的數(shù)據(jù)管理,應(yīng)該從組織機(jī)構(gòu)角度來(lái)做考慮,建立單獨(dú)的組織機(jī)構(gòu)來(lái)管理數(shù)據(jù)相關(guān)工作,或者在實(shí)施小組里面專人總負(fù)責(zé)。

  軟件開發(fā)商和客戶核心的業(yè)務(wù)骨干一起制定數(shù)據(jù)規(guī)范,客戶提供符合規(guī)范的業(yè)務(wù)數(shù)據(jù),只有符合規(guī)范的數(shù)據(jù)才能進(jìn)入系統(tǒng)。

  2.數(shù)據(jù)管理的原則強(qiáng)調(diào)客戶和軟件開發(fā)商的2方項(xiàng)目組成員做到“不能有‘我以為’的思想”,一旦有如此思想,很容易陷入閉門造車,項(xiàng)目需求很容易走樣,因?yàn)榭蛻?agrave;所有的客戶,也是在‘我以為’。項(xiàng)目組要想做到控制住需求,一定要拋開自己的設(shè)想。所以任何一個(gè)項(xiàng)目組成員,第一句話就告訴他,不要有“我以為”的想法。把‘我以為’變成‘客戶認(rèn)為’(最好是客戶和軟件提供商一致認(rèn)為),這才是最重要的。

  3.數(shù)據(jù)入口的單一性同一數(shù)據(jù)必須一次、一處進(jìn)入系統(tǒng),保證其準(zhǔn)確性,及時(shí)性和完整性和入口的單一性。管理控制一體化是系統(tǒng)的目的,如果一個(gè)數(shù)據(jù)在多個(gè)地方存儲(chǔ),很容易造成數(shù)據(jù)的不一致。

  4.數(shù)據(jù)副本管理/數(shù)據(jù)版本管理雖然上面提到了數(shù)據(jù)存儲(chǔ)的單一性,但是有些時(shí)候也需要存儲(chǔ)副本數(shù)據(jù)。存儲(chǔ)這些副本數(shù)據(jù)的目的就是為了在使用數(shù)據(jù)副本的地方不受到數(shù)據(jù)源的變化的影響。

  例如:數(shù)據(jù)1在業(yè)務(wù)A進(jìn)入系統(tǒng),業(yè)務(wù)B使用到了數(shù)據(jù)1,但是為了避免在業(yè)務(wù)B使用了數(shù)據(jù)1后,業(yè)務(wù)A又把數(shù)據(jù)1的修改影響到業(yè)務(wù)B,那就需要業(yè)務(wù)B在使用數(shù)據(jù)1時(shí)候保存副本。

  比如:城市拆遷資源計(jì)劃系統(tǒng)的拆遷合同在使用房源業(yè)務(wù)錄入的房源房屋面積信息時(shí),就使用了副本機(jī)制,在合同使用房屋面積時(shí)候,把面積信息存儲(chǔ)下來(lái),當(dāng)合同構(gòu)筑完成時(shí)候,如果相應(yīng)的房屋面積信息發(fā)生了變動(dòng),就用另外的業(yè)務(wù)來(lái)處理這個(gè)數(shù)據(jù)變動(dòng)的相應(yīng)處理(比如,使用房源的差價(jià)款合同來(lái)處理)。

  有朋友建議用配置管理系統(tǒng),把數(shù)據(jù)版本機(jī)制引入了業(yè)務(wù)數(shù)據(jù)里面。做過J2EE的項(xiàng)目,都知道很多地方可以通過配置來(lái)進(jìn)行管理。其實(shí)這個(gè)思想延伸到數(shù)據(jù)庫(kù)模型的設(shè)計(jì)時(shí)候,就體現(xiàn)出來(lái)了業(yè)務(wù)數(shù)據(jù)的配置管理的思想的使用。

  我們其實(shí)也有是用這個(gè)思想,但是主要體現(xiàn)在在基于數(shù)據(jù)表級(jí)別上用數(shù)據(jù)級(jí)別+歷史編號(hào)來(lái)識(shí)別有效的數(shù)據(jù)。1個(gè)很簡(jiǎn)單的例子:

  一個(gè)員工的姓名原來(lái)是aa,后來(lái)改委bb,可以通過歷史編號(hào)找到原來(lái)的信息是bb通過數(shù)據(jù)級(jí)別識(shí)別現(xiàn)在的有效數(shù)據(jù)是aa,我們把數(shù)據(jù)版本控制更多的是采用‘數(shù)據(jù)級(jí)別’加‘歷史編號(hào)’另外還加上了一個(gè)‘生效日期’,‘截止日期’這2個(gè)時(shí)間戳另外,實(shí)際軟件系統(tǒng)的歷史業(yè)務(wù)數(shù)據(jù)進(jìn)入系統(tǒng)就比較煩,可能需要使用版本管理機(jī)制來(lái)處理才行得通。

  5.建立數(shù)據(jù)等級(jí)制度軟件項(xiàng)目實(shí)施中業(yè)務(wù)規(guī)則經(jīng)常會(huì)陷入一個(gè)兩難的境地,如果業(yè)務(wù)規(guī)則加強(qiáng),很多數(shù)據(jù)數(shù)據(jù)達(dá)不到規(guī)范化的要求,無(wú)法入機(jī);如果放寬控制,很多垃圾數(shù)據(jù)就進(jìn)入了,大家都明白一個(gè)道理,對(duì)于軟件系統(tǒng),垃圾數(shù)據(jù)進(jìn)去,肯定是垃圾數(shù)據(jù)出來(lái),統(tǒng)計(jì)查詢結(jié)果肯定是這樣的。

  可以建立數(shù)據(jù)的等級(jí)制度,制定數(shù)據(jù)進(jìn)入系統(tǒng)的最低要求。達(dá)到最低要求才能進(jìn)入系統(tǒng),比如:

  業(yè)務(wù)A,需要數(shù)據(jù)a1,數(shù)據(jù)a2,,數(shù)據(jù)a3,數(shù)據(jù)4.我們可以制定進(jìn)入系統(tǒng)的關(guān)于業(yè)務(wù)A的條件是必須要有數(shù)據(jù)a1,a2才可以進(jìn)入系統(tǒng)(也就是最低要求),如果提供的業(yè)務(wù)數(shù)據(jù)同時(shí)有數(shù)據(jù)a1,數(shù)據(jù)a2,,數(shù)據(jù)a3,那就是更高一級(jí)的數(shù)據(jù)(第二級(jí)數(shù)據(jù)),如果業(yè)務(wù)數(shù)據(jù)在滿足第二級(jí)數(shù)據(jù)的基礎(chǔ)上,提供了數(shù)據(jù)4,那就是第三級(jí)數(shù)據(jù)。

  如果用過J2EE平臺(tái)的同行理解起來(lái)就比較容易,這實(shí)際上就是JMS基于主題的消息管理思想用于軟件系統(tǒng)一個(gè)具體例子而已,這里不過是強(qiáng)調(diào)的是用于管理數(shù)據(jù)的信任等級(jí)而已。

  其實(shí)很多軟件項(xiàng)目開始制定的的數(shù)據(jù)規(guī)范,一般到后來(lái)都執(zhí)行不下去,主要是太理想化了,也許只有到系統(tǒng)真正用起來(lái)了,系統(tǒng)數(shù)據(jù)的信任等級(jí)才能上去。所以我覺得應(yīng)該在系統(tǒng)開始時(shí)候就把數(shù)據(jù)分等級(jí),不同的等級(jí),業(yè)務(wù)給與適當(dāng)不同的處理,這樣也便于后期的業(yè)務(wù)進(jìn)行查詢統(tǒng)計(jì)分析或者數(shù)據(jù)挖掘。

  這種思想實(shí)際上就是將數(shù)據(jù)可以信任的程度進(jìn)行分類;而一般的軟件系統(tǒng)是把數(shù)據(jù)定義為兩類,可以進(jìn)入系統(tǒng),不可以進(jìn)入系統(tǒng);我在這里設(shè)想的是,從數(shù)據(jù)可以信任的角度出發(fā),分成多種類別,使用了一個(gè)小數(shù)來(lái)描述信任程度,而不是一個(gè)二值邏輯變量來(lái)描述;這樣從建立軟件系統(tǒng)整體模型的時(shí)候,把數(shù)據(jù)信任管理納入考慮之內(nèi),在進(jìn)一步作業(yè)務(wù)分析,決策支持或者數(shù)據(jù)挖掘時(shí)候是比較有好處的;當(dāng)然進(jìn)一步延伸可能就需要從OLTP/OLAP混合建模來(lái)考慮,不過真要到那個(gè)高度,可能項(xiàng)目范圍就擴(kuò)大了很多,具體怎樣操作,還要看項(xiàng)目具體情形。

  當(dāng)然,在軟件項(xiàng)目實(shí)際操作的時(shí)候,可能還會(huì)遇到另外一個(gè)問題,很可能用戶會(huì)亂用這個(gè)數(shù)據(jù)信任程度的概念,我個(gè)人的建議是在項(xiàng)目實(shí)施中如果可能的話,優(yōu)先進(jìn)入信任等級(jí)高的數(shù)據(jù),然后才是信任程度低的數(shù)據(jù);當(dāng)然也可以從人員來(lái)角度作為切入點(diǎn),信任等級(jí)越低的數(shù)據(jù),進(jìn)入系統(tǒng)就需要的業(yè)務(wù)更熟悉的人員來(lái)操作錄入,而且經(jīng)過的業(yè)務(wù)處理步驟就越多。一句話,數(shù)據(jù)信任程度越低,就應(yīng)該受到的審查/檢察越多。

  6.數(shù)據(jù)來(lái)源管理在現(xiàn)實(shí)中稍微規(guī)模大一點(diǎn)的軟件系統(tǒng)涉及到的組織機(jī)構(gòu)都是比較大的,有很多還可能是松散的組織管理模式。在這類組織機(jī)構(gòu)中,同樣的業(yè)務(wù)數(shù)據(jù)可能很多部門都會(huì)是數(shù)據(jù)錄入點(diǎn)和數(shù)據(jù)分析點(diǎn),為此可以從數(shù)據(jù)采集/來(lái)源角度來(lái)描述數(shù)據(jù)本身。

  從當(dāng)前項(xiàng)目利益來(lái)說(shuō),數(shù)據(jù)來(lái)源管理方便數(shù)據(jù)查詢分類,長(zhǎng)期來(lái)說(shuō)可以建立起數(shù)據(jù)信任等級(jí)。

  對(duì)于數(shù)據(jù)來(lái)源的識(shí)別,一般需要有特定信息來(lái)記錄數(shù)據(jù)的來(lái)源,特別是一些大型企業(yè)當(dāng)然分支機(jī)構(gòu)較多的公司企業(yè)政府,也應(yīng)該這樣來(lái)管理。

  事實(shí)上,數(shù)據(jù)來(lái)源管理是數(shù)據(jù)信任管理的進(jìn)一步延伸,是數(shù)據(jù)信任管理的前置條件。一個(gè)數(shù)據(jù),可以是來(lái)自于A部門的也可能是來(lái)自于B部門的。為了方便統(tǒng)計(jì)查詢和數(shù)據(jù)信任管理的加強(qiáng),應(yīng)該記錄下數(shù)據(jù)的來(lái)源地。

  具體操方式可以有以下幾種:

  1)數(shù)據(jù)錄入人員的工作人員編號(hào),知道了數(shù)據(jù)錄入人員的編號(hào),就知道數(shù)據(jù)的來(lái)源地。

  當(dāng)然,實(shí)際工作種存在人員調(diào)動(dòng),替操作(1個(gè)人用另外一個(gè)人的身份進(jìn)入系統(tǒng)數(shù)錄入),這些都有可能需要考慮到,否則可能造成數(shù)據(jù)來(lái)源管理失效。

  2)另外一種方式就是直接記錄數(shù)據(jù)錄入的部門編號(hào)。

  這種方式弊端就是不能記錄下數(shù)據(jù)的具體操作人員。

  其它說(shuō)明:如果系統(tǒng)中引入了工作流產(chǎn)品,數(shù)據(jù)來(lái)源這部分工作可以由工作流來(lái)?yè)?dān)任。具體例子:在現(xiàn)實(shí)的軟件系統(tǒng)中可能存在一個(gè)主數(shù)據(jù)庫(kù)/數(shù)據(jù)中心,若干分?jǐn)?shù)據(jù)庫(kù)/數(shù)據(jù)中心,系統(tǒng)在每過一定時(shí)間進(jìn)行數(shù)據(jù)上傳/下載,為了進(jìn)行數(shù)據(jù)合并和控制數(shù)據(jù)的修改,應(yīng)該每個(gè)分?jǐn)?shù)據(jù)中心只能處理修改自己的數(shù)據(jù),可以查詢總數(shù)據(jù)中心/其他分?jǐn)?shù)據(jù)中心的數(shù)據(jù)。如果沒有引入數(shù)據(jù)來(lái)源管理(數(shù)據(jù)屬地管理)和數(shù)據(jù)版本的控制機(jī)制,不知道系統(tǒng)在作數(shù)據(jù)中心合并會(huì)怎樣子?

  7.數(shù)據(jù)項(xiàng)的分類編碼數(shù)據(jù)項(xiàng)的分類編碼,實(shí)際上是數(shù)據(jù)項(xiàng)來(lái)源管理的一個(gè)具體延伸。數(shù)據(jù)項(xiàng)編碼的目的就是更快更好的識(shí)別數(shù)據(jù)代表的業(yè)務(wù)意思。一個(gè)典型的例子就是ERP中的BOM表(基本物料清單)。

  數(shù)據(jù)項(xiàng)的分類編碼,不只是在系統(tǒng)模型建立上有指導(dǎo)意義,在進(jìn)入系統(tǒng)的業(yè)務(wù)數(shù)據(jù)的規(guī)范化同樣有指導(dǎo)意義。

  數(shù)據(jù)項(xiàng)的業(yè)務(wù)編碼和系統(tǒng)編碼分離。業(yè)務(wù)編碼很多時(shí)候只是為了識(shí)別業(yè)務(wù)數(shù)據(jù)的需要,很難保證業(yè)務(wù)數(shù)據(jù)的唯一性要求。而且業(yè)務(wù)編碼可能會(huì)發(fā)生變動(dòng),有些單位的總體規(guī)劃從調(diào)研到討論制訂、到項(xiàng)目審批通過,再到最終實(shí)施,常常幾年過去了,需求發(fā)生變化,這種編碼規(guī)則不發(fā)生變動(dòng)幾乎不可能。2000年我參與的一個(gè)企業(yè)軟件系統(tǒng),就一個(gè)產(chǎn)品編碼規(guī)則2個(gè)月就發(fā)生了5次變動(dòng)。從更長(zhǎng)的時(shí)間范圍內(nèi)來(lái)說(shuō),應(yīng)該考慮數(shù)據(jù)產(chǎn)生時(shí)期問題,不同時(shí)間階段產(chǎn)生的業(yè)務(wù)數(shù)據(jù),使用的業(yè)務(wù)規(guī)則不一樣,數(shù)據(jù)編碼這個(gè)層次很多時(shí)候很難識(shí)別數(shù)據(jù)當(dāng)時(shí)的業(yè)務(wù)環(huán)境。

  以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明:

  業(yè)務(wù)數(shù)據(jù)表的primarykey系統(tǒng)應(yīng)該是系統(tǒng)定義的,而數(shù)據(jù)項(xiàng)的業(yè)務(wù)編碼只能作為索引或者備用鍵使用,這樣就減少了數(shù)據(jù)業(yè)務(wù)編碼規(guī)則的變動(dòng)對(duì)系統(tǒng)影響減少到更小的程度。

  8.算法的版本化本來(lái)我打算在前面的基礎(chǔ)上,再談一下業(yè)務(wù)流程的管理設(shè)置問題,不過,現(xiàn)在工作流思想深入人心,我也就跳過了。我打算從數(shù)據(jù)的核心業(yè)務(wù)處理,算法處理角度來(lái)闡述。

  其實(shí)在現(xiàn)實(shí)中的軟件項(xiàng)目中,大家提到的較多的BPR,工作流這些東西,但是很少提到算法這個(gè)單詞。當(dāng)然,不可否認(rèn),很多軟件項(xiàng)目,特別是電子政務(wù)/OA的業(yè)務(wù)主要是體現(xiàn)在流程/文件上,算法這部分比較簡(jiǎn)單(當(dāng)然,我這樣說(shuō),有人可能不認(rèn)可,暫且就不爭(zhēng)論它了),就沒有必要去強(qiáng)調(diào)算法的重要性了。

  為了避免垃圾數(shù)據(jù)進(jìn)入系統(tǒng),垃圾數(shù)據(jù)出來(lái),有必要對(duì)數(shù)據(jù)進(jìn)行分類管理。正如前面提到的那樣,對(duì)于進(jìn)入系統(tǒng)的數(shù)據(jù),進(jìn)行信任等級(jí)劃分,數(shù)據(jù)來(lái)源的分類;但是對(duì)于系統(tǒng)出口,為了避免出現(xiàn)垃圾數(shù)據(jù),需要在數(shù)據(jù)處理階段,也要進(jìn)行分類處理,這里就引入了算法的版本化,來(lái)適應(yīng)不同的數(shù)據(jù)/業(yè)務(wù)需要。

  在實(shí)際項(xiàng)目中,可能不同信任等級(jí)的數(shù)據(jù),采用不同的算法去處理數(shù)據(jù),這樣才使得數(shù)據(jù)的處理更有針對(duì)性,更符合實(shí)際需要。

  從需求變更的角度出發(fā),軟件開發(fā)商可以先實(shí)現(xiàn)一些數(shù)據(jù)信任程度低的算法,然后再根據(jù)項(xiàng)目實(shí)際情況,決定是否實(shí)現(xiàn)更高一級(jí)數(shù)據(jù)等級(jí)的算法。在現(xiàn)實(shí)軟件項(xiàng)目,數(shù)據(jù)信任等級(jí)低的采用的算法也會(huì)簡(jiǎn)單一些,由于需求變更,增加了新的數(shù)據(jù)信任等級(jí)更高的數(shù)據(jù),這時(shí)候可以考慮暫時(shí)采用低等級(jí)的算法進(jìn)行處理,然后再結(jié)合人工干預(yù),達(dá)到數(shù)據(jù)處理的要求。大家都明白一點(diǎn),算法復(fù)雜,測(cè)試的難度就大,但是使用這些更高等級(jí)的算法的幾率是很少的,處于成本的原因可以把這些算法的實(shí)現(xiàn)滯后。

  當(dāng)然我這樣說(shuō),并不是意味著放棄高等級(jí)的算法,一些根據(jù)項(xiàng)目實(shí)際情形需要來(lái)操作。

  數(shù)據(jù)根據(jù)信任程度分成等級(jí),呵呵,這就是所謂工廠方法模式嘛,算法也分成等級(jí)結(jié)構(gòu),這就是所謂的模板方法模式。

  數(shù)據(jù)在處理后,應(yīng)該記錄下被使用的算法版本,這樣才便于以后統(tǒng)計(jì)查詢分析或者數(shù)據(jù)挖掘之類工作的開展。

  例如:在一個(gè)商品交易中,一個(gè)商品可能被購(gòu)買的價(jià)格是正常價(jià)格,節(jié)假日優(yōu)惠價(jià),會(huì)員優(yōu)惠價(jià),在交易流水賬中,應(yīng)該記錄下交易時(shí)候是采用的那個(gè)價(jià)格類型,原始價(jià)格多少,實(shí)際購(gòu)買價(jià)格多少。記錄下原始價(jià)格,是因?yàn),商品的原始價(jià)格本身可能是變化的。

  再以拆遷資源計(jì)劃系統(tǒng)為例,房屋補(bǔ)償?shù)膬r(jià)格價(jià)格可能是來(lái)自于管理參數(shù),也可能是來(lái)自于申請(qǐng),實(shí)際到底是來(lái)自于哪個(gè),算法應(yīng)該記錄下來(lái)。

  9.業(yè)務(wù)規(guī)則使用的版本化前面已經(jīng)提到了數(shù)據(jù)錄入的版本化,還有算法的版本化,也就是計(jì)算結(jié)果的版本化。但是還沒有談到一點(diǎn),到底啥時(shí)間該采用哪個(gè)版本算法。

  在J2EE項(xiàng)目中,一般是采用配置文件的方式來(lái)控制版本。從配置管理角度的來(lái)說(shuō),一切都根據(jù)配置文件來(lái)決定使用哪個(gè)版本的數(shù)據(jù)錄入的分級(jí)(數(shù)據(jù)信任程度分級(jí)),然后根據(jù)配置文件決定數(shù)據(jù)處理使用的算法版本。

  其實(shí)在J2EE項(xiàng)目中,可以采用類似apachecommons-validator這樣的包,來(lái)進(jìn)行數(shù)據(jù)錄入的信任等級(jí)建立。

  前面都已經(jīng)提到了從工廠方法模式的角度來(lái)建立數(shù)據(jù)信任等級(jí)制度,但是并沒有解決到底啥時(shí)間采用哪個(gè)方法處理數(shù)據(jù)。也許有人建議,采用工廠方法模式的思想,把數(shù)據(jù)當(dāng)成產(chǎn)品,把算法當(dāng)成工廠,來(lái)處理(注意:不是制造)數(shù)據(jù)。這個(gè)想法也許能夠滿足一些系統(tǒng)的需要,但是更多時(shí)候是失效。

  為此,我覺得有必要把算法的分配使用當(dāng)成為一個(gè)業(yè)務(wù)管理策略來(lái)管理,通過單獨(dú)的業(yè)務(wù)模塊去設(shè)置業(yè)務(wù)的算法管理策略,可以把這些策略保存為配置文件或者直接保存到數(shù)據(jù)表;在J2EE項(xiàng)目中,常用的方式使用XML的格式保存為配置文件,但是如果這個(gè)策略比較復(fù)雜的時(shí)候建議還是保存到數(shù)據(jù)表。

收藏分享:論壇
分享到:
相關(guān)新聞
  • 特色班
    4大班次+2-3套全真模擬題
    提升學(xué)習(xí)效果
  • 精品班
    4大班次+2-3套全真模擬題+1套預(yù)測(cè)試題
  • 實(shí)驗(yàn)班
    3套全真模擬題+2套預(yù)測(cè)試題+考前沖關(guān)寶典
  • 定制班
    3套模擬題+3套預(yù)測(cè)題+考前沖關(guān)寶典+考前重點(diǎn)
  • 移動(dòng)班
    以知識(shí)點(diǎn)為單元授課練習(xí),
    強(qiáng)化重點(diǎn)、難點(diǎn)、考點(diǎn)
版權(quán)聲明

  1、凡本網(wǎng)注明“來(lái)源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來(lái)源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
  2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對(duì)于本網(wǎng)刊載作品涉及版權(quán)等問題的,請(qǐng)作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會(huì)盡快予以處理。
  本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請(qǐng)與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
  3、本網(wǎng)站歡迎積極投稿。