監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

企業(yè)構(gòu)建系統(tǒng)級(jí)復(fù)用的5個(gè)成功要素

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:計(jì)世網(wǎng)

系統(tǒng)級(jí)的復(fù)用需要人、過(guò)程和技術(shù)決策之間的相互作用,而且這一切必須在真實(shí)環(huán)境的約束下進(jìn)行。是否有成功要素能讓復(fù)用與眾不同嗎?我相信有!這篇文章提供的5個(gè)成功要素會(huì)對(duì)此有幫助,它們是:捕捉領(lǐng)域差異,易于集成,深入研究設(shè)計(jì),高效的團(tuán)隊(duì)工作和管理領(lǐng)域的復(fù)雜性?! ?/P>

捕捉領(lǐng)域差異

對(duì)于系統(tǒng)級(jí)復(fù)用來(lái)說(shuō),獲取必要的領(lǐng)域變化是非常重要的。業(yè)務(wù)領(lǐng)域充滿了變化,需要通過(guò)你的代碼庫(kù)進(jìn)行定義和管理。如何應(yīng)對(duì)產(chǎn)品線的變化是軟件有效復(fù)用的核心問(wèn)題。為了在你的領(lǐng)域內(nèi)定義這些變化,你需要尋找相關(guān)的業(yè)務(wù)專家以及該領(lǐng)域的終端用戶。貼近這些專家和用戶,與他們一起工作,你才能更好的了解領(lǐng)域知識(shí)、各方面的趨勢(shì)變化,以及這些變化是如何體現(xiàn)在用戶故事中的。從客戶的角度看,相對(duì)于他們的業(yè)務(wù)功能來(lái)說(shuō),這些變化是非常自然的。你不僅要花時(shí)間確保了解整體上的變化,同時(shí)還要認(rèn)識(shí)到這些變化的子集真正意味著什么。

從務(wù)實(shí)的角度看軟件復(fù)用,你會(huì)發(fā)現(xiàn)去定義某一問(wèn)題領(lǐng)域的所有變化是不現(xiàn)實(shí)的。除非你能引入并把領(lǐng)域變化作為你的開(kāi)發(fā)實(shí)踐的一部分,否則你的迭代很難進(jìn)行,工作軟件也不會(huì)正常發(fā)布。從設(shè)計(jì)的視角來(lái)看有些問(wèn)題能夠幫助你。每次你看到用戶故事時(shí),你都應(yīng)該問(wèn)自己:

●會(huì)引入哪些領(lǐng)域?qū)嶓w?

●是否是第一次遇到這些領(lǐng)域?qū)嶓w?

●是否在一個(gè)以上的產(chǎn)品或應(yīng)用系統(tǒng)中用到這個(gè)故事?   

●在故事中業(yè)務(wù)領(lǐng)域的什么方面發(fā)生了變化?一些通用的變化往往會(huì)重現(xiàn)──經(jīng)常使用某個(gè)或幾個(gè)功能的那類用戶,一個(gè)功能或一組功能的行為差異,有多少功能被綁定在一起作為業(yè)務(wù)標(biāo)準(zhǔn),界面隱喻和主題,報(bào)表/圖表功能。

●這些用戶故事集或用戶故事的某些方面是否常常一起出現(xiàn)?  

于集成

系統(tǒng)級(jí)復(fù)用很容易被忽視的一個(gè)方面就是可復(fù)用資產(chǎn)的集成,包括應(yīng)用系統(tǒng)、流程和服務(wù)。大多數(shù)團(tuán)隊(duì)聚焦于構(gòu)建大型可復(fù)用的資產(chǎn)庫(kù)──服務(wù),對(duì)象,框架和領(lǐng)域特定語(yǔ)言庫(kù)。雖然這是必要的,但對(duì)于成功的系統(tǒng)級(jí)復(fù)用來(lái)說(shuō),這是遠(yuǎn)遠(yuǎn)不夠的。一個(gè)重要的組成部分就是易于集成。什么意思呢?具體來(lái)說(shuō)就是:

●評(píng)估需求并做決定是否現(xiàn)存的資產(chǎn)能夠完全滿足需求(或是需要修改),或者需要開(kāi)發(fā)新功能   

●通過(guò)集成可復(fù)用資產(chǎn)來(lái)應(yīng)對(duì)風(fēng)險(xiǎn)(滿足服務(wù)水平協(xié)議(SLAs),解決方案復(fù)雜性等)   

●通過(guò)有效接口(有java接口?還是web服務(wù)?)來(lái)共享信息。   

●提供樣例代碼和集成設(shè)計(jì)模式   

●提供全面的錯(cuò)誤代碼列表和錯(cuò)誤處理建議──如果服務(wù)出現(xiàn)了特殊錯(cuò)誤,用戶該怎么辦?是否存在需要用戶特別注意的業(yè)務(wù)錯(cuò)誤或數(shù)據(jù)校驗(yàn)錯(cuò)誤?   

●確保客戶并不缺少可復(fù)用資源──基于服務(wù)的復(fù)用能力是必不可少的,多個(gè)用戶可以同時(shí)調(diào)用同一服務(wù)。   

通過(guò)測(cè)試集成提供幫助(提供測(cè)試數(shù)據(jù),單元測(cè)試代碼,以及測(cè)試響應(yīng)時(shí)間/吞吐量等實(shí)用功能)  你可以建立一個(gè)服務(wù)目錄,并寄希望它可以達(dá)到很高的復(fù)用程度,但大多數(shù)情況下你會(huì)失望的。伸出手去幫助你的客戶,幫助他們成功。讓評(píng)估、集成和測(cè)試變得更加容易。不要著急,但要確保你的團(tuán)隊(duì)走在正確的路上,而不是你試圖向他們“兜售”復(fù)用的價(jià)值。

理解設(shè)計(jì)

構(gòu)建可復(fù)用資產(chǎn)時(shí),并不是只有一條正確的路。你的業(yè)務(wù)目標(biāo)、技術(shù)環(huán)境、迭代和發(fā)布計(jì)劃對(duì)設(shè)計(jì)決策的時(shí)間和性質(zhì)都會(huì)造成影響。重構(gòu)現(xiàn)有代碼滿足業(yè)務(wù)目標(biāo),也是由上下文環(huán)境來(lái)驅(qū)動(dòng)的。需要考慮的問(wèn)題包括:

●什么產(chǎn)品功能通常會(huì)整合在一起?   

●與其他那些相對(duì)全面的產(chǎn)品比較,是否能做出一些不同的特點(diǎn)?   

●是否有可能在運(yùn)行時(shí)和設(shè)計(jì)時(shí)改變產(chǎn)品特征?  

所有的這些問(wèn)題都會(huì)指導(dǎo)設(shè)計(jì)。例如,如果設(shè)計(jì)目標(biāo)是支持運(yùn)行時(shí)的可變性,你就需要支持在不改變代碼或不重啟應(yīng)用的情況下動(dòng)態(tài)增加新的參數(shù)。當(dāng)你進(jìn)行設(shè)計(jì)工作時(shí),必須隨時(shí)考慮相關(guān)領(lǐng)域的變化。

舉個(gè)例子來(lái)說(shuō),一個(gè)小裝飾品商店,需要在市場(chǎng)上推廣商品。用戶故事是根據(jù)小裝飾品的類型生產(chǎn)不同的市場(chǎng)標(biāo)簽??赡艿膸讉€(gè)需要支持的變化是:標(biāo)簽信息改變的頻率,文字?jǐn)?shù)量,語(yǔ)言,數(shù)據(jù)格式,組成標(biāo)簽的靜態(tài)信息和動(dòng)態(tài)信息等。

由于領(lǐng)域的復(fù)雜度,一些特性會(huì)同時(shí)發(fā)生變化或單獨(dú)發(fā)生變化。應(yīng)該考慮這些變化及其對(duì)設(shè)計(jì)的影響:

標(biāo)簽內(nèi)容僅供靜態(tài)內(nèi)容──你可以用一個(gè)獨(dú)立的基于配置文件的標(biāo)簽生成器。

標(biāo)簽內(nèi)容包括靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容──現(xiàn)在標(biāo)簽生成器需要兩個(gè)子組件:靜態(tài)內(nèi)容生成器和動(dòng)態(tài)內(nèi)容生成器。

標(biāo)簽內(nèi)容包括靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容。靜態(tài)內(nèi)容是多語(yǔ)言的。──除了內(nèi)容生成之外,你還需要一個(gè)國(guó)際化組件支持多語(yǔ)言。

標(biāo)簽內(nèi)容包括靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容。靜態(tài)內(nèi)容是多語(yǔ)言的。還需要根據(jù)國(guó)家設(shè)置不同的日期和貨幣格式──所有以上三個(gè)組件還需要增加本地化的日期格式和貨幣格式。

下次你開(kāi)始一個(gè)項(xiàng)目時(shí),會(huì)更多的了解在你的問(wèn)題域內(nèi)由于變化帶來(lái)的驅(qū)動(dòng)力。你的領(lǐng)域及其相關(guān)聯(lián)的上下文環(huán)境會(huì)驅(qū)動(dòng)軟件資產(chǎn)的復(fù)用。你越多的了解這種驅(qū)動(dòng)力,就會(huì)越容易決定什么軟件資產(chǎn)需要復(fù)用以及如何進(jìn)行復(fù)用。

高效的團(tuán)隊(duì)工作

與非常有趣而且高效的團(tuán)隊(duì)一起工作時(shí),我終于相信復(fù)用帶來(lái)的成功多于技術(shù)的光輝和優(yōu)雅的設(shè)計(jì)。偉大的團(tuán)隊(duì)生產(chǎn)高質(zhì)量的工作產(chǎn)品,相互理解,包括他們的優(yōu)勢(shì)和局限性,最重要的是能夠把思想的碰撞與沖突轉(zhuǎn)化為健康的有建設(shè)性的對(duì)話和創(chuàng)新、創(chuàng)造。

為什么團(tuán)隊(duì)工作和系統(tǒng)級(jí)復(fù)用有關(guān)呢?這是因?yàn)?,在生產(chǎn)可復(fù)用資產(chǎn)的過(guò)程中會(huì)遇到各種問(wèn)題,包括嚴(yán)格的期限和交付壓力,與遺留系統(tǒng)和流程進(jìn)行集成,與很多跨組織跨地域的部門和團(tuán)隊(duì)合作,同時(shí)還要發(fā)布高質(zhì)量的產(chǎn)品,在這些情況下進(jìn)行復(fù)用是非常艱難的。這是一種挑戰(zhàn),激勵(lì)著技術(shù)領(lǐng)袖和專家去工作并達(dá)成目標(biāo)。

系統(tǒng)級(jí)復(fù)用的基本概念是很好理解的,能夠把這些達(dá)成復(fù)用的成功者區(qū)別出來(lái)的是,他們通過(guò)幫助那些水平相對(duì)較低的開(kāi)發(fā)團(tuán)隊(duì)來(lái)實(shí)現(xiàn)業(yè)務(wù)領(lǐng)域復(fù)用的愿景,他們具備這樣的能力。每件事都很重要,包括每個(gè)組件,服務(wù)和資產(chǎn)。

特定小組經(jīng)常相互交流,交換思想,協(xié)作變得更加有效,大部分的風(fēng)險(xiǎn)被識(shí)別和緩解,這些保證了團(tuán)隊(duì)是成功的作為一個(gè)整體來(lái)工作。聽(tīng)起來(lái)是不是很像敏捷宣言?這并不是巧合!構(gòu)建可復(fù)用的服務(wù)需要?jiǎng)?chuàng)造性的頭腦風(fēng)暴,解決沖突,設(shè)計(jì)整合,直到到達(dá)一個(gè)邏輯點(diǎn),可以進(jìn)行你的迭代開(kāi)發(fā)。這可不是一件事──包括迭代,持續(xù)關(guān)注和聚焦執(zhí)行。如果你的團(tuán)隊(duì)充滿了創(chuàng)造力而且能夠持續(xù)交付,那么系統(tǒng)級(jí)復(fù)用會(huì)自然的成為開(kāi)發(fā)的副產(chǎn)品。

管理領(lǐng)域的復(fù)雜度

你的領(lǐng)域可能是復(fù)雜的,而且需要支持豐富的變化。考慮到你可能受到的限制,去捕捉全部的復(fù)雜性既不現(xiàn)實(shí)也不可行。此外,你的業(yè)務(wù)系統(tǒng)不可能支持相關(guān)問(wèn)題領(lǐng)域的所有變化。幸運(yùn)的是大部分的領(lǐng)域變化能以用戶故事的形式來(lái)表述,而且你能從持續(xù)的迭代和發(fā)布中找到相關(guān)模式,更好的了解這些變化。決定管理復(fù)雜度的子集是一門藝術(shù),在這一點(diǎn)上你需要不斷的與團(tuán)隊(duì)的人進(jìn)行合作。

我使用一套簡(jiǎn)單策略來(lái)尋找那些具有必要業(yè)務(wù)復(fù)雜度的領(lǐng)域。下面的列表并不全面,但是可以幫助你尋找感覺(jué),看看哪些因素能驅(qū)動(dòng)復(fù)雜度:

數(shù)據(jù)采集:系統(tǒng)可能有多重用戶角色,以及各種數(shù)據(jù),對(duì)這些用戶和數(shù)據(jù)的驗(yàn)證以及執(zhí)行的規(guī)則都是不同的

地理信息:基于地理的區(qū)域/國(guó)家/州的變化,包括不同的語(yǔ)言和日期/時(shí)間格式

合并產(chǎn)品特征(也叫捆綁):支持不同產(chǎn)品偏好的變化(例如基本版支持X、Y和Z特征;專業(yè)版支持X、Y和K特征;精裝版支持A、X、Y和K)

授權(quán):訪問(wèn)系統(tǒng)不同功能的變化,并執(zhí)行不同的任務(wù),以及相關(guān)用戶群體和交易行為

交易行為:貨幣限制方面交易行為的變化,批準(zhǔn)和驗(yàn)證規(guī)則,業(yè)務(wù)異常如何處理

渠道(也叫分銷渠道或銷售渠道):產(chǎn)品的有效性,特征的有效性,安全,客戶支持,頻繁的各類市場(chǎng)交流,等等

下次你再去檢查用戶故事,可以把它放到你的領(lǐng)域策略中去驗(yàn)證。這是迭代中的常用模式么?如果是的話,你應(yīng)該把它加入到你的系統(tǒng)級(jí)復(fù)用的規(guī)劃中。如果在你的設(shè)計(jì)中并沒(méi)有從開(kāi)始就貫徹管理領(lǐng)域復(fù)雜度的理念,沒(méi)關(guān)系,不要恐慌。并不需要在著手進(jìn)行前期設(shè)計(jì)的時(shí)候就努力去管理所有的復(fù)雜度。你應(yīng)該把認(rèn)識(shí)和行動(dòng)區(qū)分開(kāi)。對(duì)相關(guān)領(lǐng)域認(rèn)識(shí)的增加會(huì)幫助你把系統(tǒng)復(fù)用的成果與業(yè)務(wù)需求和迭代目標(biāo)結(jié)合起來(lái)。以此作為重構(gòu)的指導(dǎo)會(huì)幫助你在代碼庫(kù)方面做出明顯的改進(jìn)。

結(jié)論

本文闡述了一些成功要素,有助于達(dá)成系統(tǒng)級(jí)的復(fù)用。在沒(méi)有對(duì)問(wèn)題領(lǐng)域進(jìn)行管理和有效理解的情況下,去設(shè)計(jì)可復(fù)用資產(chǎn)并作為能夠滿足業(yè)務(wù)需求的有用投資,其實(shí)是沒(méi)有意義的。實(shí)現(xiàn)高效的團(tuán)隊(duì)工作,為客戶提供簡(jiǎn)易的集成方式,這些都可以增加復(fù)用成功的可能性。

發(fā)布:2007-04-18 13:46    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普固定資產(chǎn)管理系統(tǒng)其他應(yīng)用

固定資產(chǎn)管理系統(tǒng) 固定資產(chǎn)軟件 成本管理軟件 出納管理軟件 預(yù)算軟件 預(yù)算管理軟件 會(huì)計(jì)管理系統(tǒng) e會(huì)計(jì)財(cái)務(wù)軟件 積分卡管理系統(tǒng) 發(fā)票管理系統(tǒng) 報(bào)價(jià)管理系統(tǒng) 免費(fèi)資產(chǎn)管理系統(tǒng) 固定資產(chǎn)管理軟件免費(fèi) 免費(fèi)固定資產(chǎn)軟件 資產(chǎn)管理軟件下載 固定資產(chǎn)管理系統(tǒng)下載