系統架構設計筆記(32)—— 新舊系統的分析和比較

計算機技術飛速發展,日新月異,許多企業因爲業務發展的需要和市場競爭的壓力,需要建設新的企業信息系統。在這種升級改造的過程中,怎麼處理和利用那些歷史遺留下來的老系統,成爲影響新系統建設成敗和開發效率的關鍵因素之一。通常稱這些老系統爲遺留系統。

目前,學術和工業界對遺留系統的定義沒有統一的意見 。Bennett 在 1995 年對遺留系統做了如下的定義:遺留系統是不知道如何處理但對組織又至關重要的系統 。Brodie 和 Stonebraker 對遺留系統的定義如下:遺留系統是指任何基本上不能進行修改和演化以滿足新的變化了的業務需求的信息系統。

遺留系統應該具有以下特點:
(1)系統雖然能完成企業中許多重要的業務管理工作,但已經不能完全滿足要求。一般實現業務處理電子化及部分企業管理功能,很少涉及經營決策。
(2)系統在性能上已經落後,採用的技術已經過時。如多采用主機/終端形式或小型機系統,軟件使用彙編語言或第三代程序設計語言的早期版本開發,使用文件系統而不是數據庫。
(3)通常是大型的系統,已經融入企業的業務運行和決策管理機制之中,維護工作十分困難。
(4)系統沒有使用現代系統工程方法進行管理和開發,現在基本上已經沒有文檔,很難理解。

在企業信息系統升級改造過程中,如何處理和利用遺留系統,成爲新系統建設的重要組成部分。處理恰當與否,直接關係到新系統的成敗和開發效率。遺留系統的演化方式可以有很多種,根據系統的技術條件 、 商業價值及維護和運行系統的組織特徵不同,可以採取繼續維護 、 某種形式的重構或替代策略,或者聯合使用幾種策略。究竟採用哪些策略來處理遺留系統,需要根據對遺留系統的所有系統特性的評價來確定。

1 遺留系統的評價方法

對遺留系統評價的目的是爲了獲得對遺留系統更好的理解,這是遺留系統演化的基礎,是任何遺留系統演化項目的起點。本文的評價方法包括度量系統技術水準 、 商業價值和與之關聯的組織特徵,其結果作爲選擇處理策略的基礎。

評價方法由一系列活動組成,如圖 1 所示。

1.1 啓動評價

評價是爲了獲得對遺留系統的足夠深度的理解,從技術 、 商業和企業角度對系統的理解爲系統處理策略提供基礎,開始評價前,需要了解以下問題。
(1)對企業來說,遺留系統是否是至關重要的。在評價過程中,可能會發現系統對企業的繼續運作產生的影響不大。在這種情況下,就沒有必要考慮系統的演化問題。
(2)企業的商業目標是什麼。從商業觀點來看,評估師必須理解企業的商業目標,因爲商業目標產生演化需求。
(3)演化需求是什麼。演化需求來自企業的商業目標和評價活動。需求必須是可見的,以便決定已存在的系統是否能滿足需求。
(4)所期望的系統壽命多長。一個系統的壽命由軟件和硬件的服務能力決定,一旦系統硬件或支撐軟件過時,系統的有效性就受到限制。
(5)系統使用期限多久。如果系統的使用期限只是短期的,就沒有必要花費成本來演化系統。相反,如果系統將在相當長的時期內支持主要業務流程,則必須進行演化。
(6)系統的技術狀態如何。例如,如果應用軟件的技術狀況很差,則很難理解,維護費用會很高。
(7)企業是否願意改變。企業對改變的態度是遺留系統演化成功的關鍵因素之一。
(8)企業是否有能力承受演化。企業的技術成熟度,員工的素質,支撐工具的級別等都是影響演化的因素。

1.2 商業價值評價

商業價值評價的目標是判斷遺留系統對企業的重要性。

在多數情況下,重要業務過程的改變意味着舊的系統現在僅僅具有外圍價值,修改這種系統只需花費少許財力和物力。在其他情況下,系統的業務價值很大,需要繼續維護運行。可以在概要和詳細兩個級別上進行遺留系統的商業價值評價。

概要級評價將爲更加詳細的分析提供信息。概要級評價包括:
(1)諮詢。向有關專家進行諮詢,包括最終用戶和負責業務處理的管理人員。
(2)評價問卷。問卷應該標識系統在業務處理過程中的哪些地方使用,本系統與其他系統的關係,如果系統不再運行所需的代價,系統已有的缺點和存在的問題等。問題的準確性依賴於所評價的系統。
(3)進行評價。有了問卷的基礎後,必須認真分析系統是如何使用的,這往往會發現系統的價值,而這在問卷中是得不到的。

詳細級評價包括應用系統不符合業務規範的風險分析,這種分析十分費時,最好由業務分析師來完成詳細級的評價。

1.3 外部環境評價

系統的外部技術環境是指硬件、支撐軟件和企業基礎設施的統一體。

(1)硬件

系統硬件包括許多需要進行常規性維護的部件,這些硬件或者在一個站點,或者分佈在許多站點並由網絡連接。一般來說,遺留系統的硬件包括主機和小型機 、 磁盤驅動器 、 磁帶 、 終端 、 打印機和網絡硬件。

與商業價值評價類似,硬件評價也可以分爲概要級評價和詳細級評價。概要級評價把遺留系統作爲一個整體,提供硬件質量估計。詳細級評價包括識別系統中的每個部件。在這兩種情況下,必須識別一系列特徵,用作評價的基礎。

特徵的選擇取決於要評價的系統,系統的一些常見特徵有供應商 、 維護費用 、 失效率 、 年齡 、 功能 、 性能等。具體評價方法是:每一個部件(或整個系統)在每個特徵上分配一個價值分數(取值爲1~4),然後把所有分數相加,獲得該部件的總分。

(2)支撐軟件

系統的支撐軟件環境也由許多部分組成,可包括操作系統 、 數據庫 、 事務處理程序 、 編譯器 、 網絡軟件 、 應用軟件等。一般來說,支撐軟件是依賴於某個硬件的,應用軟件依賴於系統軟件。在評價過程中,必須考慮這種依賴性。支撐軟件的評價方法類似於硬件評價,在此省略。

(3)企業基礎設施

企業基礎設施包括開發和維護系統的企業職責和運行該系統的企業職責(兩者可能爲同一個企業),這些基礎設施是很難評價的,但對遺留系統的演化起關鍵作用。因此必須考慮以下問題。

  • 企業和使用者的類型。企業或者有自己的系統開發隊伍,或者所有開發和應用管理都是請其他企業完成。系統用戶或許只重複一些記錄性工作,或許包括一些更有技術性的工作。
  • 開發組織的技術成熟度。開發組織的技術成熟度包括是否使用了現代系統工程方法,是否遵循了統一的標準,是否進行了過程改進等。
  • 企業的培訓過程。如果企業(包括開發方和客戶方)的培訓做得好,遺留系統的演化可能會更成功。
  • 系統支持人員的技術水平。如果系統支持人員的水平和經驗不夠,就不要急於對系統做大的改動。
  • 企業是否願意改變。企業對改變的態度是遺留系統演化成功的關鍵因素之一。
  • 企業基礎設施的評價方法類似於硬件評價,在此省略。

1.4 應用軟件評價

應用軟件評價也有兩個級別。

(1)系統級。把整個系統看作是不可分的原子,評價時不考慮系統的任何部分。
(2)部件級。關注系統的每個子系統,考慮每個子系統的特徵,包括複雜性 、 數據 、 文檔 、 外部依賴性 、 合法性 、 維護記錄 、 大小 、 安全性等。

具體評價方法也與硬件評價類似,在此省略。

1.5 分析評價結果

評價活動將產生硬件 、 支撐軟件 、 企業基礎設施和應用軟件的特徵值矩陣,這些特徵值體現了遺留系統當前的技術因素,其加權平均值代表了系統的技術水平。

把對技術水平的全面評價結果與商業評價進行比較,可以爲系統演化提供第一手的資料。具體方法是按照商業評價分值和技術水平分值的情況,把評價結果分爲四種類型,如圖 2 所示。

2 遺留系統的演化策略

在圖 2 中,把對遺留系統的評價結果分列在座標的四個象限內。對處在不同象限的遺留系統採取不同的演化策略。

(1)淘汰策略

第3象限爲低水平 、 低價值區,即遺留系統的技術含量較低,且具有較低的商業價值。對這種遺留系統的演化策略爲淘汰,即全面重新開發新的系統以代替遺留系統。

完全淘汰是一種極端性策略,一般是企業的業務產生了根本的變化,遺留系統基本上不再適應企業運作的需要;或者是遺留系統的維護人員 、 維護文檔資料都丟失了。經過評價,發現將遺留系統完全淘汰,開發全新的系統比改造舊系統從成本上更合算。

對遺留系統的完全淘汰是企業資源的根本浪費,應該善於 “ 變廢爲寶 ” ,通過對遺留系統功能的理解和借鑑,可以幫助新系統的設計,降低新系統開發的風險。

(2)繼承策略

第4象限爲低水平 、 高價值區,即遺留系統的技術含量較低,可滿足企業運作的功能或性能要求,但具有較高的商業價值,目前企業業務對該系統仍有很大的依賴性。

對這種遺留系統的演化策略爲繼承。在開發新系統時,需要完全兼容遺留系統的功能模型和數據模型。爲了保證業務的連續性,新老系統必須並行運行一段時間,再逐漸切換到新系統上運行。

要做到對遺留系統的繼承,必須對系統進行分析,得到舊系統的功能模型和數據模型,這種分析可以部分代替或驗證系統的需求分析。

如果遺留系統的維護文檔不完整,而又必須解析系統的功能模型和數據模型,那將是一項十分艱鉅的任務。這時可使用有關係統重構的 CASE 工具,通過分析系統的代碼生成系統結構圖或其他報告。

(3)改造策略

第1象限爲高水平 、 高價值區,即遺留系統的技術含量較高,本身還有較大的生命力,且具有較高的商業價值,基本上能夠滿足企業業務運作和決策支持的要求。這種系統可能建成的時間還很短,對這種遺留系統的演化策略爲改造。

這些改造包括系統功能的增強和數據模型的改造兩個方面。系統功能的增強是指在原有系統的基礎上增加新的應用要求,對遺留系統本身不做改變。數據模型的改造是指將遺留系統的舊的數據模型向新的數據模型轉化的過程。

(4)集成策略

第2象限爲高水平 、 低價值區,即遺留系統的技術含量較高,但其商業價值較低,可能只完成某個部門(或子公司)的業務管理。這種系統在各自的局部領域裏工作良好,但從企業全局來看,多個這樣的系統,他們各自基於不同的平臺,不同的數據模型,無法互聯互通,數據還不一致,這就是很嚴重的問題了。

對這種遺留系統的演化策略爲集成。在集成過程中,可採用由互連繫統構成的系統的架構,遺留系統可作爲從屬系統來描述。在企業信息系統建設過程中,如何處理那些遺留系統,將會是越來越突出的問題,因爲即使是今天看來很先進的系統在明天也會成爲遺留系統。對遺留系統的處理恰當與否,直接關係到新系統的成敗和開發效率。如何建立一套系統的 、 行之有效的方法,以期望對實際工作有所指導,已成爲一個迫切的問題。

在實際工程項目中,遇到處理遺留系統的問題時,要具體情況具體分析,選擇最佳的演化策略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章