双向工程

✍ dations ◷ 2025-06-21 11:12:13 #双向工程

双向工程(Round-trip engineering)简称RTE,是同步二个或多个相关软件工件(例如程式码、模型、组态档案及文件)的软件开发工具机能。要进行双向工程的原因是因为相同的资料会出现在多份工件上,若只更新了其中一份工件的资料,另外工件中的对应资料没有更新,就会有各工件不一致的问题。

双向工程和传统的软件工程作法有紧密的关系,例如顺向工程(从已有的规格产生程式码及软件)、逆向工程(从已有的软件产生程式码及规格)及代码重构(了解程式码并且修改)。常有人将双向工程错误的定义为同时支援顺向工程及逆向工程而已。双向工程的主要特点可以是在一个已有软件工件有变更时,同时的同步其他对应的工件,其作法是逐步的在其他工件中加入对应原工作修改的内容。顺向工程可以视为是一种已有规格的特殊双向工程,逆向工程则是可以视为是已有软件的特殊双向工程。许多reengineering的工作也可以视为是双向工程,用之前逆向工程得到的规格,其中进行修改,再修改软件,和规格同步。

双向工程的另一个特点是自动侦测工件中的不一致,自动更新工件。若以这个定义来看,双向工程就和顺向工程及逆向工程不同了,顺向工程及逆向工程可能是人工进行的,也可能是自动的(例如分析规格,自动产生程式码)。自动更新的过程可以是即时的,也可以是在有需求时更新。若是即时的双向工程,在工件变更之后其他工作的对应部分也都会自动更新。若是在有需求时更新的双向工程,工件的作者们可能是同时变更这些工件,其中某个时间比较工件,识别不一致之处,选择要保留的内容,并且避免可能出现的冲突。

双向工程支援迭代式的开发流程。在模型和工件同步后,可以选择继续修改程式,或是修改模型。可以进行任意次数、任意方向的同步。

最常见的双向工程例子可能是在UML(统一建模语言)模型以及其对应程式码之间的同步。许多商用软件以及研究用的原型工具支援这类的双向工程,例如Rational Rose(英语:Rational Rose)、Micro Focus Together(英语:Micro Focus Together)、ESS-Model、BlueJ(英语:BlueJ)及Fujaba等,Fujaba软件的文件中有提到软件可以识别设计模式。一般而言,针对UML的类别图,可以支援一定程度的双向工程,不过像是关联(association)及组合(containment)等UML概念,在许多编程语言中没有直接对应的表示方式,因此限制了直接建立对应程式码的能力,也影响程式码分析的准确度(例如,不容易识别出程式中的组合概念)。2005年在Microsoft Visual Studio上的一本书中,有指出RTE工具的常见问题,其中一个是所留下的模型会和原有的模型不同,只有透过在工具中的许多标示后,才能让两者同步。UML有关行为的部分对双向工程的挑战更大。

另一种比较可以追踪的双向工程是在框架应用程序接口(API)下的双向工程,有模型描述应用程序应用API的方式,会和应用程序的程式码同步。此应用下,API规定了所有应用程序应用此框架的方式,可以准确及完整的侦测API的使用情式,并且合成实现此用法的程式。此领域的双向工程软件中,有二个主要的软件,是框架定义建模语言(英语:framework-specific modeling language)及Spring Roo(英语:Spring Roo)。

在对象管理组织(OMG)的模型驱动架构(MDA)中,要在不同模型之间维持一致,并且在模型和程式码中维持一致,双向工程是其中的关键。对象管理组织提出了QVT(英语:QVT)(查询/浏览/转换)标准来处理MDA中要求的模型转换。到目前为止,只实现了标准中的部分内容。

以统一建模语言(UML)为基础的双向工程需要三个基本的软件开发元素

以下是一个以网站为基础的开源简易双向工程工具:

相关

  • 藻类去氧核糖核酸病毒科绿藻病毒属 Chlorovirus 寄生藻病毒属 Prasinovirus 金藻病毒属 Prymnesiovirus 褐藻病毒属 Phaeovirus 针晶藻病毒属 Raphidovirus 颗石藻类病毒属 Coccolithovirus藻类去
  • 避孕套自动贩卖机避孕套自动售货机(英语:condom machine)是指售卖避孕套的自动售货机,其一般放置于公共厕所旁、地铁站、火车站以及机场。在公共卫生政策上其有推广安全性行为之效。许多药店也会
  • 李璐茜李璐茜(1988年11月12日-)浙江人,毕业于北京电影学院,中国大陆新锐女演员淡出演艺圈事业。
  • 周永年 (清朝)周永年(1730年-1791年),字书昌,山东历城(今属济南市)人。生而好学,“竭数十年博采旁搜之力,弃产营书”,筑贷书园,积书十万卷,供人阅读抄写,并倡“儒藏说”,成立“儒藏”,“俾古人著述之可传
  • 莎拉·德鲁莎拉·德鲁(英语:Sarah Drew,1980年10月1日-)是一名美国女演员、导演,因出演The WB的家庭电视连续剧《雪山镇》和ABC的医疗剧《实习医生格蕾》而为人所熟知。莎拉·德鲁出生并成长
  • 吸血姬美夕《吸血姬美夕》(日语:.mw-parser-output ruby>rt,.mw-parser-output ruby>rtc{font-feature-settings:"ruby"1}.mw-parser-output ruby.large{font-size:250%}.mw-parser-outp
  • 金泫雅金泫雅(韩语:김현아/金泫雅 ,1992年6月6日-)出生于韩国首尔,韩国女歌手、舞者。为前P NATION旗下艺人,曾为JYP娱乐旗下女子组合Wonder Girls和Cube娱乐旗下女子组合4minute成员,均担任主Rapper、主领舞。粉丝后援会名称为“Aing”,“A”是代表泫雅,而“ing”在英文文法中代表着现在进行式,即粉丝们每瞬间都跟泫雅在一起。泫雅生后七年时在父母的支持下试镜演员,落选50余次。曾作为群众演员拍摄过影视剧《顺风妇产科》饰演与朴美达一起玩沙堆游戏的朋友甲。9岁开始学习舞蹈,
  • 维拉·卡斯帕里维拉·露易丝·卡斯帕里(Vera Louise Caspary 1899年11月13日-1987年6月13日)是一名美国作家,成名作是被改编为电影的《罗娜秘记》。其作品的特点是女主人公多具备相当的独立自主性。她收入并不高,大萧条期间对社会主义产生兴趣,因此加入美国共产党,为其组织活动和筹集资金。她曾前往苏联追寻信仰,但苏联的现实令她感到失望,回国后反而退党,但仍表示支持共产党。由于共产党背景,她被美国政府列入好莱坞黑名单,使得收入和工作都受到了较大影响。她出生于芝加哥,是一个早产儿。母亲茱莉亚生下她的时候
  • 分销产品 · 定价 · 分销服务 · 零售 · 宣传品牌管理 · 大客户营销营销道德 · 营销效果营销调查 · 市场调查市场划分 · 营销战略市场优势 · 操纵市场水平整合 · 垂直整合市场流程外包 · 广告 · 品牌 · 宣传包销点 · 促销 · 推销直效营销 · 精准营销植入式营销印刷 · 出版 · 广播户外广告 · 互联网营销销售网点系统 · 赠品促销数码营销 · 广告游戏产品推广 · 品牌大使口碑营销 · 滴水式营销多层次营销 · 游击式营销伏击式营销 
  • 奥列格·洛西克奥列格·亚历山德罗维奇·洛西克(俄语:Олег Александрович Лосик,1915年12月4日-2012年8月20日),苏联军事领导人,苏联英雄(1944年)。装甲兵元帅(1975年)。1969年至1987年担任马利诺夫斯基装甲兵学院院长。1915年冬生于俄罗斯帝国斯摩棱斯克省亚尔采沃(现俄罗斯联邦斯摩棱斯克州亚尔采沃)。他的父母原为维尔纳省一所乡村学校的教师,第一次世界大战爆发后,撤至斯摩棱斯克省。十月革命后不久,奥列格的父亲参加红军,1919年在内战期间不幸阵亡,当时奥列格年仅4岁,后随