程序·设计文件的生成装置的制作方法

文档序号:6578452阅读:135来源:国知局

专利名称::程序·设计文件的生成装置的制作方法
技术领域
:本发明涉及用于生成程序(program)或其设计文件的程序.设计文件的生成装置。技术背景在生成程序或其设计文件的应用(application)开发的领域中,从减轻开发者的负担的观点出发,例如提出了程序生成装置(例如参照特开2004-318260号公报(第10段,图8-图ll,图46,第283-286段,第292段等)以及2005-228235号公报(第24段,图1等))。在特开2004-318260号公报(以下称文献l)中,公开了通过输入通过业务规格描述部和物理规格描述部构成的、详细的物理规格,生成程序的技术。另夕卜,在文献1中,公开了在没有物理规格的输入的阶段,仅生成"画面程序,,,在显示画面确认后,输入物理规格的技术。另一方面,在2005-228235号公报(以下称文献2)中,公开了通过从设计信息存储单元耳又得业务用语,从业务用语存储单元抽出与业务用语对应的识别符,通过把它们嵌入在模板(template)存储单元中保存的模板中来生成特定业务的程序的技术。但是,文献l、2中公开的技术,通常虽然没有特别的问题,但是通过本发明人的研究,在以下几点有改善的余地。文献1中公开的技术,输入详细的物理规格容易引起应用开发的生产率降低,这点有改善的余地。文献2中公开的技术,能够使用一组模板生成特定业务的程序,其反面是,因为不能够灵活使用多组模板,所以不能灵活地变更.追加希望生成的程序的规格,这点有改善的余地。-另外,文献l、2中公开的技术,虽然能够生成程序,^f旦是不能生成该程序的设计文件,这点有改善的余地。
发明内容,本发明的目的是提供一种程序设计文件的生成装置,其能够生成程序及设计文件,能够灵活地设定生成对象的规格,能够提高应用开发的生产率。本发明的一个方面(aspect),是程序.设计文件的生成装置,其用于分别生成构成应用程序(applicationprogram)的多个程序、和所述各程序的设计文件,具有下述单元元模型存储单元,用于存储下述的元模型(metamodel)信息,该元模型信息包含根目录定义信息,其对于每一个表(table),包含表示所述应用程序的程序ID、所述应用程序的程序包(package)名以及表示所述表的表ID地定义了表示程序生成目的地的第一根目录(rootdirectory)值、而且对于每一所述应用程序,包含所述程序ID地定义了表示程序生成目的地的第二根目录值;抽象模板文件(templatefile)定义信息,其对于每一个表,定义了与生成的各程序对应的第一模板特定键(key)、而且对于所述应用程序的每一模式(pattern)特定信息,定义了与生成的各程序对应的第二模板特定键;具体模板文件定义信息,其对于每一所述模板特定键定义了各程序以及设计文件的具体模板文件;和相对路径定义信息,其对于每一所述模板特定键,包含表ID地定义了程序生成目的地的相对路径(path);模板存储单元,其存储通过所述具体模板文件定义信息定义的具体模板文件;设计信息输入单元,其输入包含程序ID、程序包名、模式特定信息、表ID的设计信息;模型信息输出单元,其把所述设计信息变换为不依赖于所述各程序的具体的规格的抽象形式的模型(model)信息后输出;设计文件生成单元,其根据所述模型信息内的表'ID、所述相对路径定义信息、所述设计文件的具体模板,生成包含一览显示在所述相对路径定义信息中组合该表ID的文件(file)名的一览表的设计文件,把该设计文件写入所述设计丈件存储单元;根据所述模型信息内的表ID以及模式特定信息、所述元模型信息内的抽象模板文件定义信息以及具体模板文件定义信息,决定所述模板存储单元内的具体模板文件的单元;和程序生成单元,其根据所述模型信息内的表ID以及所述相对路径定义信息生成各程序的文件名,通过把该文件名作为所述决定的具体才莫板文件的文件名生成各程序,根据所述根目录定义信息以及所述相对路径定义信息把该各程序写入所述程序存储单元。另外作为本发明的一个方面,作为装置表现,但是不限于此,也可以用方法、程序、存储程序的计算机可读取的存储介质等这样的其他类别表现。根据本发明的一个方面,当输入包含程序ID、程序包名、模式特定信息、表ID的设计信息时,把设计信息变换为不依赖于各程序的具体的规格的抽象形式的模型信息后输出。根据该模型信息内的表ID、相对路径定义信息、和设计文件的具体模板,生成包含一览显示在相对路径定义信息中組合了该表ID的文件名的一览表的设计文件,把该设计文件写入设计文件存储单元。另外,根据模型信息内的表ID以及模式特定信息、和元模型信息内的抽象模板文件定义信息以及具体模板文件定义信息,决定模板存储单元内的具体模板文件。根据模型信息内的表ID以及相对路径定义信息生成各程序的文件名。通过把该文件名作为具体模板文件的文件名生成各程序,在程序存储单元中写入该各程序。因此,在本发明的一个方面中,与现有方式不同,因为不输入详细的物理规格而能够生成程序以及设计文件,所以能够提高应用开发的生产率。另夕卜,因为根据模式特定信息决定具体模板文件,所以与现有方式不同,能够灵活地设定生成对象的规格。图1是表示本发明的第一实施方式的程序.设计文件的生成装置及其外围结构的概念图。图2是表示该实施方式中的根目录定义信息的一例的概念图。图3是表示该实施方式中的根目录定义信息的一例的概念图。图4'是表示该实施方式中的抽象模板文件定义信息的一例的概念图。图5是表示该实施方式中的抽象模板文件定义信息的一例的概念图。图6是表示该实施方式中的抽象模板文件定义信息的一例的概念图。图7是表示该实施方式中的具体模板文件定义信息的一例的概念图。图8是表示该实施方式中的相对路径定义信息的一例的概念图。图9是表示该实施方式中的复制(copy)对象文件定义信息的一例的概念图。图IO是表示该实施方式中的复制源文件定义信息的一例的概念图。图11是表示该实施方式中的复制目的地文件定义信息的一例的概念图。图12是表示该实施方式中的模型信息的一例的概念图。图13是表示该实施方式中的模型信息的一例的概念图。图14是表示该实施方式中的设计信息的规格的一例的概念图。图15是表示该实施方式中的工具(tool)信息输入画面的一例的概念图。图16是表示该实施方式中的应用信息输入画面的一例的^f既念图。图17是表示该实施方式中的应用模式(applicationpattern)信息输入画面的一例的概念图。图18是表示该实施方式中的表信息输入画面的一例的概念图。图19是用于i兌明该实施方式中的动作的顺序(s叫uence)图。图20是用于说明该实施方式中的动作的顺序图。图21是用于说明该实施方式中的动作的流程图(flowchart)。具体实施方式以下使用本发明的实施方式。另外,在以下的实施方式中举例说明Java(注册商标)程序,但是不限于此,可以生成任意的程序。另外,以下的程序.设计文件的生成装置用硬件结构、或者硬件资源和软件(software)的组合结构都可以实施。作为组合结构的软件,可以使用预先从网络(network)或者存储介质安装(install)的、用于使实现程序.设计文件的生成装置的功能的程序。(第一实施方式)图1是表示本发明的第一实施方式的程序.设计文件的生成装置及其外围结构的概念图。该程序.设计文件的生成装置100,可通过网络400与使用者终端200以及数据库装置300通信。这里,程序.设计文件的生成装置100,具有元模型(metamodel)存储部101、模板(template)存储部102、库(library)存储部103、模型(model)信息存储部104、设计文件存储部105、程序存储部106、全体控制部107、设计信息输入部108、验证部109、模型信息输出部110、设计文件生成部111以及程序生成部112。这里,元才莫型存储部101,是由全体控制部107可读出/写入、且由程序生成部112可读出的存储装置。元模型存储部101,预先写入作为根目录(rootdirectory)定义信息101a、抽象才莫^反文件(templatefile)定义信息101b、具体模板文件定义信息101c、相对路径(path)定义信息101d、复制(copy)对象文件(file)定义信息101e、复制源文件定义信息101f以及复制目的地文件定义信息101g的元模型信息。另外,使用各定义信息101a101g的生成处理,除不通过后述的模式特定信息(pattern)d7选择的模式的情况外,基本上依次执行图2~图11的中表示的各行的每一行。因此,使用各定义信息101a~101g的生成处理,对于一点点设计信息,能够生成大量的成果物(程序及设计文件)。根目录定义信息101a,如图2以及图3所示,对于每张表(table),是包含表示应用程序(application)的程序ID、应用程序的程序包(package)名以及表示表的表ID地定义了表示程序生成目的地的第一根目录值的信息;对于每一应用程序,是包含程序ID地定义了表示程序生成目的地的第二根目录值的信息;对于复制文件对象的每一种类,是定义复制目的地的第三根目录值的信息。抽象模板文件定义信息101b,如图4、图5以及图6所示,是对于每一张表定义了与生成的各程序对应的第一模板特定键(key)、而且对于应用程序的每一模式特定信息定义了与生成的各程序对应的第二模板特定键的信息。具体模板文件定义信息101c,如图7所示,是对于每一模板特定键定义了各程序以及设计文件的具体模板文件的信息。相对路径定义信息101d,如图8所示,是对于每一模板特定键包含表ID地定义了程序生成目的地的相对路径的信息。复制对象文件定义信息101e,如图9所示,是对于复制对象文件的每一种类定义了复制源文件名的信息。了复制源文件的存储位置的信息。复制目的地文件定义信息101g,如图11所示,是对于每一复制源文件名定义了复制目的地文件名的信息。模板存储部102,是由全体控制部107可读出/写入、由设计文件生成部111以及程序生成部112可读出的存储装置。才莫板存储部102,预先写入通过具体模板文件定义信息定义的具体模板文件。这里,具体模板文件,由与应用程序的模式特定信息对应的、程序的每一种类(定型(stereotype))的程序模板文件102a、102c以及设计文件的每一种类的设计文件模板文件102b、102d,和共同的程序模板文件(programtemplatefile)102e以及设计文件模板文件102f组成。库存储部103,是由全体控制部107可读出/写入、由程序生成部112可读出的存储装置。库存储部103,预先写入使用库103a。这里,使用库103a,是在编译(compile)和执行生成的程序时参照的已有的库。例如,使用库103a,是用于在规定的定型中规定应用的结构的框架(framework)的库、或者日志(log)等通用的处理的组件(component)的库。总之是使生成的程序的源代码(sourcecode)的冗余性减少的库。模型信息存储部104,是由全体控制部107以及模型信息输出部110可读出/写入、由设计文件生成部111以及程序生成部112可读出的存储装置。模型信息存储部104,存储从模型信息输出部110输出的模型信息104a。模型信息104a,如图12以及图13所示,是以不依赖生成的各程序的具体的规格的抽象的形式表现设计信息的数据(data)。作为模型信息104a的形式,例如可以使用XML(ExtensibleMarkupLanguage)形式。该模型信息104a,作为中间形态,被用于设计文件生成和程序生成。设计文件存储部105,是由全体控制部107以及设计文件生成部111可读出/写入的存储装置。设计文件存储部105,存储通过设计文件生成部111生成的设计文件105a。设计文件105a,是通过设计文件生成部111生成的设计文件,是程序106a的设计文件。在设计文件中,例如有(a)画面一览表、(b)画面项定义表、(c)表一览表、(d)表项定义表、(e)表示类(class)(或者程序)的静态信息的一览表、或者图表(diagram)、(f)表示类的相互作用的一览表、或者图表的种类。程序存储部106,是由全体控制部107以及程序生成部112可读出/写入的存储装置。程序存储部106,存储通过程序生成部112生成的各程序106a。程序106a是通过程序生成部112生成的程序。仅通过4巴生成的程序106a在适当的测试(test)动作环境下保存,即使使用者不进行任何追加的安装,也能动作。全体控制部107,具有控制各部108~112以侵i丸行在后述的图19、图20以及图21中表示的动作的功能。例如,全体控制部107具有向设计信息输入部108指示设计信息的验证和模型信息的输出,向设计文件生成部111指示设计文件的生成,向程序生成部112指示程序的生成的功能。设计信息输入部108,具有以下的各功能(fl08-l)以及(fl08-2)。(fl08-l)是向使用者终端200提供用于从使用者终端200输入设计信息的用户界面(userinterface)、临时存储从使用者终端200输入的设计信息的功月匕。(fl08-2)是向验证部109输出设计信息和验证指示的功能、和在从验证部109接收到的验证结果无错误(error)(验证成功)时向模型信息输出部111输出设计信息的功能。将设计信息,如图14中表示规格的一例,输入到诸如程序的生成目的地目录(directory)dl、日志文件(logfile)用目录d2、程序IDd3、程序名称d4、程序包名d5、数据库(database)连接信息d6、应用程序的模式特定信息d7、选项(option)的键和值d8、表IDd9、表名d10、列(column)IDdll、列名称d12、列的类型d13、列的位数.定位数d14、FK属牲d15、NotNull属性dl6、画面显示属性d17等的每一项。这里,除任意的信息dl、d2、d4或者关于名称的信息d3、d5以外的实质的设计信息,仅是数据库连接信息d6、表设计信息d9~d17、以及与生成的应用的冲莫式对应的少数的参数(parameter)信息d7、d8。亦即,设计信息和现有的不同,不含物理规格。另外,设计信息也可以改读为规格信息。作为用于输入设计信息的用户界面,例如如图15、图16、图17以及图18所示,具有用于在使用者终端200上显示工具信息输入画面G10、应用信10息输入画面G20、应用模式信息输入画面G30、表信息输入画面G40的画面数据。但是,通过各画面的设计信息的输入(用户界面的提供),不是必须,也可以省略。设计信息输入部108,因为只要从使用者终端200输入设计信息即可,所以例如也可以变形为从使用者终端2004姿收记述设计信息的Excel(注册商标)等的文件的结构。验证部109具有以下的各功能(fl09-l)以及(fl09-2)。(fl09-l)是对于从,没计信息输入部108接收到的设计信息,根据图14中表示的必须或者任意的设定,验证有无输入不足或者矛盾的功能。(fl09-2)是向设计信息输入部108输出验证结果的功能。模型信息输出部110,具有把从设计信息输入部108接收到的设计信息,变换成不依赖各程序的具体的规格的抽象的形式的模型信息1.04a后输出,把该模型信息104a向模型信息存储部104写入的功能。设计文件生成部111具有以下的各功能(flll-l)以及(flll-2)。(flll-l)是根据模型信息存储部104内的模型信息104a内的表IDd9、元模型信息存储部101内的相对路径定义信息101d、和模板存储部102内的设计文件的具体模板,生成包含一览显示在相对路径定义信息101d上组合了该表IDd9的文件名的一览表的设计文件105a的功能。(flll-2)是向设计文件存储部105写入该设计文件105a的功能。作为补充,设计文件生成部111,从在模型信息104a内包含的模式特定信息d7和元模型存储部101的数据,决定模板存储部102内的设计文件模板中的适当的模板,使该模板对模型信息104a起作用生成设计文件105a。亦即,设计文件生成部111,通过一边参照元模型一边在模板中应用模型信息104a,从很少的设计信息自动生成希望的规格的应用的设计文件105a。程序生成部112具有以下的各功能(fll2-l)以及(fU2-2)。(fll2-l)是根据模型信息存储部104内的模型信息104a内的表IDd9以及模式特定信息d7、元模型存储部101内的元模型信息内的抽象模板文件定义信息101b以及具体模板文件定义信息101c,决定模板存储部102内的具体模板文件的功能。(f!12-2)是根据模型信息104a内的表IDd9以及相对路径定义信息101d生成各程序的文件名,通过^fe该文件名作为上述决定的具体一莫4反文件的文件名生成各程序106a,根据根目录定义信息101a以及相对路径定义信息101d,把该程序106a写入程序存储部106的功能。具有把通过元模型存储部101内的复制对象文件定义信息101e以及复制源文件定义信息101f定义的复制源文件,根据根目录定义信息101a以及复制目的地文件定义信息101g复制到库存储部103a的功能。作为补充,程序生成部112,从在模型信息104a内包含的模式特定信息和元模型存储部101的数据,决定模板存储部102内的程序模板中的适当的才莫板,使该模板对模型信息104a起作用生成程序106a。亦即,程序生成部112,通过一边参照元模型一边在模板中应用模型信息,从很少的设计信息自动生成希望的规格的应用的程序106a。使用者终端200是通常的计算机终端,例如具有以下的各功能(f200-l)~(麵-3)。(f200-l)是通过使用者的操作起动程序.设计文件的生成装置100的全体控制部107的功能。(f200-2)是显示基于从设计信息输入部108接收到的各画面数据的各画面G10~G40的功能。(f200-3)是通过使用者的操作向各画面G10G40输入设计信息指示生成执行的功能。数据库装置300是可通过设计信息或者模型信息104a内的数据库连接信息d6连接的数据库服务器(databaseserver)。数据库装置300例如在执行通过程序设计文件的生成装置100的程序106a时进行连接。数据卑装置300例如包含在生成图12以及图13中表示的模型信息内的员工表以及工作岗位表时参照的员工数据库(database)以及工作岗位数据库。下面使用图19以及图20的顺序图以及图'21的流程图说明如上构成的程序设计文件的生成装置的动作。使用者终端,通过使用者的操作,指示全体控制部107起动程序'设计文件的生成装置100(ST1)。全体控制部107起动设计信息输入部108(ST2)。设计信息输入部108,依次向使用者终端200提供用于输入设计信息的各画面数据。使用者终端200,通过使用者的操作,依次通过工具(tool)信息输入画面GIO、应用信息输入画面G20、应用信息模式输入画面G30以及表信息输入画面G40向设计信息输入部108输入设计信息(ST3)。工具信息输入画面G10,如图15所示,具有用于输入工具信息(dl,d2)的输入字段(field)gll、gl3以及按钮g12、gl4gl6。这里,所谓"工具信息,,是指用于程序.设计文件的生成装置IOO动作的基本信息。在输入字段gll中,输入程序生成目的地目录dl。在输入字段gl3中,输入日志文件用目录d2。另外,代替向输入字段gll、gl3的直接输入,也可以由通过按压按钮g12、gl4显示的目录选择画面指定目录。^使用者终端200,可以通过由使用者进行的按钮g15(button)的按压操:作中断处理,终止本程序.设计文件的生成装置100。另外,使用者终端200,可以通过由使用者进行的按钮g16的按压操作转移到下一应用信息输入画面G20。应用信息输入画面G20,如图16所示,具有用于输入应用信息(d3d6)的输入字段g21g26以及按钮g27、g28。这里,所谓"应用信息"是指通过程序.设计文件的生成装置100生成的应用的基本信息。在输入字段g21中输入程序IDd3。在输入字段g22中输入程序名称d4。在输入字段g23中输入程序的包名d5。在输入字段g24g26中输入数据库连接信息d6。数据库连接信息d6可以细分为数据库装置300的URL、用于连接的用户(user)名以及口令(password),分别在各字段g24、g25、g26中输入。使用者终端200,通过由使用者进行的按钮g27的按压操作,可以返回前面的画面GIO。使用者终端200,通过由使用者进行的按钮g28的按压操作,可以转移到下一应用信息模式输入画面G30。应用信息模式输入画面G30,如图17所示,具有用于输入应用模式信息(d7,d8)的下拉列表(pull-downlist)g31、输入字段g32、g33以及按钮g34、g35。这里,所谓"应用模式信息",是指选择可通过程序.设计文件的生成装置100生成的多种规格的任何一种规格这样的信息、和用于变更应用的动作必13要或者任意的参数。在下拉列表g31中输入应用的模式特定信息d7。使用者终端200,通过由使用者进行的选择操作,从预先决定的模式中选择某一个。另外,该应用的模式可以追加。在输入字段g32、g33中输入选项的键和值d8。在该例中,作为选项,采用通过在每次更新在表的特定列内存储的数据时加1以防止同一数据的更新的矛盾的排他控制方式,在选项键中指定表示特定列的列ID的4建,在选项值中指定特定列的实际的列ID。该选项《睫和值,可以指定任意个数。使用者终端200,通过使用者进行的按钮g34的按压操作,可以返回前面的画面G20。使用者终端200,通过使用者进行的4务酵g35的按压操作,可以转移到下一表信息输入画面G40。表信息输入画面G40,如图18所示,具有输入字段g41-g50以及按钮g51~g53。在输入字段g41中输入表IDd9。在输入字段g42中输入表的名称d10。在输入字段g43中输入列IDdll。在输入字段g44中输入列的名称d12。在输入字段g45中输入列的类型d13。该字段g45也可以从预先决定的类型中选择输入。在输入字段g46、g47中输入列的位数.定位数d14。在输入字段g48中输入PK属性d15。在该例中如果是PK则选择"o",如杲不是PK则选择"-"。在输入字段g49中输入NotNull属性d16。在该例中如果是NotNull则选择"o",如果允许Null则选择"-"。在输入字段g50中输入画面显示属性dl7。在该例中如果在阅览时在画面上显示该列,则选择"o",如果不在画面上显示则选择"-,,。使用者终端200,通过使用者进行的按钮g51的按压操作,可以返回前面的画面G30。使用者终端200,通过使用者进行的按钮g52的按压操作,转移到用于追加在应用生成中使用的表的新的表信息输入画面G40,或者转移到信息输入完毕的下一表信息输入画面G40。使用者终端200,通过使用者进行的按钮g53的按压操作,结束表信息输入,对于全体控制部107指示程序的生成(ST4)。全体控制部107检测使用者的按钮按压事件(event),向设计信息输入部108传达程序生成的指示(ST5)。设计信息输入部108,接受程序生成的指示,为验证信息输入中是否没有不正确的输入而向验证部109发出验证指示(ST6)。这里的验证的一例,是在图14中表示的必须信息未指定的场合作为错误的情况。验证部109,执行验证,向设计信息输入部108返回验证结果ST7)。验证结果,包含错误的有无,以及在有错误的场合该错误的内容。设计信息输入部108,在从验证部109返回的值中包含错误的场合,向全体控制部107返回错误信息(ST8)。全体控制部107,向使用者终端200发送该错误信息(ST9)。'设计信息输入部108,在从验证部109返回的值中不包含错误的场合,向全体控制部107返回无错误的意思(STIO)。全体控制部107,向模型信息输出部IIO发出模型信息输出的指示(STll)。模型信息输出部110,输出模型信息104a,在模型信息存储部104中写入(ST12)。当模型信息104a的输出结束时,全体控制部107向设计文件生成部111发出设计文件生成的指示(ST13)。另外,步骤(step)ST13ST17的设计文件生成处理、和步骤ST18-ST23的程序生成处理,先执行那个都可以。这里,举例叙述先执行步骤ST13~ST17的设计文件生成处理的场合。在步骤ST13后,设计文件生成部lll,分别读出模型信息存储部104内的模型信息104a、元模型存储部101内的元模型信息、和模板存储部102内的设计文件的模板信息(ST14,ST15,ST16)。这里,作为元模型信息的例子,表示图8中表示的相对路径定义信息101d。相对路径定义信息101d,是在定义相对路径的同时,表示生成的程序取什么样的文件名的元模型信息。例如Action这拜的定型(stereotype)的程序成为requestHandler/[table—id—caps]Action.java这冲羊的定义。当在该定义上力口上才莫型信息104a内的生成目的地目录(假定是c菊mp)dl、程序包名(假定是foo.bar)d5以及表ID(#£定是emp)d9时,生成的程序的保存目的地成为c:¥tmp¥foo¥bai¥requestHandlei¥EmpAction.java,类(class)的完全4奮饰名成为foo.bar.requestHandler.EmpAction。设计文件生成部111,利用在模板存储部102中保存的一览形式的设计文件模板,生成表示程序一览的设计文件105a。设计文件生成部lll,同样也可以使用作为画面文件的JSP(JavaServerPages)的信息,生成表示画面一览的设计文件105a。根据上述,设计文件生成部111,根据模型信息104a、元模型信息以及设计文件模板,生成设计文件105a(ST17),在设计文件存储部105中写入该^没计文件105a。当设计文件105a的生成结束时,全体控制部107对于程序生成部112发出程序生成的指示(ST18)。程序生成部112,分别读出模型信息存储部104内的模型信息104a、元模型存储部101内的元模型信息以及模板存储部102内的程序的模板信息(ST19,ST20,ST21)。程序生成部112,使用在步骤ST19-ST21读入的各信息生成程序106a(ST22),在程序存储部106中写入该程序106a。另外,程序生成部112,向库103a复制只要原样复制即可的使用库(ST23)。这里,参照图21的流程图详细说明步骤ST22、ST23的处理。程序生成部112,根据图2以及图3表示的根目录定义信息101a,制作目录(ST22-1)。根目录定义信息101a,是表示生成的程序对于其每一种类以哪个目录作为基点生成的的元才莫型信息。例如,对于模型信息104a内的每一表IDd9生成的4吏用Javai吾言的禾呈序源文件(programsourcefile),成为[system—id]/WEB-INF/src/[class—name_prefix]/[table—id]。当在该定义上加上模型信息104a内的程序ID(假定为userlist)d3、程序包名(假定为foo.bar)d5、表ID(假定为emp)d9时,生成该程序源文件的基点目录成为userlist/WEB-INF/src/foo/bar/emp。程序生成部112,特定应该生成的应用的模式,为决定在源代码生成中利用的具体模板,参照图4~图6中表示的抽象模板文件定义信息101b(ST22-2)。抽象模板文件'定义信息101b,是表示在生成程序106a时利用的抽象模板文件的元才莫型信息。例如在生成Action这样的定型的程序的场合,利用预先准备的Action用的模板。但是,通过应用的模式或者指定的选项利用的模板不一定是唯一的。对此,抽象模板文件定义信息101b,是用于决定具体利用哪个模板的信息。在抽象模板文件定义信息101b中,例如对于在模型信息104a中包含的每一模式特定信息d7写入具体模板。另外,例如,在对于模型信息104a内的每一个表IDd9生成的程序106a中,有Action、Service、DAO、DS等的定型。这些定型的程序106a在抽象模板文件定义信息101b中用Java—table这样的属性(property)名定义,特定利用的具体模板的键,分别是control—action、control—service、control_dao、control—ds。另夕卜侈寸^(口,在才莫式4争定信息d7假定是AppPatternl的场合,对于每一应用生成的程序,在抽象模板文件定义信息101b中用java—叩plication.pattem.AppPatteml这样的属性名定义,特定利用的具体模板的键是control_commandDS。程序生成部112,通过参照抽象模板文件定义信息101b和图7中表示的具体模板文件定义信息ioic,决定实际利用的具体模板(ST22-3)。具体模板文件定义信息101c,是表示在生成程序106a时利用的具体模板文件的元模型信息。例如已经表示出为生成Action这样的定型的程序的具体模板的键是control—action的例子。通过该键决定的具体模板的文件是lib/template/srcTemplate/controlTemplate/control—action.vm。即,在该才莫式中,为生成Action这样的定型的程序利用的具体模板文件是control—action.vm。程序生成部112,通过参照图8表示的程序生成目的地的相对路径定义信息101d,在程序生成目的地中指定的目录中生成程序106a(ST22-4)。相对路径定义信息101d,是表示把在步骤ST22-1中制作好的程序的每一种类的根目录作为基点的程序的生成目的地的信息。例如已经表示出为生成Action这样的定型的程序的具体模板的键是control—action的例子。通过该键决定的程序生成目的地是requestHandler/[table_id_caps]Action.java。[table—id—caps]是表示"把表ID的首字符作成了大写字母的字符串"的变量。即在取emp、d印t这样的两个表作为对象的场合Action这样的定型的程序,成为requestHandler/EmpAction.java和requestHandler/DepAction.java。以上的步骤ST22-2~ST22-4的处理,被重复执行直到生成对象的全部程序的生成结束(ST22-5)。接着,程序生成部112,参照图9~图11中表示的诸如复制对象文件定义信息101e、复制源文件定义信息101f、复制目的地文件定义信息101g的各文件复制信息(ST23-1)。然后,程序生成部112,遵照该文件复制信息向规定的场所复制^见定的文件(ST23-2)。'复制对象文件定义信息101e是表示要复制的文件的抽象模型。例如通过jar这样的,"t巴与该4建对应的应该复制的文件的种类决定为commons-beanutils、commons-digester、Jakarta-orostruts、procomposer、1og4j、commons-collections这样的6种。各个文件的复制源和复制目的地,通过复制源文件定义信息101f以及复制目的地文件定义信息lOlg定义。例如procomposer这样的应该复制的文件的种类的复制源,是通过复制源文件定义信息101f定义的lib/reference/procomposer—rt.jar。另夕卜,该文件的复制目的地,是通过复制目的地文件定义信息lOlg定义的procomposer—rt.jar,但是成为复制目的地的基点的根目录,与前面表示的例子同样,在根目录定义信息101a中用称为jar的属性名定义,是[system一id]/WEB-INF/lib。该步骤ST23-1~ST23-2的处理,在复制对象的全部的程序的复制结束前重复执行(ST23-3)。根据上述,能够根据选择的应用的模式,一边适当切换生成程序的基点、利用的才莫板、生成的目录、应该复制的文件、复制目的地,一边生成程序。如上所述,根据本实施方式,程序.设计文件的生成装置100,把输入的设计信息变换为不依赖各程序的具体的规格的抽象的形式的模型信息104a后输出,根据该模型信息、元模型信息、设计文件的具体模板,生成设计文件后写入设计文件存储部105,同时根据模型信息104a、元模型信息,决定模板存储部102内的具体模板文件,通过模型信息104a、元模型信息、以及决定的具体模板文件,生成各程序106a,根据元模型信息在程序存储部106中写入该程序106a。因此,在本实施方式中,与现有方式不同,因为不输入详细的物理规格而能够生成程序以及设计文件,所以能够提高应用开发的生产率。另外,因为根据模式特定信息决定具体模板文件,所以与现有方式不同,能够灵活地设定生成对象的规格。':另外,因为仅通过使用者输入很少的设计信息,就能够自动生成多个模式的可即时执行的应用程序和了应用程序的设计文件,所以能够缩短程序和设计文件的制作时间,能够提高应用开发的生产率。作为补充,通过定义可根据要生成的应用的模式切换利用的模板的元模型并且利用该元;f莫型,即使不输入详细的物理^见格,也能够自动生成要动作的应用。另外同样,能够根据元模型从多个模板中选择生成的应用的模式生成程序。同样,通过编辑元模型,能够容易地追加生成的应用的模式。因此,根据本实施方式,能够提高应用开发效率。此外,根据本实施方式,与仅生成程序的现有方式不同,除程序之外还能够生成设计文件。另外,根据本实施方式,因为是在元模型信息中已经指定过模板文件,所以与现有方式不同,使用者不指定(或者无须顾及)模板文件,就能够生成程序以及设计文件。进而,根据本实施方式,通过预先在元才莫型信息中定义好设计信息和模板文件以及目录等的关系,对于很少的设计信息的输入,能够生成大量的程序以及设计文件。另外,在现有:f支术中,有输出的程序的量与设计信息的输入量成比例的关系。另外,因为通过从模板102a~102g或者利用库103a生成程序106a以及设计文件105a的结构,省略了使用者的编程作业,所以能够防止基于编程(programming)作业的错误的程序缺陷(bug)的混入,能够提高质量。进而,因为全体控制部107,通过执行生成的程序106a,能够确认该程序106a的动作,所以不需要追加安装。另外,即使在进行追加安装的场合,也;可以把该程序106a以及设计文件105a作为范例或者雏形使用。这里,在作为范例或者雏形使用的场合,例如作为开发标准的具体例可以展开成项目。另外,代替高质量的模板102a~102g或者利用库103a,在使用质量不明的模板(程序)或者库的场合,可以把程序设计文件的生成装置100作为使'用质量不明的^f莫板或者库的测试工具(testtool)利用。另外,在上述实施方式中记载的方法,作为能够使计算机(computer)执行的程序,也可以在磁盘(disk)(软(注册商标)盘、硬盘等)、光盘(CD-ROM、DVD等)、光磁盘(MO)、半导体存储器等存储介质中存储发布。另外,作为该存储介质,如果是可以存储程序而且计算机可读取的存储介质,则其存储形式是任何形式均可。另外,也可以根据从存储介质向计算机安装(install)的程序的指示由在计算机上运行的OS(operatingsystem)、数据库管理软件(software)、或者网络软件(networksoftware)等执行用于实现上述形式的各处理的一部分。进而,本发明中的存储介质,不限于与计算机独立的介质,也包含下栽(download)通过LAN或者因特网(Internet)等传送的程序后存储或者临时存储的存储介质。另外,存储介质不限于一个,从多个介质执行上述实施方式中的处理的场合,也包含在本发明中的存储介质中,介质结构也可以是任何结构。另外,本发明中的计算机,是基于在存储介质中存储的程序执行上述实施方式中的各处理的装置,也可以是由个人计算机(personalcomputer)等的一个组成的装置、用网络连接多个装置的系统等中的任何的结构。另外,所谓本发明中的计算机,不限于个人计算机,也包舍在信息处理设备中包含的运算处理装置、微计算机(microcomputer)等,是可通过程序实现本发明的功能的设备、装置的总称。另外,本申请发明,不限于原样照搬上述实施方式,在实施阶段在不脱离其要点的范围内能够对构成要素进行变形后具体化。另外,可以通过上述实施方式中公开的多个构成要素的适宜的组合形成各种发明。例如,也可以从实施方式中公开的构成要素中删除几个构成要素。再者,也可以适当组合在不同实施方式中使用的构成要素。权利要求1.一种程序·设计文件的生成装置,用于分别生成构成应用程序的多个程序、和所述各程序的设计文件,其特征在于,具有元模型存储单元,用于存储下述的元模型信息,该元模型信息包含根目录定义信息,其对于每一个表,包含表示所述应用程序的程序ID、所述应用程序的程序包名以及表示所述表的表ID地定义了表示程序生成目的地的第一根目录值,而且对于所述每一应用程序,包含所述程序ID地定义了表示程序生成目的地的第二根目录值;抽象模板文件定义信息,其对于每一个表,定义了与生成的各程序对应的第一模板特定键,而且对于所述应用程序的每一模式特定信息,定义了与生成的各程序对应的第二模板特定键;具体模板文件定义信息,其对于每一所述模板特定键,定义了各程序以及设计文件的具体模板文件;和相对路径定义信息,其对于每一所述模板特定键,包含表ID地定义了程序生成目的地的相对路径;模板存储单元,其存储通过所述具体模板文件定义信息定义的具体模板文件;设计信息输入单元,其用于输入包含程序ID、程序包名、模式特定信息、表ID的设计信息;模型信息输出单元,其把所述设计信息变换为不依赖于所述各程序的具体的技术规格的抽象形式的模型信息后输出;设计文件生成单元,其根据所述模型信息内的表ID、所述相对路径定义信息、所述设计文件的具体模板,生成包含作为一览表显示在所述相对路径定义信息中组合了该表ID的文件名的一览表的设计文件,把该设计文件写入所述设计文件存储单元;根据所述模型信息内的表ID以及模式特定信息、所述元模型信息内的抽象模板文件定义信息以及具体模板文件定义信息,决定所述模板存储单元内的具体模板文件的单元;和程序生成单元,其根据所述模型信息内的表ID以及所述相对路径定义信息,生成各程序的文件名,通过把该文件名作为所述决定的具体模板文件的文件名生成各程序,根据所述根目录定义信息以及所述相对路径定义信息,把该各程序写入所述程序存储单元。2.根据权利要求1所述的程序设计文件的生成装置,其特征在于,所述根目录定义信息对于复制对象文件的每一种类还定义了表示复制目、的地的第三根目录值,所述元信息,还包含有对于复制对象文件的每一种类,定义了复制源文件名的复制对象文件定义信息;对于每一所述复制源文件名,定义了复制源文件的存储位置的复制源文件定义信息;和对于每一所述复制源文件名,定义了复制目的地文件名的复制目的地文件定义信息,所述程序设计文件的生成装置还具有与所述第三根目录值对应的文件存储单元,和根据所述根目录定义信息以及所述复制目的地文件定义信息,把通过所述复制对象文件定义信息以及所述复制源文件定义信息定义的复制源文件,复制到所述文件存储单元的文件复制单元。全文摘要本发明提供一种程序·设计文件的生成装置,其用于生成程序及其设计文件。程序·设计文件的生成装置(100),把输入的设计信息变换为不依赖各程序的具体的规格的抽象形式的模型信息(104a)后输出,根据该模型信息、元模型信息、设计文件的具体模板生成设计文件,写入到设计文件存储部(105)中,同时根据模型信息(104a)、和元模型信息,决定模板存储部(102)内的具体模板文件,通过模型信息(104a)、元模型信息、以及决定的具体模板文件,生成各程序(106a),根据元模型信息把该程序(106a)写入程序存储部(106)内。这样,就能够生成程序以及设计文件,能够灵活地设定生成对象的规格,能够提高应用开发的生产率。文档编号G06F9/44GK101599014SQ200910142649公开日2009年12月9日申请日期2009年6月4日优先权日2008年6月5日发明者今村大辅,保坂真由美申请人:株式会社东芝;东芝解决方案株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1