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