- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AOP的MIS软件产品线构架
基于AOP的MIS软件产品线构架
摘 要: 本文提出了一种基于面向方面编程的管理信息系统软件产品线的架构。将管理信息系统软件的各项关注点进行全面的分离,并建立与之相对应的平台无关模型,把不需要进行动态编织的方面全部采用静态编织或者固化在编织器中,并同时进行领域特定优化,降低系统的复杂度,提高软件的运行速度和开发效率。同时将各方面的描述和实现分配给软件产业链中的各个层次的开发团队来完成,能够帮助解决目前MIS软件开发过程中工作量大,开发水平低下,软件重用度低,重复劳动多等存在的问题。
关键词: 软件产品线、面向方面编程、管理信息系统、模型驱动架构
研究背景
随着软件技术的不断发展,软件重用成为提高软件生产效率的一个核心问题。从面向结构编程中的函数和过程重用到面向对象编程中的类和对象重用,都在软件开发活动中得到了广泛的应用,但是这些重用方法都是属于小粒度的源代码级重用,重用对象的适用范围通常局限于某一特定平台。构件技术的出现改变了这个现状,以构件、构件库、构架为基础的软件重用由于重用粒度大,可独立部署等优势,逐渐被大家所接受。以EJB,DCOM,CORBA为主的构件模型被广泛的应用到软件生产实践中。基于构件的软件开发在通用的系统开发中发挥越来越重要的作用,但是这些构件模型在解决某些问题时没有能起到很好的效果,比如在一些特定领域内的系列产品开发活动中,系统需要一种基于领域的大规模软件重用,而软件产品线正是为了解决这个问题而应运而生的,随着该项技术的不断成熟,基于软件产品线的开发方法将逐渐被人们所接受并发挥越来越重要的作用。
软件产品线是指具有一组可管理的公共特征的软件密集性系统的集合,这些系统满足特定的市场需求或任务需求,并且按照预定义的方式从一个公共的核心资产集开发得到。产品线(Product Line)的概念是由卡耐基--梅隆大学的软件工程研究所(SEI)提出的。软件产品线提供了在一个机构内部实现软件复用的很有前途的方法,代表机构级的软件资产复用,能够提高软件复用度,提高软件质量和开发速度并降低开发与维护成本。通过软件产品线进行软件开发包括两个过程,一个是建立一个特定领域的公共核心资产集,然后使用该核心资产集来构建客户所需要的多项软件产品。
但是这种开发方式通常需要强大的人力和物力支持,而且前期开发耗时较长。目前中国的软件公司的平均规模还比较小,项目竞争激烈,客户要求的工期都比较紧张,这些因素导致了目前基于产品线的软件开发在中国的应用还比较少。本文提出了一种基于面向方面编程的MIS软件产品线构架,该构架借鉴了模型驱动架构开发方法中的思想,将管理信息系统的主要关注点逐个剥离出软件主体,使用XML来建立和储存这些关注点的平台无关模型,通过特定平台的编织器对各个方面进行编织,将平台无关模型转化为可执行软件。该构架中对软件不同关注点的模型建立以及模型转换工作可以分解并交付给不同的开发团队完成,由于各项关注点之间的相对独立性,软件的开发效率和产品质量将得到比较大的提高,而且整个开发过程可以由软件产业链上的多个开发团队共同完成,是一种比较适合目前中国国情的软件产品线构架。
相关技术背景与理论基础
产品线构架
一个程序或计算机系统的软件构架是指此系统的一个或多个结构,一个系统包括多个组件以及这些组件的外部可见属性和各组件之间的关系。“外部可见”属性是指其他组件使用该组件时的假设,如它提供的服务、性能特征、错误处理、共享资源的使用等。
所有的构架都是对大量实例的抽象,但是产品线构架远远超过这种简单的设计和编码之间的二分法,它考虑的是一系列可被实例化的明确许可的变化。在传统的构架中,实现不同实例的机制几乎总离不开修改代码。但在软件产品线中,对变化的支持可以有很多形式。变化可以通过在组件、子系统或子系统集里引入参数来实现,产品可以通过设置一系列的变量值来配置。这种变化假设所有的变量已经被预测、推理,而且包含在现有的代码中。从概念上讲,每个组合的参数值对应与软件产品线范围中不同的产品。
在产品线中,构架扮演了双重角色。一个是作为整个产品线的构架,另一个是每一个产品的构架。后者来自于前者,通过执行固有的变化机制来完成实例化。
面向方面的编程技术
面向方面的编程(Aspect-Oriented Programming,AOP)是一种可能让程序的系统属性模块化的程序开发方法,这些属性包括同步、错误处理、安全、持久性、资源共享、分布式、内存管理和备份等。它们更趋于与系统的类和模块结构正交,而不是仅仅局限在某个类中。“方面”是一类特殊模块,负责实现系统的某个特殊属性。当此属性变化时,其作用自动“波及”整个程序。
AOP是一种构架方法,它的目标是提供方法和技术,用于把问题分解成一系列功能组件和一系列贯穿多个功能组件的方面,然后组合这些组件和方面获得系统的实现
您可能关注的文档
- 嘉兴市新户籍制度实施现状及完善措施研究.doc
- 嘉兴市新户籍制度实施现状及完善措施研究[开题报告].doc
- 嘉兴市河道生态治理研究.doc
- 嘉兴市流动人口医疗保障现状的调查与思考2011-01-10.doc
- 嘉兴市流动人口医疗保障现状的调查与思考[毕业论文]2011-05-28.doc
- 嘉兴市环境保护财政支出研究【任务书】.doc
- 嘉兴市老年人养老需求及意愿的调查研究.doc
- 嘉兴市老年人养老需求及意愿的调查研究[开题报告].doc
- 嘉兴市老年人养老需求及意愿研究【任务书】.doc
- 嘉兴市高技术产品竞争力提升研究2011-01-07.doc
- PDM软件:Siemens Teamcenter二次开发_(17).Teamcenter最佳实践与案例分析.docx
- SCADA软件:GE Proficy二次开发_(4).Proficy开发环境搭建.docx
- 智能电表软件:Landis+Gyr智能电表二次开发_(13).系统集成与测试.docx
- 智能电表软件:Elster智能电表二次开发_(8).Elster智能电表二次开发环境搭建.docx
- PDM软件:Siemens Teamcenter二次开发_(11).TeamcenterAPI与编程基础.docx
- SCADA软件:GE Proficy二次开发_(7).报警与事件管理.docx
- 智能电表软件:Echelon智能电表二次开发_(11).智能电表行业标准与法规.docx
- 智能电表软件:Itron智能电表二次开发_(6).用户界面定制与开发.docx
- 智能电表软件:Elster智能电表二次开发_(9).Elster智能电表二次开发工具使用.docx
- PDM软件:PTC Windchill二次开发_(21).Windchill最佳实践案例分析.docx
文档评论(0)