源代码生成支援装置及源代码生成支援方法制造方法及图纸

技术编号:2841775 阅读:326 留言:0更新日期:2012-04-11 18:40
树形结构变换处理部(130a)基于生成顺序图数据而生成树形结构数据,匹配处理部(130b)从对象树形结构数据(140b)中检索与所生成的树形结构数据相符合的树形结构数据,程序抽出处理部(130c)从相符合的树形结构数据的程序代码确定信息中取得对应的原有的程序代码,将所取得的程序代码的实例名替换为与生成顺序图数据对应的实例名。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种对基于面向对象的源代码的作成进行支援的,尤其是涉及一种能够对原有的源代码进行再利用而提高程序开发效率的。
技术介绍
最近,为了提高程序开发效率,正在基于面向对象而作成程序代码。在该面向对象中,集成数据和处理作为一个对象,以向该对象发送激活处理的消息的方式,编写程序代码。另一方面,正在尝试根据用户所希望的程序代码的规格书等,自动生成与规格书对应的程序代码,但因为生成程序代码的处理逻辑不完备,所以只能生成用户所希望的程序代码的雏形而已(例如,参照专利文献1)。即,为了生成完备的程序代码,用户必须利用简易的脚本语言等,重新添写程序代码。为了解决这个问题,正在考虑这样的技术将程序代码和该程序代码的结构图建立关联而预先作成,当用户编辑结构图时,对该结构图进行的编辑就会被反映在对应的程序代码上,从而能够生成新的程序代码(例如,参照专利文献2)。另外,在专利文献3中,公开了自动管理有关程序代码的规格书的匹配性的技术。专利文献1(JP特开平11-219287号公报)专利文献2(JP专利3299259号公报)专利文献3(JP特开平11-3216号公报)然而,在相关的现有的技术中,需要预先记入跟想要新生成的程序代码同等的程序代码,用户的负担很大。另外,在生成与预先作成的程序代码的结构图不对应的新的程序代码的情况下,就不能编辑结构图而生成新的程序代码,用户自己需要作成新的程序代码,作成程序代码的效率不高。本专利技术是为了解决上述现有技术的问题,其目的在于提供一种能够解除用户的负担、能够高效率地作成程序代码的。专利技术的公开为了解决上述问题而达到目的,本专利技术是一种源代码作成支援程序,对基于面向对象的源代码的作成进行支援,其特征在于,使计算机执行以下步骤树形结构生成步骤,基于表示要新作成的源代码的规格的顺序图,生成树形结构数据;检索步骤,从至少存储有原有的源代码、和与该原有的源代码对应的树形结构数据的存储装置中,检索与在上述树形结构生成步骤中生成的树形结构数据相符合的树形结构数据;取得步骤,从上述存储装置中取得与上述相符合的树形结构数据对应的源代码。另外,本专利技术是一种源代码作成支援方法,对基于面向对象的源代码的作成进行支援,其特征在于,包括树形结构生成工序,基于表示要新作成的源代码的规格的顺序图,生成树形结构数据;检索工序,从至少存储有原有的源代码、和与该原有的源代码对应的树形结构数据的存储装置中,检索与在上述树形结构生成工序中生成的树形结构数据相符合的树形结构数据;取得工序,从上述存储装置中取得与上述相符合的树形结构数据对应的源代码。根据该专利技术,基于表示要新作成的源代码的规格的顺序图而生成树形结构数据,从至少存储有原有的源代码和与该原有的源代码对应的树形结构数据的存储装置中检索与生成的树形结构数据相符合的树形结构数据,从存储装置中取得与相符合的树形结构数据对应的源代码,所以不需要完全从零开始生成源代码,而只要作成顺序图,就能够自动生成所希望的源代码,从而能够消除用户的负担,提高程序开发效率。附图的简单说明附图说明图1是表示本实施方式中的源代码作成装置进行的程序再利用的概念的图,图2是表示源代码作成支援装置的结构的机构方框图,图3是表示顺序图的列表结构的一个例子的图,图4是表示树形结构数据的数据结构的一个例子的图,图5是表示以在图3所示的顺序图数据为基础而生成的树形结构数据的图,图6是表示对应表的一个例子的图,图7是说明对各树形结构数据的单元的识别号码的分配的图,图8是表示生成顺序图和生成顺序图的树形结构数据的图,图9是对程序代码的实例名的变换进行说明的图,图10是表示准备处理的处理步骤的流程图,图11是表示树形结构变换处理的处理步骤的流程图,图12是表示程序生成处理的处理步骤的流程图,图13是表示匹配处理的处理步骤的流程图,图14是表示单元选择处理的处理步骤的流程图,图15是表示执行本实施方式涉及的源代码作成支援程序的计算机系统的图,图16是表示图15所示的主体部501的结构的功能方框图。实施专利技术的最佳方式以下,基于附图详细地说明本专利技术的的实施方式。另外,本专利技术并不限制于该实施方式。另外,在本实施方式中,虽然对于物理上独立地构成各个功能的源代码作成支援装置进行说明,但作为源代码作成支援程序,也可以通过以用软件实现各个功能来实施。实施方式首先,针对本实施方式涉及的源代码作成支援装置进行的程序再利用的概念进行说明。图1是表示本实施方式涉及的源代码作成装置进行的程序再利用的概念的图。另外,在本实施方式中,利用面向对象而生成程序代码。本实施方式所示的源代码作成支援装置预先取得原有的程序代码和表示该程序代码的规格的顺序图,根据所取得的顺序图生成树形结构数据,将树形结构数据和程序代码建立关联而预先存储。在这里,所谓树形结构数据,就是将包含于顺序图中的实例和方法的连接关系抽出、而根据方法的顺序信息和实例的连接信息生成的数据。另外,实例就是在执行程序的情况下以类的形式而生成的,方法表示在各个实例之间进行的过程。然后,在再利用原有的程序代码而生成新的程序代码的情况下,取得要新生成的程序代码的顺序图,根据所取得的顺序图生成树形结构数据,从预先生成的树形结构数据中检索与所生成的树形结构数据相符合的树形结构数据。然后,将跟相符合的树形结构数据对应的程序代码抽出,将包含于所抽出的程序代码中的实例名替换为新的实例名,从而能够生成新的程序代码。接着,针对源代码作成支援装置的结构进行说明。图2是表示源代码作成支援装置100的结构的功能方框图。如该图所示,该源代码作成支援装置100具备输入接收部110、输出部120、控制部130和存储部140。输入接收部110从未图示的键盘等的输入装置取得顺序图的数据、程序代码等,将所取得的顺序图的数据和程序代码提交给控制部130。另外,输入接收部110将顺序图的数据变换成规定的数据结构(以下,标记为顺序图数据),提交给控制部130。图3是表示顺序图数据的列表结构的一个例子的图。如该图所示,顺序图数据包括实例表210和方法箭头表220。另外,200表示以顺序图数据表示的顺序图。实例表210包括“左上坐标”、“宽度”、“高度”、“实例信息”、”生命线长度”和“生命线坐标”。在这里,“左上坐标”示出表示实例的方框200a的左上角的坐标,“宽度”示出表示实例的方框200a的宽度,“高度”示出表示实例的方框200a的高度。另外,“实例信息”示出存储在表示实例的方框200a中的实例名和包含有该实例名的类名,”生命线长度”表示生命线200b的长度,“生命线坐标”表示生命线200b的顶点的坐标。例如,存在于左端的实例的方框以及表示生命线的实例表的“左上坐标”是“(x1,y1)”,“宽度”是“w1”,“高度”是“h1”,“实例信息”是“a:Order”,”生命线长度”是“L1”,“生命线坐标”是“Lx1,Ly1”。另外,省略其它的实例表的说明。接着,针对方法箭头表220进行说明。如该图所示,方法箭头表220包括“起始点坐标”、“方法名”、“长度”、“线型”、“连接起点类”和“连接目标类”。在这里,“起始点坐标”表示箭头200c的左端的坐标,“方法名”表示以箭头表示的方法的名字,“长度”表示箭头200c的长度,“线本文档来自技高网...

【技术保护点】
一种源代码作成支援程序,对基于面向对象的源代码的作成进行支援,其特征在于,使计算机执行以下步骤:树形结构生成步骤,基于表示要新作成的源代码的规格的顺序图,生成树形结构数据;检索步骤,从至少存储有原有的源代码、和与该原有的源代 码对应的树形结构数据的存储装置中,检索与在上述树形结构生成步骤中生成的树形结构数据相符合的树形结构数据;取得步骤,从上述存储装置中取得与上述相符合的树形结构数据对应的源代码。

【技术特征摘要】
【国外来华专利技术】1.一种源代码作成支援程序,对基于面向对象的源代码的作成进行支援,其特征在于,使计算机执行以下步骤树形结构生成步骤,基于表示要新作成的源代码的规格的顺序图,生成树形结构数据;检索步骤,从至少存储有原有的源代码、和与该原有的源代码对应的树形结构数据的存储装置中,检索与在上述树形结构生成步骤中生成的树形结构数据相符合的树形结构数据;取得步骤,从上述存储装置中取得与上述相符合的树形结构数据对应的源代码。2.根据权利要求1所述的源代码作成支援程序,其特征在于,使计算机还执行变换处理步骤,该变换处理步骤将在上述取得步骤中取得的源代码中所包含的实例变换为与上述顺序图对应的实例。3.根据权利要求1或2所述的源代码作成支援程序,其特征在于,上述树形结构生成步骤使计算机执行以下步骤连接关系抽出步骤,抽出上述顺序图中所包含的实例和方法的连接关系;树形结构生成处理步骤,基于上述连接关系,生成包含有方法的顺序信息的树形结构数据。4.根据权利要求3所述的源代码作成支援程序,其特征在于,上述检索步骤从上述存储装置中检索包含有与在上述树形结构生成步骤中生成的树形结构数据中所包含的方法的顺序信息相同的方法的顺序...

【专利技术属性】
技术研发人员:宫崎比吕志
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

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

1