CN101866285B - 软件再利用支援方法以及装置 - Google Patents

软件再利用支援方法以及装置 Download PDF

Info

Publication number
CN101866285B
CN101866285B CN201010165093.5A CN201010165093A CN101866285B CN 101866285 B CN101866285 B CN 101866285B CN 201010165093 A CN201010165093 A CN 201010165093A CN 101866285 B CN101866285 B CN 101866285B
Authority
CN
China
Prior art keywords
mentioned
software
software part
version
recycling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010165093.5A
Other languages
English (en)
Other versions
CN101866285A (zh
Inventor
吉村健太郎
成泽文雄
新吉高
佐佐木浩人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101866285A publication Critical patent/CN101866285A/zh
Application granted granted Critical
Publication of CN101866285B publication Critical patent/CN101866285B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

本发明提供一种软件再利用支援方法以及装置,在开发对象的控制软件的制作中支援已有的软件部件的再利用。针对已有的设备的控制软件中所使用的软件部件的每个版本,计算对已有设备的规格的各自的频率分布进行表示的似然率,针对在已有设备的控制软件中所使用的每个软件部件,计算对版本的各自的利用频率分布进行表示的先验概率。使用似然率和先验概率,针对开发对象的设备的每个规格,计算对已有的软件部件的各版本的再利用可能性进行表示的后验概率。

Description

软件再利用支援方法以及装置
技术领域
本发明涉及在制作新软件的情况下,支援已有的软件的再利用的软件再利用支援技术。
背景技术
在汽车、便携式电话等技术领域中,通过所谓的嵌入式软件来控制控制对象。嵌入式软件具有以下优点:与以往的利用机械结构或电路的方式相比,灵活、并能够实现高度的控制;通过对软件进行部分变更能够开发出很多派生产品。
近年来,随着嵌入式软件的使用范围扩大,派生产品的数量以及软件的规模在增大。由此,在开发效率大幅度提高的同时,对派生产品开发中的再利用型开发的效率化的要求也在提高。
以汽车用发动机系统中所使用的嵌入式软件为例。在发动机中,不仅需要汽缸数量、排气量、燃料喷射方式、吸气控制方式等功能性要素,而且目的地、排气规定等非功能性要素也必不可少。这些多个要素被作为规格而设定下来。另外,针对各个规格具有多种选择。例如,关于汽缸数量,有4个汽缸,6个汽缸,8个汽缸等。已有的嵌入式软件是为了与这些规格的特定组合对应而开发的。
因此,在新的嵌入式软件产品的开发中,不能原封不动地应用已有的嵌入式软件。另一方面,从开发效率化的观点来看,存在尽量再利用已有的软件的这一需求。因此,提出了支援已有的软件的再利用的软件再利用支援装置的方案。
专利文献1:JP特开平8-147152号公报
专利文献2:JP特开平10-63494号公报
专利文献1中记载了用于过去制作的软件的再利用的软件再利用支援装置的例子。在该软件再利用支援装置中,根据过去的产品规格之间的关系或制作记录,生成用于决定再利用的规格的搜索路径,并提示给用户。
另外,在专利文献2中记载了检索已有的软件部件的再利用可能性的程序部件利用支援系统。在该支援系统中,测定每个已有的软件部件的使用业绩,将使用业绩高的软件部件作为再利用可能性高的候补。
但是,这些文献中所记载的技术针对的是业务中使用的软件,而不是嵌入式软件。嵌入式软件具有能够安装到汽车、便携式电话等设备中的特征。因此,存在不仅要考虑软件本身的规格,还要考虑作为安装对象的设备的规格这一课题。
发明内容
本发明的目的是:在开发对象的控制软件的制作中支援已有的软件产品的再利用。
根据本发明,使用存储了已有设备的规格的规格数据库、和存储了已有设备的控制软件中所使用的软件部件与该软件部件的版本的软件部件数据库。
根据本发明,使用规格数据库中存储的已有设备的规格和软件部件数据库中存储的已有软件部件以及软件部件的版本,针对软件部件的每个版本,计算对规格的各自的频率分布进行表示的似然率。另外,针对每个软件部件,计算对版本的各自的利用频率分布进行表示的先验概率。而且,使用似然率、先验概率以及开发对象的设备的规格,针对开发对象的设备的每个规格,计算对已有的软件部件的各版本的再利用可能性进行表示的后验概率。
根据本发明,在开发对象的控制软件的制作中,支援已有的软件部件的再利用。
附图说明
图1是表示本发明的软件再利用支援装置的构成例的图。
图2是表示发动机控制用软件的构成例的图。
图3是表示在本发明的软件再利用支援装置的规格数据库中所存储的规格数据的例子的图。
图4是表示在本发明的软件再利用支援装置的软件部件数据库中所存储的软件部件数据的例子的图。
图5是表示本发明的软件再利用支援装置的再利用软件部件搜索装置的似然率分析部的构成例的图。
图6是表示本发明的软件再利用支援装置的似然率分析部的似然率分析处理部的处理流程的例子的流程图。
图7是表示本发明的软件再利用支援装置的似然率分析部的似然率分析处理部的似然率分析结果的例子的图。
图8是表示本发明的软件再利用支援装置的似然率分析部的先验概率分析部的处理流程的例子的流程图。
图9是表示本发明的软件再利用支援装置的似然率分析部的先验率分析部的先验概率的分析结果的例子的图。
图10是表示本发明的软件再利用支援装置的似然率分析部的数据库更新确认部的处理流程的例子的流程图。
图11是表示本发明的软件再利用支援装置的再利用软件部件搜索装置的后验概率分析部的构成例的图。
图12是表示在本发明的软件再利用支援装置的后验概率分析部的后验概率分析处理部的计算中所使用的基本公式的图。
图13是表示本发明的软件再利用支援装置的后验概率分析部的后验概率分析处理部的分析处理的例子的图。
图14是表示本发明的软件再利用支援装置的后验概率分析部的再利用软件部件范围缩小部的构成例的图。
图15是表示本发明的软件再利用支援装置的后验概率分析部的再利用软件部件范围缩小部的后验概率阈值设定部的设定画面的例子的图。
图16是表示本发明的软件再利用支援装置的后验概率分析部的再利用软件部件范围缩小部的逻辑关系数据库的构成例的图。
图17是表示本发明的软件再利用支援装置的后验概率分析部的再利用软件部件范围缩小部的再利用性判断部的处理流程的例子的流程图。
图18是表示本发明的软件再利用支援装置的规格输入部的规格选择画面的例子的图。
图19是表示本发明的软件再利用支援装置的再利用软件部件输出部的软件部件选择画面的例子的图。
图20是表示本发明的软件再利用支援装置的规格输入部的规格变更警告处理流程的例子的流程图。
图21是表示在本发明的软件再利用支援装置的规格输入部的规格选择画面中,进行规格变更警告显示的例子的图。
符号的说明:
1…再利用软件部件搜索装置、2…规格输入部、3…再利用软件部件显示部、4…规格数据库、5…软件部件数据库、11…似然率分析部、12…后验概率分析部
具体实施方式
以下,参照附图对本发明的一个实施方式的软件再利用支援装置进行说明。图1是表示本发明的一个实施方式的软件再利用支援装置的系统构成例的概要的图。如图1所示,本实施方式的软件再利用支援装置具有:规格数据库4;软件部件数据库5;再利用软件部件搜索装置1,其从软件部件数据库5中所存储的软件部件对能够再利用的软件部件进行搜索;规格输入部2,其输入新开发或改良的设备的规格;再利用软件部件显示部3,其显示已有的软件部件的再利用可能性。
在规格数据库4中存储了已有设备的规格。在软件部件数据库5中存储了在已有设备的控制软件中所使用的软件部件和其版本。
再利用软件部件搜索装置1具有似然率分析部11和后验概率分析部12。似然率分析部11从规格数据库4输入已有设备的规格,从软件部件数据库5输入在已有设备的控制软件中使用的软件部件的版本信息,针对每个已有的软件部件计算规格的似然率和版本的先验概率。
规格的似然率表示:在过去的控制软件中,针对规定的软件部件的每个版本计算出的各规格的频率分布。即,似然率表示针对每个规格计算出的软件部件的各版本的利用频率的分布。先验概率表示:在过去的控制软件中,针对每个软件部件计算出的各版本的利用频率的分布。
后验概率分析部12从规格输入部2输入新开发或改良的设备的规格,从似然率分析部11输入已有的每个软件部件的规格的似然率和版本的先验概率,计算新开发或改良的设备的控制软件中的已有的软件部件的后验概率。后验概率表示:在新开发或改良的设备的控制软件中,已有的软件部件的每个版本的再利用可能性。该分析结果通过再利用软件部件显示部3来显示。
根据本例的软件再利用支援装置,在已有的控制软件中,根据表示新开发或改良的设备的规格的使用业绩的似然率和表示已有的软件部件的版本的使用业绩的先验概率,在为了该设备而新开发的控制软件中,可以定量地评估已有的软件部件是否能够再利用。
虽然对本发明的软件再利用支援装置的硬件没有进行特别表示,但可以由通常的计算机构成。即,再利用软件部件搜索装置1由计算机本体、或运算装置构成,规格输入部2以及再利用软件部件显示部3为通过计算机提供的用户界面,具体而言,通过与计算机连接的键盘等输入装置和显示装置来实现。规格数据库4以及软件部件数据库5可以通过与计算机连接的外部存储装置构成。
图2是表示在本实施方式的软件再利用支援装置1中能够使用的汽车用发动机控制软件6的具体例子的图。发动机控制软件6具有控制应用软件61、基本软件62和应用程序接口(API)63。控制应用软件61具有燃料控制软件部件611、点火控制软件部件612、故障诊断软件部件613和变速器控制软件部件614。基本软件62具有微机(微型计算机)用软件部件621、通信用软件部件622、输入输出用软件部件623和曲轴传感器用软件部件624。
在此,考虑开发具有与已有的发动机控制装置不同规格的发动机控制装置用的控制软件的情况。新开发的发动机控制软件具有与图2的发动机控制软件6的结构相同的结构。在已有的燃料控制软件部件611中,存在燃料控制软件部件Ver1.0 6111、燃料控制软件部件Ver2.0 6112、燃料控制软件部件Ver3.0 6113作为不同的版本。关于在新开发的发动机控制软件中,是否3个燃料控制软件部件6111、6112和6113中的任意一个控制软件部件都能够再利用,进行以下的分析。
图3是表示在本实施例中的规格数据库4中存储的已有的发动机控制装置的规格数据41的图。横轴表示设备名称,纵轴表示规格项目。在横轴的设备名称和纵轴的规格项目交叉的栏中,示出了按照该设备选择的规格。例如,在发动机控制装置A中,作为“规格项目:目的地”选择了“JP(日本)”,作为“规格项目:汽缸数量”,选择了“4汽缸”。
在此,发动机控制装置的规格包括汽缸数量、燃料喷射方式、变速器等与机械构造相关的条件、和目的地、排气规定等非机械性条件。例如,即使机械构造相同,在目的地不同的情况下,发动机控制装置的规格也不同。发动机控制软件由规格决定。因此,以下,有时会将设备的规格或发动机控制装置的规格称为控制软件的规格。
图4是表示在存储于本实施例中的软件部件数据库5中的已有的控制软件中使用的软件部件数据51的图。横轴表示设备名称,纵轴表示软件部件名称。在横轴的设备名称和纵轴的软件部件名称交叉的栏中,示出了该设备的控制软件中所使用的各个软件部件。例如,在发动机控制装置B的控制软件中,选择“Ver2.0”作为“软件部件:SWC1”,选择“Ver1.0”作为“软件部件:SWC2”。
图5是表示本实施例中的似然率分析部11的构成例的图。似然率分析部11具有:似然率分析处理部111,其分析处理软件部件的似然率;先验概率分析部112,其分析软件部件的先验概率;似然率数据库113,其存储似然率分析处理部111和先验概率分析部112的分析结果;数据库更新确认部114,其确认似然率数据库113的更新是否必要,如果必要则进行更新。参照图6对似然率分析处理部111的处理进行说明,似然率分析处理的结果如图7所示。参照图8对先验概率分析部112的处理进行说明,先验概率分析处理的结果如图9所示。参照图13对似然率数据库113的例子进行说明。参照图10对数据库更新确认部114的的处理进行说明。
图6是表示在本实施例的似然率分析部11的似然率分析处理部111中,分析规定的软件部件的似然率的处理流程的流程图。处理从步骤S11101开始。在步骤S11102中,将软件部件的版本的ID(标示号码)初始化。在步骤S11103中,将规格的ID(标示号码)初始化。在步骤S11104中,将设备的ID(标示号码)初始化。在步骤S11105中,确认当前的版本是否被用于当前的设备以及当前的规格,当确认为被使用的情况下,将使用业绩相加。在步骤S11106中判断是否完成了对所有设备的判断。如果针对所有设备的判断已完成,则进入步骤S11108,如果判断尚未完成,则进入步骤S11107。在步骤S11107中,将设备的ID相加,进入步骤S11105。在步骤S11108中,判断是否完成了针对所有规格的判断。如果针对所有规格的判断已完成,则进入步骤S11110,如果判断尚未完成,则进入步骤S11109。在步骤S11109中,将规格的ID相加,进入步骤S11104。在步骤S11110中,判断是否完成了针对所有版本的判断。如果针对所有版本的判断已完成,则进入步骤S11112,如果判断尚未完成,则进入步骤S11111。在步骤S11111中,将版本的ID相加,进入步骤S11103。在步骤S11112结束处理。
图7是通过似然率分析部11的似然率分析处理部111分析后的、针对软件部件SWC1的规格“汽缸数量”的似然率表1131。横轴表示规格的项目、即汽缸数量,纵轴表示软件部件SWC1的版本号码。另外,在横轴和纵轴交叉的栏中表示该版本在该规格中被使用的频率。上层表示使用业绩,下层表示似然率。例如,版本2.0的使用业绩如下:汽缸数量4的情况下为0次;汽缸数量6的情况下为6次;汽缸数量8的情况下为4次。另外,版本2.0的似然率如下:汽缸数量4的情况下为0%;汽缸数量6的情况下为60%;汽缸数量8的情况下为40%。如上所述,似然率表示按照每个版本计算出的各汽缸数量的频率分布。换句话说,似然率表示按照每种汽缸数量计算出的软件部件的各版本的利用频率分布。
图8是表示在似然率分析部11的先验概率分析部112中,分析规定的软件部件的先验概率的处理流程的流程图。处理从步骤S11201开始。在步骤S11202中,将软件部件的版本的ID(标示号码)初始化。在步骤S11203中,将设备的ID(标示号码)初始化。在步骤S11204中,确认当前的版本是否被用于当前的设备,当确认为被使用的情况下,将使用业绩值相加。在步骤S11205中判断是否完成了对所有设备的判断。如果针对所有设备的判断已完成,在则进入步骤S11207,如果尚未完成,则进入步骤S11206。在步骤S11206中,将设备的ID相加,进入步骤S11204。在步骤S11207中,判断是否完成了针对所有版本的判断。如果针对所有版本的判断已完成,则进入步骤S11209,如果尚未完成,则进入步骤S11208。在步骤S11208中,将版本的ID相加,进入步骤S11203。在步骤S11209结束处理。如果将分析图8的先验概率的处理和分析图6的似然率的处理进行比较,则不同之处在于:在分析图8的先验概率的处理中,对规格的ID号码进行计算的处理被除去。
图9是通过似然率分析部11的先验概率分析部112分析后的软件部件SWC1的先验概率表1132。左侧一排表示软件部件SWC1的版本号码。右侧一排表示各版本号码的利用频率,上边一行表示使用业绩,下边一行表示先验概率。
例如,在软件部件SWC1的各版本中,Ver1.0被利用30次;Ver2.0被利用10次;Ver3.0被利用9次。Ver1.0的先验概率是61%;Ver2.0的先验概率是20%;Ver3.0的先验概率是18%。如上所述,先验概率表示针对每个软件部件计算出的各版本的使用频率的分布。
通过采用上述构成,可以根据已有的软件部件的使用业绩,定量地评估已有的软件部件是否能够再利用。
图10是表示似然率分析部11的数据库更新确认部114的处理的例子的流程图。处理从步骤S11401开始。在步骤S11402中,判断规格数据库4中是否有变更。在有变更的情况下,进入步骤S11404,在没有变更的情况下,进入步骤S11403。在步骤S11403中,判断软件部件数据库5中是否有变更。在有变更的情况下,进入步骤S11404,在没有变更的情况下,进入步骤S11405。在步骤S11404中,执行似然率分析处理部111以及先验概率分析部112的处理,并更新似然率数据库113。在步骤S11405完成处理。
通过采用上述构成,在例如已有的控制软件达到数百,软件部件数量达到数千的多品种·大规模的软件中,再也不需要每次都进行似然率的分析。因此,能够高速地进行再利用软件的搜索处理。
图11是表示后验概率分析部12的构成例的图。后验概率分析部12具有后验概率分析处理部121和再利用软件部件范围缩小部122。参照以下的图12以及图13,对后验概率分析处理部121进行说明。参照以下的图14~图17,对再利用软件部件范围缩小部122进行说明。
图12是表示后验概率分析处理部121的处理概况的图。后验概率分析处理部121从似然率分析部11的似然率数据库113输入似然率数据,从规格输入部2输入新开发或改良的设备的规格21。参照图13对似然率数据库113进行说明。后验概率分析处理部121根据公式12101计算后验概率12102。公式12101是后验概率分析的基本公式,其基于作为概率论之一的贝叶斯定理。
在公式12101中,P(A)是现象A的概率;P(B)是现象B的概率;P(A|B)是现象B发生之后的现象A的概率;P(B|A)是现象A发生之后的现象B的后验概率。在此,将现象A设为在过去的所有设备中选择了规格21的现象;将现象B设为在过去的所有控制软件中使用了软件部件的规定版本的现象。于是,P(A)成为:在过去的所有设备中规格21被选择的概率;P(B)成为:在过去的所有控制软件中软件部件的规定版本被使用的概率,即先验概率1132(图9)。另外,P(A|B)成为:与使用了过去的软件部件的规定版本的控制软件对应的设备的规格为规格21的概率,即规格21的似然率1131(图7)。另外,P(B|A)成为:在新开发的规格21的设备的控制软件中,软件部件的规定版本的再利用可能性的概率。在此,P(A)、P(B)、P(A|B)为已知或能够计算,因此,P(B|A)也能够计算。因此,可以定量地计算软件部件的规定版本的再利用可能性。
并且,为了在此使说明更简单,将P(B)设为先验概率1132,但是,也可以将在决定了规格21之外的其他规格之后所推定的后验概率作为输入。另外,通过这样做能够在考虑了多个规格的影响之后进行更精确的再利用性评估。
图13是表示通过后验概率分析部12的后验概率分析处理部121进行的后验概率计算的例子的图。在似然率数据库113中存储了似然率数据1133。似然率数据1133是将先计算的先验概率表1132(图9)和似然率表1131(图7)合成后的数据。在此,由于输入“汽缸数量”=4作为规格22,所以,对规格“4汽缸”确定后的后验概率进行计算。公式12102是计算Ver1.0的后验概率的公式;公式12103是计算Ver2.0的后验概率的公式;公式12104是计算Ver3.0的后验概率的公式。作为代表例,根据公式12102说明Ver1.0的后验概率的计算公式。
在公式12102中,所求的值为规格“4汽缸”确定之后的软件部件SWC1“Ver1.0”能够再利用的后验概率P(v1.0|4汽缸)。公式12102的分子是:在已有的控制软件中使用软件部件的Ver1.0时规格为4汽缸的概率P(4汽缸|Ver1.0)、与在已有的控制软件中软件部件的Ver1.0被选择的概率P(Ver1.0)的乘积。概率P(4汽缸|Ver1.0)为100%,概率P(Ver1.0)为61%。因此,公式12102的分子成为1.0×0.61。
公式12102的分母为:在已有的所有设备中,规格为4汽缸的比例。这是通过各版本的先验概率与各版本的4汽缸的似然率的乘积的总和求出的。
如果将这些结果进行总结,则Ver1.0的后验概率12105成为P(Ver1.0|4汽缸)=91%。另外,同样,Ver2.0的后验概率12106成为P(Ver2.0|4汽缸)=0%。Ver3.0的后验概率12107成为P(Ver3.0|4汽缸)=9%。
图14是表示后验概率分析部12的再利用软件部件范围缩小部122的构成例的图。再利用软件部件范围缩小部122具有:后验概率阈值设定部1221,其对用于自动地判断已有的软件部件的再利用的阈值进行设定;逻辑关系数据库1222,其存储已有的软件部件之间的逻辑关系;再利用性判定部1223,其根据阈值和逻辑关系来判定再利用性。
图15是表示后验概率分析部12的再利用软件部件范围缩小部122的后验概率阈值设定部1221的设定画面12211的图。在设定画面12211中,用户设定阈值。如图13所示,在利用后验概率分析部121所分析的后验概率中,既有很高的值,也有很低的值。因此,可以判断:后验概率高的版本能够再利用,后验概率低的版本不能再利用。在本例中,当后验概率为该阈值以上的情况下,自动地再利用其软件部件。在图15的例子中,设定90%作为阈值。
通过采取该构成,即使在软件部件数量超过数千的系统中,通过将后验概率和阈值进行比较,也能够达到软件部件可否再利用的判断的自动化。因此,能够利用已有的软件部件实现新软件开发的效率化。
图16是表示在后验概率分析部12的再利用软件部件范围缩小部122的逻辑关系数据库1222中存储的软件部件之间的逻辑关系12221的例子的图。作为逻辑关系12221,存储有选择性关系、排他关系、以及依存关系。选择性关系是指:在至少由3个要素构成的集合中,能够选择任意的要素的关系。排他关系是指:在由2个要素构成的集合中,如果选择了其中一个要素,则不能选择另外一个要素的关系。依存关系是指:在由多个要素构成的集合中,如果选择1个要素,则必须选择其他确定要素的关系。图16显示了选择性关系、排他关系、依存关系的例子。这些关系由用户自由决定。
以排他关系为例,当选择已有的软件部件SWC1的Ver2.0和已有的软件部件SWC2的Ver2.0中的任意一方的情况下,另一方被自动地排除在选择对象之外。通过采取该构成,在软件部件数量超过数千的系统中,可以根据软件部件之间的逻辑关系,实现进行可否再利用的判断的自动化。因此,可以实现利用已有的软件部件的新软件开发的效率化。
图17是表示后验概率分析部12的再利用软件部件范围缩小部122的再利用性判定部1223的处理流程的流程图。处理从步骤S12231开始。在步骤S12232中,确认逻辑关系数据库1222。逻辑关系数据库1222的例子如16所示。在步骤S12233中,选择满足通过逻辑关系数据库1222设定的逻辑关系的软件部件。如此一来,满足逻辑关系的软件部件成为判定对象。在步骤S12234中,对判定对象的后验概率是否比图15的阈值还大进行判定,当大的情况下,进入步骤S12235,否则进入步骤S12236。在步骤S12235中,确定判定对象的软件部件作为再利用部件。在步骤S12236结束处理。并且,在被判定为能够再利用的软件部件的数量很多的情况下,变更图15的阈值即可。
图18表示作为规格输入部2的用户操作画面的规格选择画面231的例子。用户通过操作指示光标2311,对话性地选择新开发或改良的设备的规格。在规格选择画面231中,选择日本(JP)作为目的地;选择6汽缸作为汽缸数量;选择多点式喷射(MPI:Multi-Port Injection)作为燃料喷射方式;变速器未进行选择。
图19表示作为再利用软件输出部3的用户操作画面的软件部件选择画面31的例子。用户通过操作指示光标311来决定再利用软件部件的版本。在本例的软件部件选择画面31中,自动地选择后验概率12105超过阈值12211(图15)的版本。在软件部件SWC1中选择了Ver1.0。软件部件SWC2为等待用户选择的状态。
另外,图18的规格选择画面231和图19的软件部件选择画面31可以再同一个画面上显示。通过在同一个画面上显示,可以对话性地确认由规格选择引起的软件部件的后验概率的变化。
图20是表示规格输入部2的规格变更警告处理流程的流程图。从步骤S2401开始,开始关于规定的规格项目的警告显示判定处理。在步骤S2402中,将软件部件(SWC)的ID(标示号码)初始化。在步骤S2403中,确认在软件部件选择画面31(图19)上版本号码是否已经选择完毕。当选择完毕的情况下,进入步骤S2404,否则进入步骤S2407。在步骤S2404中,计算在变更当前所选择的规格的情况下的后验概率。在步骤S2405中,判定在步骤S2404计算出的后验概率是否比阈值12211(图15)大。当大的情况下进入步骤S2407,否则进入步骤S2406。在步骤S2406中,通过规格选择画面231(图18)进行警告显示。在步骤S2407中,确认是否所有软件部件的判定都已经完成,当已经完成的情况下,进入步骤S2409,否则进入步骤S2408。在步骤S2408中,将软件部件的ID相加,进入步骤S2403。在步骤S2409结束处理。
图21表示进行规格变更警告显示的规格选择画面25的例子。本例的规格选择画面25和图18所示的规格选择画面231虽具有相同的构成,但不同点在于,在汽缸数量的项目上显示警告符号251。在将汽缸数量的规格变更的情况下,示出了完成了再利用判断的软件部件的后验概率低于阈值这一内容。
采取该构成,能够通过变更已经决定的规格,针对已经进行了能否再利用的判断的软件部件,弄清必须重新进行判断的规格,能够向用户发出警告:规格变更可能会导致要重新开发。
以上,对本发明的例子进行了说明,但是本发明不局限于上述例子,在权利要求记载的技术方案的范围内可以进行各种变更,这一点对本领域技术人员来说是很容易理解的。
(产业上的可利用性)
本发明能够用于具有多个已有的控制软件的软件控制软件中。

Claims (20)

1.一种软件部件再利用支援方法,使用:存储了已有设备的规格的规格数据库;存储了已有设备的控制软件中所使用的软件部件以及该软件部件的版本的软件部件数据库;输入装置;和运算装置,以在开发对象的控制软件的制作中支援已有的软件部件的再利用,
在该软件部件再利用支援方法中包括以下步骤:
似然率分析步骤,通过上述运算装置,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述软件部件的每个版本,计算对在上述规格数据库中所存储的所述设备的各规格中上述软件部件的各版本被利用的频率分布进行表示的似然率;
先验概率分析步骤,通过上述运算装置,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述每个软件部件,计算对在上述设备中上述各版本的被利用的频率分布进行表示的先验概率;
规格输入步骤,通过上述输入装置,输入开发对象的设备的规格;
后验概率分析步骤,通过上述运算装置,使用上述开发对象的设备的规格、上述软件部件的各版本的上述设备的规格的似然率和上述每个软件部件的各版本的先验概率,针对上述开发对象的设备的每个规格,计算对上述已有的软件部件的各版本的再利用可能性进行表示的后验概率;以及
软件部件选择步骤,通过上述运算装置,选择上述后验概率高的软件部件的版本作为在上述开发对象的设备的控制软件中能够再利用的软件部件。
2.根据权利要求1所述的软件部件再利用支援方法,其特征在于,
在上述后验概率运算步骤中,当将上述似然率设为P(A|B),将上述先验概率设为P(B),将上述后验概率设为P(B|A),将在所有上述已有的设备中上述开发对象的设备的规格被选择的概率设为P(A)时,通过公式P(B|A)=P(A|B)P(B)/P(A)来计算上述后验概率。
3.根据权利要求1所述的软件部件再利用支援方法,其特征在于,
在上述软件部件选择步骤中,将通过上述后验概率分析步骤计算出的上述后验概率与规定的阈值进行比较,选择具有比该阈值大的后验概率的软件部件的版本作为能够再利用的软件部件。
4.根据权利要求1所述的软件部件再利用支援方法,其特征在于,
该支援方法还具有设定对上述软件部件之间的选择进行约束的逻辑关系的步骤,
在上述软件部件选择步骤中,选择上述后验概率高的软件部件的版本中的、满足上述逻辑关系的版本作为能够再利用的软件部件。
5.根据权利要求4所述的软件部件再利用支援方法,其特征在于,
上述逻辑关系包括下列逻辑关系中的至少一个:排他关系,即,如果选择了两个软件部件的版本中的一个软件部件的版本,则不能选择另一个软件部件的版本;依存关系,即,如果选择了多个软件部件的版本中的一个软件部件的版本,则必须选择其他的确定的软件部件的版本。
6.根据权利要求1所述的软件部件再利用支援方法,其特征在于,
上述设备为发动机控制装置,上述设备的规格为发动机控制装置的规格,上述控制软件为发动机控制软件。
7.一种软件部件再利用支援方法,使用:存储了已有设备的规格的规格数据库;存储了已有设备的控制软件中所使用的软件部件以及该软件部件的版本的软件部件数据库;和计算机,以在开发对象的控制软件的制作中支援已有的软件部件的再利用,
在该软件部件再利用支援方法中包括以下步骤:
似然率分析步骤,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述软件部件的每个版本,计算对在上述规格数据库中所存储的所述设备的各规格中上述软件部件的各版本被利用的频率分布进行表示的似然率;
先验概率分析步骤,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述每个软件部件,计算对在上述设备中上述各版本的被利用的频率分布进行表示的先验概率;
规格输入步骤,输入开发对象的设备的规格;以及
后验概率分析步骤,针对上述开发对象的设备的每个规格,计算对上述已有的软件部件的各版本的再利用可能性进行表示的后验概率,
在上述后验概率分析步骤中,当将上述似然率设为P(A|B),将上述先验概率设为P(B),将上述后验概率设为P(B|A),将在所有上述已有的设备中上述开发对象的设备的规格被选择的概率设为P(A)时,通过公式P(B|A)=P(A|B)P(B)/P(A)来计算上述后验概率。
8.根据权利要求7所述的软件部件再利用支援方法,其特征在于,
该支援方法还具有设定对上述软件部件之间的选择进行约束的逻辑关系的步骤,
在上述软件部件选择步骤中,选择上述后验概率高的软件部件的版本中的、满足上述逻辑关系的版本作为能够再利用的软件部件。
9.根据权利要求8所述的软件部件再利用支援方法,其特征在于,
上述逻辑关系包括下列逻辑关系中的至少一个:排他关系,即,如果选择了两个软件部件的版本中的一个软件部件的版本,则不能选择另一个软件部件的版本;依存关系,即,如果选择了多个软件部件的版本中的一个软件部件的版本,则必须选择其他的确定的软件部件的版本。
10.根据权利要求7所述的软件部件再利用支援方法,其特征在于,
上述设备为发动机控制装置,上述设备的规格为发动机控制装置的规格,上述控制软件为发动机控制软件。
11.一种软件部件再利用支援装置,使用:存储了已有设备的规格的规格数据库;存储了已有设备的控制软件中所使用的软件部件以及该软件部件的版本的软件部件数据库;输入装置;和运算装置,以在开发对象的控制软件的制作中支援已有的软件部件的再利用,
上述软件部件再利用支援装置具有:
似然率分析部,其通过上述运算装置,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述软件部件的每个版本,计算对在上述规格数据库中所存储的所述设备的各规格中上述软件部件的各版本被利用的频率分布进行表示的似然率;
先验概率分析部,其通过上述运算装置,使用上述规格数据库中所存储的上述设备的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述每个软件部件,计算对在上述设备中上述各版本的被利用的频率分布进行表示的先验概率;
规格输入部,其通过上述输入装置,输入开发对象的设备的规格;
后验概率分析部,其通过上述运算装置,使用上述开发对象的设备的规格、上述软件部件的各版本的上述设备的规格的似然率和上述每个软件部件的各版本的先验概率,针对上述开发对象的设备的每个规格,计算对上述已有的软件部件的各版本的再利用可能性进行表示的后验概率;以及
软件部件选择部,其通过上述运算装置,选择上述后验概率高的软件部件的版本作为在上述开发对象的设备的控制软件中能够再利用的软件部件。
12.根据权利要求11所述的软件部件再利用支援装置,其特征在于,
在上述后验概率分析部中,当将上述似然率设为P(A|B),将上述先验概率设为P(B),将上述后验概率设为P(B|A),将在所有上述已有的设备中上述开发对象的设备的规格被选择的概率设为P(A)时,通过公式P(B|A)=P(A|B)P(B)/P(A)来计算上述后验概率。
13.根据权利要求11所述的软件部件再利用支援装置,其特征在于,
上述再利用软件部件搜索装置具有:
逻辑关系数据库,其存储包括下列逻辑关系中的至少一个的逻辑关系:排他关系,即,如果选择了两个软件部件的版本中的一个软件部件的版本,则不能选择另一个软件部件的版本;依存关系,即,如果选择了多个软件部件的版本中的一个软件部件的版本,则必须选择其他的确定的软件部件的版本;和
再利用性判定部,其将满足在上述逻辑关系数据库中所存储的逻辑关系的软件部件中的、具有比规定的阈值大的后验概率的软件部件的版本,判定为上述开发对象的设备的控制软件中的能够再利用的软件部件。
14.根据权利要求11所述的软件部件再利用支援装置,其特征在于,
上述设备为发动机控制装置,上述设备的规格为发动机控制装置的规格,上述控制软件为发动机控制软件。
15.一种软件部件再利用支援装置,使用:存储了已有的发动机控制装置的规格的规格数据库;存储了已有的发动机控制装置的控制软件中所使用的软件部件以及该软件部件的版本的软件部件数据库;和计算机,以在开发对象的发动机控制软件的制作中支援已有的软件部件的再利用,
上述软件部件再利用支援装置具有:
似然率分析部,其使用上述规格数据库中所存储的上述发动机控制装置的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述软件部件的每个版本,计算对在上述规格数据库中所存储的所述发动机控制装置的各规格中上述软件部件的各版本被利用的频率分布进行表示的似然率;
先验概率分析部,其使用上述规格数据库中所存储的上述发动机控制装置的规格和上述软件部件数据库中所存储的上述软件部件以及上述软件部件的版本,针对上述软件部件数据库中所存储的上述每个软件部件,计算对在上述发动机控制装置中上述各版本的被利用的频率分布进行表示的先验概率;
规格输入部,其输入开发对象的发动机控制装置的规格;和
后验概率分析部,其针对上述开发对象的发动机控制装置的每个规格,计算对上述已有的软件部件的各版本的再利用可能性进行表示的后验概率,
在上述后验概率分析部中,当将上述似然率设为P(A|B),将上述先验概率设为P(B),将上述后验概率设为P(B|A),将在所有上述已有的发动机控制装置中上述开发对象的发动机控制装置的规格被选择的概率设为P(A)时,通过公式P(B|A)=P(A|B)P(B)/P(A)来计算上述后验概率。
16.根据权利要求15所述的软件部件再利用支援装置,其特征在于,
上述再利用软件部件搜索装置由计算机构成。
17.根据权利要求15所述的软件部件再利用支援装置,其特征在于,
上述再利用软件部件搜索装置具有:
逻辑关系数据库,其存储包括下列逻辑关系中的至少一个的逻辑关系:排他关系,即,如果选择了两个软件部件的版本中的一个软件部件的版本,则不能选择另一个软件部件的版本;依存关系,即,如果选择了多个软件部件的版本中的一个软件部件的版本,则必须选择其他的确定的软件部件的版本;和
再利用性判定部,其将满足在上述逻辑关系数据库中所存储的逻辑关系的软件部件的版本中的、具有比规定的阈值大的后验概率的软件部件的版本,判定为上述开发对象的发动机控制装置的控制软件中的能够再利用的软件部件。
18.根据权利要求15所述的软件部件再利用支援装置,其特征在于,
在与上述计算机连接的显示装置中显示软件部件选择画面,该软件部件选择画面是用户能够操作的操作画面,在该软件部件选择画面上,针对上述每个软件部件显示版本编号,针对各版本显示上述后验概率。
19.根据权利要求15所述的软件部件再利用支援装置,其特征在于,
该支援装置构成为:在与上述计算机连接的显示装置中显示规格选择画面,该规格选择画面是用户能够操作的操作画面,在该规格选择画面上,按照每个上述规格来显示选项,用户能够变更上述选项。
20.根据权利要求19所述的软件部件再利用支援装置,其特征在于,
在上述规格选择画面上,当用户变更了上述选项时,再次计算上述后验概率,当再计算后的后验概率变得比规定的阈值小时,显示警告。
CN201010165093.5A 2009-04-20 2010-04-19 软件再利用支援方法以及装置 Expired - Fee Related CN101866285B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009102014A JP5236564B2 (ja) 2009-04-20 2009-04-20 ソフトウェア再利用支援方法及び装置
JP2009-102014 2009-04-20

Publications (2)

Publication Number Publication Date
CN101866285A CN101866285A (zh) 2010-10-20
CN101866285B true CN101866285B (zh) 2013-09-25

Family

ID=42563111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010165093.5A Expired - Fee Related CN101866285B (zh) 2009-04-20 2010-04-19 软件再利用支援方法以及装置

Country Status (4)

Country Link
US (1) US8584086B2 (zh)
EP (1) EP2244184B1 (zh)
JP (1) JP5236564B2 (zh)
CN (1) CN101866285B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9704130B2 (en) * 2009-10-26 2017-07-11 International Business Machines Corporation Standard based mapping of industry vertical model to legacy environments
US9111004B2 (en) 2009-12-17 2015-08-18 International Business Machines Corporation Temporal scope translation of meta-models using semantic web technologies
US9026412B2 (en) 2009-12-17 2015-05-05 International Business Machines Corporation Managing and maintaining scope in a service oriented architecture industry model repository
US8938436B2 (en) * 2010-05-10 2015-01-20 Verizon Patent And Licensing Inc. System for and method of providing reusable software service information based on natural language queries
JP5456707B2 (ja) * 2011-02-08 2014-04-02 日本電信電話株式会社 機能情報生成装置、機能情報生成方法及び機能情報生成プログラム
US20130055202A1 (en) * 2011-08-25 2013-02-28 International Business Machines Corporation Identifying components of a bundled software product
EP2608024A1 (en) * 2011-12-22 2013-06-26 Tata Consultancy Services Limited Computing reusability index of software assets
US9405532B1 (en) * 2013-03-06 2016-08-02 NetSuite Inc. Integrated cloud platform translation system
US9207986B2 (en) 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US9760964B2 (en) * 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation
US9348582B2 (en) * 2014-02-13 2016-05-24 Linkedin Corporation Systems and methods for software dependency management
CN104410545A (zh) * 2014-11-27 2015-03-11 北京国双科技有限公司 软件多版本使用率的检测方法、装置及系统
JPWO2016132730A1 (ja) * 2015-02-16 2017-11-30 日本電気株式会社 設計支援装置、設計支援システム、設計支援方法およびコンピュータプログラム
WO2016208073A1 (ja) * 2015-06-26 2016-12-29 株式会社日立製作所 モジュール再利用判定装置、モジュール再利用判定方法、及びモジュール再利用判定プログラム
US9798526B2 (en) 2015-12-22 2017-10-24 Sap Se Software development using multi-domain decision management
US9870207B2 (en) * 2015-12-22 2018-01-16 Sap Se Software development using re-usable software components
US10152694B2 (en) * 2016-09-30 2018-12-11 Sap Se Semi-automatic object reuse across application parts
US9977656B1 (en) * 2017-03-13 2018-05-22 Wipro Limited Systems and methods for providing software components for developing software applications
US10691428B2 (en) * 2018-10-24 2020-06-23 Sap Se Digital compliance platform
US10958532B2 (en) * 2018-11-09 2021-03-23 Servicenow, Inc. Machine learning based discovery of software as a service
CN110769003B (zh) * 2019-11-05 2022-02-22 杭州安恒信息技术股份有限公司 一种网络安全预警的方法、系统、设备及可读存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3554056B2 (ja) 1994-09-19 2004-08-11 株式会社東芝 ソフトウェア仕様再利用支援装置
JPH1063494A (ja) 1996-08-14 1998-03-06 Fuji Electric Co Ltd プログラム部品利用支援システム
WO2001014959A2 (en) * 1999-08-16 2001-03-01 Z-Force Corporation System of reusable software parts and methods of use
US7032219B2 (en) * 2000-02-25 2006-04-18 Wind River Systems, Inc. System and method for implementing a project facility
JP2002278754A (ja) * 2001-03-15 2002-09-27 Toshiba Corp ソフトウェア部品ライブラリ管理システム、その方法およびソフトウェア部品ライブラリ管理プログラム
JP3912278B2 (ja) * 2002-12-20 2007-05-09 株式会社日立製作所 組込みコントローラ及び組込みコントローラ開発ツール
US8676853B2 (en) * 2003-02-27 2014-03-18 Hewlett-Packard Development Company, L.P. System and method for software reuse
GB0410047D0 (en) * 2004-05-05 2004-06-09 Silverdata Ltd An analytical software design system
JP2005332323A (ja) * 2004-05-21 2005-12-02 Denso Corp 管理システム及び情報処理装置
JP4688478B2 (ja) * 2004-11-25 2011-05-25 株式会社日立製作所 ストレージ装置のソフトウェア開発支援システム及びソフトウェア開発支援方法
US20060123415A1 (en) * 2004-12-03 2006-06-08 Dandekar Shree A System for distributing middleware applications on information handling system
US20070083859A1 (en) * 2005-10-12 2007-04-12 Velidom, Inc. Software manufacturing factory
JP4908073B2 (ja) * 2006-06-15 2012-04-04 株式会社日立製作所 サービスベースソフトウェア設計支援方法及びそのための装置
US20080126881A1 (en) * 2006-07-26 2008-05-29 Tilmann Bruckhaus Method and apparatus for using performance parameters to predict a computer system failure
KR100834676B1 (ko) * 2006-08-08 2008-06-02 삼성전자주식회사 소프트웨어 프로젝트 빌드 방법
JP4846483B2 (ja) * 2006-08-09 2011-12-28 株式会社日立ソリューションズ ソフトウェア部品再利用支援システム
CN100495332C (zh) * 2007-12-26 2009-06-03 上海科泰世纪科技有限公司 构件化软件系统中实现构件外壳类构建的方法
JP5128440B2 (ja) * 2008-11-05 2013-01-23 株式会社日立製作所 ソフトウェア分析装置
US8335754B2 (en) * 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure

Also Published As

Publication number Publication date
EP2244184B1 (en) 2016-06-22
US20100269099A1 (en) 2010-10-21
JP5236564B2 (ja) 2013-07-17
EP2244184A2 (en) 2010-10-27
EP2244184A3 (en) 2013-01-09
CN101866285A (zh) 2010-10-20
US8584086B2 (en) 2013-11-12
JP2010250739A (ja) 2010-11-04

Similar Documents

Publication Publication Date Title
CN101866285B (zh) 软件再利用支援方法以及装置
KR101335912B1 (ko) 테스트 통합 관리 시스템 및 방법
US20080052299A1 (en) Reverse engineering support system
CN105446874A (zh) 一种资源配置文件的检测方法和装置
CN103914507A (zh) 文件管理装置以及文件管理方法
WO2011133162A1 (en) Updating a user interface
JP2007011604A (ja) 不具合診断システム及びプログラム
WO2016157950A1 (ja) 統計モデル作成装置、統計モデル作成方法及び統計モデル作成プログラム
JP7278324B2 (ja) 電子地図の地図検索のテスト方法、装置、記憶媒体、及びプログラム
CN109240936A (zh) 应用程序的兼容性测试方法、终端设备及介质
CN103455417A (zh) 一种基于马尔可夫模型的软件错误定位系统及错误定位方法
CN103914508A (zh) 文件管理装置以及文件管理方法
US10467530B2 (en) Searching text via function learning
CN110879871B (zh) 页面菜单的配置方法及装置
US20090144335A1 (en) Self learning to support navigation to correct an inconsistent property
JP2007025798A (ja) 言語知識構築支援プログラム及び方法
CN111782527A (zh) 接口测试方法、装置、计算机设备及存储介质
JP2008117280A (ja) ソフトウェアソースコードの検索方法及びシステム
CN110706772A (zh) 一种排序方法及装置、电子设备、存储介质
US20240232455A1 (en) Method and system for automatically suggesting an engineering tool
KR102549006B1 (ko) 사용자 행동 기반 질의 벡터 자동 보정을 활용한 기업 검색 시스템 및 그 방법
US11334838B2 (en) Business model generation support method and business model generation support device
US20180129481A1 (en) Method and computer for determining selection connection structures in a graphics computer program
JP2022096311A (ja) 情報処理装置、情報処理方法およびプログラム
CN118296001A (zh) 数据查询方法、装置、计算机设备、存储介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130925