本站小编为你精心准备了订单管理系统开发研究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要
面向特定领域模型的数据处理方法对于软件重用、软件可升级和软件开发效率的提高都有重要的指导意义。论文首先分析领域模型内涵,提出了构造基于领域模型软件系统架构的一般方法,进而结合订单管理系统的开发,介绍了领域模型的应用方法和处理流程。实践表明,基于领域模型的系统开发方法能极大提高实际软件系统的开发效率
关键词
领域模型;事务脚本;表模块;表数据模型
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).
作者:周梦姝 杨杏 王小刚 殷振华 单位:常州信息职业技术学院软件学院 苏州科大讯飞教育科技有限公司