當前位置:工程項目OA系統(tǒng) > 領(lǐng)域應(yīng)用 > 資產(chǎn)管理系統(tǒng) > 固定資產(chǎn)管理系統(tǒng)
企業(yè)構(gòu)建系統(tǒng)級復(fù)用的5個成功要素
系統(tǒng)級的復(fù)用需要人、過程和技術(shù)決策之間的相互作用,而且這一切必須在真實環(huán)境的約束下進行。是否有成功要素能讓復(fù)用與眾不同嗎?我相信有!這篇文章提供的5個成功要素會對此有幫助,它們是:捕捉領(lǐng)域差異,易于集成,深入研究設(shè)計,高效的團隊工作和管理領(lǐng)域的復(fù)雜性?! ?/P>
捕捉領(lǐng)域差異
對于系統(tǒng)級復(fù)用來說,獲取必要的領(lǐng)域變化是非常重要的。業(yè)務(wù)領(lǐng)域充滿了變化,需要通過你的代碼庫進行定義和管理。如何應(yīng)對產(chǎn)品線的變化是軟件有效復(fù)用的核心問題。為了在你的領(lǐng)域內(nèi)定義這些變化,你需要尋找相關(guān)的業(yè)務(wù)專家以及該領(lǐng)域的終端用戶。貼近這些專家和用戶,與他們一起工作,你才能更好的了解領(lǐng)域知識、各方面的趨勢變化,以及這些變化是如何體現(xiàn)在用戶故事中的。從客戶的角度看,相對于他們的業(yè)務(wù)功能來說,這些變化是非常自然的。你不僅要花時間確保了解整體上的變化,同時還要認識到這些變化的子集真正意味著什么。
從務(wù)實的角度看軟件復(fù)用,你會發(fā)現(xiàn)去定義某一問題領(lǐng)域的所有變化是不現(xiàn)實的。除非你能引入并把領(lǐng)域變化作為你的開發(fā)實踐的一部分,否則你的迭代很難進行,工作軟件也不會正常發(fā)布。從設(shè)計的視角來看有些問題能夠幫助你。每次你看到用戶故事時,你都應(yīng)該問自己:
●會引入哪些領(lǐng)域?qū)嶓w?
●是否是第一次遇到這些領(lǐng)域?qū)嶓w?
●是否在一個以上的產(chǎn)品或應(yīng)用系統(tǒng)中用到這個故事?
●在故事中業(yè)務(wù)領(lǐng)域的什么方面發(fā)生了變化?一些通用的變化往往會重現(xiàn)──經(jīng)常使用某個或幾個功能的那類用戶,一個功能或一組功能的行為差異,有多少功能被綁定在一起作為業(yè)務(wù)標準,界面隱喻和主題,報表/圖表功能。
●這些用戶故事集或用戶故事的某些方面是否常常一起出現(xiàn)?
易于集成
系統(tǒng)級復(fù)用很容易被忽視的一個方面就是可復(fù)用資產(chǎn)的集成,包括應(yīng)用系統(tǒng)、流程和服務(wù)。大多數(shù)團隊聚焦于構(gòu)建大型可復(fù)用的資產(chǎn)庫──服務(wù),對象,框架和領(lǐng)域特定語言庫。雖然這是必要的,但對于成功的系統(tǒng)級復(fù)用來說,這是遠遠不夠的。一個重要的組成部分就是易于集成。什么意思呢?具體來說就是:
●評估需求并做決定是否現(xiàn)存的資產(chǎn)能夠完全滿足需求(或是需要修改),或者需要開發(fā)新功能
●通過集成可復(fù)用資產(chǎn)來應(yīng)對風險(滿足服務(wù)水平協(xié)議(SLAs),解決方案復(fù)雜性等)
●通過有效接口(有java接口?還是web服務(wù)?)來共享信息。
●提供樣例代碼和集成設(shè)計模式
●提供全面的錯誤代碼列表和錯誤處理建議──如果服務(wù)出現(xiàn)了特殊錯誤,用戶該怎么辦?是否存在需要用戶特別注意的業(yè)務(wù)錯誤或數(shù)據(jù)校驗錯誤?
●確??蛻舨⒉蝗鄙倏蓮?fù)用資源──基于服務(wù)的復(fù)用能力是必不可少的,多個用戶可以同時調(diào)用同一服務(wù)。
通過測試集成提供幫助(提供測試數(shù)據(jù),單元測試代碼,以及測試響應(yīng)時間/吞吐量等實用功能) 你可以建立一個服務(wù)目錄,并寄希望它可以達到很高的復(fù)用程度,但大多數(shù)情況下你會失望的。伸出手去幫助你的客戶,幫助他們成功。讓評估、集成和測試變得更加容易。不要著急,但要確保你的團隊走在正確的路上,而不是你試圖向他們“兜售”復(fù)用的價值。
理解設(shè)計
構(gòu)建可復(fù)用資產(chǎn)時,并不是只有一條正確的路。你的業(yè)務(wù)目標、技術(shù)環(huán)境、迭代和發(fā)布計劃對設(shè)計決策的時間和性質(zhì)都會造成影響。重構(gòu)現(xiàn)有代碼滿足業(yè)務(wù)目標,也是由上下文環(huán)境來驅(qū)動的。需要考慮的問題包括:
●什么產(chǎn)品功能通常會整合在一起?
●與其他那些相對全面的產(chǎn)品比較,是否能做出一些不同的特點?
●是否有可能在運行時和設(shè)計時改變產(chǎn)品特征?
所有的這些問題都會指導(dǎo)設(shè)計。例如,如果設(shè)計目標是支持運行時的可變性,你就需要支持在不改變代碼或不重啟應(yīng)用的情況下動態(tài)增加新的參數(shù)。當你進行設(shè)計工作時,必須隨時考慮相關(guān)領(lǐng)域的變化。
舉個例子來說,一個小裝飾品商店,需要在市場上推廣商品。用戶故事是根據(jù)小裝飾品的類型生產(chǎn)不同的市場標簽??赡艿膸讉€需要支持的變化是:標簽信息改變的頻率,文字數(shù)量,語言,數(shù)據(jù)格式,組成標簽的靜態(tài)信息和動態(tài)信息等。
由于領(lǐng)域的復(fù)雜度,一些特性會同時發(fā)生變化或單獨發(fā)生變化。應(yīng)該考慮這些變化及其對設(shè)計的影響:
標簽內(nèi)容僅供靜態(tài)內(nèi)容──你可以用一個獨立的基于配置文件的標簽生成器。
標簽內(nèi)容包括靜態(tài)內(nèi)容和動態(tài)內(nèi)容──現(xiàn)在標簽生成器需要兩個子組件:靜態(tài)內(nèi)容生成器和動態(tài)內(nèi)容生成器。
標簽內(nèi)容包括靜態(tài)內(nèi)容和動態(tài)內(nèi)容。靜態(tài)內(nèi)容是多語言的。──除了內(nèi)容生成之外,你還需要一個國際化組件支持多語言。
標簽內(nèi)容包括靜態(tài)內(nèi)容和動態(tài)內(nèi)容。靜態(tài)內(nèi)容是多語言的。還需要根據(jù)國家設(shè)置不同的日期和貨幣格式──所有以上三個組件還需要增加本地化的日期格式和貨幣格式。
下次你開始一個項目時,會更多的了解在你的問題域內(nèi)由于變化帶來的驅(qū)動力。你的領(lǐng)域及其相關(guān)聯(lián)的上下文環(huán)境會驅(qū)動軟件資產(chǎn)的復(fù)用。你越多的了解這種驅(qū)動力,就會越容易決定什么軟件資產(chǎn)需要復(fù)用以及如何進行復(fù)用。
高效的團隊工作
與非常有趣而且高效的團隊一起工作時,我終于相信復(fù)用帶來的成功多于技術(shù)的光輝和優(yōu)雅的設(shè)計。偉大的團隊生產(chǎn)高質(zhì)量的工作產(chǎn)品,相互理解,包括他們的優(yōu)勢和局限性,最重要的是能夠把思想的碰撞與沖突轉(zhuǎn)化為健康的有建設(shè)性的對話和創(chuàng)新、創(chuàng)造。
為什么團隊工作和系統(tǒng)級復(fù)用有關(guān)呢?這是因為,在生產(chǎn)可復(fù)用資產(chǎn)的過程中會遇到各種問題,包括嚴格的期限和交付壓力,與遺留系統(tǒng)和流程進行集成,與很多跨組織跨地域的部門和團隊合作,同時還要發(fā)布高質(zhì)量的產(chǎn)品,在這些情況下進行復(fù)用是非常艱難的。這是一種挑戰(zhàn),激勵著技術(shù)領(lǐng)袖和專家去工作并達成目標。
系統(tǒng)級復(fù)用的基本概念是很好理解的,能夠把這些達成復(fù)用的成功者區(qū)別出來的是,他們通過幫助那些水平相對較低的開發(fā)團隊來實現(xiàn)業(yè)務(wù)領(lǐng)域復(fù)用的愿景,他們具備這樣的能力。每件事都很重要,包括每個組件,服務(wù)和資產(chǎn)。
特定小組經(jīng)常相互交流,交換思想,協(xié)作變得更加有效,大部分的風險被識別和緩解,這些保證了團隊是成功的作為一個整體來工作。聽起來是不是很像敏捷宣言?這并不是巧合!構(gòu)建可復(fù)用的服務(wù)需要創(chuàng)造性的頭腦風暴,解決沖突,設(shè)計整合,直到到達一個邏輯點,可以進行你的迭代開發(fā)。這可不是一件事──包括迭代,持續(xù)關(guān)注和聚焦執(zhí)行。如果你的團隊充滿了創(chuàng)造力而且能夠持續(xù)交付,那么系統(tǒng)級復(fù)用會自然的成為開發(fā)的副產(chǎn)品。
管理領(lǐng)域的復(fù)雜度
你的領(lǐng)域可能是復(fù)雜的,而且需要支持豐富的變化??紤]到你可能受到的限制,去捕捉全部的復(fù)雜性既不現(xiàn)實也不可行。此外,你的業(yè)務(wù)系統(tǒng)不可能支持相關(guān)問題領(lǐng)域的所有變化。幸運的是大部分的領(lǐng)域變化能以用戶故事的形式來表述,而且你能從持續(xù)的迭代和發(fā)布中找到相關(guān)模式,更好的了解這些變化。決定管理復(fù)雜度的子集是一門藝術(shù),在這一點上你需要不斷的與團隊的人進行合作。
我使用一套簡單策略來尋找那些具有必要業(yè)務(wù)復(fù)雜度的領(lǐng)域。下面的列表并不全面,但是可以幫助你尋找感覺,看看哪些因素能驅(qū)動復(fù)雜度:
數(shù)據(jù)采集:系統(tǒng)可能有多重用戶角色,以及各種數(shù)據(jù),對這些用戶和數(shù)據(jù)的驗證以及執(zhí)行的規(guī)則都是不同的
地理信息:基于地理的區(qū)域/國家/州的變化,包括不同的語言和日期/時間格式
合并產(chǎn)品特征(也叫捆綁):支持不同產(chǎn)品偏好的變化(例如基本版支持X、Y和Z特征;專業(yè)版支持X、Y和K特征;精裝版支持A、X、Y和K)
授權(quán):訪問系統(tǒng)不同功能的變化,并執(zhí)行不同的任務(wù),以及相關(guān)用戶群體和交易行為
交易行為:貨幣限制方面交易行為的變化,批準和驗證規(guī)則,業(yè)務(wù)異常如何處理
渠道(也叫分銷渠道或銷售渠道):產(chǎn)品的有效性,特征的有效性,安全,客戶支持,頻繁的各類市場交流,等等
下次你再去檢查用戶故事,可以把它放到你的領(lǐng)域策略中去驗證。這是迭代中的常用模式么?如果是的話,你應(yīng)該把它加入到你的系統(tǒng)級復(fù)用的規(guī)劃中。如果在你的設(shè)計中并沒有從開始就貫徹管理領(lǐng)域復(fù)雜度的理念,沒關(guān)系,不要恐慌。并不需要在著手進行前期設(shè)計的時候就努力去管理所有的復(fù)雜度。你應(yīng)該把認識和行動區(qū)分開。對相關(guān)領(lǐng)域認識的增加會幫助你把系統(tǒng)復(fù)用的成果與業(yè)務(wù)需求和迭代目標結(jié)合起來。以此作為重構(gòu)的指導(dǎo)會幫助你在代碼庫方面做出明顯的改進。
結(jié)論
本文闡述了一些成功要素,有助于達成系統(tǒng)級的復(fù)用。在沒有對問題領(lǐng)域進行管理和有效理解的情況下,去設(shè)計可復(fù)用資產(chǎn)并作為能夠滿足業(yè)務(wù)需求的有用投資,其實是沒有意義的。實現(xiàn)高效的團隊工作,為客戶提供簡易的集成方式,這些都可以增加復(fù)用成功的可能性。
- 1區(qū)域衛(wèi)生信息化:開弓沒有回頭箭
- 2郵政信息化須以業(yè)務(wù)模式驅(qū)動IT系統(tǒng)建設(shè)
- 3傳統(tǒng)物流企業(yè)的電子商務(wù)化改造
- 4固定資產(chǎn)管理系統(tǒng)的運營流程
- 5醫(yī)改中CIO必須關(guān)注的5個核心領(lǐng)域
- 6固定資產(chǎn)管理系統(tǒng)的特點是什么?
- 7縣級區(qū)域衛(wèi)生信息平臺的難點與解決辦法
- 8企業(yè)如何做好固定資產(chǎn)管理工作?
- 9為什么固定資產(chǎn)信息管理系統(tǒng)很有用?
- 10如何保證無線傳輸下視頻監(jiān)控信息安全
- 11醫(yī)院信息化的建設(shè)推進臨床路徑電子化
- 12如何建立數(shù)據(jù)中心的災(zāi)備體系?
- 13健全追溯體系 護航食品物流
- 14制造業(yè),衡量車間成本的更好方式
- 15統(tǒng)一數(shù)據(jù)存儲如何在中小企業(yè)中應(yīng)用?
- 16信息化--集裝箱物流的生命線
- 17連鎖零售企業(yè)物流管理水平需要改進
- 18固定資產(chǎn)管理系統(tǒng)的價值體現(xiàn)
- 19協(xié)同OA中選擇【資產(chǎn)管理】→【資產(chǎn)編碼設(shè)置】菜單
- 20固定資產(chǎn)管理系統(tǒng)在制藥企業(yè)實施成功率低原因分析
- 21我國農(nóng)業(yè)第三方電子商務(wù)模式探析
- 22構(gòu)筑城市商業(yè)銀行全面風險管理體系
- 23監(jiān)控:常用鏡頭選用技巧與精工鏡頭鑒別
- 24固定資產(chǎn)管理系統(tǒng)發(fā)展趨勢:從“云”端到社會化
- 25科達無線監(jiān)控系列應(yīng)用——手機監(jiān)控
- 26SaaS普及面臨三大門檻
- 27科學對待信息管理減少“滑鐵盧工程”
- 28中小企業(yè)財務(wù)信息化選型需走出困惑
- 29固定資產(chǎn)管理系統(tǒng)基本概述
- 30大家介紹一下,哪個固定資產(chǎn)管理軟件好用?
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓