一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

程序开发支援系统以及程序开发支援方法与流程

2022-03-31 11:22:58 来源:中国专利 TAG:

程序开发支援系统以及程序开发支援方法
1.本技术主张在令和1年(2019年)12月26日申请的日本技术即特愿2019-237180的优先权,通过参考其内容来引入到本技术。
技术领域
2.本发明涉及一种程序开发支援系统以及程序开发支援方法。


背景技术:

3.作为程序的开发方法,已知有作为敏捷开发(agile development)的最佳实践之一的被称为持续集成(continuous integration)的方法。在使用持续集成的程序开发中,在向管理源代码的版本管理系统登记(提交)了制作出的源代码时,自动地执行源代码的构建、测试这样的作业。由此,能够在较早的阶段进行缺陷检测,从而能够实现开发的高效化、高品质化。作为实现这样的持续集成的工具,例如已知有jenkins(非专利文献1)等。
4.另外,在程序开发中,已知将作业分割为任务并分配给bts(bug tracking system:漏洞跟踪系统)的单据(ticket)来进行管理的开发方法作为单据驱动开发。作为对这样的单据进行管理的工具,例如已知有redmine(非专利文献2)。非专利文献2的方法由于与敏捷开发的亲和性高,因此往往与上述持续集成进行组合来实践。
5.作为与上述的技术相关联的本技术领域的背景技术,已知有专利文献1。在专利文献1中,记载有以能够高效地实施持续集成中的测试的方式进行测试实例的选择的测试实例的选择方法以及选择系统,并记载有根据从持续集成工具传递来的实施重要度及实施时间阈值、和保存于储存库的测试实例的重要度及执行实际时间来选择应执行的测试实例的方案。
6.现有技术文献
7.专利文献1:日本特开2010-134643号公报
8.非专利文献1:smart,john ferguson(著)玉川龙司(日文:玉川竜司)(译),“jenkins”,o'reilly japan(日文:
オライリー
·
ジャパン
)发行,2012年2月22日
9.非专利文献2:andriy lesyuk著,“mastering redmine”,packt publishing发行、2013年1月25日


技术实现要素:

10.上述非专利文献1等中记载的持续集成工具以及非专利文献2等中记载的单据管理工具有时会被组合来实践,提供了用于协作的结构。
11.但是,由于只是从单据管理工具的单据显示画面转变为由持续集成工具自动执行的结果的画面这样的简单的协作,因此在想要根据单据中记载的内容实现自动执行的情况下,需要事先手动地进行设定。
12.例如,当提交变多时,产生自动执行处理的等待队列,因此需要事先手动地进行用于避免与优先位次高的单据有关的处理会推迟那样的设定。另外,根据作业的内容,能够通
过改变自动执行的范围、频度来实现高效化,但是需要准备考虑了所有情况的状况的范围、频度的多个设定。
13.另外,在专利文献1中,记载了根据从持续集成工具传递来的实施的重要度及实施时间的阈值、和保存于储存库的测试实例的重要度及执行实际时间来选择应执行的测试实例的方案。
14.由此,能够以可高效地实施持续集成中的测试的方式进行测试实例的选择。但是,由于基于测试实例的重要度来进行判断,因此没有考虑测试以外的构建、静态解析(编码检查)、复查等。
15.另外,在专利文献1中,由于所判定的属性仅为测试实例的重要度,因此无法对重要度相同的情况赋予优先顺序。而且,没有考虑成为单据的属性的日期、担当者、状态等属性。因此,关于针对测试以外的处理的优先级赋予、重要度相同的情况的优先顺序赋予,需要根据单据的属性信息来准备考虑了所有情况的状况的多个设定。
16.因此,本发明提供一种能够通过根据单据的属性来自动地变更自动执行处理的内容从而高效地实施自动执行处理的程序开发支援系统以及程序开发支援方法。
17.本发明是一种程序开发支援系统,具有自动执行处理服务器,该自动执行处理服务器具有处理器、存储器以及通信接口,其中,所述自动执行处理服务器具有:提交信息取得部,在受理表示源代码被登记的提交完成通知时,取得包含所述源代码的信息以及与所述源代码对应的单据的信息的提交信息;协作部,从所述提交信息提取与所述提交完成通知对应的单据标识符;属性信息取得部,基于提取出的所述单据标识符来取得所述单据的属性信息;自动执行队列,以预定的顺序保存与进行自动执行处理的所述源代码对应的执行对象信息;自动执行处理变更部,生成从取得的所述提交信息指定源代码的信息作为执行对象信息并投入到所述自动执行队列,基于取得的所述单据的属性信息来变更所述自动执行队列的执行对象信息的顺序;对象交付物取得部,取得成为所述自动执行处理的对象的源代码以及测试实例;自动执行处理部,基于由所述自动执行处理变更部变更后的执行对象信息的顺序,使用由所述对象交付物取得部取得的所述源代码以及测试实例来进行自动执行处理;以及通知部,通知由所述自动执行处理部执行的结果。
18.根据本发明,能够根据单据的属性信息来自动地变更自动执行处理,能够高效地实施持续集成中的自动执行处理。
19.上述以外的课题、结构以及效果通过以下的实施方式的说明而会变得清楚。
附图说明
20.图1a示出本发明的实施例1,是示出程序开发支援系统的结构的一例的框图。
21.图1b示出本发明的实施例1,是示出自动执行处理服务器的结构的一例的框图。
22.图2示出本发明的实施例1,是示出单据的一例的图。
23.图3示出本发明的实施例1,是示出由程序开发支援系统进行的处理的一例的流程图。
24.图4示出本发明的实施例1,是示出由程序开发支援系统进行的处理的一例的流程图。
25.图5示出本发明的实施例1,是示出由程序开发支援系统进行的处理的一例的流程
图。
26.图6示出本发明的实施例1,是说明使用实例的一例的图。
27.图7示出本发明的实施例2,是说明使用实例的一例的图。
具体实施方式
28.以下,基于附图来说明本发明的实施方式。
29.实施例1
30.本实施例是本发明的程序开发支援系统以及程序开发支援方法的一个实施例。以下,使用图1a至图6来说明本实施例。
31.图1a是示出本实施例中的程序开发支援系统的结构的框图。图1b是示出自动执行处理服务器的结构的一例的框图。图2是示出本实施例中的单据的记载内容的图。图3是示出本实施例中的自动执行处理系统的处理过程的概要的流程图。图4是示出本实施例中的队列顺序变更处理的详细过程的流程图。图5是示出本实施例中的自动执行设定的详细过程的流程图。图6是说明多个担当者针对本实施例中的一个单据修正源代码的使用实例的图的例子。
32.在图1a中,100是以版本为单位来管理源代码、与源代码对应的测试实例(执行环境等)的版本管理服务器,110是将与程序制作有关的作业、与缺陷有关的内容作为单据(ticket)进行管理的单据管理服务器,120是在向所述版本管理服务器100登记(提交)了源代码时自动地执行与源代码的构建、测试等程序制作有关的作业的自动执行处理服务器,300是进行源代码的生成的开发客户端。
33.本实施例中的程序开发支援系统包括这些版本管理服务器100、单据管理服务器110、自动执行处理服务器120、开发客户端300。
34.101是保存由所述版本管理服务器100管理的源代码、测试实例的交付物数据库。102是对所述交付物数据库101的源代码、测试实例进行登记、检索等管理的管理部。本实施例中的版本管理服务器100由这些交付物数据库101以及管理部102构成。
35.另外,111是保存由所述单据管理服务器110管理的单据的单据数据库。112是对所述单据数据库111的单据进行登记、检索等管理的管理部。本实施例中的单据管理服务器110由这些单据数据库111以及管理部112构成。此外,版本管理服务器100以及单据管理服务器110也可以使用市售或oss(open source software:开源软件)的已有工具。
36.另外,121是从所述版本管理服务器100取得所提交的信息的提交信息取得部。122是从由提交信息取得部121取得的提交信息中提取与该提交对应的单据的id(或编号)而使所述版本管理服务器100与所述单据管理服务器110协作的协作部。123是针对提取出的单据id的单据而从所述单据管理服务器110取得单据的属性信息的属性信息取得部。
37.124是基于取得的单据的属性信息来变更保存于自动执行队列127的执行对象信息的顺序的自动执行处理变更部。125是从所述版本管理服务器100取得成为自动执行的对象的源代码以及测试实例的对象交付物取得部。
38.在本实施例中,将实施自动执行的一个处理设为执行对象信息,在自动执行队列127中保存1个以上的执行对象信息。在执行对象信息中包含用于指定进行自动执行处理的源代码和测试实例的信息。自动执行处理变更部124对自动执行队列127中保存的执行对象
信息的执行顺序进行控制。此外,执行对象信息不限定于用于指定源代码和测试实例的信息,也可以是源代码和测试实例的实体。
39.126是基于由自动执行处理变更部124决定的执行对象信息的处理顺序,使用由对象交付物取得部125取得的对象的源代码以及测试实例来进行自动执行处理的自动执行处理部。此外,自动执行处理部126与所述现有例同样地实施源代码的构建、基于测试实例的测试、以及静态解析和复查。127是将1个以上的执行对象信息按照预定的顺序在队列内进行管理的自动执行队列。128是通过邮件等向相关者通知由自动执行处理部执行的结果的通知部。
40.本实施例中的自动执行处理服务器120包括这些提交信息取得部121、协作部122、属性信息取得部123、自动执行处理变更部124、对象交付物取得部125、自动执行处理部126、自动执行队列127、通知部128。
41.310是根据从开发担当者操作的输入设备(省略图示)受理的信息进行源代码的生成等的开发工具。320是保存所生成的源代码、源代码所附带的信息(测试实例等)的源保存部。
42.本实施例中的开发客户端300包括这些开发工具310以及源保存部320。
43.图1b是示出自动执行处理服务器120的结构的一例的框图。自动执行处理服务器120是包括处理器11、存储器12、通信接口13、输入输出装置14以及存储设备装置15的计算机。
44.输入输出装置14包括鼠标、键盘或触摸面板等输入装置、以及显示器等输出装置。通信接口13经由网络80而与版本管理服务器100、单据管理服务器110、开发客户端300进行通信。
45.提交信息取得部121、协作部122、属性信息取得部123、自动执行处理变更部124、对象交付物取得部125、自动执行处理部126以及通知部128被加载到存储器12并被处理器11执行。另外,对存储器12设定由自动执行处理部126管理的自动执行队列127。
46.处理器11按照各功能部的程序来执行处理,从而作为提供预定的功能的功能部而工作。例如,处理器11按照自动执行处理程序来执行处理,从而作为自动执行处理部126发挥功能。其它的程序也是同样的。而且,处理器11还作为提供各程序执行的多个处理各自的功能的功能部而工作。计算机以及计算机系统是包括这些功能部的装置以及系统。
47.图2是由所述单据管理服务器110管理的单据的画面显示例,示出单据的属性。
48.在图2中,201是表示“作业”、“缺陷”等单据的种类的种类属性。202是表示单据的标题的标题属性。203是表示单据的“作业详情”、“缺陷详情”的内容说明属性。
49.204是表示单据的担当者的担当者属性。205是表示“新建”、“作业中”、“作业完成”这样的单据的状况、状态的状态属性。206是表示在作业、缺陷等的单据中对应的处理的优先级的优先级属性。
50.207是表示作业、缺陷对应的日期的日期属性。208是表示单据的上一级的分层单据即母单据(parent ticket)的信息的母单据属性。209是表示存在如果其它单据的状态属性未成为“结束”则不能着手这样的作业顺序上的关联或内容重复这样的关联的单据的单据属性。
51.210是关键路径属性,该关键路径属性表示是否是在工序管理上直至所有工序结
束为止的作业的序列之中的、即使并行地进行作业也不能再缩短作业时间的作业的序列(关键路径(critical path))的单据。211是表示单据中示出的作业内容的状况的报告、单据的属性的变更历史的变更历史属性。
52.此外,在图2中,这些属性被明确记载在单据画面上,但也可以不被明确记载在单据画面上。例如,关键路径属性210也可以被显示为单据的属性数据。
53.在此,使用图1以及图3的流程图来说明本实施例的处理概要。首先,针对由单据管理服务器110发布的单据,使用开发客户端300的担当者按照所发布的单据的内容来进行程序制作(源代码制作或修正)。
54.之后,担当者使用版本管理服务器100来登记(提交)该源代码。此时,记载与提交日志等对应的单据的单据编号(id)等,并且明确记载该源代码是针对哪个单据的源代码。版本管理服务器100在源代码的提交完成时,向自动执行处理服务器120发送表示提交完成的通知(提交完成通知)。
55.自动执行处理服务器120以接收到提交完成通知为契机,通过提交信息取得部121从版本管理服务器100取得该提交的信息(提交信息)(步骤s301)。在此,本实施例中的提交的信息是指包括所提交的源代码的文件名(或标识符)、提交日志(图表的标识符)、测试实例的提交时的信息。
56.通过协作部122取得由所述提交信息取得部121取得的提交信息中包含的对应单据编号(或单据id)等单据的信息,使单据管理服务器110选定与该提交对应的单据(步骤s302)。
57.之后,通过属性信息取得部123从单据管理服务器110取得对应的单据的单据属性的信息(步骤s303)。在此,本实施例中的单据属性为图2所示的单据属性(201~210)。
58.由自动执行处理变更部124基于所取得的单据属性信息来变更自动执行队列127的队列顺序(步骤s304)。
59.自动执行处理变更部124首先生成从所取得的提交信息指定源代码和测试实例的信息作为执行对象信息,并投入到自动执行队列127。然后,自动执行处理变更部124基于所取得的单据属性信息,变更或设定执行对象信息的顺序(步骤s305)。
60.由自动执行处理部126使用在上述步骤s303中取得的单据属性信息之中的日期属性207,根据过去的自动执行处理的实际时间来判定执行对象信息的自动执行是否在日期内完成(步骤s306),当自动执行在日期内完成的情况下,按照在所述步骤s305中设定的顺序来执行自动执行队列127内的执行对象信息的自动处理(步骤s307)。
61.此外,自动执行处理部126针对源代码与测试实例的每个组合(执行对象信息),将执行时间的实际数据保存到存储设备装置15,并根据过去的执行时间的实际数据来判定该执行对象信息的自动执行在日期属性207之前是否能够完成。此外,关于过去的执行时间的实际数据,能够使用执行时间的最大值、平均值等预先设定的统计信息。
62.另一方面,关于自动执行处理部126判定为在日期内未完成的执行对象信息,设定包含有在日期之前未完成的意思的消息的警告信息(步骤s308),不执行自动处理。之后,由通知部128将在步骤s307中执行的结果或在步骤s308中设定的警告利用邮件、消息等通知手段通知给预先设定的目的地(例如开发客户端300)(步骤s309),并结束一系列的处理。
63.接着,使用图4的流程图来说明图3所示的流程图中的队列顺序变更处理(步骤
s304)的详细过程。由自动执行处理变更部124执行队列顺序变更处理。针对与对应于提交完成通知的源代码对应的单据的信息实施该处理。
64.自动执行处理变更部124判定通过单据属性信息取得(步骤s303)而取得的单据属性信息之中的优先级属性206是否为“大(或高)”等高的优先级(步骤s401)。如果优先级属性206的值为预定的阈值thp以上,则自动执行处理变更部124判定为优先级高而进入步骤s404。
65.另一方面,在优先级属性206的优先级不高的情况下,自动执行处理变更部124针对该单据属性信息的日期属性207,判定直至日期为止的天数是否为预定的阈值thd以内(步骤s402)。在此,将阈值thd设为预先决定的设定值。
66.在步骤s402中,在直至日期属性207为止的天数超过阈值thd的情况下,自动执行处理变更部124判断为直至日期为止有富余,并转移到步骤s403。在步骤s403中,自动执行处理变更部124判定是否针对关键路径属性210设定有标志。
67.在没有设定标志的情况下,自动执行处理变更部124判定为不是关键路径的单据,而判定为是最终不需要变更队列的顺序的单据,并结束一系列的处理。
68.在步骤s401中在优先级属性206为阈值thp以上的高的优先级的情况下、或者在步骤s402中在直至日期为止的剩余天数为阈值thd以内的情况下即判断为在日期之前没有时间的情况下、或者在步骤s403中判定为是关键路径的单据的情况下,自动执行处理变更部124判定为需要变更自动执行队列127内的执行对象信息的顺序,并进入步骤s404。
69.自动执行处理变更部124按“优先级”从高到低的顺序设定第1排序键(步骤s404),按直至“日期”为止的剩余日程从短到长的顺序设定第2排序键(步骤s405),将第3排序键设定为是否是“关键路径”(步骤s406)。然后,自动执行处理变更部124利用第1排序键至第3排序键对自动执行队列127内的执行对象信息进行排序,变更自动执行队列127的执行对象信息的顺序(步骤s407),并结束一系列的处理。
70.即,自动执行处理变更部124根据与提交完成通知的源代码对应的单据的属性信息来决定是否变更执行对象信息的执行顺序,在变更的情况下,根据单据属性信息,以预定的顺序对执行对象信息进行排序。此外,在上述实施例中示出了利用优先级、日期以及关键路径来变更执行对象信息的执行顺序的例子,但是不限定于此。关于对执行对象信息进行排序的要素,从单据属性信息至少选择一个即可。
71.接着,使用图5的流程图来说明图3所示的流程图之中的自动执行设定(步骤s305)的详细过程。
72.自动执行设定是由自动执行处理变更部124执行的。自动执行处理变更部124使用通过单据属性信息取得(步骤s303)而取得的单据属性信息之中的母单据属性208,判定是否是向母单据的提交(步骤s501)。
73.在不是向母单据的提交的情况下,自动执行处理变更部124从担当者属性204提取单据的担当者。接着,自动执行处理变更部124从单据管理服务器110提取与该担当者属性204对应的单据而取得未完成的担当单据数和过去的担当缺陷单据数的信息。另外,自动执行处理变更部124从版本管理服务器100取得该担当者的提交件数的信息,判定哪个的数值大于预先决定的阈值thc,或者从历史属性211取得担当者的变更信息,判定担当者的变更日期时间与当前日期时间之差是否小于预先决定的阈值thc(步骤s502)。
74.自动执行处理变更部124在上述单据数或提交件数小于阈值thc的情况、并且担当者不是刚刚改变的情况下,根据状态属性205的信息来判定状态是“作业中”还是“作业完成”(步骤s503)。
75.在状态是“作业中”的情况下,自动执行处理变更部124设为自动执行处理的内容被高效地进行的设定(步骤s504),并结束一系列的处理。在此,自动执行处理被高效地进行的设定是指例如设为如下设定:仅限于提交了构建、测试执行的对象源代码的文件,不需要实施复查,并且不进行是否包含同件缺陷的横向展开的修正内容的检查,不向开发责任者进行自动执行结果的邮件通知。
76.在上述步骤s501中判断为是向母单据的提交的情况下,自动执行处理变更部124能够判断为是将子单据的内容合并(merge)到母单据的在作业过程上重要的提交,因此设为自动执行处理的内容被重点地进行的设定(步骤s505),并结束一系列的处理。
77.同样地,在步骤s502中在单据数或提交件数大于阈值thc的情况或者在担当者刚刚改变的情况下,自动执行处理变更部124判定为需要重点地进行测试等,设为自动执行处理被重点地进行的设定(步骤s505),并结束一系列的处理。
78.而且,在步骤s503中在状态为“作业完成”的情况下,自动执行处理变更部124设为自动执行处理被重点地进行的设定(步骤s505),并结束一系列的处理。
79.在此,自动执行处理被重点地进行的设定是指例如设为如下设定:将构建、测试执行对象设为对象产品的全部源代码,并设为必须实施复查,还检查是否包含同件缺陷的横向展开修正内容,向开发责任者进行自动执行结果的邮件通知。
80.通过图4以及图5所示的处理,自动执行处理变更部124根据与提交完成通知对应的单据的属性来自动地变更自动执行处理,由此能够根据必要性而高效地实施自动执行处理。
81.此外,以上示出了自动执行处理变更部124基于母单据属性208、担当者属性204以及历史属性211来决定自动执行处理的内容的例子,但是并不限定于此。自动执行处理变更部124也可以基于单据属性信息中的至少一个属性来决定自动执行处理的内容。
82.接着,使用图6来表示本发明的一个实施例。在本实施例中,是多个担当者针对一个单据修正源代码的情况的例子。图6是示出其使用实例的图。
83.在图6所示的使用实例中,示出担当者a和担当者b这两人利用开发客户端300针对种类属性201为“缺陷”的单据601进行缺陷的修正的情况。此外,担当者a是在担当的单据中未完成的单据数少、过去担当的缺陷单据数也少、且提交件数也少的担当者。担当者b也与担当者a同样地是在担当的单据中未完成的单据数少、过去担当的缺陷单据数也少、且提交件数也少的担当者的情况。
84.由缺陷的发现者向单据管理服务器110输入缺陷的单据601。作为缺陷的对应者,最初分配担当者a。担当者a基于单据601的记载内容来调查原因,利用开发客户端300进行缺陷的修正。
85.此时,单据601的状态属性通过单据管理服务器110而被更改为“作业中”(或“修正中”)。此外,在图6中,作为单据601的属性,仅记载了种类属性201、担当者属性204以及状态属性205,但还包含图2所示的其它属性。
86.在图6所示的使用实例中,是缺陷的修正部位涉及宽范围的情况,是在担当者a担
当的范围中也要分多次来实施修正的情况。因此,修正后的源代码的提交也被分为多次(602~604)。
87.担当者a使用开发客户端300,首先进行最初的修正,并将修正后的源代码提交给版本管理服务器100(提交602)。自动执行处理服务器120以该提交602被提交(提交完成通知的接收,以下同样)为契机,实施图3至图5所示的处理。以下,仅说明图6中记载的使用实例所涉及的处理部分。
88.在以提交602的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中由于不是向母提交(parent commit)的提交,因此在步骤s501的判定中成为“否”。
89.在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者a的未完成的担当单据数、和过去的担当缺陷单据数及提交件数少,且为阈值thc以内,因此判定为“否”。
90.接着,由于在步骤s503的判定中状态属性205为“作业中”,因此自动执行处理服务器120转移到步骤s504,成为高效执行的设定。通过此后的处理,在提交602中以高效的设定来执行自动执行处理。
91.在图3的步骤s309中,不进行向开发责任者的邮件通知。接着,在图6中,担当者a利用开发客户端300进行接下来的修正,将修正后的源代码提交给版本管理服务器100(提交603)。以该提交603被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,成为与所述提交602同样的处理。
92.接着,担当者a使用开发客户端300,作为担当的部分而进行最后的修正,并将修正后的源代码提交给版本管理服务器100(提交604)。
93.以该提交604被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,成为与所述提交602同样的流程。作为担当者a,最后的修正结束,因此从开发客户端300将单据601的担当者设定为担当者b(单据601a)。
94.担当者b基于单据601a的记载内容来调查原因,利用开发客户端300进行缺陷的修正。在图6所示的使用实例中,是缺陷的修正部位涉及宽范围的情况,是在担当者b担当的范围中也分多次来实施修正的情况。
95.因此,修正后的源代码的提交也与担当者a同样地被分为多次。担当者b首先进行最初的修正,利用开发客户端300将修正后的源代码提交给版本管理服务器100(提交605)。
96.以该提交605被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图6中记载的使用实例所涉及的处理部分。
97.在以提交605的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中不是向母提交的提交,因此在步骤s501的判定中为“否”。
98.在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者b的未完成的担当单据数、过去的担当缺陷单据数及提交件数少,且为阈值thc以内,因此自动执行处理服务器120判定为“否”。
99.在步骤s503的判定中状态属性为“作业中”,因此自动执行处理服务器120转移到步骤s504,成为高效执行的设定。通过此后的处理,在提交602中以高效的设定来执行自动执行处理。在图3的步骤s309中不进行向开发责任者的邮件通知。
100.接着,担当者b进行接下来的修正,利用开发客户端300将修正后的源代码提交给
版本管理服务器100(提交606)。以该提交606被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,成为与所述提交605同样的流程。
101.接着,担当者b利用开发客户端300进行最后的修正。此时,在提交前,担当者b利用开发客户端300将单据的状态变更为“作业完成”(单据601b)。
102.担当者b使用开发客户端300,针对单据601b,将修正后的源代码提交给版本管理服务器100(提交607)。以该提交607被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图6中记载的使用实例所涉及的处理部分。
103.在以提交605的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中不是向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“否”。在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者b的未完成的担当单据数、过去的担当缺陷单据数及提交件数少,且为阈值thc以内,因此自动执行处理服务器120的判定成为“否”。
104.在步骤s503的判定中状态属性为“作业完成”,因此自动执行处理服务器120转移到步骤s505,成为重点执行的设定。通过此后的处理,在提交607中以重点的设定来执行自动执行处理。在图3的步骤s309中,进行向开发责任者的邮件等的通知。
105.由此,在作为作业中的提交中基于单据的属性信息进行高效的自动执行,在作为作业完成的提交中作为最终的作业而进行重点的自动执行,整体上能够进行高效的自动执行处理。
106.通过以上,在自动执行处理服务器120中能够根据单据的属性而自动地变更自动执行处理的内容,能够高效地实施持续集成中的自动执行处理。
107.此外,在上述实施例1中示出了版本管理服务器100与单据管理服务器110独立的结构,但是不限定于此,也可以是版本管理服务器100和单据管理服务器110由一个计算机构成。
108.实施例2
109.实施例2是在所述实施例1所示的程序开发支援系统以及程序开发支援方法中针对一个功能而分为多个子功能并由多个担当者制作源代码的情况下的一个实施例。
110.此外,实施例1所示的框图、单据的说明、流程图与图1以及图2至图5所示的相同,因此省略各自的说明。以下,使用图7来说明本实施例中的使用实例。图7是说明实施例2的使用实例的一例的图。
111.在图7所示的使用实例中,母单据700表示一个功能,母单据700的多个子单据710、720、730分别为用于制作子功能a、子功能b、子功能c的单据。并且,是针对子单据710、子单据720、子单据730分别分配了担当者a、担当者b、担当者c的情况。
112.此外,根据母单据属性208来判定是母单据700还是子单据710、720、730。另外,在本实施例中,设为在母单据的状态成为“作业完成”之前所有的子单据仍是“作业中”的状态。
113.在此,与所述实施例1同样地是如下情况:担当者a、担当者b、担当者c是在所担当的单据中未完成的单据数少、过去担当的缺陷单据数也少、且提交件数也少的担当者。
114.母单据700以及子单据710、子单据720、子单据730分别被输入到单据管理服务器110。此时,对子单据710的担当者属性204设定担当者a,对子单据720的担当者属性204设定
担当者b,对子单据730的担当者属性204设定担当者c。
115.担当者a基于单据710的记载内容来进行子功能a的程序制作。在图7所示的使用实例中是子功能的制作涉及宽范围的情况,是在担当者a担当的范围中也分成多次来实施程序制作的情况。
116.因此,制作出的源代码的提交也被分为多次。担当者a首先利用开发客户端300进行最初的源代码的制作,并将制作出的源代码提交给版本管理服务器100(提交711)。
117.以该提交711被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
118.在以提交711的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中不是向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“否”。
119.在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者b的未完成的担当单据数、过去的担当缺陷单据数及提交件数少且为阈值thc以内,因此自动执行处理服务器120判定成为“否”。
120.由于在步骤s503的判定中状态属性为“作业中”,因此自动执行处理服务器120转移到步骤s504,成为高效执行的设定。通过此后的处理,在提交711中以高效的设定来执行自动执行处理。在图3的步骤s309中,不进行向开发责任者的邮件通知。
121.接着,担当者a进行接下来的功能制作,并利用开发客户端300将制作出的源代码提交给版本管理服务器100(提交712)。以该提交712被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,是与所述提交711同样的处理。在本实施例中,设为通过提交712完成了子功能a的制作。
122.接着,担当者a由于完成了子功能a的制作,因此使用开发客户端300,针对母单据700将制作出的全部源代码提交给版本管理服务器100(提交713)。
123.以该提交713被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
124.在以提交713的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中成为向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“是”而转移到步骤s505,成为重点执行的设定。通过此后的处理,在提交713中以重点的设定来执行自动执行处理。在图3的步骤s309中,进行向开发责任者的邮件通知。
125.担当者b基于单据720的记载内容进行子功能b的程序制作。在图7所示的使用实例中是子功能的制作涉及宽范围的情况,是在担当者b所担当的范围中也分成多次来实施程序制作的情况。因此,制作出的源代码的提交也被分为多次。
126.担当者b首先进行最初的源代码制作,利用开发客户端300将制作出的源代码提交给版本管理服务器100(提交721)。以该提交721被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
127.在以提交721的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中不是向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“否”。在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者b的未完成的担当单据数、过去的担当缺陷单据数及提交件数少且为阈值thc以内,因此自动执行处理服务器120判定成为“否”。
128.由于在步骤s503的判定中状态属性为“作业中”,因此自动执行处理服务器120转移到步骤s504,成为高效执行的设定。通过此后的处理,在提交721中以高效的设定来执行自动执行处理。在图3的步骤s309中,不进行向开发责任者的邮件通知。
129.接着,担当者b进行接下来的功能制作,利用开发客户端300将制作出的源代码提交给版本管理服务器100(提交722)。以该提交722被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,成为与所述提交711同样的处理。在本实施例中,设为通过提交722完成了子功能b的制作。
130.接着,担当者b由于完成了子功能b的制作,因此使用开发客户端300,针对母单据700将制作出的全部源代码提交给版本管理服务器100(提交723)。
131.以该提交723被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
132.在以提交723的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中成为向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“是”而转移到步骤s505,成为重点执行的设定。通过此后的处理,在提交723中以重点的设定来执行自动执行处理。在图3的步骤s309中,进行向开发责任者的邮件通知。
133.担当者c基于单据730的记载内容进行子功能c的程序制作。在图7所示的使用实例中是子功能的制作涉及宽范围的情况,是在担当者c所担当的范围中也要分成多次来实施程序制作的情况。因此,制作出的源代码的提交也被分为多次。
134.担当者c首先进行最初的源代码制作,利用开发客户端300将制作出的源代码提交给版本管理服务器100(提交731)。以该提交731被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
135.在以提交731的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中不是向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“否”。
136.在步骤s502的担当者以及历史信息的判定步骤中,在本使用实例中担当者b的未完成的担当单据数、过去的担当缺陷单据数及提交件数少且为阈值thc以内,因此自动执行处理服务器120判定成为“否”。
137.由于在步骤s503的判定中状态属性为“作业中”,因此自动执行处理服务器120转移到步骤s504,成为高效执行的设定。通过此后的处理,在提交731中以高效的设定来执行自动执行处理。在图3的步骤s309中,不进行向开发责任者的邮件通知。
138.接着,担当者c进行接下来的功能制作,利用开发客户端300将制作出的源代码提交给版本管理服务器100(提交732)。以该提交732被提交为契机,自动执行处理服务器120实施图3至图5所示的处理,成为与所述提交731同样的处理。在本实施例中,设为通过提交732完成了子功能c的制作。
139.接着,担当者c由于制作了子功能c,因此使用开发客户端300,针对母单据700将制作出的全部源代码提交给版本管理服务器100(提交733)。以该提交733被提交为契机,自动执行处理服务器120实施图3至图5所示的处理。以下,仅说明图7中记载的使用实例所涉及的处理部分。
140.在以提交733的提交为契机的处理中,在作为自动执行设定(步骤s305)的图5的处理中成为向母提交的提交,因此自动执行处理服务器120将步骤s501的判定设为“是”而转
移到步骤s505,成为重点执行的设定。通过此后的处理,在提交723中以重点的设定来执行自动执行处理。在图3的步骤s309中,进行向开发责任者的邮件通知。
141.由此,在子功能制作的提交中,基于单据的属性信息进行高效的自动执行,在合并子功能的向母单据的提交中,作为最终的作业而进行重点的自动执行,整体上能够进行高效的自动执行处理。
142.此外,针对图7中记载的使用实例,也可以并非如本实施例那样基于单据属性,而能够使用版本管理服务器100中的分支功能来设置作业中分支和作业完成分支,针对每个分支来改变自动执行处理。但是,需要与担当者的数量相应数量的分支,在大规模的程序开发中担当者的数量也变得很多,因此需要大量的分支,分支的管理变难。另一方面,如果如本实施例那样使用单据属性,则即使利用一个分支也能够实施,因此分支的管理变得容易。
143.通过以上,在自动执行处理服务器120中能够根据单据的属性来自动地变更自动执行处理的内容,能够高效地实施持续集成中的自动执行处理。
144.《总结》
145.如以上那样,上述实施例的程序开发支援系统能够设为以下那样的结构。
146.一种程序开发支援系统,具有自动执行处理服务器(120),该自动执行处理服务器(120)具有图1的处理器(11)、存储器(12)以及通信接口(13),所述程序开发支援系统的特征在于,所述自动执行处理服务器(120)具有:提交信息取得部(121),在受理表示源代码被登记的提交完成通知时,取得包含所述源代码的信息以及与所述源代码对应的单据的信息的提交信息;协作部(122),从所述提交信息提取与所述提交完成通知对应的单据标识符;属性信息取得部(123),基于提取出的所述单据标识符来取得所述单据的属性信息;自动执行队列(127),以预定的顺序保存与进行自动执行处理的所述源代码对应的执行对象信息;自动执行处理变更部(124),生成从取得的所述提交信息指定源代码的信息作为执行对象信息并投入到所述自动执行队列(127),基于取得的所述单据的属性信息来变更所述自动执行队列(127)的执行对象信息的顺序;对象交付物取得部(125),取得成为所述自动执行处理的对象的源代码以及测试实例;自动执行处理部(126),基于由所述自动执行处理变更部(124)变更后的执行对象信息的顺序,使用由所述对象交付物取得部(125)取得的所述源代码以及测试实例来进行自动执行处理;以及通知部(128),通知由所述自动执行处理部(126)执行的结果。
147.通过上述结构,自动执行处理服务器120能够根据单据的属性信息来自动地变更自动执行处理的内容,能够高效地实施持续集成中的自动执行处理。
148.根据上述(1)所记载的程序开发支援系统,其特征在于,还具有:版本管理服务器(100),以版本为单位来管理所述源代码或与所述源代码对应的测试实例;单据管理服务器(110),将与程序的开发有关的作业或与缺陷有关的内容作为单据进行管理;以及网络(80),将所述自动执行处理服务器(120)、所述版本管理服务器(100)以及所述单据管理服务器(110)进行连接,所述提交信息取得部(121)从所述版本管理服务器(100)受理提交完成通知,从所述版本管理服务器(100)取得与该提交完成通知对应的所述提交信息,所述属性信息取得部(123)从所述单据管理服务器(110)取得基于提取出的所述单据标识符的所述单据的属性信息。
149.通过上述结构,利用版本管理服务器100管理源代码和测试实例的版本,将与程序
的开发有关的作业或与缺陷有关的内容作为单据利用单据管理服务器110进行管理,由此能够使处理分散而与自动执行处理服务器120进行协作处理。
150.根据上述(1)所记载的程序开发支援系统,其特征在于,所述属性信息取得部(123)取得所述单据的属性信息中包含的优先级属性(206)、日期属性(207)以及关键路径属性(210)中的至少一个,基于取得的所述属性信息来变更所述自动执行队列(127)的所述执行对象信息的顺序。
151.通过上述结构,自动执行处理服务器120能够基于优先级属性206、日期属性207以及关键路径属性210中的至少一个来变更自动执行队列127的执行对象信息的顺序。
152.根据上述(1)所记载的程序开发支援系统,其特征在于,所述自动执行处理部(126)取得所述单据的属性信息中包含的所述母单据属性(206)、担当者属性(204)、历史属性(211)以及状态属性(206)中的至少一个属性信息,基于取得的所述属性信息来设定自动执行处理的内容。
153.通过上述结构,自动执行处理服务器120能够基于母单据属性208、担当者属性204以及历史属性211来决定自动执行处理的内容。
154.根据上述(3)所记载的程序开发支援系统,其特征在于,所述自动执行处理部(126)使用所述属性信息取得部(123)取得的担当者属性(204)的信息,取得该担当者的未完成的担当单据数、过去的担当缺陷单据数以及提交件数中的至少一个数值,基于取得的所述数值来设定自动执行处理的内容。
155.通过上述结构,在自动执行处理服务器120中,能够根据单据的属性来自动地变更自动执行处理的内容,能够高效地实施持续集成中的自动执行处理。
156.此外,本发明不限定于上述的实施例,而包括各种变形例。例如,上述的实施例只是为了易于理解地说明本发明而详细说明的实施例,未必限定于具备所说明的全部结构的实施例。
157.另外,能够将某个实施例的结构的一部分置换为其它实施例的结构,另外还能够对某个实施例的结构添加其它实施例的结构。另外,关于各实施例的结构的一部分,能够进行其它结构的追加、删除、置换。
158.另外,关于上述的各结构、功能、处理部、处理部件等,也可以通过例如用集成电路进行设计等而用硬件来实现它们的一部分或全部。另外,关于上述的各结构、功能等,也可以通过由处理器解释并执行用于实现各个功能的程序而用软件来实现。实现各功能的程序、表、文件等信息能够设置到存储器、硬盘、ssd(solid state drive:固态驱动器)等记录装置、或者ic卡、sd卡、dvd等记录介质。
159.另外,关于控制线、信息线,示出了认为在说明上必要的线,在产品方面未必示出所有的控制线、信息线。实际上,也可以认为几乎所有的结构相互连接。
160.《补充》
161.作为权利要求书中记载以外的本发明的观点的代表性观点,列举如下方案。
162.《11》
163.根据权利要求3所述的程序开发支援系统,其特征在于,
164.使用由所述属性信息取得部取得的历史属性的信息,取得从担当者被变更起的时间信息,基于取得的时间信息来设定自动执行处理。
165.《12》
166.根据权利要求1所述的程序开发支援系统,其特征在于,
167.作为由所述自动执行处理变更部设定的自动执行处理的内容,进行成为构建、测试执行的对象的源代码、是否需要实施复查、是否需要同件缺陷的修正确认、以及是否需要向开发责任者的通知中的至少一个设定。
168.《13》
169.根据权利要求8所述的程序开发支援方法,其特征在于,
170.使用在所述属性信息取得步骤中取得的历史属性的信息,取得从担当者被变更起的时间信息,基于取得的时间信息来设定自动执行处理。
171.《14》
172.根据权利要求6所述的程序开发支援方法,其特征在于,
173.作为在所述自动执行处理变更步骤中设定的自动执行处理的内容,进行成为构建、测试执行的对象的源代码、是否需要实施复查、是否需要同件缺陷的修正确认、以及是否需要向开发责任者的通知中的至少一个设定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献