設備管理遺留系統再工程技術綜述

前言:尋找寫作靈感?中文期刊網用心挑選的設備管理遺留系統再工程技術綜述,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

設備管理遺留系統再工程技術綜述

1遺留系統與軟件再工程

1.1遺留系統的定義、成因及處理策略

用戶需求和技術等外部環境的變更。盡管設備管理系統成功應用后不會像硬件設備一樣因使用運行時間過長而出現疲勞磨損、老化而失效,但受制于企業用戶需求的變更和技術的發展,原系統的可用性會持續不斷下降,越來越跟不上企業業務需求和行業發展。設備管理遺留系統處理策略主要包括如下三類:①完全舍棄遺留系統,并開發新設備管理系統。首先全新開發設備管理系統,再導入老系統歷史數據。此方法需要投入較大的人力、物力、財力和時間成本,并承擔項目風險,因此僅適用于原系統徹底不適應企業需求、無法升級改造的情況。②遺留系統集成擴展。此策略采用業務處理和決策支持分析相隔離的原則,保留原有業務平臺,而重新開發與之集成的決策支持系統。此方法適用于業務處理系統滿足需求,然而軟件難以直接擴展,而企業又希望投入較小的精力和成本加強分析決策功能的情況。③遺留系統再造。基于對原設備管理系統的調研、梳理和評估,得出系統的原有問題、最新需求和數據結構,再合理取舍原有代碼以便重用,并選用適合技術對遺留系統進行改造,以適應業務的最新需要。改造可包括系統架構、數據結構、人機界面、功能或性能的再工程。具體策略的選用需綜合考慮遺留系統的具體情況和客戶需求再做定奪。

1.2軟件再工程的定義和一般過程

軟件再工程(SoftwareRe-engineering),亦稱為軟件革新或軟件改造,是指基于對現存系統的分析和改造,以新形式來重新組裝和構建現有系統,以提高軟件的可用性、可維護性和可升級性。廣義而言,軟件再工程一般不是從零全新開發,而是對一次工程后的成品軟件再次開發,并涵蓋了軟件生命周期維護階段的適應性、完善性和預防性維護活動[11]。軟件再工程是處理遺留系統的最有效方法,其一般過程包括三步:(1)逆向工程。分析程序以提取系統架構、數據結構和數據等原設計或開發信息,從而在比源代碼更高的抽象層次上復原或創建出程序蘊藏的表示元。在原系統資料完整清晰的情況下,往往可直接用再設計取代繁瑣的逆向工程過程。(2)重構。重構是指在不影響系統的功能和使用的前提下,轉換系統同層次內的抽象表示,以提升軟件質量、穩定性、擴展性和可維護性。一般可按需進行數據重構和代碼重構。(3)正向工程。該活動基于逆向工程或類似手段恢復或獲取的需求、設計信息、代碼信息等資源,結合需求變更、技術改造、代碼重用、重構等手段,把設計信息轉化為代碼,以開發一套新系統,最終適應客戶需求。每階段的工作難度和工作量視遺留系統的具體情況而定。

2某制造企業設備管理遺留系統存在的不足

某制造企業十多年前外購并實施了基于C/S、B/S混合架構的設備管理系統。該系統曾經很好的滿足了企業的設備管理需求,然而隨著企業規模的擴張和時間的推移,原系統缺陷日益凸顯,其主要體現在:(1)系統難以直接在當前基礎上修改和迭代,具備明顯的遺留特性。由于時間久遠,原系統提供商早已不復存在,且其C/S界面采用PB語言開發,該技術平臺幾乎已被淘汰,不再適應業界最新潮流。(2)用戶體驗和功能方面難以滿足企業對設備信息日益增長的需求。一是隨著企業設備管理的日益精細化,新增大量的設備統計報表需予以信息化和可視化;二是設備管理遺留系統操作和顯示不夠直觀;三是原系統的C/S版界面安裝繁瑣,操作不便,已不再適應當今潮流。(3)查詢統計運行緩慢。原系統開發時企業規模較小,且服務器性能一般,設計者對數據量和性能壓力估計不足。隨著企業設備資產、管理人員的增多及常年使用累計了海量的數據記錄,系統查詢、統計報表運行速度較為緩慢,易于宕機。

3關鍵實現技術

通過分析設備管理遺留系統的不足、調研獲取的項目資料及客戶意見,決定采用遺留系統再造即軟件再工程方法改造系統滿足客戶需求,其理由在于:(1)設備管理系統需保證日常不間斷使用,全新開發意味著用戶需承擔丟棄老系統、重新大量投資和等待較長時間的風險,且項目預算有限,故排除全新開發策略。(2)原業務系統采集數據無法滿足新增報表的字段需求,新增需求并非是決策支持,且技術平臺較老,擴展性差,故不適合集成擴展策略。(3)原系統的數據結構可在重用基礎上修改,存儲過程代碼和服務端軟件代碼部分可重用,符合軟件再工程的前提。此外,由于大部分源代碼和系統保留完整,且用戶需求清晰,本系統再工程無需采用逆向工程手段,可直接進行系統再設計、重構和正向工程開發。由此,下文首先給出系統再工程情境下的總體架構再設計、功能模塊再劃分及數據結構重構的思路,再闡述系統實現應用的重構及正向工程技術。

3.1系統再設計

3.1.1總體架構再設計

為克服原系統弊端,首先將原系統的服務端代碼遷移為WCFRIAService模塊服務,再基于Silverlight技術重寫客戶端,最終升級為面向富客戶端環境的展現層、服務層和數據層三層架構。系統總體架構再設計后的主要技術特色為:(1)由技術滯后的C/S、B/S混合架構升級到富客戶端架構,實現了客戶端技術和環境的統一,解決了客戶端異構、瀏覽器異構問題,安裝升級運維更加便捷。(2)展現層從單一的用戶界面擴展為用戶界面和視圖模型,以支持數據雙向綁定和頁面顯示邏輯,并實現基于RiaService類與服務層交互,顯著減少了數據訪問代碼的開發量。(3)服務層在原數據訪問、業務邏輯模塊的基礎上新增了WCFRIAService模塊,以支持統一的富客戶端架構。(4)數據層組成不變,仍為設備數據庫和集成數據接口,然而其數據結構需參照最新用戶需求重構。

3.1.2功能模塊再劃分

根據調研用戶需求和分析原系統,重劃分設備管理系統的功能結構,如圖2所示。再劃分前后的主要改進為:(1)原系統僅支持單一企業運行管控,改進后的固定資產管理增加了集團管理的功能,實現了集團公司對下游分公司設備資產變更的管控。(2)設備日常運行管理不僅負責采集設備利用率、綜合效率求解所需的運行數據,還應記錄與故障密切相關的設備參數,以便進行預防性維護決策和故障分析。(3)新增設備布局功能界面,使得單據維護和設備選取可在直觀可視化的情境下完成,更為易用。(4)統計報表增加了瓶頸設備統計、工單完成率統計,已便于定位影響生產效率的瓶頸設備及閉環化管理設備預防維護和故障維修工作。(5)系統基礎數據管理新增集成設置功能,專用于系統管理員或實施人員維護集成信息,以便對外部信息系統共享其所關注的設備信息。

3.1.3數據結構重構

為適應系統功能模塊再劃分,系統數據結構需進行少量重構,主要變更如下:(1)所有數據表新增“所屬公司”和“所屬崗位”字段以細化記錄行歸屬定義,為未來集團化的設備管理和用戶授權奠定數據基礎。(2)為實現設備布局功能,在數據庫中新增“指引線信息表”,以便以箭頭形式指示生產流程和設備間的工藝關聯;新增“緩存版本表”,以便提升布局的加載速度和系統其他靜態信息的加載;設備實物信息表新增“X坐標”“、Y坐標”字段,以標定設在布局中的相對位置。(3)為加快查詢速度,分別為各統計報表新增“統計結果臨時表”,統計報表模塊的存儲過程優先寫入此類臨時表,以減少不必要的重復計算,并錯開報表獲取高峰,從而加快用戶查詢速度。

3.2基于MVVM設計模式的代碼重構技術

設計模式是實現系統重構和代碼重用的最重要手段之一。原系統的C/S、B/S程序未采用任何設計模式,其頁面代碼和展示邏輯代碼耦合性較強,代碼冗余大,維護繁瑣。針對此問題,在本項目軟件再工程中實施了MVVM設計模式,并收獲了良好的應用效果。MVVM是“模型(Model)—視圖(View)—視圖模型(ViewModel)”的簡稱,其基于Silverlight數據綁定特性,將設備管理系統中緊密聯系的前臺頁面和邏輯代碼靈活解耦為模型、視圖、視圖模型三大組成部分。如圖3所示,模型部分基于WCF數據通信技術提供對處于數據層的設備數據庫和集成數據接口的雙向操作,以便為視圖和視圖模型提供基礎數據支撐。視圖是模型的具體實現即設備管理系統的用戶界面,可根據業務和數據需求與多個視圖模型綁定,一個視圖模型也可映射到不同的視圖。視圖模型介于視圖和模型之間發揮解耦和承接作用,用于描述和存儲業務的概念模型,并可包含視圖所需的接口和屬性,響應用戶界面的操作,以便從模型獲取最新數據,并反饋結果給當前用戶。相比重構前,應用MVVM設計模式重構設備管理系統帶來的優點主要有:(1)代碼耦合性和開發量降低,可重用性顯著提升。此前系統的模型修改往往直接導致視圖不再可用,還需重新編寫顯示邏輯代碼。而MVVM模式下視圖和模型不再直接關聯,任意一方變動并不意味著另一方必須隨之改變,一切的變化可通過視圖模型部分靈活協調,且視圖模型中的方法和函數可在整個系統中大范圍重用。此外,數據綁定特性的存在也省去了大量的數據訪問代碼。(2)實現了關注點分離,代碼層次大為清晰,易于分工協作,加快開發效率。前端界面設計師可專注于設備管理系統前臺頁面設計和用戶體驗,后臺程序員可全力從事邏輯代碼的開發,相互影響減小到最低程度。專業分工有助于分類測試和開發管理,可提升軟件開發質量。

3.3基于組件式開發的正向工程技術

原系統代碼調用和組裝較為隨意,冗余較大,不便維護。為克服上述缺點,在本項目的正向工程中大力應用了組件式開發。軟件系統中的組件是一類二進制形式、面向對象、即插即用、可重用的軟件文件塊。廣義而言,封裝的對象類庫、框架、模型、文檔等可重用的軟件單元均屬于組件。組件式開發即基于軟件復用思想,根據項目需求從組件庫中選配或定制開發合適的組件,并將各組件連接組裝集成為一套功能完整、適合應用的軟件系統。參照設備管理系統各模塊功能性及組件通用性特點,本項目主要采用了程序級組件復用,總體上抽取和構建了公用組件和專用組件兩大類組件。公用組件一般提取自各模塊的共性需求,需跨模塊共享調用,如分頁組件、表頭工具欄組件、報表組件、統計組件、權限組件、數據校驗組件、數據訪問組件等。專用組件專門負責滿足某些特色功能需求,封裝后可在系統中小范圍重用,包括設備選擇、人員選擇、故障選擇、設備布局可視化等組件。應用組件式開發帶來的主要優點有:(1)開發效率高,縮短了工期,節約了正向工程的成本。由于大量基礎和公用功能為組件提供,減小了系統開發的復雜度、工作量和開發人員的勞動強度,降低了開發成本。(2)軟件可維護性、可升級性和質量顯著提升。組件式開發降低了設備管理系統模塊間的耦合性和冗余性,提升了軟件的一致性和可復用性,使其內部層次更為清晰可讀,更易維護升級,代碼質量顯著提升。此外,原分散實現的查詢統計功能借由統一組件支持實現,查詢性能得到了顯著提升。

4實踐

基于遺留系統再工程的思想、Silverlight5.0平臺為某企業升級開發了設備管理遺留系統。由于采用了先進的處理策略、開發思想和平臺,整套系統平臺從需求調研到做完升級開發和數據遷移僅由4人小團隊耗時4個月完成。再工程后系統功能、用戶體驗和性能均顯著提升,類似如圖4和圖5所示,改進后實現直觀的可視化設備管理和故障統計,優于原系統的純表單錄入和查看,可滿足企業未來相當長時間內的設備管理需求。項目符合客戶預期,解決了設備管理遺留系統難題,節約了甲乙雙方的成本和時間,還最大限度保護了企業已有和未來的IT投資,達到了雙方滿意共贏的效果。圖4基于設備布局的可視化設備管理Fig.4VisualEquipmentManagementbasedonEquipmentLayout圖5設備故障統計Fig.5EquipmentFailureStatistics

5結束語

針對設備管理遺留系統的升級和改造問題,研究并提出了其軟件再工程策略和相關技術。相關研究成果有助于加速老舊信息系統改造,減小“信息孤島”現象,提升企業信息化水平和管理水平。鑒于遺留系統的升級改造問題不僅存在于設備管理信息化環節,還廣泛浮現于其他資源或業務的信息化領域,研究實踐對類似遺留系統的處理也具備較好的借鑒意義。

作者:顧嘉 張華 涂海寧 熊根良 單位:南昌大學機電工程學院

亚洲精品一二三区-久久