基于设计模式的构件可变性实现

基于设计模式的构件可变性实现

李林斐[1]2003年在《基于设计模式的构件可变性实现》文中认为软件重用被认为是解决软件危机的有效途径之一,相关研究表明,基于体系结构的、特定领域的重用可以获得很大的改进。成功的软件重用必须以大量的可重用的构件为前提,软件构件的开发应该基于体系结构和特定领域进行。领域工程对一个领域中的若干应用系统进行分析,识别领域中应用的共性和可变性,对这些特性进行抽象,形成特定于领域的软件构架,并以此为基础识别、开发和组织可重用构件。领域共性由系统构架来实现,领域的可变性由构件来实现。构件本身要体现可变性,因此,构件可变性的实现是构件开发的核心工作。已有的构件可变性实现方法不能很好的解决可变性实现。本文从设计模式的角度研究对构件可变性的实现。设计模式描述了如何利用面向对象的基本概念和机制解决可扩展的软件设计中经常出现的问题,针对反复出现的设计问题给出可重用的解决方案。设计模式提供了对设计中的某种可变性的解决方案,支持可变性的实现,可以用来实现构件可变性。在分析已有的构件可变性实现方法的基础上,本文提出了使用设计模式实现构件可变性的方法。首先,本文从领域特性变化方式的角度,对构件可变性的类型进行了详细划分,将构件可变性分为六种类型。然后,在构件可变性类型的基础上,使用设计模式对不同的构件可变性进行了实现,给出了相应的解决方案。最后,对商业POS领域的可变性进行了分析和归类,使用提出的解决方法对这些可变性进行了实现。

张丽坤[2]2007年在《设计模式在软件复用中的应用研究》文中研究指明软件复用被视为解决软件危机、提高软件生产率和质量的可行途径,越来越受到人们的关注。基于构件的开发(CBD)以构件为单位独立地进行设计和实现,提高了应用系统各部分开发的独立性。但是由于系统需求的多变性和CBD自身的条件约束,CBD在软件复用的应用中具有一定的局限性。设计模式着重体现封装变化的概念,不仅使得系统具有高内聚低耦合的特点,而且更好地实现设计的灵活性和系统的复用性,是更高层次的软件复用。 本文首先对软件复用的理论和软件复用技术进行研究和总结,探讨了国内外研究现状以及实现软件复用的关键因素等,重点分析了构件技术和基于构件的软件开发的特点。在此基础上对设计模式进行深入研究,着重讨论了设计模式的特点、适用性,及对面向对象复用的支持。 作为本文的主要研究内容,本文着重分析了CBD在软件复用方面的不足,并采用设计模式对之进行改进,总结基于设计模式的软件复用的基本原则,提出一种以设计模式来指导软件复用的开发方法。通过对基于设计模式实现构件的可变性研究,从理论上分析了将设计模式与构件技术相结合来实现软件复用的可行性,给出了设计模式的选取方法与步骤,并在软件复用中加以应用。 作为一个应用实例,本文结合软件项目管理系统的实际开发过程,详细论述了基于设计模式的软件复用在实际项目中的应用。按照应用设计模式改进后的CBD过程模型,对软件项目管理系统进行领域分析、体系结构分析,抽取出实际需要的构件并采用适当的设计模式对之进行改进,取得了良好的复用效果。 实践结果表明,应用设计模式改进的CBD模型更好地实现了软件复用,在实际应用中具有可行性。

周进刚[3]2013年在《企业级应用系统化复用开发方法研究》文中指出随着全球化竞争的加速,企业级应用作为当前信息技术应用的一个主战场,在软件规模的不断增长、交付周期的不断缩短的情况下对软件开发与交付带来了巨大挑战,如何基于可复用资产进行高效的开发成为当前企业级应用软件开发面临的关键问题。虽然四十多年的软件复用研究与实践在软件开发方法、过程与工具方面对提升软件生产水平有了质的飞跃,但由于软件本身的内在特质还未被人们充分了解,其典型表现就是“软件危机”一直存在。本文以企业级应用开发为研究对象,利用软件产品线开发的思想,将模型驱动的开发与基于构件的开发方法以集成化框架的方式融入企业级应用的复用开发过程,完成了如下实用且有新意的工作:(1)针对企业级Web应用开发(尤其是UI)工具支持不足、代码混乱、不易复用等问题,提出了基于架构模式的Web应用层次化模型及其描述语言,将企业级应用进行以架构模式为基础的模型化开发,从而a)易于结构分析与复用:b)易于工具支持的实现;c)有助于提升可读性。进一步的,从Web应用开发的实践出发,以UI建模为主导,通过构件化、面向对象的精化、参数化形成可复用领域模型制品,形成UI驱动的模型化复用开发方法,通过人工与自动化的UI建模相结合最大限度的发挥两者的优势,克服单纯的自动化建模对定制支持不足的问题,提升了开发效率。实践证明该方法可以显着的提升应用的开发效率。(2)针对Frame技术(XVCL)强调通过预处理器指令来标识程序中的共性模式和可变性,以消除冗余代码,但却导致frames构件边界不清、新需求的融入导致重构维护困难的问题,提出了一种Frame和逐步精化相结合的构件演化开发方法。其基本思想是将“特征”作为关注点分离需要考量的维度融入Frame构件的设计之中,使得frames融入了逐步精化的语义;进一步的,揭示了Frame与逐步精化深入融合的相关问题,为构建统一的以frames为基础、面向特征的软件开发方法奠定了基础。将Frame与逐步精化相结合,有助于精化中细粒度的可变性特征标识,提升frames设计中的关注点分离,促进基于Frame的软件开发。(3)针对特征模型在表达能力、可扩展性、模糊语义等方面的不足,提出了一种文本式特征建模语言—TEFL。TEFL具有严格的形式化语义,支持高级特征表达,提供了特征片段的模块化组织与复用,消除了既有语言表达法的不足。进一步的,以TEFL为基础,提出了基于特征的构件适配组装方法,实现了特征在代码层的映射,提供了对构件进行面向特征的适配与组装,使得特征模型不仅用于模型分析,还可以用于开发与代码生成,形成以构件技术为基础的软件产品线方法,有利于特征模型在工业界的导入。(4)针对企业级应用开发中模块化支持不足,既有应用难以形成基于业务粒度的构件的问题,提出基于OSGi的企业级应用构件化开发、运行、部署方法。该方法提供了用于实现企业级应用构件化的阶段性技术方案。开发期构件化借助Eclipse环境采用企业级应用特定的构件模型来进行开发,通过部署期架构转化实现构件化开发系统向传统Java EE系统的转换;运行期构件化采用了OSGi构件与传统JARs“混搭”的技术框架,其基本思想在于不同类加载器的融合,实现了业务构件的运行时动态化管理,简化了企业级应用向运行时构件化过渡的成本。

梁培明[4]2007年在《基于构件的软件框架研究与实现》文中进行了进一步梳理软件复用是在软件开发中避免重复劳动的解决方案。通过软件复用,可以提高软件开发的效率和质量。近十几年来,面向对象技术出现并逐步成为主流技术,为软件复用提供了基本的技术支持。软件复用研究重新成为热点,被视为解决软件危机,提高软件生产效率和质量的现实可行的途径。框架技术的发展使软件复用技术达到了一个新的阶段,同时,企业级应用软件的发展对软件复用技术提出了更高的要求,并为框架技术发展提供了新的实践环境。框架是一个软件产品的半成品,它含可变和不变部分,通过对可变部分的定制得到不同的应用系统。框架是实现大粒度软件复用的有效途径,面向对象框架可以通过实例化扩展实现具体的应用系统,但是,研究和实践表明,面向对象框架存在着一些问题。采用基于构件的框架,通过用构件替代框架内部相互协作的类,以增大框架构成成分的粒度;同时利用构件的接口调用和组装实现框架扩展机制。本文在研究各种软件复用技术和框架理论知识的基础上,结合.NET Framework技术,给出了一种基于构件的企业应用框架CBEAF(Component-Based Enterprise Application Framework)模型;阐述了框架模型中各组成部分的功能和作用;讨论了基于构件的框架中连接构件和功能构件的开发模型、过程和方法;探讨了热点驱动的应用框架开发过程和方法。最后,将该企业应用框架模型应用于ERP系统框架的分析、设计中,并对ERP系统框架中的可变部分(热点)的常见种类进行了分析、归纳。实践表明,依据该框架模型和开发过程进行框架开发,能够开发出具有较高复用性、灵活性和可扩展性企业级应用框架;不仅能够提供构件复用,而且提供构架的复用;可有效提高二次开发的效率。

冯仕红[5]2008年在《基于设计特征和参数化的工程化界面设计模式研究》文中指出各类软件复用技术、界面开发方法和各种界面设计知识的深入研究和广泛实践,必将促使界面的工程化开发迈向一个新台阶。这集中表现在以下叁个方面:一,各种软件复用技术为领域无关的界面设计知识复用体的产生提供了理论指导;二,各种界面工程方法的研究为界面工程化开发提供了强有力的支撑;叁,已有的界面设计知识理论为建立合理、有效的工程化界面知识复用体奠定了基础。本文在已有的研究成果基础上,以工程化界面开发为目的,提出了基于设计特征和参数化的工程化界面设计模式,对界面开发中的界面构件簇的产生问题、界面设计知识支持工程化界面开发问题、形式化地规范界面设计知识问题以及界面设计知识和基于模型的界面开发集成的问题,给出了相应的解决方案。(1)针对界面开发中的界面构件簇产生问题,提出了一种基于设计特征的模式模型方法。为了增强设计可变性的管理,提出了设计特征理论。其中,设计特征是对设计知识的抽象和提取。基于设计特征的模式是常用的设计方案。“设计特征-设计特征值”机制的可变性表现在两个方面:一是通过常用的设计特征值的变化,建立常用的设计方案;二是建立常用设计方案的参数化机制,任何一次对某一方案的参数配置均获得一个构件,多次配置可以获得多个构件,体现了模式本身的复用能力。与领域特征方法比较,基于设计特征的模式模型不仅注重对设计知识的复用,而且能够建立有效的构件簇生产机制,为建立界面构件簇产生机制提供了理论依据。(2)针对当前界面设计知识缺乏统一的实现框架,难以支持界面工程化开发问题,提出了工程化界面设计模式(Engineering User Interface Pattern,EUIDP)。通过分析界面展示单元(Presentation Unit,PU),提取界面展示单元的设计特征:内部模型特征、展示模型特征和操作模型特征。在识别以上界面设计特征的特征值基础上,通过规范常用的界面展示单元PU,形成了工程化界面设计模式EUIDP模式概念,此模式以定制可用的界面展示单元为目的,并以静态参数的形式,体现可获得的界面展示单元的静态和动态特征。基于各个界面设计特征值集合,提出了一系列工程化界面设计模式。作为一种新的界面知识复用体,该模式与其它界面设计知识相比,结构统一,而且涵盖了界面设计需求的所有信息,易于工具集成,能够有效支持界面工程化开发。(3)针对当前界面设计知识缺乏严格的形式化规范问题,设计了一种规范EUIDP的方法,建立了相关的模式规范机制。首先,形式化规范各个内部模型特征及其上能够向用户提供的操作:其次,形式化规范各个展示特征及其上可以向用户提供的操作;接着,在前两者基础上规范操作模型;最后通过添加相应的约束,组合内部模型特征规范和展示模型特征规范,形成各种用户可用的工程化界面设计模式规范。该规范方法为进一步扩充工程化界面设计模式提供了可能。另外,各种精确的、工程化界面设计模式EUIDP语义规范避免了许多不成熟设计的发生。(4)针对当前各种界面设计知识在支持模型开发方面缺乏贯穿性,致使模型间的映射难以解决的问题,本文借助工程化界面设计模式EUIDP的贯穿特性,将工程化界面设计模式EUIDP和基于模型的界面开发模型集成,提出了基于工程化界面设计模式的多设备界面开发模型(EngineeringMulti-device User Interface,EMDUI),进一步设计了工程化界面设计模式EUIDP支持的抽象数据模型、任务模型、设备模型、用户界面交互模型和用户界面展示模型。设计了工程化界面设计模式在EMDUI模型和工具产品AUI(Automatic User Interface)的界面定制过程。与其它界面设计知识相比,工程化界面设计模式易于集成到基于模型的界面开发中,从而为工程化界面开发提供了可能。

李绪蓉[6]2002年在《面向业务构件的可重构信息系统的模型研究》文中研究表明可重构性是信息系统的的智能特性之一,是衡量系统响应变化能力的重要指标,也是企业赢得全球化竞争的关键要素。可重构信息系统是国内外的研究热点,但在重构理论和实现技术等方面仍然相对不成熟,尤其实现技术陈旧,因而面向业务构件的可重构信息系统(Business Component Oriented Reconfigurable Information System,BCORIS)的研究在理论和工程价值方面都具有重大意义。对于可重构信息系统这样复杂的系统,最好的表述方法是模型。模型是业务域向技术域的信息系统过渡的桥梁。本文首先建立了具有指导意义的BCORIS的开发过程模型,系统地总结了支持系统可重构的开发方法论,给出开发策略及关键技术以指导后续的开发实践。随着开发过程模型的展开,将逐步建立BCORIS的概念模型、逻辑模型和物理模型。 概念模型是领域分析阶段的成果。能否完备地描述领域概念模型,关键在于确定合适的建模方法。结合UML与业务构件技术的特点,论文提出了基于UML的业务构件建模方法。按照此方法,分别建立了业务过程模型、功能模型、领域类模型和业务构件系统模型(BCSM),它们从不同的角度描述了概念模型。 逻辑模型是概念模型的具体设计,主要包括领域框架/构件的设计。框架设计应遵守规范设计与冗余设计相结合的原则。结合OO框架与构件化框架特点,论文提出了基于CCM的“黑白盒”混合的领域框架设计方案,以提高框架的扩展性,从而支持系统的快速重构。在基于CCM的领域构件设计中,给出典型业务构件的IDL/CIDL描述。 物理模型是领域框架与领域构件的具体实现。BCORIS的集成平台是构件在框架上即插即用的基础。论文构建了B/S、C/S与CORBA WEB叁种体系结构集成的开发平台,系统地总结了支持系统重构的实现机制。在领域框架的实现中,给出领域规则库及管理调度中心的设计与实现方案。 企业信息化工程实践证明BCORIS模型对类似系统的开发具有指导意义。

陈志聃[7]2013年在《软件产品线中的特征组合失效问题研究》文中研究表明基于特征的软件产品线开发方法已经得到广泛应用。同时,如何正确并合理地处理特征对应用实现的影响也值得深入研究。一方面,软件产品线的特征之间存在依赖关系,这使得实现特征的代码模块之间同样具有密切关联。另一方面,具有可变性的特征在应用系统中的绑定决策会对特征依赖所指示的模块组装产生重要影响,甚至引发错误。例如,在特征选择时,如果某个具有可变性的特征未被绑定,并且该特征被其它必选特征或者己绑定的特征所依赖,这将使得最终的应用系统在模块组装过程中因为遗漏了部分实现代码,从而引起应用系统在编译过程中出现类型错误。本文将这类由特征可变性绑定决策所引起的特征模块组装问题称为特征组合失效问题。以软件构件技术和面向特征编程(FOP)技术为基础形成了两种对应的软件产品线开发过程。针对软件产品线开发过程中存在的特征组合失效问题,本文通过使用依赖、修改依赖和激活依赖这叁种特征依赖分类,以及结合可选、多选一和多选多这叁种可变性类型对该问题进行了系统、全面的分析,同时针对基于FOP的软件产品线开发过程中可能出现的特征组合失效问题及其发生场景进行了详细描述。在软件产品线中的特征组合失效问题的详细分析基础上,本文提出一种特征模块的垂直分解模式,其核心机制在于将可变性引入至特征模块内部。基于该模式,本文提出一种基于可变性绑定的特征模块组装过程。通过将特征模块的垂直分解模式与基于可变性绑定的特征模块组装过程相结合,本文提出一种可以有效地解决基于FOP的软件产品线开发过程中的特征组合失效问题的方法,并对基于构件的软件产品线开发过程中该问题的解决提供指导。通过对本文方法的应用,软件产品线组织能够有效提高产品线核心资产的可适应性、可伸缩性和可配置性。

冯铁[8]2007年在《可变性驱动的软件设计改进方法的研究》文中指出可变性驱动的软件设计改进是以提高软件的可变性为宗旨的修改软件设计的技术和过程。本文围绕可变性缺陷检测、设计改进、改进验证叁个方面研究可变性驱动的软件设计改进方法。具体工作包括:(1)研究软件质量度量模型,提出可变性问题检测框架和可变性度量模型;(2)结合人工智能技术,提出基于CBR的自动化软件设计改进方法;(3)研究软件体系结构的动态行为,利用分片技术,提出一种软件体系结构动态变动影响分析方法; (4)以建立软件体系结构层变动和类级变动的关系为目的,提出一种软件体系结构描述方法;(5)针对遗产系统,提出一种从Java源码中抽取设计模式的方法;(6)以验证可变性驱动的设计改进结果为目的,提出一种基于概率的设计可变性比较方法;(7)提出一种从软件设计变动预测Java代码变动的方法。本文的工作成果在一定程度上补充和完善了已有的改善软件设计的可变性的方法,对于提高软件质量、促进软件维护和演化有一定的意义。

惠敏顺[9]2007年在《基于web本体技术的程序设计网上竞赛系统的研究》文中认为随着Internet的迅猛发展,网民数量骤增,在线系统的用户人数也节节攀升,使得现有的系统设计捉襟见肘。首先,原有的系统设计和网络、硬件资源条件无法满足用户数不断上升的系统需求。这导致不少在线系统运营困难,举步维艰,具体表现在:(1)系统抗压能力差,无法适应用户规模扩大的压力需求;(2)容错能力差,某个功能模块的异常导致系统瘫痪;(3)无谓提交问题,因网络延时或硬件处理速度慢而造成的误提交。其次,原有的系统设计无法满足用户的多样化和可变化的需求。用户数的骤增产生了多样化与可变化的需求,即单个的在线系统需要满足不同用户的使用需求,而这些需求是随时间而变化的,这给系统设计者提出了艰巨的课题。也面程序设计网上竞赛系统临这样的困境。本文提出一种基于分布式的MIX/S架构模式,结合基于本体的构件化系统分析和设计的方法以解决现有的问题,并通过设计和实现分布式程序设计竞赛系统来验证本文的工作。本文按如下步骤展开:首先,分析在线系统的现存问题的成因,提出基于分布式的MIX/S架构模式解决系统规模扩大的问题。应用在分布式程序设计竞赛系统中,提出分布式评测、分布式服务、服务器分布式的设计思想。将本体理论及本体论方法纳入分布式在线系统的分析与建模,并通过对分布式程序设计竞赛系统的分析阐明本体论方法相对于传统建模方法的优势。其次,提出基于本体的数据模型/操作模型的分析和设计方法,解决系统需求多样性和可变性的问题。对于程序设计竞赛系统存在的评测结果二义性的问题以及评测规则多样性的需求,对评测系统进行本体建模,将本体模型分为操作模型和数据模型,清晰地描述其本质。对程序设计竞赛系统中的编译环境设置子系统本体建模,描述编译环境、程序设计语言、编译器与编译、运行操作之问的概念和关系,满足对编译环境可变性的需求。然后,在分布式程序设计竞赛系统本体模型的基础上,进行构件化设计,将系统本体模型映射为构件化的本体模型,进行多层结构化模式的横向与纵向设计,一一细分,通过从构件化本体模型至构件接口定义的机器映射得到所有的构件接口信息描述。最后,基于以上理论和方法,设计并实现了分布式程序设计竞赛系统,该系统目标是举办2009年ACM/ICPC亚洲赛区上海站的网上预赛。本人作为负责人加入课题组,共同完成了初期的系统原型,于此平台上成功举办了我校校内程序设计竞赛的多次热身赛、预赛和决赛。

姬雪敏[10]2003年在《基于复用的CIMS集成建模方案的研究与设计》文中研究指明“一次生产一个”的软件生产方式正在浪费着人们大量的时间和精力,特别是对于大型复杂的系统。本文将软件复用的思想引入CIMS建模领域,建立可复用的资源,为以后CIMS的实施过程节省大量的人力、物力和时间。首先介绍CIMS建模领域的发展现状,从而说明软件复用思想在该领域的重要性与必要性。接着阐述了领域工程的概念和实施步骤,介绍了领域分析的目的、结果等,阐明领域工程在软件复用中所起到的作用。然后揭示了设计模式在表示可复用资源方面的潜力。在原有的WFOMM建模方法的基础上引入领域工程与设计模式技术,采用UML形式化描述,给出一个基于复用的CIMS集成建模体系结构,实现了从需求分析到结构设计直至代码实现全部过程的资源复用。本文始终贯穿领域工程的思想,采用作者提出的表示抽象层次可复用资源的抽象分析模式,从而实现了企业模型、参考模型、建模构件叁个阶段的从上到下逐步求精和从下到上归纳和反复的企业领域分析、设计和实现过程,并对每个阶段形成的可复用资源进行保存,供其它相似领域中进行领域分析使用,以全面实现资源的复用。

参考文献:

[1]. 基于设计模式的构件可变性实现[D]. 李林斐. 重庆大学. 2003

[2]. 设计模式在软件复用中的应用研究[D]. 张丽坤. 大连海事大学. 2007

[3]. 企业级应用系统化复用开发方法研究[D]. 周进刚. 东北大学. 2013

[4]. 基于构件的软件框架研究与实现[D]. 梁培明. 大连理工大学. 2007

[5]. 基于设计特征和参数化的工程化界面设计模式研究[D]. 冯仕红. 山东大学. 2008

[6]. 面向业务构件的可重构信息系统的模型研究[D]. 李绪蓉. 南京航空航天大学. 2002

[7]. 软件产品线中的特征组合失效问题研究[D]. 陈志聃. 复旦大学. 2013

[8]. 可变性驱动的软件设计改进方法的研究[D]. 冯铁. 吉林大学. 2007

[9]. 基于web本体技术的程序设计网上竞赛系统的研究[D]. 惠敏顺. 东华大学. 2007

[10]. 基于复用的CIMS集成建模方案的研究与设计[D]. 姬雪敏. 哈尔滨工程大学. 2003

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

基于设计模式的构件可变性实现
下载Doc文档

猜你喜欢