1.前言
管理性軟件,即對大量的數據進(jìn)行管理的軟件,常見(jiàn)的有應用于各企事業(yè)單位的MIS系統、ERP系統等等。管理性軟件項目,即對管理性軟件進(jìn)行開(kāi)發(fā)、實(shí)施的項目。從項目的生命周期角度考慮,項目經(jīng)過(guò)前期的需求調研、分析、設計、開(kāi)發(fā)完成之后,并不是直接提交給用戶(hù)就完成了。在上述的階段完成之后,進(jìn)入實(shí)施階段,實(shí)施階段的一個(gè)重要工作,就是進(jìn)行數據的初始化工作。
數據對于一個(gè)管理性的軟件是至關(guān)重要的組成部分,軟件系統只是一個(gè)外在的表現形式,而數據是軟件系統的本質(zhì)組成部分。沒(méi)有數據的軟件,就像無(wú)水之源,無(wú)根之木,從軟件應用的角度講,是沒(méi)有意義的。軟件系統開(kāi)發(fā)完成之后,只有經(jīng)過(guò)數據的初始化,將數據加載進(jìn)系統,軟件系統才能正式的運行,才算完成了整個(gè)系統的交付。正如業(yè)界通用的對數據重要性的描述:三分軟件,七分管理,十二分數據。
軟件項目是需要甲乙雙方配合才能完成的,在項目生命周期的不同階段,甲乙雙方的工作職責也不盡相同。需求調研階段,甲方負責提供需求和進(jìn)行需求的確認,乙方負責需求分析;開(kāi)發(fā)階段,主要的開(kāi)發(fā)工作由乙方完成,甲方進(jìn)行進(jìn)度的監控和業(yè)務(wù)知識支持。實(shí)施階段的數據初始化期間,也是甲乙雙方需要配合才能完成的工作,這期間的工作,應該是甲方負責協(xié)調、確定初始化數據,乙方提供指導和技術(shù)支持。
管理性軟件的數據,分為三種不同的類(lèi)型,分別為字典數據、權限數據和業(yè)務(wù)數據。這三種類(lèi)型的數據,在軟件項目實(shí)施的階段,都是需要初始化的數據內容。下面就分別針對這三種類(lèi)型,結合項目雙方的工作任務(wù),對數據初始化的問(wèn)題進(jìn)行分析。
2.字典數據初始化
軟件系統中的字典數據,是指對一個(gè)字段定義幾個(gè)選擇性數據值的形式的數據,其在軟件系統中的表現形式通常為選擇框或下拉列表。例如在人力資源管理系統中,人員的性別、職稱(chēng)、狀態(tài)等,都是字典數據,他們的數據內容都是從幾個(gè)備選項中選擇得到的。字典數據又分為兩種類(lèi)型:固定字典和活動(dòng)字典。
數據分類(lèi)
對其他功能的影響
定義階段
初始化原則
固定字典
有
需求定義
不建議調整
活動(dòng)字典
無(wú)
需求初步定義,實(shí)施完善
可以完善
(1)數據分類(lèi)
固定字典,是對軟件系統的相關(guān)內容會(huì )產(chǎn)生影響的字典數據。簡(jiǎn)單講就是字典中的幾個(gè)備選項,不能隨意設定,它的改變會(huì )影響其他的功能的實(shí)現。人力資源管理系統中的人員的狀態(tài)就是一個(gè)明顯的例子,最簡(jiǎn)單的人員的狀態(tài)可以分為“在職”和“離職”兩種,在計算人員工資的功能時(shí),就不能計算狀態(tài)為“離職”的人員的工資。所以說(shuō),人員狀態(tài)的內容的設置會(huì )影響其他功能,是不能隨意設定的。
活動(dòng)字典,是對軟件系統的相關(guān)內容不會(huì )產(chǎn)生影響的字典數據。字典中的幾個(gè)備選項可以自由設定,只是一個(gè)選擇性?xún)热?,不是關(guān)鍵性因素。例如人力資源管理系統中的職稱(chēng),其內容是自由設定的,沒(méi)有依據該內容進(jìn)行處理的功能。
(2)初始化工作解析
固定字典數據通常是在需求定義或開(kāi)發(fā)階段進(jìn)行提出和確認的,是不能在實(shí)施階段的數據初始化過(guò)程中重新進(jìn)行定義的,否則就會(huì )影響其他的功能。系統的開(kāi)發(fā)完成之后,應該經(jīng)過(guò)一個(gè)用戶(hù)測試的過(guò)程。用戶(hù)測試的過(guò)程,同時(shí)也是對固定字典確認的一個(gè)過(guò)程。如果對固定字典的確認沒(méi)有通過(guò),需要進(jìn)行調整,這實(shí)際上是一個(gè)需求變更。在數據初始化期間,如果還要對固定字典的內容進(jìn)行調整,這種需求變更的工作量就非常大了。從項目開(kāi)發(fā)實(shí)施的經(jīng)驗來(lái)看,不建議在項目的實(shí)施階段進(jìn)行固定字典的調整。
活動(dòng)字典的數據一般在需求定義階段有初步的設置,在數據初始化時(shí)可以進(jìn)行調整?;顒?dòng)字典的數據完善,主要由項目的甲方來(lái)完成,主要原因在于活動(dòng)字典牽涉到業(yè)務(wù)的內容比較多,而甲方是對業(yè)務(wù)了解最清楚的,乙方只能起到指導和支持的作用。
3.權限數據初始化
管理性軟件,由于受工作職責劃分、數據控制要求等因素的影響,在數據初始化時(shí)必然會(huì )有權限數據初始化的工作。
權限數據一般包括三部分:組織機構的設置、角色的設置和用戶(hù)的設置。
數據分類(lèi)
嚴密性要求
與原系統一致性要求
初始化原則
組織機構
系統越龐大越高
高
甲方指定專(zhuān)人進(jìn)行,乙方進(jìn)行系統操作指導
角色
系統越龐大越高
低
用戶(hù)
高
高
(1)數據分類(lèi)
組織機構的設置,即應用本軟件系統的企事業(yè)單位的組織機構,一般包括公司、部門(mén)及其他機構。設置組織機構的目的,一般有兩種,一是設置人員的需要。一個(gè)軟件系統中,可能用戶(hù)眾多,如果在系統中直接羅列用戶(hù),可能很難直觀(guān)的看出用戶(hù)的屬性,對用戶(hù)查詢(xún)的方便性也較差;二是對業(yè)務(wù)數據權限的要求,軟件系統中的業(yè)務(wù)數據,并不是每一個(gè)用戶(hù)都應該看到所有的數據,一般來(lái)講一個(gè)部門(mén)的人員只能看到本部門(mén)的數據,否則就會(huì )造成數據的保密性紊亂,對數據的維護也會(huì )造成不必要的麻煩。
角色的設置,主要是為了用戶(hù)權限的設置的方便性。設置用戶(hù)的權限,一般有兩種做法,一是直接為用戶(hù)設置功能點(diǎn)的權限,每次添加一個(gè)新的用戶(hù)時(shí),直接設置他的功能點(diǎn),這種做法適合于功能點(diǎn)比較少、用戶(hù)比較少的軟件系統。二是給用戶(hù)進(jìn)行功能點(diǎn)分組,對于功能點(diǎn)龐大,用戶(hù)比較多的系統,采用前一種做法就比較麻煩了。通常的做法是給功能點(diǎn)分組,一個(gè)組為一個(gè)角色,設置角色的功能點(diǎn)。在添加用戶(hù)時(shí),直接設置其為某個(gè)角色就可以了,這樣,對系統維護的方便性就大大增強了。
用戶(hù)的設置,這里講的用戶(hù),也就是軟件系統的登錄用戶(hù),一般是為了軟件系統的安全性要求。在設置用戶(hù)時(shí),設定其組織機構和角色,就完成了用戶(hù)權限的設置。
(2)初始化工作解析
權限數據的初始化,一般在實(shí)施的初期階段進(jìn)行。針對具體的情況,其做法也不同。針對一個(gè)新的軟件系統,如果該業(yè)務(wù)沒(méi)有原系統的支持,其組織機構、角色和用戶(hù)都是新添加進(jìn)系統中的,一般按照應用單位現有的情況進(jìn)行設定,例如用戶(hù)的編號按照員工卡號設定。
如果該業(yè)務(wù)原來(lái)有軟件系統支持,現在要切換成新的軟件系統,則有保持業(yè)務(wù)連續性的要求。例如,原有系統中的業(yè)務(wù)數據內有組織機構的編碼、操作人等信息,則在新的軟件系統中,需要保持原有的組織機構的編碼和操作人的一致性。一致性的要求有兩種做法,一是新系統同原系統一致,采用同樣的編碼;另一種是如果不采用一致的編碼,在將原有的系統業(yè)務(wù)數據移植到新的系統時(shí),不要將原操作人編碼直接移植到新的系統中,要轉化成新的用戶(hù)編碼,否則在將來(lái)的查詢(xún)中就會(huì )造成不必要的麻煩,一般有這種要求的是組織機構和用戶(hù)數據,對角色一般都是重新定義。如果原系統的數據舍棄,不移植到新的系統中,則不存在此問(wèn)題。
從項目的開(kāi)發(fā)實(shí)施經(jīng)驗來(lái)看,權限數據的初始化的難度不大。一般的管理性軟件系統也都提供了權限數據維護的功能,單獨作一個(gè)批量處理的功能意義不大。一般的做法是甲方提供組織機構、角色和用戶(hù)的明細表格,羅列組織機構的編碼和名稱(chēng)、用戶(hù)的編碼和姓名。如果有原來(lái)的軟件系統,還需要提供組織機構的編碼與原系統的編碼及用戶(hù)編碼與原用戶(hù)編碼的對照,作為后續的業(yè)務(wù)數據移植的用戶(hù)編碼調整的依據。乙方只要提供系統使用指導的功能即可。組織機構、角色和用戶(hù)的維護,應該是甲方指定專(zhuān)人進(jìn)行,如果多人進(jìn)行維護,很容易出現前后不一致及用戶(hù)權限定義錯誤的現象。
4.業(yè)務(wù)數據初始化
業(yè)務(wù)數據是一個(gè)管理性軟件系統的核心,是軟件系統管理的必須的業(yè)務(wù)內容,同時(shí)業(yè)務(wù)數據又是系統中變化頻率最高的部分。業(yè)務(wù)數據又分為三類(lèi):基礎數據、歷史數據、現行數據。
數據分類(lèi)
數據初始化要求
處理方式
初始化原則
基礎數據
高
移植或錄入
雙方協(xié)商移植的內容和手段,甲方執行,乙方提供技術(shù)支持
歷史數據
低
記錄總帳,不需要移植或錄入
現行數據
高
移植或錄入
(1)數據分類(lèi)
基礎數據,顧名思義,就是業(yè)務(wù)數據中最基礎的部分。例如一個(gè)收費管理系統中的檔案部分,檔案提供了收費的對象、收費的標準等各項基本信息。這部分數據是整個(gè)業(yè)務(wù)系統構建的基礎,是不能缺少的,在系統的數據初始化時(shí)必須準確加入到系統中來(lái)。
歷史數據,是指以前發(fā)生過(guò),以后只作為查詢(xún)使用,不再進(jìn)行調整的數據。例如收費管理系統中的已收費用信息,都是歷史數據。
現行數據是指軟件系統中正在或將要處理的數據,在新的系統中還要進(jìn)行調整。例如收費管理系統中的欠費數據,以后還需要進(jìn)行收費處理,是現行數據。
(2)初始化思路
基礎數據的初始化,根據不同的實(shí)際情況,也有不同的做法。如果原來(lái)沒(méi)有業(yè)務(wù)系統支持,可以采用分步錄入或批量錄入的方式??梢詥为氉饕粋€(gè)錄入的程序,支持基礎數據的錄入。分步錄入是數據在一個(gè)持續時(shí)間比較長(cháng)的階段,分批次、分步驟的錄入系統。批量錄入則是在一個(gè)持續時(shí)間比較短的時(shí)間內,組織大量的錄入人員,突擊進(jìn)行錄入,這種做法在紙面的基礎數據比較龐大的情況下適用,能夠將以前的手工的業(yè)務(wù)處理方式在很短的時(shí)間內整體轉換到計算機系統處理。
如果原來(lái)有軟件系統支持,基礎數據在條件允許的情況下可以進(jìn)行批量的移植。這里的條件允許包括原有系統的數據結構清楚、邏輯關(guān)系準確、技術(shù)手段能夠支持等內容。如果不具備這幾個(gè)必備條件,則也無(wú)法從原有系統直接將基礎數據移植到新的軟件系統中,需要采用手工錄入手段進(jìn)行。
歷史數據在以后的軟件系統中,只作為查詢(xún)使用,如果完全從原有系統移植到新的系統中,其意義不大,一般只保留總量即可。例如一個(gè)收費管理系統,如果系統上線(xiàn)是在年初,則只保留上年結轉的總量,對于以往的歷史數據不需要保留。如果系統上線(xiàn)是在年中,則保留上年結轉的總量和當年的歷史數據,以往年度的歷史數據不需要保留。
歷史數據可以保存在某個(gè)特定的地方,需要查詢(xún)的時(shí)候單獨進(jìn)行查詢(xún),不移植到新的系統中,這樣的做法對于保持新系統的數據的準確性和清晰性是大有裨益的。
現行數據,由于以后的處理要求,需要移植到新的系統中。移植的辦法可以根據不同的情況采用移植和錄入兩種。如果具備原有系統的數據結構清楚、邏輯關(guān)系準確、技術(shù)手段能夠支持等條件,可以采用移植的手段。沒(méi)有具備以上的條件,則采用手工錄入的方式。
(3)初始化工作解析
軟件系統的上線(xiàn),一般的做法是分步進(jìn)行,讓一部分人先用起來(lái)。由點(diǎn)到線(xiàn),由線(xiàn)到面,逐步推進(jìn)。比如一個(gè)集團性的企業(yè),很難做到全部子(分)公司一起使用軟件系統,通常的做法是先選擇幾家子(分)公司,將這些公司的數據先行移植到新的系統中,讓系統用起來(lái)。然后帶動(dòng)其他的子(分)公司,逐步的將數據移植到新的系統中,進(jìn)而達到全部應用的目的。這個(gè)試點(diǎn)的選擇,以及逐步推進(jìn)的步驟、措施,移植數據的內容、手段等工作,可以由甲乙雙方協(xié)商確定,甲方負主要責任,乙方可以提供意見(jiàn)和建議,但是執行肯定是甲方的事,讓乙方的人員去給甲方的人員下命令肯定是不現實(shí)的。如果甲方一直不能確認移植數據的范圍,在這個(gè)問(wèn)題上反復的考慮,拖延下去,對項目進(jìn)度的影響甲方是逃脫不了責任的。
把原來(lái)系統的數據完整的移植到新的系統中,這是很多甲方人員的想法,但是這種想法肯定是不現實(shí)的。既然新開(kāi)發(fā)了一個(gè)系統而不是堅持使用原來(lái)的系統,那么新的系統相比原系統而言,在業(yè)務(wù)管理流程、系統設計思路等等方面肯定有很大的調整。沒(méi)有一個(gè)新開(kāi)發(fā)的系統是按原系統的設計思路、業(yè)務(wù)管理流程原原本本的照搬過(guò)來(lái)的,那樣新開(kāi)發(fā)一個(gè)系統意義也就很渺小了。在不影響業(yè)務(wù)應用的前提下,對原系統的歷史數據進(jìn)行一些舍棄,是很正常的做法?,F實(shí)情況是這恰恰是很多甲方人員堅持的地方,當乙方人員提出舍棄某些歷史數據的時(shí)候,甲方的人員在固執的堅持,而不考慮完整保留的意義和其他可行的做法。此時(shí)有效的做法是雙發(fā)協(xié)商確定一個(gè)有效的數據移植的內容和手段,并制定工作計劃,甲方按計劃去執行,乙方提供技術(shù)支持的手段。在歷史數據的完整性上反復的考慮、堅持是沒(méi)有意義的,相反的會(huì )影響項目實(shí)施的進(jìn)度。
現行數據的認定,即確認哪部分數據是需要移植的數據,是一個(gè)非常重要的工作內容,也是一個(gè)工作的難點(diǎn)。數據的認定包含兩方面的內容,一方面是數據范圍的認定,也就是在一個(gè)大的應用單位里邊移植的數據所屬的部門(mén)或機構;另一方面是認定該部分數據是現行數據而不是歷史數據。這兩方面的工作需要項目的甲乙雙方協(xié)商確定,而執行通常是甲方的工作職責,乙方通常提供指導和技術(shù)支持。
管理性軟件項目的數據初始化的工作難點(diǎn),在于要將原系統的數據移植到新的軟件系統中。有時(shí)還會(huì )存在原來(lái)的系統是多套的情況,這種情況通常會(huì )發(fā)生在大的集團性企事業(yè)單位中,各個(gè)系統的使用方法以及數據庫結構等都不相同,這時(shí)尤其要分步進(jìn)行操作,不能一哄而上,否則會(huì )造成比較大的混亂。分步的設定,通常是甲方的工作,乙方一般不能直接下硬性的命令。
5.結束語(yǔ)
以上的幾種數據的處理,如果是從原軟件系統移植到新的軟件系統,都需要記錄移植的數據統計信息作為以后備查使用,主要包括移植的條數、總量等信息。針對不同的業(yè)務(wù)系統,應依據實(shí)際的業(yè)務(wù)要求定義相應的業(yè)務(wù)統計指標,例如針對一個(gè)收費管理系統,其指標可以為總條數、總戶(hù)數、實(shí)收總金額、欠費總金額等等。移植數據的統計信息,一般采用表格的形式記錄,并且需要項目的甲乙雙方簽字,作為數據移植情況的備案。
參考文獻
1、中國軟件網(wǎng) 怎樣做好管理軟件的項目實(shí)施和產(chǎn)品研發(fā) 2007-6-7;
2、李明國 關(guān)于軟件實(shí)施項目管理的探討 2003-4-9。