關(guān)于我們

在線客服

幫助

24小時客服:010-82326699 400-810-5999

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

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

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

  管理信息系統(tǒng)實施成功三大因素依次為:人、數(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)角度來做考慮,建立單獨(dú)的組織機(jī)構(gòu)來管理數(shù)據(jù)相關(guān)工作,或者在實施小組里面專人總負(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方項目組成員做到“不能有‘我以為’的思想”,一旦有如此思想,很容易陷入閉門造車,項目需求很容易走樣,因為客戶à所有的客戶,也是在‘我以為’。項目組要想做到控制住需求,一定要拋開自己的設(shè)想。所以任何一個項目組成員,第一句話就告訴他,不要有“我以為”的想法。把‘我以為’變成‘客戶認(rèn)為’(最好是客戶和軟件提供商一致認(rèn)為),這才是最重要的。

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

  4.數(shù)據(jù)副本管理/數(shù)據(jù)版本管理雖然上面提到了數(shù)據(jù)存儲的單一性,但是有些時候也需要存儲副本數(shù)據(jù)。存儲這些副本數(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時候保存副本。

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

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

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

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

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

  可以建立數(shù)據(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ù)據(jù)a1,數(shù)據(jù)a2,,數(shù)據(jù)a3,那就是更高一級的數(shù)據(jù)(第二級數(shù)據(jù)),如果業(yè)務(wù)數(shù)據(jù)在滿足第二級數(shù)據(jù)的基礎(chǔ)上,提供了數(shù)據(jù)4,那就是第三級數(shù)據(jù)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  以一個簡單的例子來說明:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1、凡本網(wǎng)注明“來源:建設(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)使用,且必須注明“來源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
  2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對于本網(wǎng)刊載作品涉及版權(quán)等問題的,請作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實確認(rèn)后會盡快予以處理。
  本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實性。如其他媒體、網(wǎng)站或個人轉(zhuǎn)載使用,請與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
  3、本網(wǎng)站歡迎積極投稿。