亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

星型結(jié)構(gòu)的通用業(yè)務(wù)模型的制作方法

文檔序號:8922380閱讀:420來源:國知局
星型結(jié)構(gòu)的通用業(yè)務(wù)模型的制作方法
【技術(shù)領(lǐng)域】:
[0001] 本發(fā)明涉及到的技術(shù)領(lǐng)域是軟件面向?qū)ο箝_發(fā)模式中的一種,即領(lǐng)域模型驅(qū)動開 發(fā)方式。本發(fā)明設(shè)計了一種星型結(jié)構(gòu)的通用模型,應(yīng)用到領(lǐng)域模型驅(qū)動開發(fā)方式中,實(shí)現(xiàn)了 領(lǐng)域模型的標(biāo)準(zhǔn)化,并且提供了相關(guān)的框架,對數(shù)據(jù)的結(jié)構(gòu)和對數(shù)據(jù)模型的處理方式實(shí)現(xiàn) 了通用化,標(biāo)準(zhǔn)化,大大降低了由于在以往的開發(fā)過程中,模型多樣化帶來的多重處理的問 題,降低了建模的難度,提高了建模的效率。
【背景技術(shù)】:
[0002] 傳統(tǒng)的面向?qū)ο蟮拈_發(fā)方式,包含了以下幾個開發(fā)過程,1.需求收集,2.需求分 析,3.概要設(shè)計,4,詳細(xì)設(shè)計,5.編碼實(shí)現(xiàn)。在這樣過程中,產(chǎn)生的模型有:1.需求用例模 型,2.設(shè)計模型。而領(lǐng)域驅(qū)動開發(fā)方式(DDD:DomainDrivenDesign)的引入[1],在需求 用例模型和設(shè)計模型中引入了"領(lǐng)域模型"的概念。產(chǎn)生了一個各個部門都能夠理解的通用 模型,更有利于開發(fā)部門和客戶的交流,使得面向?qū)ο蟮能浖_發(fā)更加接近實(shí)際業(yè)務(wù)流程, 技術(shù)模型更接近于業(yè)務(wù)需求的各個模塊。
[0003]但實(shí)際上,領(lǐng)域模型驅(qū)動在實(shí)現(xiàn)的過程中,由于不同業(yè)務(wù)的流程的差異,領(lǐng)域模型 的具體構(gòu)成也是千差萬別。實(shí)際開發(fā)中,領(lǐng)域模型直接轉(zhuǎn)換成面向?qū)ο蟮幕A(chǔ)類,進(jìn)行處理 的開發(fā)方式存在著一些問題:面向?qū)ο蟮哪P推毡槭侵挥卸S結(jié)構(gòu)的簡單數(shù)據(jù)模型,為了 基于它構(gòu)建出復(fù)雜的數(shù)據(jù)模型,必然使得開發(fā)人員大部分的精力放在了維護(hù)不同的模型的 結(jié)構(gòu),處理不同結(jié)構(gòu)的數(shù)據(jù)上來,由于不同業(yè)務(wù)模型的差異,對數(shù)據(jù)的維護(hù)和處理方式也差 別較大,不同的模型,要重新制定特定的數(shù)據(jù)處理方式。這樣的作法,一方面浪費(fèi)了開發(fā)人 員的精力,使得模型的開發(fā)效率低下,另一方面,各個模型服務(wù)層的類往往也集中了大量這 樣的不同的數(shù)據(jù)維護(hù)性的方法,造成數(shù)據(jù)結(jié)構(gòu)層"肥大",難以維護(hù)。
[0004]經(jīng)過長期的觀察和經(jīng)驗(yàn)積累,我們發(fā)現(xiàn),絕大部分的領(lǐng)域模型之間的建模形式,可 以由星型拓?fù)浣Y(jié)構(gòu)來表示,即每個模型,由一個且唯一的根節(jié)點(diǎn)來描述該模型的基本信息。 根節(jié)點(diǎn)下面,有多層的子節(jié)點(diǎn)來描述和模型相關(guān)的附加性信息。
[0005]我們將這樣一個可以獨(dú)立出來的,可以由星型結(jié)構(gòu)描述的數(shù)據(jù)模型單元,稱為一 個服務(wù)實(shí)體(ServiceEntity)。它上面的每一個節(jié)點(diǎn),將對應(yīng)面向?qū)ο笳Z言的一個二維的 簡單數(shù)據(jù)類。稱為一個服務(wù)實(shí)體節(jié)點(diǎn)(ServiceEntitynode)。
[0006]除了提出星型結(jié)構(gòu)的通用業(yè)務(wù)模型的概念。本發(fā)明還采用了JAVA面向?qū)ο蟮木?程語言,構(gòu)建了基于JAVA平臺的基本服務(wù)實(shí)體框架,該框架用于支持服務(wù)實(shí)體,即星型通 用業(yè)務(wù)模型的快速建模和維護(hù)。

【發(fā)明內(nèi)容】

[0007]為了解決領(lǐng)域模型驅(qū)動建模中,不同形式的領(lǐng)域模型建模效率低下、難以維護(hù)的 問題,我們提出了一種星型拓?fù)浣Y(jié)構(gòu)的通用模型,稱為:服務(wù)實(shí)體(ServiceEntity)。對業(yè) 務(wù)模型的建模,我們統(tǒng)一地使用星型結(jié)構(gòu)的數(shù)據(jù)模型來表示,即有一個唯一的根節(jié)點(diǎn)描述 模型的基本信息,其它信息,由一對一或者一對多子節(jié)點(diǎn)來描述。通用的模型結(jié)構(gòu),一方面 數(shù)據(jù)結(jié)構(gòu)統(tǒng)一化,另一方面對數(shù)據(jù)的處理也實(shí)現(xiàn)了通用化,在這種情況下,服務(wù)實(shí)體的結(jié)構(gòu) 維護(hù),包括實(shí)體內(nèi)部各個節(jié)點(diǎn)的關(guān)系,以及實(shí)體間的關(guān)系維護(hù),均由框架實(shí)現(xiàn)。
[0008] 這樣一個可以獨(dú)立出來的,由星型結(jié)構(gòu)描述的業(yè)務(wù)單元,稱為服務(wù)實(shí)體(Service Entity)。服務(wù)實(shí)體的每一個節(jié)點(diǎn),將對應(yīng)面向?qū)ο笳Z言的一個簡單數(shù)據(jù)類。稱為一個服務(wù) 實(shí)體節(jié)點(diǎn)(ServiceEntitynode)。
[0009] 節(jié)點(diǎn)的類型有下面幾種:
[0010] 1.根節(jié)點(diǎn):根節(jié)點(diǎn)用于描述服務(wù)實(shí)體的基本屬性,且和服務(wù)實(shí)體本身呈現(xiàn)1比1 的對應(yīng)關(guān)系,比如模型的標(biāo)識性信息,如編號,名稱等,或者類似于憑證的優(yōu)先級別,生成時 間等。
[0011] 2.子節(jié)點(diǎn):用于描述服務(wù)實(shí)體的非基本信息,即附屬性質(zhì)的信息,和服務(wù)實(shí)體本 身呈現(xiàn)1比1或者1對多的關(guān)系,比如銷售訂單中,包含的銷售商品的信息。和銷售訂單呈 現(xiàn)1對多的關(guān)系。
[0012] 3.引用節(jié)點(diǎn):當(dāng)一個服務(wù)實(shí)體需要引用到外部服務(wù)實(shí)體,基本的信息由外部實(shí)體 提供,本服務(wù)實(shí)體僅僅提供和本服務(wù)實(shí)體業(yè)務(wù)相關(guān)的信息,這種引用關(guān)系中,需要建立引用 型節(jié)點(diǎn)。如銷售訂單中,商品銷售信息將會引用到"商品"這個獨(dú)立于銷售訂單之外的服務(wù) 實(shí)體,銷售訂單中,銷售商品節(jié)點(diǎn)中包含了銷售本身相關(guān)的信息,如銷售數(shù)量,銷售價格,但 是商品本身的信息來自于對商品這個服務(wù)節(jié)點(diǎn)的引用。
[0013] 下面通過一個實(shí)際的例子,描述通過服務(wù)實(shí)體,實(shí)現(xiàn)"銷售訂單"的建模過程。
[0014] 一個銷售訂單的模型中,和訂單本身密切相關(guān)的基本信息包括訂單號,訂單生成 日期,經(jīng)辦人,優(yōu)先級別等等。這些基本信息我們定義為訂單的根節(jié)點(diǎn)信息。銷售訂單還包 括了"銷售商品"的信息,這些信息和訂單呈現(xiàn)1對多的關(guān)系,即一個銷售訂單可以包含多 條銷售商品信息,我們定義為子節(jié)點(diǎn)"銷售商品"。而"銷售商品"節(jié)點(diǎn)應(yīng)該是引用型節(jié)點(diǎn), 因?yàn)殇N售商品中的商品自身信息應(yīng)該是來自"商品"這個在銷售訂單外的獨(dú)立的模型,比如 商品的名稱,商品的特點(diǎn)等等,"銷售商品"引用自"商品"模型,"銷售商品"自身包含的是 和訂單中銷售活動相關(guān)的信息,比如用戶購買數(shù)量,購買單位等等。
[0015] 另一方面,銷售訂單還包括了參與方的信息,常用的銷售訂單包含了兩個參與方, 買方和買方,參與方的子節(jié)點(diǎn)包括的信息,應(yīng)該有:參與方,主要聯(lián)系人姓名。聯(lián)系人電話, 電子郵件,參與方角色(比如買方,賣方,供貨方,提貨方,付款方等等)。
[0016] 基于以上信息我們可以構(gòu)建這樣星型的"銷售訂單"數(shù)據(jù)模型,該模型的結(jié)構(gòu)圖, 請參考【附圖說明】中的圖2。
[0017] 在定義好了數(shù)據(jù)模型后,會根據(jù)實(shí)際業(yè)務(wù)場景,生成數(shù)據(jù)模型的實(shí)例。假設(shè)有這樣 的業(yè)務(wù)場景:電子科技公司(TechA)作為賣方,對服務(wù)咨詢公司:ServiceB達(dá)成了一項(xiàng)銷售 訂單,這個銷售訂單中包含了 3類商品:10臺手機(jī),3臺電腦,5臺攝像機(jī)。同時,他銷售訂單 號:SA20130203001,優(yōu)先級別:A,生成時間:2013. 02. 03,創(chuàng)建人:王強(qiáng),總價格:40000元。
[0018] 根據(jù)上面的服務(wù)實(shí)體模型,我們可以得到運(yùn)行時的數(shù)據(jù)模型實(shí)例,其結(jié)構(gòu)圖參考
【附圖說明】的圖3。
[0019]圍繞著服務(wù)實(shí)體的建模,我們提供了統(tǒng)一的基本化框架。一方面支持服務(wù)實(shí)體的 快速建模和通用數(shù)據(jù)處理,同時,框架為開發(fā)者自定義功能的開發(fā),提供了規(guī)范,使得開發(fā) 人員在自定義功能時,代碼、模塊更加規(guī)范,更利于維護(hù)。
[0020] 基本化框架的基本構(gòu)成,第一部分是模型定義部分,S卩服務(wù)實(shí)體的每個節(jié)點(diǎn)的定 義。通過定義JAVA的簡單數(shù)據(jù)量類,繼承框架提供的基類ServiceEntityNode。同時,用 配置類ConfigureProxy來描述模型的構(gòu)成,數(shù)據(jù)結(jié)構(gòu)。第三部分是數(shù)據(jù)訪問類DA0類,同 理,繼承框架的父類ServiceEntityDAO??梢酝ㄟ^配置和數(shù)據(jù)庫鏈接。實(shí)現(xiàn)服務(wù)實(shí)體中所 有節(jié)點(diǎn)和數(shù)據(jù)庫的數(shù)據(jù)交換。第四部分是服務(wù)層,或者邏輯管理層。為服務(wù)實(shí)體,提供基本 的服務(wù):
[0021] 服務(wù)實(shí)體的數(shù)據(jù)生成:包括根節(jié)點(diǎn)生成和子節(jié)點(diǎn)的生成。
[0022] 數(shù)據(jù)更新服務(wù):能夠接受從表現(xiàn)層傳入的服務(wù)實(shí)體數(shù)據(jù),并且和后臺的服務(wù)實(shí)體 數(shù)據(jù)進(jìn)行比較,對每個節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行更新,新增,刪除操作,并且記錄相關(guān)日志。
[0023] 引用節(jié)點(diǎn)服務(wù),構(gòu)建新的引用節(jié)點(diǎn),通過引用節(jié)點(diǎn)找到被引用的目標(biāo)節(jié)點(diǎn)。
[0024] 動態(tài)查詢服務(wù),通過輸入任意節(jié)點(diǎn)的屬性值,進(jìn)行匹配查找,也可以對任意輸入查 詢值,進(jìn)行任意節(jié)點(diǎn)和屬性的自由匹配查找。
[0025] 系統(tǒng)基本框架的結(jié)構(gòu)圖請參考【附圖說明】中的圖4。
【附圖說明】
[0026] 圖1星型結(jié)構(gòu)通用數(shù)據(jù)模型的示意圖
[0027] 圖2描述了一個簡單的"銷售訂單"的服務(wù)實(shí)體模型的星型結(jié)構(gòu)。
[0028] 圖3描述了在上一章的業(yè)務(wù)場
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1