數據貯存庫可以作為一種存儲機製來保存有關2000年問題的信息,如日期使用地點、依賴關係跟蹤、商務處理重組的信息以及數據修正的實例。在測試階段,數據貯存庫還可以用於存儲有關應用性能測試的所有參數及所有的測試。
作為為解決2000年問題所做的每件事的曆史記錄,數據貯存庫可以使審計者確信企業的可靠性水平和日期轉換的徹底程度。從數據貯存庫中,IT人員能得到應用信息清單,打印出影響分析報告,以及回溯每一個已做的轉換和決定。
如果公司的大多數應用係統並沒有長期使用的價值,那麼,對2000年問題使用數據貯存庫也許有些大材小用,公司可以付出最少的代價來完成對2000年問題的處理,而推遲對整個係統的更新。
如果數據貯存庫不是作為整個轉換過程的一部分,並由開發人員將所有數據都集中處理,其用處也不會很大。沒有完善的規劃和得力的項目負責人,數據貯存庫的維護不能及時進行,其內容就不會完整,也就失去了應用價值。
對於那些應用係統有長期使用價值並希望對2000年問題做詳細文檔記錄的企業,可以選擇數據貯存庫,尤其是對於正在尋求解決方法以降低不斷增長的維護費用的企業,這種選擇更為合適。而當日期轉換完成後,企業也能得到一定的投資回報。
2.項目管理工具
許多新的項目管理工具為了支持對2000年問題的解決,甚至提供了流程圖或項目模板。在時間和資金方麵對評價這些工具的投資都是值得的。缺乏規劃和管理有可能給IT人員的轉換工作帶來巨大的影響。從項目管理工具中得到的經驗,當然可以應用於2000年問題。然而,若開發人員或管理人員缺乏必要的知識和努力工作的精神,項目管理工具就難以發揮作用。像大型機的程序員一樣,2000年問題的項目管理員的作用也是非常重要的。盡管項目管理經理控製項目的進度和預算是必要的,而運用項目管理工具定義項目取向,並對項目的執行給出建議,以及對某一個企業的特殊需要進行定製也是非常有價值的。
下麵簡單介紹一些解決2000年問題的軟件工具產品,以供參考:
Symantec公司於1998年7月份推出了被稱為Norton2000的軟件,專門用於檢測解決電腦的千年蟲問題。據介紹,Norton2000可檢測電腦中的Excel、Lotu1-2-3、dBase、FoxPro等多種類型的文件,並自動標出可能受千年蟲影響的文件。同時,Norton2000還可以檢測電腦的BIOS及時鍾等硬件,並自動安裝係統保護文件。Symantec宣布,將有兩款Norton2000推出,一款是針對公司、集團等大型用戶,另一款則是針對普通消費者。
Platinum和Lucent聯合投資的VisualInsight公司正式推出可加快2000年問題分析和決策的工具軟件――TransCenturyVisualization。該軟件使用戶可視化地觀察數據,從而幫助用戶盡快找出問題所在。這對2000年問題考慮較晚的企業十分有益。另外,Platinumtechnology公司也發布了InfoSessionforWeb和IndexExpert兩款新產品,前者為用戶提供了基於Web訪問大型機數據的能力,使企業能通過Web瀏覽器直接訪問幾乎任何主機的應用;後者是目前大型機DB2數據庫索引方麵的最新工具。
另據了解,Oracle2000年解決方案已開始發揮作用。以專門開發控製技術和控製產品而聞名於世的Honeywell公司采用OracleApplication10.7版套件解決了2000年問題,並使該公司分散在世界各地的分支機構的信息係統成為一個協調統一的信息平台。
CA公司(ComputerAssociatesInternational)和InformationAnalysis在1998年2月份聯合推出了對付千年蟲問題的軟件工具套件UNICAST/2000。這一套件由兩家公司共同開發,針對的是因2000年問題造成的應用軟件不兼容。UNICAST是“通用電腦輔助軟件轉換器”(UniversalComputerAidedSoftwareTranslator)的縮寫。它是多種版本融合(conversion)工具的集成,開發時間長達十年。UNICAST/2000對以CA-ADS電腦語言編寫的應用軟件有效。它可以發現並更正這類軟件中的數據單元,使其與2000年兼容。在CA授權的軟件中,CA-ADS用UNICAST/2000是一係列商用工具中的第一個,這個係列專門對付“千年蟲”。該產品的售價尚未披露。
此外,CA公司2000年問題解決方案CADiscovery2000中的CA-Fix/2000最近獲得了PluginDatamation站點評選的“最佳2000年問題解決工具獎”。這種名為CA-Fix/2000的產品可以使用戶手動或和其他工具配合糾正應用程序中所有關聯時間的部分。CA公司稱CA-Fix/2000已經被做為其Discovery2000軟件包中的一部分開始向用戶提供,以解決日益臨近的2000年問題。
1998年6月16日Compuware公司在北京宣布推出一個2000年問題測試工具軟件——“時間跨度測試解決方案”(Time-OptimisedTesting)。康博的“時間跨度測試解決方案”可幫助用戶將他們的應用軟件進行轉化,使之符合2000年標準。它通過提供一個可重用進程模塊進行2000年問題測試來實現這一目標。利用這個模塊,用戶可以確需要對哪些軟件進行優先測試,以及采用什樣的工具、操作和資源能夠高效率地解決2000年問題。
NovellNetware於1996年8月推出NetWare3.12and4.10作業係統的修改版本以解決NetWare的Year2000問題。這些版本是放在:
ftp://ftp.novell.com/pub/updates/nwos/nw312/312pt9.exe以及
ftp://ftp.novell.com/pub/updates/nwos/nw410/410pt6.exe
工程規劃
解決2000年問題的困難不在於技術,從純粹的技術上來看這個問題並不難。真正的困難在於要對大量的產品和應用係統進行評估、分類、分析、測試,處理的對象範圍廣、數量多,涉及到的部門多,任何一個環節出了問題,都會影響整個工作,導致失敗。因此,對整個項目進行有效的規劃顯得分外的必要和重要。
根據美國GartnerGroup的追蹤調查,美國至目前幾乎100%的案例皆嚴重低估規劃階段所估算的時間與資源需要,美國CapGemini顧問公司的合作研究也發現:有80%的企業自從進行Y2K解決計劃以來,在方法上已經做了修正。這也意味著幾乎所有美國公民營機構麵對這一此跨越世紀“合法病毒”的嚴峻挑戰時,都走了一段彎路,從而付出了更多的資源與代價。因此,必須高度重視對Y2K工程的規劃工作。
在技術層麵上,解決2000年問題除了單純的程序修改和轉換工作之外,完整的Y2K工作流程應包括:清查評估、規劃計劃、修正轉換、測試驗收和運行維護等幾個階段,是一個複雜的工程。
一、清查評估
一個單位是否存在2000年問題?如果存在,那麼,對本單位的影響是否嚴重?這些問題都應該經過清查、分析,然後再下結論。有的係統可能確實不存在2000問題;有的係統雖在年份表示上有問題,但對企業的經營沒有什麼影響;有的係統的確有問題,並且對企業的經營有影響。
本階段的主要任務是通過清查徹底搞清楚本單位有哪些係統、設備會受到2000年問題的影響,會受到哪方麵的影響,影響的輕重程度和風險如何以及大家對2000年問題的認識程度。清查對象既要包括單位內部所有處於風險中的計算機軟硬件係統、操作係統、微碼、數據庫、應用軟件、接口和支持、維護設施,還要包括所有對日期敏感的係統,如電力係統、供熱係統、照明係統、電訊係統、樓宇自控係統等所有應用了嵌入式芯片的設備和係統,做到不留死角,萬無一失。同時,由於對計算機2000年問題的認識程度是影響工程順利實施的一個重要因素,本次調查也應該包括該項內容。隻有通過調查,才能在以後的工程實施中作到心中有數,有的放矢。
必須整理出一份清單,列明公司所有可能含有Y2K問題的電腦器材。
在這一階段應借助掃描軟體自動找出可能發生問題的程序,隻使用維護程序自行以人工清查是極為冒險的。影響評估可以委托專業第三者進行。
本階段的具體任務包括:
1.檢查所有的係統和係統組成部件。發放一定格式的2000年問題調查表,組織各部門有關人員進行2000年問題清查登記。
2.在調查結束後,把調查表的內容進行彙總,作出本單位內部受到2000年問題影響的係統設備數據庫,以備以後隨時查詢(一般來說,用EXCEL製表軟件作上述統計也行)。
3.根據彙總情況,要把本單位內部2000年問題的狀況進行分析,加以歸納整理,提交正式的報告,闡述本單位內2000年問題的現狀,列出各種統計數字,並提出初步的相應對策。
一般來說,第一、二階段應占整個工程實施中20-30%左右的工程量。
二、規劃設計
這一階段又包括兩方麵:
1.總體規劃及策略擬定
主要工作為:
(1)根據問題影響麵的大小,確定解決辦法。對於購買的係統或係統間的接口及其它關鍵係統,可以使用表格調查。調查表的內容主要應集中於建立問題的類型,以便評定係統所具有的風險。然後,檢查一下提供係統的硬、軟件廠商對其係統產品或零部件產品順應2000年所采取的對策和許諾,以及購買合同、技術支持和維護合同。最後決定對處於風險中的該係統,是采取修改的方法還是替換的方法。對於單一類型及不同類型混合的係統,根據受到的約束,選擇出相應的解決方法。
(2)在充分征求各方人員和計算機專家的意見的情況下,按照係統工程的科學管理方法,進行修改量的初步估算,區別處理先後次序,並決定人力資源,資訊資源,時間需求及預算費用進行粗略的成本估算(粗略成本=已開發的係統的所有源代碼行×工業成本因子)。
(3)對應於單位內2000年問題的整體狀況,進一步明確、製定並統一發布2000年問題的公共定義,解決問題的目標,解決2000年問題的技術標準和整體方案;
2.細部分析及規劃
(1)為深入分析每一影響層麵並確認細部工作項目要求。這一步驟涵蓋的層麵不僅是考察應用程序,還包括就整體檔案結構及整體環境做一分析檢討。
(2)對應於不同的具體情況,製定解決2000年問題的具體技術方案和策略,並要為每種方案估算所需要花費的人力、設備、費用。編列詳細日程和計劃。
(3)對於各部門上報的具體解決方案進行技術和預算上的把關、審批。
(4)製定2000年問題的災難恢複計劃,以應付可能的突發性工程失敗。在災難恢複計劃中應該逐步標明修改的優先級和關鍵係統的部位。用逐步細化的辦法來製定災難恢複計劃,包括安全結果和副作用。
(5)修改產品采購政策,嚴格禁止引進任何沒有獲得Y2K符合認證的計算機硬件、固件和軟件,保證采辦的各種計算機係統都符合Y2K標準。
(6)將整個係統全部進行備份。
三、修正轉換
對有問題的係統進行修正、更換或報銷。這一階段的重點是針對有問題的原始程序、數據檔案等做修改變更。這是2000年問題的具體解決階段,根據前麵製定的工作計劃和相應方案,組織人力物力實施係統、設備和軟硬件的問題修正。在工程實施中,要注意充分利用現代化的工程管理手段和工具,隨時和工程實施人員保持密切聯係,及時發現工程中出現的問題並對其作出反饋。本階段具體任務包括:
1.硬件設備和係統的更換或修改。這期間要和計算機硬件廠商密切聯係、合作,充分得到他們的技術支持。
2.軟件係統包括操作係統軟件、外購的商業應用軟件和自主開發的業務處理軟件的修改。其中自主開發的業務處理軟件的修改是重點和難點,因為根據中國的國情,早期的軟件開發一般都不是很正規,開發文檔不全、開發人員流失等都會給修改工作帶來較大的困難。
3.對於要淘汰和替換的係統,要確保新係統的配備、開發和測試能夠按計劃進行,能在2000年前完全、穩定的投入運行。
4.進一步製定應急措施和災難恢複計劃,為一些在2000年前完不成修改任務或修改不完全的係統做應急備份方案。
5.可提前為修改完成後的每一個係統製定相映的測試標準、測試計劃和測試環境。
6.建立計算機係統日期表示標準,規範計算機應用軟件的開發,實施Y2K問題認證計劃。
四、測試驗收
是否所有指令都修改過來,以及修改後係統是否繼續正常運作,這是大家最關心的問題,由於2000年問題危害嚴重,影響廣泛,任何一個小小漏洞都有可能釀成大錯。所以必須經過一次次的反複測試。測試是關鍵步驟,也是最麻煩的過程,可能要占據整個工程的一半時間與人力。
(一)測試流程
1.建立測試基準
建立測試基準主要目的是在我們選定的係統,經過評估與討論後,確定我們準備運用的轉換方法與測試數據。它又可再分為一些工作項目:
(1)選擇轉換係統;
(2)排除多餘功能。在選定係統後,應深入了解每一功能的使用頻率與日期使用方式,確定可以不轉換或不需要的功能;
(3)決定測試方式。針對年份日期在係統中應用的方式,決定未來測試應采用的測試方法;
(4)決定測試數據;
(5)判斷所測試應有的標準答案。
2.執行測試測試目的是將各種不同日期的測試數據送入係統執行,並將產生之結果與應有的標準答案相比較,以確認在2000年之不同日期下,可以正常執行。在測試執行階段,可再有下列步驟:
(1)輸入每一種日期組合;
(2)記錄執行結果分析錯誤。
3.係統進行測試後,就要仔細比對執行結果,以找出所有錯誤與可能的副作用。
其詳細步驟可再分為:
(1)分析結果。確認那些係統元件未通過測試;
(2)分析錯誤。確認錯誤是歸因於:
資料內容;
資料格式;
程式邏輯;
輸出錯誤;
(3)擬定修正策略。決定錯誤造成的原因後,就可依據實際狀況,擬定修正策略。我們需根據錯誤影響層麵、複雜度、所需人力等因素,來訂定修改的策略與應如何修正。當然對程序與數據的修正方法,我們都有不同的方法可供選擇。每種方法所需之人力都不相同,端視我們如何抉擇。
通過前述分析錯誤過程,並決定修正的方法後,便可依擬定的方法,執行程序、數據庫與資料檔案的修正。當完成修改動作後,作業程序便又重新循環,而且需要對係統再進行測試,直至沒有任何錯誤發生為止。
(二)測試周期
1.程式轉換/測試
所有程序或相關的Copybook修改過後,都需再經過完整測試,以確認執行結果正確,也不會有其它不良作用產生。
2.單元/整合測試
為了確保係統可以跨世紀運作正常,我們必須將受影響的係統作完整的測試。由於2000年是閏年的原故,我們必須至少準備5組測試日期與數據:
現在日期與時間;
1999年12月31日;
2000年1月1日;
2000年2月29日;
2000年3月1日以後的日期。
當每修改過程序或數據庫後,都需將選定的測試數據,送入係統重新執行,確認結果正確性。國外甚至預估,測試所需時程會占去轉換專案的50%以上。惟有不斷反複測試,才可讓我們高枕無憂。
3.版本整合上線,進行係統測試
電腦中心在進行2000年轉換專案時,極有可能一般使用者仍會要求功能、報表、維護等工作。此時就必須非常小心作程序維護工作,還未完成轉換的程式不能搬上正式操作環境;但完成轉換的係統也要將這段期間所有的維護、更新片段納入。這時就有可能需要將二個不同版本的程序加以整合,正式搬至正式操作環境。
4.驗收測試,異常追蹤
係統轉換完成,正式上線後,要進行驗收測試和Y2K認證,同時也要持續追蹤一段時間,避免有後遺症產生卻沒有即時發現而造成一些憾事的情況。
“符合Y2K”(Y2KCompliance),其實並沒有固定準則,不過一般來說包括下麵幾項:
·所有儲存檔案中的日期、世紀碼(19xx或20xx)必須不含糊;
·在2000年前後,所有與日期有關的運算都必須準確;
·能確認2000年是閏年,有2月29日;
·所有輸入與輸出(屏幕或報告)的日期格式必須不含糊,讓用戶對年份一清二楚。
在測試階段,至少要進行單元測試和集成測試;在驗收階段,還要進行係統測試和驗收測試。
五、運行維護
在確保以上步驟圓滿完成後,修正後的新係統投入試運行,此時,工程的主要任務變為現場維護工作(CleanManagement),包括培訓最終用戶、程序執行效率檢查。
由於2000年問題的複雜性和隱蔽性,現場維護的工作也是至關重要的,要隨時發現新係統運行中可能出現的各種問題,並作出最及時的反應和修改。在修改、測試驗收後,應有良好的維護管理,並且針對未來2~3年應用程式所要采用的標準格式,進行整合,以確保整個係統的一致性及完整性。
當我們注重在轉換結果正確性時,對於執行效率的影響也不可忽視。由於我們需要在程序中加入處理2000年相關邏輯,同時也有可能應用新版本的程序語言編譯器(Compiler)來編譯,這都有可能影響程序原來的運行效率。在係統轉換上線前、後,程序效率的好壞、對係統與使用者可能造成的衝擊,都需要加以監控。
協調與管理
身為克林頓特別顧問的Koskinen曾向聯邦機構的主管們提出:現在沒有比Y2K問題更重要的管理問題了。一位計算機分析家曾經這樣描述:“許多公司就象站在了一輛大卡車的強大探照燈麵前一樣,麵臨危險卻茫然不知所措”。因此,在解決2000年問題的過程中,如果沒有綜合、全麵、係統、有效的協調和管理工作,就很有可能陷入問題的泥潭中,最終眼睜睜看著時間、資源耗盡,乃至得不償失。
新加坡華僑銀行在1996年就成立了特別小組應付Y2K,副總裁(信息技術)陶耀興談到大企業應如何麵對Y2K的經驗:“許多人把Y2K問題當成是科技問題,其實不然,公司和企業應把它當成是管理問題,因為牽涉到業務危機,Y2K可能會使公司業務無法正常運作。而且應付Y2K不能為公司帶來盈利,相反地必須投入客觀的金錢、人力與資源,過程又需要各部門的配合。”
因此,解決計算機2000年問題最大的難點,還不在於技術方麵,而在於組織和協調。去年6~7月,一些國家已在美國舉行了兩次國際會議,專門討論這一問題。美、英、日本等國政府已采取了措施,作出經費預算,有的還成立了專家小組,負責解決這一問題。在這裏,僅對協調和管理工作中的幾個重要方麵作些探討和介紹。
溝通問題
2000年計算機年序錯亂危機的解決方案是一項極為複雜的重要工程,不能有些微疏漏,必須以審慎的態度、細致的手法、睿智的巧思、周密的稽核,方能爭取在有效的時程內完成。因此,如何將危機變成轉機,就有賴於管理領導階層的支持重視和各部門及專案人員的協調合作。
首先,獲得最高管理層的支持是成功應付Y2K的關鍵之一。
企業高層對2000年問題的認知,決定著公司是否願意花錢花人力來麵對它。電腦谘詢公司AgivSoftech的技術經理陳俊雄說:“企業的負責人相信應該都聽過Y2K,可是卻不一定了解問題的嚴重性與後果。”
轉換專案不應隻是企業信息技術中心內部的事情,轉換工作的成敗是會影響企業的信譽甚至生存與否的關鍵。因此,信息技術中心必須與高層主管以及係統的使用者進行充分的溝通。
從下麵的例子,可以看一看企業的高級主管人員們在這場危機中各自的態度、傾向以及他們又是如何溝通的。
▲CEO:首席行政長官
▲CIO:首席信息主管
▲CFO:首席財務主管
▲COO:首席運作主管
當與高級管理層談及2000年問題的危險時,CIO們及2000年項目的主管們總是眾口一詞:“這是商業問題,不是技術問題。”他們認為,Y2K轉換是著眼於解決商業連續性的問題,而不僅僅是另外一個小的計算機升級。
Xerox公司2000年戰略的信息管理主管SandraLutrario說:“有高級管理者涉入Y2K轉換確實是非常關鍵的。對於行政人員,要使他們理解這是個商業問題,並且讓他們提出自己的意見。”
使高級行政人員涉入Y2K項目,不僅僅是從批準預算的角度出發,它同樣有助於在整個公司中將該項目置於非常優先的地位,並增加了商業夥伴為Y2K轉換作充分準備的可能。高層人員的涉入會加快項目的進程、減少成本,那麼確保CEO、CFO、董事會成員及公司集團外的其他高級官員涉入的最佳方法是什麼呢?
步驟一:恐嚇戰術
根據前人經驗,使高層人員涉入的過程,要從教育入手。紐約城Hunter大學計算機科學部主席兼Rubin係統主管HowardRubin說:“CEO和董事會需要被培訓是顯而易見的,你可以告訴他們有關技術問題,他們會歎氣;告訴他們有關成本,他們會不安;但告訴他們將失去的商業機會,將不再有競爭力,他們就會真正地關注它了。”
描述災難性後果
Lutrario和Xerox公司的CIOPatriciaWallington使用了這種方法,他們描述了若不及時作出反應將會對業務帶來的潛在影響。Lutrario說:“CFO問我們,是否能舉例說明若到2000年不安裝我們的票據係統會發生什麼問題。因此我們給他們列出細節,顯示出發票將如何被不正確地計算。”Lutrario示範了該係統將如何從發票正確日期中扣除36,2525天(即100年),她還引用了一個顧客用2000年後過期信用卡購物的例子,該交易不能完成。
培養同盟
高級管理人員有時需要從其他業務部門的迫切要求裏認識到消除Y2K問題的緊迫性。北德克薩斯大學教授兼有關2000年問題的新書的作者LeonkKappelman說:“公司的法律人員、財務人員或保險人員都可向高級管理者表示2000年問題的危險。”他建議召集業務上與Y2K問題利害相關的所有部門人員,使其涉入該問題並提供不斷的支持,該方法是讓業務主管們去引起高級管理人員的注意。根據YankeeGroup的GopiBala的分析:“為公司創造收益的人需要提出該問題,因為各業務主管有時在這方麵比CIO更有效。”
CEO們期望迅速、廉價地解決Y2K問題,這是個幻想。
擊斃不切實際的幻想
在培訓CEO過程中遇到的一個阻礙是:CEO們期望迅速、廉價地解決Y2K問題,這是個幻想。
當新的轉換和檢測工具使該過程更加有效時,期望無所花費的改進是不現實的,CEO應在對項目全麵支持前了解到這種情況,解釋該項目的複雜性是消除錯誤期望的一部分。Hunter說:“董事們似乎認為這是個簡單的安裝。這隻是要變換兩位數的年份,他們不明白操作起來為什麼會那麼困難、那麼昂貴。向CEO及董事會成員顯示係統是如何相互依存,公司是如何依賴於他的供貨商及客戶的係統,能幫助說服他們消除不實際的幻想。”有時,媒介在這個方麵幫了倒忙。最近華爾街時報有關Y2K花費推測的文章,使得航空公司的CEO堅持:“這就是我為什麼不打算在這件事上投資的原因。”