代码自动化技术的应用研究.docVIP

  • 1
  • 0
  • 约5.14千字
  • 约 8页
  • 2016-09-10 发布于北京
  • 举报
代码自动化技术的应用研究.doc

代码自动化技术的应用研究   摘要:在中小管理信息系统开发中用户对需求的描述存在动态性的问题。针对这种情况,提出一种以数据库为基础的软件自动化开发框架。框架包括软件三层架构的设计、缓存数据库、代码生成引擎、通用代码模版的设计和数据库概念模型设计的约束条件,实现基于数据库物理模型的软件源代码的自动生成。通过在农产品质量安全监测系统实际应用,分析结果表明,框架在实际项目中的应用表明能有效适应用户需求变化,降低开发成本,提高软件质量。   关键词: 代码自动化; 通用模版; 三层架构; 迭代; 农产品质量安全   中图分类号:TP311.51 文献标识码:A 文章编号:1009-3044(2014)28-6635-03   随着2009年我国《食品安全法》的颁布,关系到人民健康和国计民生重大问题的农产品产地安全管理成为了人们关注的焦点。然而,农产品生产企业、流通企业、加工企业质量监管方面的不足,加之我国多数农产品的生产空间分散、规模化经营程度低、规范化生产条件差以及流通管理混乱等,致使农产品质量安全问题经常发生。因此,科学地监管农产品生产、流通、加工过程,对防止突发性或群发性食品安全事故发生具有重要的现实意义。建设九江市农产品质量安全监控信息系统,以充分发挥在生产、加工与流通领域对农产品质量安全实行追踪监测、质量溯源、信息服务和决策支持的作用,已成为农产品质量安全管理工作的当务之急。   在管理信息系统开发过程中,用户对系统功能需求是一个从模糊到清晰的认识过程,用户的需求发生变化时也往往会带来数据库设计的变化,开发人员需要对代码进行大量的修改,代码自动生成技术的运用[1-3]可以适应这种情况,缩短MIS的开发周期。   本文运用一种数据模型驱动的面向MIS软件自动化开发框架[4],利用已有农产品生产质量安全追溯体系的研究成果,基于信息技术、数据库技术、网络技术等进行农产品质量安全追溯系统的构建与开发,对代码自动化技术在农产品质量安全监测系统中的应用给出设计方法。   1 代码自动化开发框架   以.NET开发平台为基础,运用一个面向MIS的以数据库为基础基于代码生成引擎的软件自动化开发框架,框架实现在三层架构下的Web自动化开发,从而在实际应用中提高开发效率,降低开发成本,灵活应对用户需求的不断变化。本框架包含数据库概念模型、通用代码模版、代码生成引擎和自动生成的三层架构代码四个部分,如图1所示。   在MIS开发过程中应用上述框架有三个过程:首先,依据需求分析设计给出数据库概念模型并由此产生具体的数据库物理模型;其次,通过代码生成引擎(CodeSmith)、通用代码模版和数据库物理模型自动生成基于三层架构的源代码;最后,依据功能需求结合用户界面资源对系统界面功能进行开发。面向MIS软件自动化开发框架的运用其主要工作包括数据库概念模型的设计,界面设计实现,以及针对新增功能的三层架构代码编写工作。   1.1 软件层次构架设计   在软件设计中通常采用分层架构来实现“高内聚、低耦合”[5]的设计目标。面向MIS软件自动化开发框架中的三层架构就是将整个系统实现划分为表示层、业务逻辑层、数据访问层,并对部分层次进一步划分。   实体层(Model):WebUI、BLL和DAL三层通过Model进行数据的传递。   数据访问层(Data Access Layer,DAL):本层实现对数据库的访问,通过配置实现支持多种不同类型的数据库,为BLL提供与数据库无关的通用数据格式的数据。为支持多种数据库DAL采用了工厂模式进行设计,细分为数据访问层的抽象工厂层(DALFactory)、数据访问接口层(IDAL)、数据访问实现层(MySQLDAL/SQLServerDAL/OracleServerDAL)、数据库访问的方法库(DBUtility)几个部分,在该层中采用内存数据库Memcached作为缓存数据库。   业务逻辑层(Business Logic Layer,BLL):本层实现业务规则的制定、业务流程的实现,在WebUI与DAL之间的数据交换中承上启下的作用。   表示层(Web User Interface,WebUI):本层实现显示数据和接收用户输入的数据,是人机交互界面,实现过程中包括一些用户界面资源,如样式、脚本等。WebUI与BLL之间相互传递数据。   1.2 数据库概念模型建模   在面向MIS软件自动化开发框架中通过数据库概念模型产生数据库物理模型[6],而物理模型是代码生成引擎自动生成代码的基础之一,为避免与编程语言的语法规则和关键词冲突,同时提高生成代码的可读性,需要对概念模型的定义过程进行规范。   1)概念模型中的数据表名和字段名首字小写,不使用下划线,采用驼峰命名,且不能

文档评论(0)

1亿VIP精品文档

相关文档