安徽新华电脑专修学院_安徽电脑培训_安徽电脑培训学校_合肥电脑培训

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > Domain Object :基于業務行為的分析

Domain Object :基于業務行為的分析
2010-01-14 22:35:14  作者:  來源:
Domain Object :基于業務行為的分析
——Domain Object 的動靜之分,及其與 Business Process 的關系
    
一、Domain Object的動靜之分
1.1 動靜的標準是什么?
在系統運行期間,被頻繁建立和更新的稱為 “ 動態” ,而在較長的一段時間內稱為 “ 靜態” 。
 
1.2 考查Domain Object的動靜將意義何在?
    通常而言,“ 動態” 的Domain Object群通常代表了系統的核心業務對象。而 “ 靜態” 的Domain Object則在業務上代表了系統的依存關系。
更進一步我們可以在“ 動態” Domain Object群中找到一個或幾個代表了系統核心業務系統的核心。然而核心業務對象和綜合業務對象還是有區別的,“ 動態” 的Domain Object中,最動態的不一定是綜合業務的核心,在下面我們將舉例說明。
    例如保險業務中,涉及的對象如下:
    Party(Customer以及各種Channel Role),Account,Product(險種),Policy(保單)等等,
    其中Policy對象是最頻繁被操作的,而Party,Product兩個則相對靜態。
    在實際業務最常發生的操作也是關于保單的:新契約,保全,理賠,續保等等,很明顯,Policy對象就是核心業務對象;Account變化將隨保單業務發生;而Party和Product則給出了Policy對象的依存關系。
    然后保險業務的綜合業務核心是Party更確切說是Customer。實際上幾乎所有的金融服務的核心應該是CRM系統,保險公司(金融機構)是為客戶提供全面的金融服務,幫助客戶的管理金融資產也就是Holding,在其中最重要的是Account,至于Policy只是客戶的一個資產(asset)而已;Party下的各種機構和Channel Role都為了支持公司提供金融服務的。
 
    SpringSide的Demo例子BookStore 涉及的對象 :
    Party(Customer, Provider 以及 Deliverer), Book, Order 等 .
    Order 是最強烈的動態特征的對象,它代表了BookStore 的核心業務。與保險系統做個類比就是:Order和Policy的概念一樣,Book相當于Product,而Deliverer則是Channel Role。
    同樣:BookStore的綜合業務也是CRM,系統跟蹤分析客戶的閱讀習慣和閱讀興趣以及支持習慣,為客戶提供閱讀服務。一如Amazon那樣。
 
    又如DDD一書的提供的航運例子:Itinerary 是Shipping Model的核心業務對象。
   
二、 Domain Object與Business Process
弄清了Domain Object 的動靜之分 ,就需要考慮Domain Object 與Business Process 關聯關系。
從實際系統的觀察來的看 , 幾乎所有的系統的Business Proces( 核心業務流程和綜合業務流程 )都是和“ 動態” 的核心業務對象的 LifeCycle 的Status 關聯的。
 
2.1 先來觀察一下核心業務流程相關兩個現象的
A. 幾乎所有的業務操作都始于核心業務對象的建立,而止于該核心對象的死亡(停止),如保險的核心業務是是圍繞policy的生命周期來做,新契約,保全,理賠,續保都是建立在policy上;BookStore則是在Order上;同時注意到不同的業務操作會影響了核心對象的LifeCycle的Status。
B. 由Customer的請求(客戶向保險公司投保,或者要求加保,網上客戶下購書訂單,或網上支付)觸發Business Process;Business Process又根據核心對象的LifeCycle Status和Request Context觸發一系列的Business Action。
 
現在我們以保險業務為例來進行一個完整描述,觀察一下涉及的幾個概念:
Party(Customer, Channel Role ),Request,Business Action,Business Process 以及最后的 Policy 。
我們來看一下這里面的關系:
1. 首先一個由Customer發起一個投保請求(Request),其中這個投保請求由一個保險客戶代表也就是agent(Channel Role)促成(即Request對象引用一個Agent Channel對象)
這個request將激活一個Business Process: 先完成一個投保單的基本信息錄入操作,這個Action直接導致了一個Policy對象的建立,此時這個Policy對象的LifeCycle的status是Proposal;
3.接著工作流系統根據該保單的LifeCycle進入核保(underwriting)操作,而該操作促使Policy導向兩個LifeCycle Status:Accept和Deny。
4.1 對于Accept的Policy,系統將觸發一個通知,通知客戶繳納首期保費。
4.2 在客戶繳費后,在系統內部產生一個系統的Request,該Request攜帶繳費信息,進入承保操作
4.3 承保操作查看繳費額度是否可以承保,如果可以則保單的LifeCycle狀態變為inforce。
5.1 對于Deny的Policy,系統觸發一個人工操作流程,由工作人員同客戶聯系調整投保信息如減少保額等
5.2 customer反饋一個request,如同意減少保額,系統進入一個修改Policy的操作,同時Policy的LifeCycle進入Proposal狀態
5.3 系統進入3的流程
 
這里是一個簡化的描述(另外系統不一定用WorkFlow),在實際業務操作中,還需要操作的對象包括了Party中的其它Role如Insurancer,Payee等等,每個Policy還需要指明具體的Product,以及Payment Agreement等等,當最核心的無疑是Policy對象,而Policy對象的LifeCycle Status又和Business Process有直接的聯系。
 
對于BookStore也是如此,在客戶下單后
1.Order的LifeCycle狀態就是proposal,系統在此期間等待客戶的兩個請求:付款或者修改訂單。
2.而在付款后,Order的LifeCycle狀態就是Inforce,系統就通知工作人員開始配書。
3.配書結束后,Order的LifeCycle狀態就是assembled
4.系統就要通知相關人員可以通過Deliverer發送訂單。在此期間Order的LifeCycle狀態為Deliver
5.系統收到Deliverer的貨到通知,將Order的LifeCycle狀態置為Complete。
 
這里要額外補充說明的是;
對于Request,每個Request必需記錄下date,而Channel不一定。
對于Action,每個Action還可能保留一定的人工干預控制信息,也將同LifeCycle的Entry Data一起記錄。
對于LifeCycle,每個LifeCycle Status的變化都可能會有獨自的Entry Data(與Request Context有關,與Domain相關的)需要記錄。
 
2.2 以上是對核心業務系統的討論,現在要看的是所謂綜合業務系統
對于綜合業務系統,關注的是Party, Product兩個對象系統。
很顯然,客戶的金融資產(保險系統)或者閱讀習慣(BookStore)是系統關心的;product則是系統能為客戶提供的服務或者產品;而Provider以及Channel Role包括Deliverer在內都是為服務提供支撐。
 
對于這些對象也就有自己的LifeCycle。雖然其LifeCycle的周期可能要長于Policy或者Order,但是其LifeCycle的狀態卻可能簡單于Policy或者Order
 
Party和Product兩個對象系統也有自己的Process,其Business Process的發起也是由request,由于相對于Policy和Order,兩個系統相對 “ 靜態 ” ,并由于其LifeCycle的簡單性,加上這兩類對象在實際業務中相比更帶有正式授權特征。因此我用一個不同于request的概念Registration來代替。
 
其Process的過程和核心業務過程相差無幾,不在復述。
目前對于綜合業務系統還沒有更多的想法就這樣吧。
 
三、不算小結的小結
    無論系統建模還是系統重構,努力去觀察了解Domain Object的動靜之分,以及Domain Object與Business Process的關系,都有助細粒度的分析系統的業務行為,做出合理的設計方案。
    (聽上去更像是口號宣傳)

安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 压力变送器,差压变送器,液位变送器,温度变送器生产厂家价格-西安仕乐克仪表科技有限公司 | 美国西娅图床垫官网-专注高端床垫18年 - 美国西娅图床垫官网 | 塑料桶生产厂家-山东塑料桶-化工塑料桶-200升塑料桶-山东欣越塑料制品有限公司 | 柔性测斜仪|滑动式测斜仪-华思(广州)测控科技有限公司 | 江西富兴节能建材有限公司| 矿用精确定位系统,井下4G无线通讯系统,工作面集控系统,皮带保护系统-山东新云鹏电气有限公司 | 桥梁支座更换_桥梁检测车租赁_高空作业车出租_支座更换_伸缩缝安装_隧道防水_养护加固_维修_出租_衡水庆兴桥梁养护工程有限公司 桥梁养护|桥梁维修加固|隧道裂缝修补|支座更换|管道堵水气囊|衡水众拓路桥养护有限公司 | 面粉加工成套设备|面粉加工设备|面粉加工机械|面粉机组设备-河南成立粮油机械有限公司 | 青岛抛丸机_抛丸清理机_树脂砂设备_除尘设备 | 商标注册查询_商标注册代理公司_专利申请_版权登记-源智知识产权 | 真空干燥箱厂家-热风循环烘箱生产厂家-鼓风烘干箱价格-南京火燥机械科技有限公司 | 苏州温测仪器有限公司-苏州炉温跟踪仪|苏州隔热箱|苏州炉温测试仪|苏州恒温恒湿箱 | 松下PLC经销商-松下传感器-放大器-电磁阀-光电开关-金器[东莞均钛]品牌气动元件及工控产品一站式供应商 | 水热反应釜厂家_水热反应釜价格_水热合成反应釜批发-仪贝尔仪器 - 水热釜,水热反应釜,水热反应釜厂家,水热反应釜价格,水热反应釜型号,水热反应釜内衬,水热反应釜25ml,水热反应釜50ml,水热反应釜100ml,水热合成反应釜 | 土石_泥石分离机_无轴滚筒筛_振动筛 - 巩义市鑫利重工机械制造有限公司 | 上海律师_上海法律咨询_律师在线咨询网站_上海律师事务所-沪律网 | 山东邹平华强无纺布有限公司| 塑木地板,塑木栏杆,塑木地板价格,塑木地板厂家—浙江尚元塑木制品有限公司 | 台式氙灯老化箱-光伏组件-真空老化试验箱|中科万通仪器官网 | 食品厂净化工程-无尘车间装修改造-净化工程-洁净工程-苏州远盈净化公司 | 览众房车,房车, 房车厂家, 房车价格, 房车图片,, 四驱房车, 皮卡房车, 越野房车, 依维柯房车, 国产房车, 自动挡房车, | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 一体化净水器-一体化净水设备-集成式|装配式模块化净水设备-山东奕博环境 | 实验升降炉-箱式管式炉- 台车真空炉-熔块旋转炉-推板隧道窑-洛阳鲁威窑炉有限公司 | 铸铁平台-铸铁平板平台厂家-加工优质高精度检验划线装配T型槽平台-尺寸规格全供应-建新铸造 | 旋转补偿器-专注套筒三维球形补偿器定制生产厂家-伸缩接头价格_巩义市新华丰管道设备有限公司 | 小地磅,钢瓶秤,叉车称,轮椅秤,倒桶秤,畜牧秤,轴重仪,称重模块——上海实干实业有限公司-网站首页 | 宁波雷豹机电科技有限公司|雷豹冷风机|雷豹工业大风扇|MFC18000|MFC16000|MFC6000|EF3622|EF4222|EF4822|移动工业蒸发式冷风机空气冷却器|大型工业空调扇|雷豹移动式工业大风扇|雷豹大风扇|生产厂家|公司官网 | 数字多媒体展厅设计,智慧科技互动企业展馆展厅设计公司-深圳炫之风 | 筱晓(上海)光子技术有限公司官网,MCT探测器,半导体激光二极管,中红外QCL激光器,光纤放大器,光电探测器 | 江西同欣机械制造股份有限公司 | 消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司-消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 显微镜|金相显微镜|光学显微镜专业生产商-上海光学仪器厂 | 上饶市蚂蚁搬家有限公司,上饶搬家公司,上饶同城搬家,上饶同城搬家电话,上饶搬家哪家好,上饶搬家公司电话 | 西安鸿仁汇智软件公司是高新技术企业,专业为企业及高校提供智慧化管理一站式解决方案 | 深圳LED显示屏厂家_室内户外LED显示屏_彩屏电子有限公司 | 数控落地镗铣床_数控刨台式镗铣床_数控龙门加工中心-青岛辉腾机械设备有限公司 | 南京叉车|电瓶叉车|电动叉车|电动堆高车|电动搬运车-南京诺嘉机械 | 济南排队机,济南触摸屏一体机,济南拼接屏广告机厂家,汇通视控 | 金坛区成辉仪器厂-精密増力电动搅拌器,石英亚沸蒸馏水器- |