- 相關(guān)推薦
項(xiàng)目實(shí)施過程中的數(shù)據(jù)管理
管理信息系統(tǒng)實(shí)施成功三大因素依次為:人、數(shù)據(jù)、技術(shù),也許有些人不完全認(rèn)同,但是數(shù)據(jù)的重要性是大家不可否認(rèn)的。yjbys小編下面為大家整理了關(guān)于項(xiàng)目實(shí)施過程數(shù)據(jù)管理的文章,希望對(duì)你有所幫助!
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)工作,或者在實(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)為),這才是最重要的。
這又回到了項(xiàng)目管理上。我在這里實(shí)際上只是想從數(shù)據(jù)管理這個(gè)更具體的角度來闡述問題。
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ǔ)下來,當(dāng)合同構(gòu)筑完成時(shí)候,如果相應(yīng)的房屋面積信息發(fā)生了變動(dòng),就用另外的業(yè)務(wù)來處理這個(gè)數(shù)據(jù)變動(dòng)的相應(yīng)處理(比如,使用房源的差價(jià)款合同來處理)。
有朋友建議用配置管理系統(tǒng),把數(shù)據(jù)版本機(jī)制引入了業(yè)務(wù)數(shù)據(jù)里面。做過J2EE的項(xiàng)目,都知道很多地方可以通過配置來進(jìn)行管理。其實(shí)這個(gè)思想延伸到數(shù)據(jù)庫模型的設(shè)計(jì)時(shí)候,就體現(xiàn)出來了業(yè)務(wù)數(shù)據(jù)的配置管理的思想的使用。
我們其實(shí)也有是用這個(gè)思想,但是主要體現(xiàn)在 在基于數(shù)據(jù)表級(jí)別上用數(shù)據(jù)級(jí)別+歷史編號(hào) 來識(shí)別有效的數(shù)據(jù)。1個(gè)很簡單的例子:
一個(gè)員工的姓名原來 是aa, 后來改委bb,可以通過歷史編號(hào) 找到原來 的信息是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ī)制來處理才行得通。
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ī)范化的要求,無法入機(jī);如果放寬控制,很多垃圾數(shù)據(jù)就進(jìn)入了,大家都明白一個(gè)道理,對(duì)于軟件系統(tǒng),垃圾數(shù)據(jù)進(jìn)去,肯定是垃圾數(shù)據(jù)出來,統(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)的同行理解起來就比較容易,這實(shí)際上就是JMS基于主題的消息管理思想用于軟件系統(tǒng)一個(gè)具體例子而已,這里不過是強(qiáng)調(diào)的是用于管理數(shù)據(jù)的信任等級(jí)而已。
其實(shí)很多軟件項(xiàng)目開始制定的的數(shù)據(jù)規(guī)范,一般到后來都執(zhí)行不下去,主要是太理想化了,也許只有到系統(tǒng)真正用起來了,系統(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ù)來描述信任程度,而不是一個(gè)二值邏輯變量來描述;這樣從建立軟件系統(tǒng)整體模型的時(shí)候,把數(shù)據(jù)信任管理納入考慮 之內(nèi),在進(jìn)一步作業(yè)務(wù)分析,決策支持或者數(shù)據(jù)挖掘時(shí)候是比較有好處的;當(dāng)然進(jìn)一步延伸可能就需要從OLTP/OLAP混合建模來考慮,不過真要到那個(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)然也可以從人員來角度作為切入點(diǎn),信任等級(jí)越低的數(shù)據(jù),進(jìn)入系統(tǒng)就需要的業(yè)務(wù)更熟悉的人員來操作錄入, 而且經(jīng)過的業(yè)務(wù)處理步驟就越多。一句話,數(shù)據(jù)信任程度越低,就應(yīng)該受到的審查/檢察越多。
在現(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ù)采集/來源角度來描述數(shù)據(jù)本身。
從當(dāng)前項(xiàng)目利益來說,數(shù)據(jù)來源管理方便數(shù)據(jù)查詢分類,長期來說可以建立起數(shù)據(jù)信任等級(jí)。
對(duì)于數(shù)據(jù)來源的識(shí)別,一般需要有特定信息來記錄數(shù)據(jù)的來源,特別是一些大型企業(yè)當(dāng)然分支機(jī)構(gòu)較多的公司企業(yè)政府,也應(yīng)該這樣來管理。
事實(shí)上,數(shù)據(jù)來源管理是數(shù)據(jù)信任管理的進(jìn)一步延伸,是數(shù)據(jù)信任管理的前置條件。一個(gè)數(shù)據(jù),可以是來自于A部門的也可能是來自于B部門的。為了方便統(tǒng)計(jì)查詢和數(shù)據(jù)信任管理的加強(qiáng),應(yīng)該記錄下數(shù)據(jù)的來源地。
6.具體操方式可以有以下幾種:
1) 數(shù)據(jù)錄入人員的工作人員編號(hào),知道了數(shù)據(jù)錄入人員的編號(hào),就知道數(shù)據(jù)的來源地。
當(dāng)然,實(shí)際工作種存在人員調(diào)動(dòng),替操作(1個(gè)人用另外一個(gè)人的身份進(jìn)入系統(tǒng)數(shù)錄入),這些都有可能需要考慮到,否則可能造成數(shù)據(jù)來源管理失效。
2)另外一種方式就是直接記錄數(shù)據(jù)錄入的部門編號(hào)。
這種方式弊端就是不能記錄下數(shù)據(jù)的具體操作人員。
其它說明:如果系統(tǒng)中引入了工作流產(chǎn)品,數(shù)據(jù)來源這部分工作可以由工作流來擔(dān)任。具體例子:在現(xiàn)實(shí)的軟件系統(tǒng)中可能存在一個(gè)主數(shù)據(jù)庫/數(shù)據(jù)中心,若干分?jǐn)?shù) 據(jù)庫/數(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ù)來源管理(數(shù)據(jù)屬地管理)和數(shù)據(jù)版本的控制機(jī)制,不知道系統(tǒng)在作數(shù)據(jù)中心合并會(huì)怎樣子?
7.數(shù)據(jù)項(xiàng)的分類編碼
數(shù)據(jù)項(xiàng)的分類編碼,實(shí)際上是數(shù)據(jù)項(xiàng)來源管理的一個(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)。從更長的時(shí)間范圍內(nèi)來說,應(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è)簡單的例子來說明:
業(yè)務(wù)數(shù)據(jù)表的primary key系統(tǒng)應(yīng)該是系統(tǒng)定義的,而數(shù)據(jù)項(xiàng)的業(yè)務(wù)編碼只能作為索引或者備用鍵使用,這樣就減少了數(shù)據(jù)業(yè)務(wù)編碼規(guī)則的變動(dòng)對(duì)系統(tǒng)影響減少到更小的程度。
8.算法的版本化
本來我打算在前面的基礎(chǔ)上,再談一下業(yè)務(wù)流程的管理設(shè)置問題,不過,現(xiàn)在工作流思想深入人心,我也就跳過了。我打算從數(shù)據(jù)的核心業(yè)務(wù)處理,算法處理角度來闡述。
其實(shí)在現(xiàn)實(shí)中的軟件項(xiàng)目中,大家提到的較多的BPR,工作流這些東西,但是很少提到算法這個(gè)單詞。當(dāng)然,不可否認(rèn),很多軟件項(xiàng)目,特別是電子政務(wù)/OA的 業(yè)務(wù)主要是體現(xiàn)在流程/文件上,算法這部分比較簡單(當(dāng)然,我這樣說,有人可能不認(rèn)可,暫且就不爭(zhēng)論它了),就沒有必要去強(qiáng)調(diào)算法的重要性了。
為了避免垃圾數(shù)據(jù)進(jìn)入系統(tǒng),垃圾數(shù)據(jù)出來,有必要對(duì)數(shù)據(jù)進(jìn)行分類管理。正如前面提到的那樣,對(duì)于進(jìn)入系統(tǒng)的數(shù)據(jù),進(jìn)行信任等級(jí)劃分,數(shù)據(jù)來源的分類;但是 對(duì)于系統(tǒng)出口,為了避免出現(xiàn)垃圾數(shù)據(jù),需要在數(shù)據(jù)處理階段,也要進(jìn)行分類處理,這里就引入了算法的版本化,來適應(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ì)簡單一些,由于需求變更,增加了新的數(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)然我這樣說,并不是意味著放棄高等級(jí)的算法,一些根據(jù)項(xiàng)目實(shí)際情形需要來操作。
數(shù)據(jù)根據(jù)信任程度分成等級(jí),呵呵,這就是所謂工廠方法模式嘛,算法也分成等級(jí)結(jié)構(gòu),這就是所謂的模板方法模式。
數(shù)據(jù)在處理后,應(yīng)該記錄下被使用的算法版本,這樣才便于以后統(tǒng)計(jì)查詢分析或者數(shù)據(jù)挖掘之類工作的開展。
例如:在一個(gè)商品交易中,一個(gè)商品可能被購買的價(jià)格是正常價(jià)格,節(jié)假日優(yōu)惠價(jià),會(huì)員優(yōu)惠價(jià),在交易流水賬中,應(yīng)該記錄下交易時(shí)候是采用的那個(gè)價(jià)格類型,原始價(jià)格多少,實(shí)際購買價(jià)格多少。記錄下原始價(jià)格,是因?yàn)椋唐返脑純r(jià)格本身可能是變化的。
再以拆遷資源計(jì)劃系統(tǒng)為例,房屋補(bǔ)償?shù)膬r(jià)格價(jià)格可能是來自于管理參數(shù),也可能是來自于申請(qǐng),實(shí)際到底是來自于哪個(gè),算法應(yīng)該記錄下來。
9.業(yè)務(wù)規(guī)則使用的版本化
前面已經(jīng)提到了數(shù)據(jù)錄入的版本化,還有算法的版本化,也就是計(jì)算結(jié)果的版本化。但是還沒有談到一點(diǎn),到底啥時(shí)間該采用哪個(gè)版本算法。
在J2EE項(xiàng)目中,一般是采用配置文件的方式來控制版本。從配置管理角度的來說,一切都根據(jù)配置文件來決定使用哪個(gè)版本的數(shù)據(jù)錄入的分級(jí)(數(shù)據(jù)信任程度分級(jí)),然后根據(jù)配置文件決定數(shù)據(jù)處理使用的算法版本。
其實(shí)在J2EE項(xiàng)目中,可以采用類似apache commons-validator這樣的包,來進(jìn)行數(shù)據(jù)錄入的信任等級(jí)建立。
前面都已經(jīng)提到了從工廠方法模式的角度來建立數(shù)據(jù)信任等級(jí)制度,但是并沒有解決到底啥時(shí)間采用哪個(gè)方法處理數(shù)據(jù)。也許有人建議,采用工廠方法模式的思想, 把數(shù)據(jù)當(dāng)成產(chǎn)品,把算法當(dāng)成工廠,來處理(注意:不是制造)數(shù)據(jù)。這個(gè)想法也許能夠滿足一些系統(tǒng)的需要,但是更多時(shí)候是失效。
為此,我覺得有必要把算法的分配使用當(dāng)成為一個(gè)業(yè)務(wù)管理策略來管理,通過單獨(dú)的業(yè)務(wù)模塊去設(shè)置業(yè)務(wù)的算法管理策略,可以把這些策略保存為配置文件或者直接 保存到數(shù)據(jù)表;在J2EE項(xiàng)目中,常用的方式使用XML的格式保存為配置文件,但是如果這個(gè)策略比較復(fù)雜的時(shí)候建議還是保存到數(shù)據(jù)表。
【項(xiàng)目實(shí)施過程中的數(shù)據(jù)管理】相關(guān)文章:
項(xiàng)目管理方法和項(xiàng)目實(shí)施方法的關(guān)系01-11
物流企業(yè)實(shí)施項(xiàng)目管理的步驟12-26
項(xiàng)目管理師《項(xiàng)目實(shí)施》臨考試題07-26
監(jiān)理工程師在項(xiàng)目監(jiān)理過程中的控制方法01-09
實(shí)施OA辦公自動(dòng)化過程中值得注意的問題06-13