专利名称:软件构建支持系统的制作方法
技术领域:
本发明一般涉及一种用于支持软件程序构建的软件构建支持系统。更确切地,本发明涉及一种通过将多个软件构件及一个包括多个软件构件的组合的复合构件连接在一起从而支持软件程序构建的系统,方法及程序。
背景技术:
传统地,作为这种类型的软件构建支持系统,为人所知的是通过图形用户界面来定义软件程序结构的CASE(计算机辅助软件工程)工具。
在这种CASE工具中,一个待构建的软件程序中的每个处理部分(软件构件)通常被表示为一个图标,这样这些图标可以被用线连接起来以定义该软件程序的结构(多个软件构件间的处理流程)。
如上所述,在传统CASE工具中,是可以通过图形表示,即图标间的线连接关系来定义软件程序的结构的。因此可以用一种为人易于接受的形式来实施构建软件程序的操作,并且也就可能相对简单地来管理软件程序的构建。
但是,在上面所述的传统CASE工具中,如果待构建的软件程序的规模增大到使得结构变得复杂时,图形表示不可避免地也非常复杂,这样就会出现一个问题,即由于规模不断累积会难于把握整个软件程序的结构。另外,如果难于把握软件程序的结构,另一个会出现的问题就是难于管理和重用以这种方式构建的软件程序。
发明内容
因此本发明的一个目的是消除前面所提到的问题并提供一种不管软件程序的规模如何都能有效地构建,管理和重用待构建的软件程序及包含多个软件构件的复合构件的软件构建支持系统,方法和程序。
为了实现前面提到的及其他目的,根据本发明的第一个方面,将提供一种通过连接多个软件构件来建立软件程序的软件构建支持系统。该系统包括一个接收外部指令的接口部件;及一个复合构件设置部件,它将根据通过接口部件获得的指令来设置作为一个单一复合构件而相互关联的多个软件构件。
在根据本发明第一个方面的软件构建支持系统中,复合构件设置部件最好包含一个用来设置该复合构件端子的端子设置部件,该端子将由该复合构件用来同另一个外部构件通信。另外,该复合构件设置部件最好包含一个用于设置该复合构件的内在特征的属性设置部件。另外,该接口部件最好能适于在一个工具屏幕上将多个软件构件作为图标来进行显示并接收来自外部的对图标操作的指令。
根据本发明的第二个方面,将提供一种通过连接多个软件构件来建立软件程序的软件构建支持方法。该方法包括的步骤有根据从外部接收到的指令准备多个相关联的软件构件;并根据从外部接收到的指令来设置作为一个单一复合构件而相互关联的多个软件构件。
根据本发明的第三个方面,将提供一种存储有软件构建支持程序的计算机可读取记录介质,该软件构建支持程序通过连接多个软件构件来建立软件程序。该软件构建支持程序使计算机执行的步骤有根据从外部接收到的指令准备多个相关联的软件构件;并根据从外部接收到的指令来设置作为一个单一复合构件而相互关联的多个软件构件。
根据本发明的第四个方面,将提供一种存储有复合构件的计算机可读取记录介质,该复合构件包含多个相互关联的软件构件的组合,包括一个用于设置同另一个外部构件进行通信的端子的端子设置部件;一个用于描述多个软件构件间的处理流程的处理描述部件;及一个存储用来表示多个软件构件的内在特征的属性值的属性值存储部件。
通过下面有关本发明的详细描述及本发明优选实施例的附图,可以更充分地理解本发明。但是,这些图例只是为了解释及理解本发明,并不意味着本发明局限于某一特定的实施例。
图1是一个功能方框图,示出了根据本发明的一个软件构建支持系统的一个优选实施例;图2示出了在使用图1所示的软件构建支持系统时的用户界面(工具屏幕);图3示出了由图1所示的软件构建支持系统构建的一个复合构件的结构;图4示出了由图3所示的复合构件的一个具体例子;图5示出了对应于图4中的复合构件结构的程序结构信息(XML文件);图6示出了当图4及图5所示的复合构件被集成到另一个程序中时所使用的程序结构信息(XML文件);及图7是一个硬件方框图,示出了适用本发明的软件构建支持系统的一个计算机系统的例子。
具体实施例方式
下面将参照所附图例对本发明的一个优选实施例进行描述。
软件构建支持系统图1示出了根据本发明的一个软件构建支持系统的一个优选实施例。如图1所示,一个软件构建支持系统1被用于通过连接多个软件构件来建立一个复合程序(软件程序)。该软件构建支持系统1包括一个用于支持复合程序设计的程序设计部件10,以将结果作为程序结构信息20进行输出,一个源代码生成部件17,用于根据来自程序设计部件10的输出程序结构信息20来为该复合程序生成源代码21。注意程序结构信息20是用XML语言描述的。
程序设计部件10包括一个用于接收来自外部指令的图形用户接口部件11,一个根据由图形用户接口部件11接收到的指令来定义该复合程序结构的线连接设置部件12,及一个复合构件设置部件13,它将根据通过用户接口部件11获得的指令来设置作为一个单一复合构件而相互关联的多个软件构件。
图形用户界面11在引用构件定义信息16中的软建构件定义信息时可以在一个工具屏幕(见图2中的参考标记30)上将多个软件构件作为图标来进行显示,并接收来自外部的对图标操作(鼠标操作等)的指令。
构件线连接部件12根据对工具屏幕上图标的组合操作来定义复合程序的结构(多个软件构件间的处理流程),并通过图形用户接口部件11输出所得到的结果,例如关于软件构件的集成信息及软件构件间的关联信息。注意任何现有的不同线连接工具(树形结构编辑器,有向直接图形结构编辑器(directed graph structure editor)等)都可以用作构件线连接部件12。
复合构件设置部件13将对作为一个单一复合构件通过线连接部件12而相互关联的多个软件构件进行设置。该复合构件设置部件13包括一个用于设置该复合构件同另一个外部构件进行通信的端子的端子设置部件14,及一个用于设置该复合构件的内在特征(属性)的属性设置部件15。
下面将参照图1和2对前面所提到的软件构建支持系统1的操作进行描述。
在图1所示的软件构建支持系统1中,程序设计部件10的图形用户接口部件11在工具屏幕上将多个软件构件(一个用于实现单一过程的基本构件,和一个用于实现相互关联的集成过程的复合构件)作为图标进行显示,并从外部接收对这些图标进行不同操作的指令。
图2示出了这样一个工具屏幕的例子。在图2所示的工具屏幕上,用户可以使用输入单元,如鼠标来对图标进行不同的操作。
特别地,用户可以从一个基本构件板32或一个复合构件板33中的图标中选择一个想要的图标,并对所选中的图标执行一个预定义的操作(拖动及放下或类似操作)来将图标放在一个编辑区31(见图2中的A)。另外,编辑区31中的图标相互用线连接起来以连接多个基本构件和一个复合构件(见图2中B)。
如果执行了一个用于将相互关联的多个软件构件(多个基本构件和复合构件)连接在一起的操作,这些软件构件将作为一个单一复合构件来进行设置。所以该复合构件上用于该复合构件同另一个外部构件进行通信的端子将被设置,而且与该复合构件相关的该复合构件的内在特征也将被设置。
特别地,在端子板34中排列的图标中用于输入端子的图标将被选中,并执行一个预定义的操作(拖动及放下或类似操作),从而将所选中的图标放入编辑区31(见图2中的C)。另外,在端子板34中排列的图标中用于输出端子的图标将被选中,并执行一个预定义的操作(拖动及放下或类似操作),从而将所选中的图标放入编辑区31(见图2中的D)。
另外,在编辑区31执行一个预定义的操作(弹出一个对话框或类似操作),并且在编辑板中排列的表示多个基本构件和复合构件的内在特征的属性值将在相应所弹出的对话框中输入(未示出)。
这样,相互关联的多个基本构件和复合构件可以作为一个单一复合构件来进行设置。进而,这样设置的复合构件可以作为一个新的复合构件在复合构件板33中进行注册(见图2中的E)。这样一个新注册的复合构件可以在一个软件程序或另一个复合构件被构建时作为一个软件构件得到再次利用。
复合构件下面将描述按这种方式设置的复合构件的细节。
图3大体示出了一个复合构件的结构。如图3所示,一个复合构件41包含一个相互关联的多个软件构件的组合。被连接的软件构件可以是由软件构建支持系统预先准备的基本构件44a,也可以是如上所述通过连接多个基本构件44a而得到的复合构件44b。
如图3所示,复合构件41包括一个输入端的外部端子部件42,其中设置了一个用于同另一个外部构件进行通信的输入端子42a,一个输出端的外部端子部件43,其中设置了一个用于同另一个外部构件进行通信的输出端子43a,一个处理描述部件44,其中描述了多个软件构件44a和44b间的处理流程,以及一个存储用来表示多个软件构件44a和44b的内在特征的属性值45a的属性值存储部件45。
输入端的外部端子部件42是一个用于接收从其他外部构件输入的一系列数据的部件,并带有一个所想要的输入端子42a的数目。输出端的外部端子部件43是一个用于将一系列数据输出到其他外部构件的部件,并带有一个所想要的输出端子43a的数目。处理描述构件44被设计用来描述复合构件41内的处理流程,并用多个软件构件44a和44b的组合来进行表示。属性值存储部件45是一个用于存储表示复合构件41的内在特征的属性值45a的变量。在属性值存储部件45中,存储了对复合构件操作所需的设置值。
如果一系列数据被输入到这样一个复合构件41的输入端的外部端子部件42的输入端子42a中,这些数据按在处理描述部件44中描述的处理流程被传送到多个软件构件44a和44b。
在处理描述部件44中软件构件44a和44b中的每一个都会执行一个操作,该操作根据通过输入端子42a输入的数据,在参照其自己的属性值和存储在属性值存储部件45中的属性值45a时由相应的软件构件44a和44b中的一个来决定。进而,如果复合构件44b如图3中的复合构件41进行排列并且如果处理流到达复合构件44b,数据被输入到该复合构件44b中的输入端的外部端子部件并且相同处理在构件44b中被循环执行。
之后,处理描述部件的处理结果被输出到输出端的外部端子部件43中相应的一个输入端子43a。
进而,这样准备的复合构件41可以通过连接输入端外部端子部件42的输入端子42a和输出端43的输出端子43a同软件构件连接起来。在这种情况下,输入端子42a输出端子43a是连往其他外部构件的端子的联系方(接口),并且在属性值存储部件45中的每个属性值45a是整个复合构件的属性。另外,这样准备的复合构件41可以作为一个复合构件44b在其自己的处理描述部件44中以无限循环方式来进行重用。
(例子)图4到6用于解释复合构件41的一个例子。
如图4所示,一个复合构件(复合程序A)51包含一个用于同另一个外部程序(外部构件)60通信的输入端子(输入端外部端子部件)56,处理流程所描述的多个软件构件(一个事务构件52,一个用户处理构件53,一个数据库存储构件54和一个cutform输出构件55),及用于存储表示软件构件(图4中的数据库存储构件54和cutform输出构件55)的内在特征的属性值的变量(属性值存储部件)57和58。例如,属性值包括头信息,页长(一页上的行数)及当复合构件51的cutform输出构件55操作时所需的cutform的边缘尺寸。进而,存储在变量57和58中的属性值可以由外部程序61来进行设置和修改。另外,由于数据库存储构件54和cutform输出构件55具有分别直接输出数据到关系数据库(RDB)62和打印机63的功能,因此图4中所示的复合构件51不带有输出端子。
进而,具有这种结构的复合构件51将作为图5中所示的程序结构信息71进行输出。如图5所示,由于程序结构信息71是用XML语言描述的,因此可以以一种独立的方式来定义一个复合构件的结构。特别地,在图5中的项<interface>…<interface>中,对外部端子部件(项<terminal…/>)的说明信息和属性值存储部件(项<property…/>)进行了描述。在项<implementation>…<implementation/>中,复合构件的结构由软件构件的集成信息(<component…/>),软件构件间的关联信息(<connection…/>)等进行了描述。
另外,这样设置后的复合构件51作为一个软件构件被集成到另一个程序中。图6示出了当图4中的复合构件51被集成到另一个程序中时的程序结构信息。如果如图6所示复合构件51被集成到另一个程序中,在属性值存储部件中声明的一个特征(项<property…/>)将作为该复合构件的一个属性进行赋值,并且在外部端子部件中声明的一个输入端子(项<terminal…/>)将作为该复合构件的接口进行赋值。进而,如图6所示,程序结构信息72也是由XML语言描述的。
这样,根据本优选实施例,由于根据从外部接收到的指令多个相互关联的软件构件可以作为一个单一复合构件进行设置,因此就可以使一个软件程序在想要的级别上成为构件,这样就可以有效地构建,管理和重用一个较大的软件程序。特别地,即使待构建的软件程序的规模增长到使结构变得复杂的程度,因为它依然可以变得简单,因此也可以使用图形表示,并且也可以容易地把握整个软件程序的结构。另外,因为按这样构建的软件程序可以作为一个软件构件(复合构件)来进行使用,因此可以提高重用性。特别地,可以以一种无限循环的方式来连接多个软件构件,这样就可以进一步地提高重用性。此外,本优选实施例可以被容易地应用到现有的CASE工具(例如,线连接装配类型)或类似工具中,这样就可以通过一种通用及一致的技术来建立软件程序。
另外,根据本优选实施例,该复合构件上用于该复合构件同另一个外部构件之间进行通信的端子将被设置,而且与该复合构件相关的该复合构件的内在特征也将被设置,这样就可以根据面向对象的概念系统地组建一个构件。
进而,在上面所述的优选实施例中,多个相互关联的软件构件(基本构件和复合构件)通过程序设计部件10的线连接设置部件12而连接在一起,这样复合构件设置部件13将对以这种方式连接的复合构件进行设置。但是,本发明不应该局限于此,在一定的范围或类似概念内通过对所要的软件构件进行设置可以从现有软件程序中抽取得到多个软件构件(基本构件和复合构件)。
在上述优选实施例中提到程序结构信息20(程序结构信息71,72)用XML语言进行描述,但本发明不应该局限于此,程序结构信息20可以用一种想使用的语言进行描述。
在上述优选实施例中,程序设计部件10和源代码生成部件17都可以作为在图7所示的计算机系统80上运行的一个程序模块进行实现。软件构件(包括复合构件)可以作为在图7所示的计算机系统80上运行的一个程序模块进行实现。计算机系统80包括一条总线88,一个处理器81,一个存储器82及一个同总线88相连的硬盘83;及外部设备(一个输入单元54,如键盘及鼠标,一个输出单元85,如显示器或打印机,一个软盘驱动器86及一个CD-ROM启动器87)。上述程序模块可以存储在一个计算机可读取记录介质上,如存储器,硬盘83,灵活磁盘(flexible disk)89或CD-ROM 90,并且可以被处理器81读取来执行以实现上述功能或步骤。
通过优选实施例所揭示的本发明目的在于容易地更好地理解本发明,在不偏离本发明原理的前提下以多种方式来实现本发明将是可以理解的。因此应该可以理解,在不偏离所附权利声明中提出的本发明原理的前提下,本发明包括所有可能的实施例及在所示实施例上的修改。
权利要求
1.一种通过连接多个软件构件来构建软件程序的软件构建支持系统,所述系统包括一个从外部接收指令的接口部件;及一个复合构件设置部件,它将根据通过所述接口部件获得的指令来设置作为一个单一复合构件而相互关联的多个软件构件。
2.根据权利要求1的系统,其中所述复合构件设置部件包含一个用来设置复合构件端子的端子设置部件,该端子将由该复合构件用来同另一个外部构件通信。
3.根据权利要求1的系统,其中所述复合构件设置部件包含一个用于设置该复合构件的内在特征的属性设置部件。
4.根据权利要求1的系统,其中所述接口部件用来在一个工具屏幕上将多个软件构件作为图标来进行显示并接收来自外部的对图标操作的指令。
5.一种通过连接多个软件构件来构建软件程序的软件构建支持方法,所述方法的步骤包括根据从外部接收到的指令准备多个相关联的软件构件;并根据从外部接收到的指令来设置作为一个单一复合构件而相互关联的所述多个软件构件。
6.根据权利要求5的方法,进而包括对该复合构件的端子进行设置的步骤,该端子用于该复合构件同另一个外部构件进行通信。
7.根据权利要求5的方法,进而包括根据从外部接收到的指令对该复合构件的内在特征进行设置的步骤。
8.一种存储有软件构建支持程序的计算机可读取记录介质,该软件构建支持程序通过组合多个软件构件来构建软件程序,所述程序使计算机执行如下过程根据从外部接收到的指令准备多个相关联的软件构件;并根据从外部接收到的指令来设置作为一个单一复合构件的所述多个软件构件。
9.根据权利要求8的记录介质,其中所述程序进而使计算机执行对该复合构件的端子进行设置的步骤,该端子用于该复合构件根据从外部接收到的指令同另一个外部构件进行通信。
10.根据权利要求8的记录介质,其中所述程序进而使计算机执行根据从外部接收到的指令对该复合构件的内在特征进行设置的步骤。
11.一种存储有一个复合构件的计算机可读取记录介质,所述复合构件包含多个相互关联的软件构件的组合,包括一个用于设置同另一个外部构件进行通信的端子的端子设置部件;一个用于描述多个软件构件间的处理流程的处理描述部件;及一个存储用来表示多个软件构件的内在特征的属性值的属性值存储部件。
全文摘要
本发明提供一种能够有效地构建,管理和重用软件程序的软件构建支持系统。该软件构建支持系统1包括一个用于支持复合程序设计的程序设计部件10,以将结果作为程序结构信息(XML)20进行输出。程序设计部件10包括一个根据由图形用户接口部件11接收到的指令来定义该复合程序结构的线连接设置部件12,及一个复合构件设置部件13,它用来设置作为一个单一复合构件而相互关联的多个软件构件。复合构件设置部件13包括一个用于设置该复合构件同另一个外部构件进行通信的端子的端子设置部件14,及一个用于设置该复合构件的内在特征的属性设置部件15。
文档编号G06F17/50GK1369814SQ02103398
公开日2002年9月18日 申请日期2002年1月31日 优先权日2001年1月31日
发明者渡濑慎一郎, 金地克之, 野村圭佑 申请人:株式会社东芝