999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于領域驅動設計的車間詳細排產系統研究

2011-10-12 13:28:18李萬高孫德廠胡耀東
制造業自動化 2011年23期
關鍵詞:模型系統設計

李萬高,孫德廠,胡耀東

LI Wan-gao1, SUN De-chang2,3, HU Yao-dong1

(1.河南工程學院,鄭州 451191;2.中國科學院 沈陽自動化研究所,沈陽 110016;3.中國科學院 研究生院,北京 100049)

0 引言

所有的企業應用軟件系統都是為了支持具體的企業管理與運作流程,總是與相關的業務領域密切相關。然而傳統的以數據存儲與功能實現為中心的軟件設計方法導致業務領域與軟件設計、開發脫節,常常導致設計、開發偏離用戶需求。同時大量的業務規則、數據驗證夾雜在業務對象的處理之中,業務邏輯的處理嵌入到用戶界面組件和數據庫腳本中,導致軟件的可維護性、可擴展性不足。領域驅動設計的開發方法彌補了這一缺陷,在統一開發過程的框架下,領域模型貫穿整個軟件開發周期。

1 領域驅動設計

領域驅動設計(DDD)是Eric Evans在2004年提出的概念,是一種基于模型驅動開發(Model Driven Development MDD)思想的開發方式[1]。這種方法的核心觀點認為軟件項目的起點是領域,針對領域建立符合系統需求的模型是軟件設計的基礎,是業務領域專家、分析系統分析師、架構設計師、開發人員共同交流的平臺。在軟件開發階段,推薦使用敏捷編程方法,使分析、設計、開發各環節相互反饋、促進,并對系統進行持續的重構,形成良性循環,有助于軟件在滿足需求的條件下,最真實的映射領域業務邏輯,這是瀑布模型的方法所不具備。圖1是領域驅動設計與開發模式的展示。

圖1 領域驅動設計與開發模式

領域驅動設計的核心是對業務領域建模,對象建模和基本要素包括:分層架構、實體、值對象、服務、模塊、聚合、工廠和資源庫[2]。對領域驅動設計的研究工作,一些作者已經做出了努力。王鵬等[3]使用領域驅動設計的開發模式設計了基于WEB的船舶性能預報系統,完成了該系統的分層架構設計和業務領域建模。陳亮[4]結合動態表單設計示例,對領域驅動模型進行了介紹。張金松[5]針對物流系統,提出了一個領域驅動設計的實施方案:DDD+SCRUM+XP(Extreme Programming)+CI(Continuous Integration)。系統架構采用輕量級的J2EE技術(Spring+Hibernate+Compass+Ajax)。丁濤[6]對領域驅動設計的基礎理論與技術進行全面的介紹,包括領域工程、領域建模等, 并對航務海事系統進行領域建模、架構設計與系統實現。鄭琴琴[7]對業務邏輯組織方法,史棟杰等[8]對資源庫模式設計進行了研究。

2 車間詳細排產領域模型

車間詳細排產是指在一定的計劃期內為加工任務分配制造資源的過程[9]。計劃期指排產所涉及的時間范圍,企業一般采用滾動周期的方法。加工任務指上層計劃系統給制造車間下達的已經分解好的生產訂單,標明有詳細的加工對象、加工數量、交付時間、工藝路線、加工工序等信息。制造資源指車間所擁有的設備、人員以及制造資源的能力。

2.1 領域知識

依據上述概念,要實現車間詳細排產必須對基礎數據進行管理,這些基礎數據包括工作日歷、人員班組、設備工具、工藝路線、工序、物料和物料清單。為達到詳細排產的優化目標,要遵循相關的生產規則、滿足生產約束;為滿足交付時間要求必須選擇合適的計劃策略,選擇適合特定環境的算法;最后對排產的結果進行評價,并發布執行。經過對這些要素的迭代分析,車間詳細排產領域知識如圖2所示。

圖2 車間詳細排產領域知識

2.2 業務模型

2.2.1 業務流程

車間詳細排產業務流程主要包括基礎數據管理和排產執行?;A數據管理主要包括基礎數據維護,以及基礎數據之間關系分配,從而建立起模擬實際生產環境的詳細排產模型。排產執行主要包括加工任務加載、排產執行、排產結果調整、排產結果發布、執行過結果反饋。排產執行流程如圖3所示。

基礎數據:增加、修訂、刪除、查詢基礎數據信息,確保基礎數據完整、正確、及時的維護在系統中。

數據分配:增加、修訂、刪除、查詢基礎數據分配關系,建立基礎數據之間的業務規則,切實反映各排產要素之間的制約關系。

加工任務:在排產系統中建立加工任務,或從上層ERP系統下載加工任務。

排產運算:在基礎數據基礎上,選擇排產策略、目標,提交排產事務,系統根據基礎數據建立排產環境模型,調用合適的算法,輸出排產結果,并對排產結果評價。

結果發布:根據甘特圖、負載圖、評價指標對排產結果審查,根據人工經驗對排產結果進行調整或優化直至滿意,發布排產結果。

執行反饋:根據實際生產開、完工時間,生產進度的反饋數據,不斷更新加工任務的狀態,從而形成生產過程排產的閉環控制。

圖3 車間詳細排產執行流程

2.2.2 領域模型

設計完整的企業級應用軟件,在滿足業務領域和業務流程的功能性要求外,還應該包括用戶管理、權限管理、日志管理等非功能性要求以及運算速度等性能要求。在此基礎上構建領域模型如圖4。

實體:模型中日歷時間、設備工具、人員班組、加工工序、工藝路線、生產產品、加工任務均具有唯一的標識,這些對象均是實體對象。

圖4 車間詳細排產領域模型

值對象:模型中生產能力、計劃目標、計劃結果等對象,隨系統運行而變化,不具有標識符,是值對象。

服務:模型中的數據檢查、能力核查、數據加載、模型構建、算法調用、結果發布等均為系統的服務。

模塊:系統中實體對象的維護,以及實體對象之間關系的分配,是詳細排產的基礎數據,可以劃分為基礎數據管理模塊。加工任務、排產運算、結果發布、執行反饋是動態的數據,劃分為系統執行管理模塊。用戶、權限、日志的管理劃分為系統管理模塊。

聚合:對于實體對象,擁有唯一的標識,可以作為聚合根,進而形成聚合體,在模型中,人員班組、設備工具、工藝路線、生產產品、加工任務作為子模型。其中加工任務和設備工具作為領域的核心,因為排產的結果就是要把加工任務分配到不同的設備工具上進行加工。

工廠:在業務處理中,像工藝路線、加工任務這樣的聚合體或者生產能力、排產模型這樣的值對象,往往包含有復雜的數據及對象分配關系,為便于實現,需要建立構造函數對其進行數據初始化,這就是工廠。

資源庫:為提升系統的計算性能,排產運算必須基于內存運行,需要按照排產執行流程將持久化數據加載到內存中。為使不同數據在內存中可以區別開來,需要為復雜的實例化實體對象或值對象創建資源庫,而簡單的數據使用變量進行存儲。

3 車間詳細排產系統架構設計

通過上述領域模型的分析,可以對系統進行架構設計,通用的領域驅動設計的架構性解決方案是將軟件設計為四層:用戶界面層、應用層、領域層和基礎設施層。將領域模型從用戶界面層、應用層、基礎設施層分離出來,專注于領域問題的管理、業務知識的捕獲和表達。圖5展示了車間詳細排產的領域模型。

圖5 車間詳細排產系統架構

表示層:負責向用戶展現信息以及解釋用戶命令。

應用層:用來協調應用的活動。它不包含業務邏輯,不保留業務對象的狀態,但保有應用任務的進度狀態。

領域層:包含關于領域的信息。這是業務軟件的核心所在。在這里保留業務對象的狀態,對業務對象和它們狀態的持久化被委托給了基礎設施層。

持久層:作為其它層的支撐庫存在。它提供了層間的通信,實現對業務對象的持久化,包含對用戶界面層的支撐庫等作用。

4 車間詳細排產系統實現

依據上述領域模型和系統架構,開發環境為Visual Studio 2008,數據庫為SQL Server 2005。在微軟.NET應用平臺下,采用Windows Presentation Foundation(WPF)技術實現。.NET平臺很好的支持了面向對象技術,并為此專門開發了一種語言C#。新的WPF技術是.NET Framework的組成部分,WPF同時支持C/S和B/S結構,支持界面設計與業務邏輯開發的分離。界面設計采用XAML語言,可以對界面元素進行定義和刻畫。通過數據綁定、事件響應與業務邏輯層進行交互。業務邏輯層,使用C#語言開發,根據系統架構設計,分為應用層和領域層。應用層負責響應事件與結果反饋。領域層負責各種對象模型的創建和管理。持久層負責與數據源通信,在.NET平臺下,主要使用ADO進行連接[10]。在.NET平臺WPF技術下,系統實現架構如圖6所示。圖7和圖8為日歷和工藝路線等基礎數據管理。

圖6 NET平臺下系統架構

圖7 日歷管理

圖8 工藝路線、工序管理

5 結論

本文首先對領域驅動設計的相關概念、開發模式進行介紹,然后遵照領域工程模式對車間詳細排產的領域知識、業務流程進行研究,在此基礎上建立了領域模型。在面向復雜系統建模時,對模型要素識別出實體、值對象、服務等對象,并對對象關系進行簡化,進行模塊的劃分。 分層架構設計,使得軟件開發人員能夠在實現階段更多的關注領域模型。最后,在.NET平臺下,使用WPF技術,對系統進行了實現。實踐證明,領域驅動設計模式下,軟件系統的設計與開發更具有效率,軟件系統本身更具有較好的可維護性、可擴展性性。

[1]Evans E.著.陳大峰,張澤鑫,譯.領域驅動設計—軟件核心復雜性應對之道[M].北京:清華大學出版社,2006.

[2]Abel Avran&Floyd Marinescu著.孫向暉,霍泰穩,譯.領域驅動設計.精簡版[M],http://infoq.com/cn/minibooks/domain-driven-desian-quickly.

[3]王鵬,劉淵,冷文浩.領域驅動設計在SPP系統中的應用[J],計算機工程與設計,2008,29(13):3312-3364.

[4]陳亮.基于領域驅動設計的軟件開發方法和實例分析[J],鐵路計算機應用,2010,19(9):51-54.

[5]張金松.領域驅動設計在航務海事系統中的應用研究[D].大連海事大學,2010.

[6]丁濤.基于領域驅動設計的物流平臺系統實現[D].電子科技大學,2010.

[7]鄭琴琴.領域驅動設計的業務邏輯組織方法研究[J].中國科技論文在線,http://www.paper.edu.cn

[8]史棟杰,孔華峰.領域驅動設計中資源庫模式的設計與實現[J],電腦知識與技術,2011,6(33):9617-9618,9621.

[9]Michael Pinedo.Scheduling:Theory,Algorithms,and Systems Second Edition.[M],北京:清華大學出版社.

[10]Adam Nathan著.瞿杰,單佐一,夏寒.譯.WPF揭秘[M],北京:人民郵電出版社,2008.

猜你喜歡
模型系統設計
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 色色中文字幕| 97se亚洲综合不卡| 国产成人一区在线播放| 国产乱人伦AV在线A| 尤物成AV人片在线观看| www.youjizz.com久久| 少妇精品在线| 久久无码av三级| 国产SUV精品一区二区6| 国产乱子伦视频在线播放| 日韩av无码精品专区| 无码久看视频| AV熟女乱| 国产成人8x视频一区二区| 激情乱人伦| 欧美色伊人| 中文字幕丝袜一区二区| 亚洲三级片在线看| 国产一区在线观看无码| 欧美日韩免费| 精品无码专区亚洲| a级毛片免费网站| 91香蕉视频下载网站| 伊人久久大线影院首页| 喷潮白浆直流在线播放| 国产精品成人一区二区| 看国产一级毛片| 亚洲欧美一区二区三区蜜芽| 亚洲精品人成网线在线| 日韩精品一区二区三区大桥未久| 午夜小视频在线| 成人国产一区二区三区| 亚洲国产成人久久精品软件| 99热这里只有精品5| 亚洲婷婷丁香| 一区二区三区成人| 欧美a级在线| 伊人久久大香线蕉综合影视| 国产理论一区| 熟妇人妻无乱码中文字幕真矢织江 | 中文字幕 日韩 欧美| 香蕉在线视频网站| 91色国产在线| 日韩黄色在线| 国产成人无码Av在线播放无广告| 久久这里只精品热免费99| 亚洲国产精品成人久久综合影院| 波多野结衣一区二区三区88| 国产亚洲视频中文字幕视频| 国产又粗又猛又爽视频| 婷婷综合缴情亚洲五月伊| 中文字幕 欧美日韩| 久久网欧美| 免费A∨中文乱码专区| 91欧美亚洲国产五月天| 中文字幕人成人乱码亚洲电影| 97国产在线播放| 亚洲天堂视频在线播放| 国产熟睡乱子伦视频网站| 亚洲第一极品精品无码| 国产白浆在线观看| 久久成人国产精品免费软件| 日韩成人在线网站| 日韩二区三区无| 最近最新中文字幕免费的一页| 亚洲日韩精品伊甸| 高潮爽到爆的喷水女主播视频| 亚洲最新网址| 一本大道香蕉高清久久| 亚洲精品图区| 国产精品久久久久无码网站| 久久久四虎成人永久免费网站| 国产亚洲一区二区三区在线| 婷婷六月激情综合一区| 亚洲午夜国产片在线观看| 亚洲成年网站在线观看| 精品第一国产综合精品Aⅴ| 中文字幕亚洲精品2页| 婷婷色在线视频| 亚洲大尺度在线| 亚洲日本在线免费观看| 女人毛片a级大学毛片免费|