用于接口的协作衍生的方法和系统技术方案

技术编号:2830915 阅读:204 留言:0更新日期:2012-04-11 18:40
提供了用于接口的协作衍生的方法和系统。基于规范模型来构建软件组件的控制流。在各种实施例中,规范模型包括至少一个输入、以及引用该至少一个输入的至少一个需求。基于控制流以及规范模型的至少一个输入和至少一个需求来生成软件组件的至少一部分实现。在某些实施例中,规范模型还包括至少一个输出,并且软件组件的至少一部分实现也基于该至少一个输出。

【技术实现步骤摘要】

本专利技术涉及才妄口的协作衍生(collaborative derivation);并且,具体 地,本专利技术涉及接口的协作衍生和编程代码的部分实现(imp 1 emen ta t i on)。
技术介绍
经常作为商业分析师(analyst)和开发人员之间的协作工作而创造商业 应用。商业分析师一般精通于定义商业规则,以描述允许并支持商业决定的 信息,而开发人员一般熟悉以编程语言实现计算的有效方法,这多少有些独 立于使用这样的计算的商业环境。这种协作经常是困难的,并且容易发生错 误,这是因为,协作者具有不同的技能集合,并且他们从不同的观点来解决 问题、并使用不同的工具。商业分析师可能使用通过利用字处理器而产生的 电子数据表(spreadsheet)或文档来定义商业规则。商业分析师通常以例如英 语之类的自然语言来表达那些商业规则。开发人员可能使用例如Eclipse的 集成开发环境(IDE)、或帮助程序编制的工具(如IBM⑧(国际商业机器公司的 注册商标)WebSphere (国际商业机器公司的注册商标)DataStage⑧(国际商 业机器公司的注册商标))来编写计算机程序,并且以诸如Java (Sun Microsystems有限公司的注册商标)之类的编程语言来定义他的逻辑。作性的,并且一般大多是人工过程。例如,假设商业分析师记录以下商业规 则采用每个客户在全部时段和全部账户上的平均信用风险评级。开发人 员将商业规则的此高级描述变换为实现该商业规则和计算期望值的软件组件 的接口,并以适当的格式返回该值。此接口包括一组输入(例如,客户id、 客户账户、时段、每时段的风险评级)、以及一组输出(例如,平均风险评级)。 开发人员一般通过使用编程语言编写代码来实现此接口 ,该代码基于该组输 入的值来计算该组输出的值。典型地,为了创建此接口,开发人员阅读并与 商业开发人员讨论商业规则的含义,搜索提供输入值的源,定义输出值,并 定义组成实现的逻辑步骤。由于协作者使用的技能、语言和工具的差异、以及使他们的理解同步可 能所需的口头交流,而减慢了此过程。经常,当由商业分析师以一种语言和一种工具(例如,分别是英语和电子数据表(spreadsheet))表达的信息被人工 转换为开发人员的语言和工具(例如,分别是Java和Eclipse)时,这些差异 带来许多曲解的可能并且开始发生错误。另 一种挑战是商业分析师的商业经验和技能随着不同组织而改变,这取 决于商业分析师的经验来自该组织的商业端还是技术端。商业分析师的知识 和理解在特定应用中甚至也可能改变。商业分析师可能能够指定用来计算某 些信息的确切的实现细节,并且,可能仅能够以语言描述如何计算其他实现 信息。例如,特定需求的实现细节对于商业分析师而言可能是公知的,这是 因为,执行计算的功能可能已经存在于之前的使用,如诸如round ()(四舍五 入)或abs ()(取绝对值)的算术函数,或者计算距客户家庭地址最近的位置的 现有的客户功能。然而,对于新的需求,商业分析师可能仅能够提供需求的 高级文字描述,如采用每个客户在全部时段和全部账户上的平均信用风险 评级。各种传统的技术提供了对技术规范(specif icat ion)的一定水平的变换, 但倾向于关注技术用户(例如开发人员)以及根据技术规范的工作。例如,某 些计算机辅助软件工程(CASE)工具和某些软件建模工具允许开发人员在协作 环境下对他们的应用建模、并生成接口。模型驱动体系(MDA)允许开发人员在 特定平台上根据实现而单独地对规范进行建模。这样的CASE工具、软件建模 工具和它们的体系针对于软件架构师和开发人员,并且针对于软件应用的详 细技术规范。结果,典型地,使用这样的工具需要一定水平的技能,例如, 一体化建模语言(UML)模式、数据结构设计和数据类型的知识。其他工具,如 用于查询构造的某些图形编辑器和某些开发工具,或揭_取、变换和加载(ETL) 软件开发,针对于技术熟练的用户, 一般也针对于单个用户。因而,存在对用于使得商业分析师和开发人员之间的协作自动化的改进 技术的需要。
技术实现思路
为了克服上述的现有技术中的限制,并且为了克服在阅读和理解本说明 书时变得清楚的其他限制,方法、数据处理系统和计算机程序产品的各种实施例提供了软件的实现。基于规范模型来构建软件组件的控制流。在各种实 施例中,规范模型包括至少一个输入、以及引用该至少一个输入的至少一个 需求。基于控制流以及规范模型的至少一个输入和至少一个需求来生成软件 组件的至少一部分实现。在某些实施例中,规范模型还包括至少一个输出, 并且软件组件的至少 一部分实现也基于该至少 一个输出。在各种实施例中,基于规范模型来构建软件组件的控制流。在各种实施 例中,规范模型包括至少一个输入和至少一个输出。基于控制流、以及规范 模型的至少一个输入和至少一个输出,来生成软件组件的至少一部分实现。 在某些实施例中,规范模型还包括至少一个需求,并且,软件组件的至少一 部分实现也基于该至少一个需求。以此方式,提供了用于使得商业分析师和开发人员之间的协作自动化的 改进技术。附图说明通过考虑结合了附图的以下说明,可容易地理解本专利技术的教导,附图中 图1图解了商业分析师和开发人员之间的自动协作的实施例;图2图解了在用户界面上显示的、由商业分析师创建的示例M^范; 图3绘出了被填有图2的示例规范的内容的说明性规范模型; 图4绘出了允许用户指定具体使用情况的用户界面的实施例; 图5绘出了生成模块的处理的实施例的流程图; 图6绘出了构建图5的初始控制流的步骤的实施例的流程图; 图7绘出了创建图6的控制流的实施例的更详细的流程图; 图8绘出了具有基于图3的规范模型而生成的接口的说明性控制流; 图9绘出了具有基于图2的示例规范的条件需求的说明性规范; 图IO绘出了由基于规范模型的生成模块基于图9的说明性规范而生成的 巟;图ll绘出了为了与图2的规范的行2相关联的、图3的规范模型的需求 而生成的编程例程的实施例;图12绘出了为了与图2的规范的行3相关联的、图3的规范模型的需求 而生成的编程例程的实施例;图13绘出了由生成模块基于图3的规范模型而生成的示例软件组件的实示例控制w7 施例;图14绘出了用来描述与ETL —起使用的本专利技术的实施例的另一示例规范;图15包括图15A和图15B,它们一起绘出了被填有图14的示例规范的内容的示例规范模型;图16绘出了处理规范模型以衍生出模板结构的实施例的流程图17绘出了构建图16的软件子组件的模板的步骤的实施例的流程图18绘出了正在显示在基于图15的规范模型执行了图17的流程图之后构建的示例ETL任务的图形用户界面的画布(canvas);图19绘出了生成图16的控制流的至少一部分实现的至少一部分步骤的实施例的流程图20绘出了在按照图16的流程图的其他处理之后在图18的图形用户界 面的画布上显示的示例ETL任务;图21绘出了在按照图16的流程图处理了图14的规范的行5和9的规范 模型的需求之后、在图20的图形用户界面的画布上显示的示例ETL任务;图22绘出了在按照图16和图17的流程图处理了图14的规范的行6和 10的规范模型的需求之后、在图21的图形用户界面的画布上显本文档来自技高网
...

【技术保护点】
一种计算机实现的方法,包括:    基于规范模型来构建软件组件的控制流,所述规范模型包括至少一个输入和引用所述至少一个输入的至少一个需求;以及    基于所述控制流、以及所述规范模型的所述至少一个输入和所述至少一个需求,生成所述软件组件的至少部分实现。

【技术特征摘要】
US 2006-10-13 11/549,4751、一种计算机实现的方法,包括基于规范模型来构建软件组件的控制流,所述规范模型包括至少一个输入和引用所述至少一个输入的至少一个需求;以及基于所述控制流、以及所述规范模型的所述至少一个输入和所述至少一个需求,生成所述软件组件的至少部分实现。2、 如权利要求l所述的方法,其中所述规范模型还包括至少一个输出, 并且,其中所述生成所述软件组件的所述至少部分实现还基于所述至少一个 输出。3、 如权利要求l所述的方法,还包括 基于规范来创建所述规范模型。4、 如权利要求1所述的方法,其中所述规范与商业分析师相关联,并且, 所述至少部分实现与开发人员相关联,以在所述商业分析师和所述开发人员 之间提供协作环境。5、 如权利要求l所述的方法,其中所述至少一个需求包括多个需求,并 且所述构建所述控制流包括将所述多个需求排序成逻辑顺序。6、 如权利要求5所述的方法,还包括确定在所述需求中的至少两个之间是否存在隐式的依赖关系,其中基于 所述隐式的依赖关系来对所述多个需求进行排序。7、 如权利要求l所述的方法,其中所述构建所述控制流包括将对编程 例程的调用插入到用于所述规范模型的每个所述需求的控制流中。8、 如权利要求6所述的方法,其中,响应于所述至少一个需求之一包括 具有文本扭述的商业规则,所述调用指向编程例程;其中所述生成所述至少 部分实现包括将所述文本描述包括在所述编程例程中。9、 如权利要求6所述的方法,其中,响应于所述至少一个需求之一包括 编程逻辑,所述调用指向编程例程;其中所述生成所述至少部分实现包括 将所述编程逻辑包括在所述编程例程中。10、 如权利要求l所述的方法,其中所述构建所述控制流产生表示所述 控制流的模板,其中所述模板包括分别表示所述至少一个输入的至少一个软 件子组件,并且所述至少一个软件子组件分别表示所述至少一个输出。11、 如权利要求10所述的方法,其中所述至少一个需求包括多个需求, 其中所述生成所述至少部分实现包括对于所述多个需求中的至少一个,将 表示所述需求的软件子组件插入到所述模板中。12、 如权利要求10所述的方法,还包括 在图形界面上显示所述模板。13、 如权利要求IO所述的方法,其中所述至少一个需求包括多个需求, 其中所述生成所述至少部分实现...

【专利技术属性】
技术研发人员:马丁克隆普雅克J拉布里玛丽A罗思
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1