本站小編為你精心準備了訂單管理系統開發研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要
面向特定領域模型的數據處理方法對于軟件重用、軟件可升級和軟件開發效率的提高都有重要的指導意義。論文首先分析領域模型內涵,提出了構造基于領域模型軟件系統架構的一般方法,進而結合訂單管理系統的開發,介紹了領域模型的應用方法和處理流程。實踐表明,基于領域模型的系統開發方法能極大提高實際軟件系統的開發效率
關鍵詞
領域模型;事務腳本;表模塊;表數據模型
1前言
面向對象編程技術的出現改變了以數據為中心的傳統軟件開發方式。在數據模型的設計與實踐應用中,基于領域模型的數據設計方式逐漸成為主流。傳統的數據處理模型主要采用行入口、表入口數據層疊方式,即為數據表中的每一行設計一個對象,后續再采用對象方式進行數據處理,對業務處理卻沒有特別關注。基于領域的設計模型,主要采用可視化方式表示領域內的概念類或現實世界中的對象。領域模型又稱為概念模型、領域對象模型或者分析對象模型,它專注于分析問題領域本身,注重發掘重要的業務領域概念,并建立業務領域概念之間的關系,可讓軟件開發人員和系統設計人員更加注重處理業務的表達,而不是重點關注數據的層疊處理,從而極大地提高業務處理的效率。
2領域模型
領域模型采用面向對象的開發方式處理數據,側重業務模型的建立,使得系統的開發主要圍繞業務而非數據表,可使開發人員主要聚焦領域而非數據。基于領域模型開發軟件系統時,通常采用三層次的系統架構,這三個層次分別是數據訪問層、領域層(業務邏輯層,系統真正的核心)和表現層,其中,數據訪問層負責與數據源進行通信,為上層應用提供數據支撐;領域層(業務邏輯層)完成系統業務的組織、實現,是系統真正的核心;表現層負責實現用戶界面,提供更好的人機交互。系統三層次架構如圖1所示,層與層之間存在相互依賴的關系,表現層依賴領域層,領域層依賴數據訪問層。系統三層次架構中領域層(業務邏輯層)是系統的核心,其邏輯組織方式主要采用事務腳本、表模塊和表數據模型這三種模式。
2.1事務腳本事務腳本模式將應用界面獲取的數據直接存儲到數據庫中,或者直接從數據庫中獲取所需數據并在用戶界面中進行展示,這種數據訪問模式可使軟件開發人員快速掌握基于某種語言的數據庫訪問技術和過程,因此,非常適合初學者學習和使用。事務腳本模式處理領域業務時常用兩種領域組織方式,一是將領域邏輯的設計放入存儲過程中,調用者通過執行存儲過程即可獲取或者維護數據;另一種方式是將領域邏輯的設計放入應用界面中,再編寫對應的結構化查詢語句(SQL)實現數據的存取處理。使用存儲過程方式的缺點在于業務邏輯發生變化后,對應的存儲過程必須相應地變化。此外,由于不同數據庫產品對SQL語句實現的差異會導致存儲過程的語法不能通用。將業務邏輯包含在頁面中也有其固有的缺點,一旦業務發生變化,必須重新定義用戶界面;此外,相同的業務邏輯可能應用于多個界面,這樣業務發生變化后則需要多次修改用戶界面。盡管如此,事務腳本模式由于其簡單、直觀,仍是初學者常用的領域層邏輯組織方式。
2.2表模塊表模塊模式以數據表為基礎,每次以表為單位存取數據,以表為中心組織業務邏輯。目前,大多數開發者都采用表模塊模式,如在.NET平臺中,DataSet,DataTable都采用以表為組織結構的表模塊實現方式;在大型的管理信息系統(MIS)中,借助于代碼生成器(如CodeSmith)可以快速生成一個應用系統的代碼,開發效率非常高。使用表模塊模式開發系統時,主要圍繞數據的增、刪、改、查處理數據,業務邏輯組織往往比較單一,業務被分派到不同的功能函數中,借助于事務調用不同的功能函數來完成整體的業務邏輯。表模塊模式的實現過程通常包括定義數據模型、定義數據訪問類、定義業務邏輯類和組織表現層數據等步驟。表模塊的開發方式是過去幾年的主流開發方式,并且有很多優秀的開源庫和工具可供使用。
2.3表數據模型表數據模型主要通過直觀的可視化數據表,設計表間聯系,實現業務邏輯,可讓軟件開發人員和系統設計人員更加注重處理業務的表達,而不是重點關注數據的層疊處理,業務處理效率非常高。以下訂單管理系統分析領域模型的應用方法,實現領域模型驅動的數據處理。
3訂單管理系統
訂單管理系統首先接受顧客提交的訂單信息,然后查詢商品庫存,以獲取商品的詳細信息,最后確定商品送貨方案。訂單管理系統的開發主要涉及數據庫表的設計和基于領域模型的業務邏輯處理。
3.1數據庫表訂單管理系統使用的數據庫包括用戶、訂單、商品和訂單詳情四張表,表的結構和表間的邏輯關系如圖2所示。
3.2領域模型基于領域模型開發應用系統時通常分為業務建模、數據抽象、轉換為實體、定義業務規范和實現業務規范步驟。
3.2.1業務建模業務建模要求將系統的業務采用建模方式確定下來,以后的開發工作都圍繞所建模型進行,這樣能有效控制需求和開發人員變化導致的開發風險。例如在訂單管理系統中,為獲取訂單中商品列表,相應的業務過程如圖3所示。
3.2.2數據抽象數據抽象指根據業務流程,抽象出業務流程所涉及的業務實體,并將實體及其相互關系標注出來。如在獲取客戶訂單中商品明細處理中,經數據抽象得到的業務實體間邏輯關系如圖4所示。在抽象出來的邏輯關系中,訂單和訂單詳情是一對多的關系,訂單詳情和商品是多對多的關系,顧客和訂單是一對多的關系。
3.2.3轉換為實體在抽取業務模型的基礎上,還需將業務模型中的對象轉換為實體。在轉換過程中,需要使用面向對象的方式組織對象之間的關系。獲取客戶訂單中訂單模型轉換為實體的代碼如下。
3.2.4定義業務規范業務規范是領域模型中的核心,定義業務規范就是明確業務對象之間的關系和使用方式。在定義業務規范的過程中,常借助于構建規約完成規范的創建。如在獲取客戶訂單中商品明細處理模塊中,相應業務規范的定義。從定義的業務規范中可以看出,獲取ProductList的過程變成了幾個相關對象的業務合并,也就是說一個領域模塊的完成是由多個子模塊組合而成,而這些子模塊又滿足事務約定。
3.2.5實現業務規范在定義業務規范基礎上,最后要實現業務規范。如在獲取客戶訂單中商品明細處理模塊中,相應的業務規范實現如下。
4總結
本文在闡述領域模型設計原理與方法的基礎上,結合訂單管理系統的開發,介紹了領域模型的應用方法和處理流程。應用實踐表明,面向特定領域模型的數據處理方法對于軟件重用、軟件可升級性和提高開發系列軟件系統的效率都有重要的指導意義。
參考文獻
[1]呂有界.基于Modelica多領域建模仿真研究現狀與思考[J].廣州航海學院學報,2014(02).
[2]葉新,潘清,董正宏.多領域建模仿真方法綜述[J].軟件,2014(03).
[3]丁寶寶,沈立煒,彭鑫,趙文耘.軟件產品線領域模型與應用模型的通用同步演化方法[J].小型微型計算機系統,2015(02).
[4]黃洋,沈立煒,彭鑫.通用的軟件產品線領域與應用特征模型演化同步框架[J].計算機科學,2013(11).
[5]余敦輝,何克清,李兵.基于模型聚類算法的領域問題本體構建[J].小型微型計算機系統,2013(01).
作者:周夢姝 楊杏 王小剛 殷振華 單位:常州信息職業技術學院軟件學院 蘇州科大訊飛教育科技有限公司