CN111427543B - 一种软件产品开发的处理方法及装置 - Google Patents
一种软件产品开发的处理方法及装置 Download PDFInfo
- Publication number
- CN111427543B CN111427543B CN202010206667.2A CN202010206667A CN111427543B CN 111427543 B CN111427543 B CN 111427543B CN 202010206667 A CN202010206667 A CN 202010206667A CN 111427543 B CN111427543 B CN 111427543B
- Authority
- CN
- China
- Prior art keywords
- development
- task
- code
- user
- tasks corresponding
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种软件产品开发的处理方法及装置,所述方法包括:发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;接收至少一个开发终端发送的任务领取请求,并将任务领取请求包括的开发任务的状态变更为已领取;接收至少一个开发终端发送的任务提交请求;若判断获知用户需求对应的多个开发任务都通过验收,则确认用户需求对应的多个开发任务完成;根据用户需求对应的多个开发任务的代码变更量以及用户需求对应多个开发任务的完成时间,确定用户需求的开发效率。所述装置用于执行上述方法。本发明实施例提供的软件产品开发的处理方法及装置,提高了对用户需求度量的准确性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种软件产品开发的处理方法及装置。
背景技术
软件产品的配置管理是企业软件研发管理中的一个重要管理过程,涉及到软件版本的变更管控,准入审核,流程管理,团队协作,状态追溯等环节。
现有技术中,软件产品的配置管理通常只关注软件版本的自身管理。软件版本与用户需求之间没有直接联系,软件版本究竟涉及到哪些用户需求,这些用户需求的是花费多长时间完成的,目前还缺乏有效的度量方法。
发明内容
针对现有技术中的问题,本发明实施例提供一种软件产品开发的处理方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种软件产品开发的处理方法,包括:
发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;
接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;
接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;
若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;
根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
另一方面,本发明提供一种软件产品开发的处理装置,包括:
发布单元,用于发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;
第一接收单元,用于接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;
第二接收单元,用于接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;
确认单元,用于在判断获知所述用户需求对应的多个开发任务都通过验收之后,确认所述用户需求对应的多个开发任务完成;
确定单元,用于根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
再一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述软件产品开发的处理方法的步骤。
又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述软件产品开发的处理方法的步骤。
本发明实施例提供的软件产品开发的处理方法及装置,你能够发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配,接收至少一个开发终端发送的任务领取请求,并将任务领取请求包括的开发任务的状态变更为已领取,接收至少一个开发终端发送的任务提交请求,任务提交请求包括开发任务以及开发任务对应的提交代码,在判断获知用户需求对应的多个开发任务都通过验收之后,确认用户需求对应的多个开发任务完成,根据用户需求对应的多个开发任务的代码变更量以及用户需求对应多个开发任务的完成时间,确定用户需求的开发效率,将用户需求与开发任务进行对应,通过对开发任务的记录,确定用户需求的开发效率,实现了软件产品开发过程中对用户需求的量化,提高了对用户需求度量的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的软件产品开发的处理系统的结构示意图。
图2是本发明一实施例提供的软件产品开发的处理方法的流程示意图。
图3是本发明另一实施例提供的软件产品开发的处理方法的流程示意图。
图4是本发明一实施例提供的软件产品开发的处理装置的结构示意图。
图5是本发明另一实施例提供的软件产品开发的处理装置的结构示意图。
图6是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1是本发明一实施例提供的软件产品开发的处理系统的结构示意图,如图1所示,本发明实施例提供的软件产品开发的处理系统包括服务器1和多个开发终端2,服务器1和每个开发终端2通信连接,服务器1作为执行主体执行本发明实施例提供的软件产品开发的处理方法。其中,开发终端2可以采用台式机、笔记本等电子设备实现。
企业级的项目需求通常会分阶段投产,每次投产完成若干个用户需求,项目经理将本次投产的用户需求分解成细粒度的多个开发任务,将上述多个开发任务分派给项目开发组成员,项目经理可以通过服务器1发布用户需求对应的多个开发任务,项目开发组成员中的每个开发人员都可以通过开发终端2去领取开发任务。
配置管理员将本次投产的用户需求需要涉及到变更的代码工程设置为一个变更代码工程集,本次投产的用户需求对应的多个开发任务只能修改变更代码工程集中的代码,配置管理员可以为每个开发任务设置对应的代码工程,代码工程来源于代码工程集。其中,配置管理员是企业中负责处理软件版本相关工作的人员,负责代码管理、代码编译、版本管理、版本发布等工作。
图2是本发明一实施例提供的软件产品开发的处理方法的流程示意图,如图2示,本发明实施例提供的软件产品开发的处理方法,包括:
S201、发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;
具体地,服务器可以发布用户需求对应的多个开发任务,并将每个开发任务的状态设置并为未分配。其中,所述用户需求对应的多个开发任务是预先设置的,每个开发任务对应一个代码工程,所述代码工程是预设的。状态为未分配的开发任务可以被领取,每个开发任务只能被领取一次。
S202接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;
具体地,在所述服务器发布所述用户需求对应的多个开发任务之后,各个开发终端可以接收到所述用户需求对应的多个开发任务。每个开发终端可以提示对应的开发人员接收到了所述多个开发任务,每个开发终端对应的开发人员可以决定是否去领取开发任务,如果决定领取开发任务,可以通过开发终端向所述服务器发送任务领取请求,所述任务领取请求包括开发人员想要领取的开发任务。所述服务器可以接收开发终端发送的任务领取请求,然后将所述任务领取请求包括的开发任务的状态变更为已领取,状态为已领取的开发任务已经被领取。所述服务器还可以向发送任务领取请求的开发终端发送任务领取成功的提示信息。
S203、接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;
具体地,开发人员在通过对应的开发终端领取到开发任务之后,可以通过开发终端上配置的集成开发环境(Integrated Development Environment,简称IDE),在领取的开发任务对应的代码工程的基础上进行软件开发,即修改开发任务对应的码工程中的代码或者增加新代码,以完成开发任务。开发人员在完成领取的开发任务之后,可以通过对应的开发终端向所述服务器发送任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码。所述服务器会接收所述任务提交请求,当有多个开发终端向所述服务器发送任务提交请求时,所述服务器会接收到多个开发终端发送的任务提交请求。所述开发任务对应的提交代码是开发人员针对所述开发任务对应的代码工程修改后获得的。
S204、若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;
具体地,所述用户需求对应的多个开发任务在提交之后,需要进行验收,例如通过自动化测试以及人工评审对开发任务进行验收,获得每个开发任务的验收结果。所述服务器可以获取每个开发任务的验收结果,当所述开发任务的验收结果为验收通过时,所述服务器可以确定所述开发任务完成,并变更所述开发任务的状态为已完成。当所述服务器判断出所述用户需求对应的多个开发任务都通过验收时,可以确认所述用户需求对应的多个开发任务完成。其中,当所述开发任务的验收结果为验收通过时,所述服务器可以设置所述开发任务的状态为已完成。对于状态为已完成的开发任务,开发任务对应的提交代码不能被修改。
S205、根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
具体地,在所述用户需求对应的多个开发任务完成之后,所述服务器可以统计获得所述用户需求对应的多个开发任务的代码变更量,以及所述用户需求对应的多个开发任务的完成时间,然后根据所述用户需求对应的多个开发任务的代码变更量和所述用户需求对应的多个开发任务的完成时间,计算出所述用户需求的开发效率。
本发明实施例提供的软件产品开发的处理方法,你能够发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配,接收至少一个开发终端发送的任务领取请求,并将任务领取请求包括的开发任务的状态变更为已领取,接收至少一个开发终端发送的任务提交请求,任务提交请求包括开发任务以及开发任务对应的提交代码,在判断获知用户需求对应的多个开发任务都通过验收之后,确认用户需求对应的多个开发任务完成,根据用户需求对应的多个开发任务的代码变更量以及用户需求对应多个开发任务的完成时间,确定用户需求的开发效率,将用户需求与开发任务进行对应,通过对开发任务的记录,确定用户需求的开发效率,实现了软件产品开发过程中对用户需求的量化,提高了对用户需求度量的准确性。
图3是本发明另一实施例提供的软件产品开发的处理方法的流程示意图,如图3所示,在上述各实施例的基础上,进一步地,所述根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率包括:
S2051、根据每个开发任务的提交代码和每个开发任务的工程代码,确定每个开发任务的代码变更行数,并根据所述多个开发任务的代码变更行数,计算获得所述用户需求对应的多个开发任务的代码变更量;
具体地,所述服务器可以对比每个开发任务的提交代码和每个开发任务的工程代码,获得每个开发任务的提交代码相对于每个开发任务的工程代码发生变化的代码的行数作为每个开发任务的代码变更行数,涉及修改的代码行,新增加的代码行以及删除的代码行。所述服务器获得所述用户需求对应的多个开发任务的代码变更行数之后,将多个开发任务的代码变更行数求和,可以计算获得所述用户需求对应的多个开发任务的代码变更量。
例如,所述用户需求对应三个开发任务:开发任务A、开发任务B和开发任务C,所述服务器获得开发任务A的代码变更行数为100行,开发任务B的代码变更行数为200行,开发任务C的代码变更行数为80行,那么所述服务器可以计算获得所述用户需求对应的三个开发任务的代码变更量为100+200+80=380行。
S2052、根据每个开发任务的领取时间和提交时间,获得每个开发任务的完成时间,并根据所述多个开发任务的完成时间,计算获得所述用户需求对应多个开发任务的完成时间;
具体地,所述服务器在接收到开发终端发送的任务领取请求时,可以记录接收到任务领取请求的时间作为任务领取请求包括的开发任务的领取时间;所述服务器在接收到开发终端发送的任务提交请求时,可以记录任务提交请求的发送时间,由于开发任务可能存在验收不通过,多次提交的情况,所述服务器会将接收到的最后一次包括所述开发任务的任务领取请求的发送时间,作为所述开发任务的提交时间。所述服务器根据每个开发任务的领取时间和提交时间,计算每个开发任务的提交时间和每个开发任务的领取时间的时间差,可以获得每个开发任务的完成时间。所述服务器在获得所述用户需求对应的多个开发任务的完成时间之后,计算所述多个开发任务的完成时间之和,获得所述用户需求对应的多个开发任务的完成时间。
例如,所述用户需求对应三个开发任务:开发任务A、开发任务B和开发任务C,所述服务器获得开发任务A的完成时间为9小时,开发任务B的完成时间为20小时,开发任务C的完成时间为6小时,那么所述服务器可以计算获得所述用户需求对应的三个开发任务的完成时间为9+20+6=35小时。
S2053、计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,作为所述用户需求的开发效率。
具体地,所述服务器在获得所述用户需求对应的多个开发任务的代码变更量和所述用户需求对应多个开发任务的完成时间之后,计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,获得所述用户需求的开发效率。通过所述用户需求的开发效率,实现对软件产品开发的精确度量。
例如,所述服务器获得所述用户需求对应的多个开发任务的代码变更量为280行,所述用户需求对应多个开发任务的完成时间为35小时,那么所述用户需求的开发效率为280/35=8行/小时。
在上述各实施例的基础上,进一步地,所述若判断获知所述用户需求对应的多个开发任务都通过验收包括:
若判断获知所述开发任务的自动化测试结果为通过且所述开发任务的人工评审结果为通过,则确定所述开发任务通过验收。
具体地,每个开发任务提交之后,都需要进行验收,开发任务的验收可以包括自动化测试和人工评审两个过程。首先对所述开发任务的提交代码进行自动化测试,所述自动化测试可以包括代码扫描、合规性检测、单元自动化测试等步骤,根据实际需要进行设置,本发明实施例不做限定。所述开发任务经过自动化测试之后,可以获得所述开发任务的测试结果,当通过自动化测试时,所述开发任务的测试结果为通过,当没有通过自动化测试时,所述开发任务的测试结果为不通过。在所述开发任务通过自动化测试之后,人工对所述开发任务进行评审,获得所述开发任务的人工评审结果,当通过人工评审时,所述开发任务的人工评审结果为通过;当没有通过人工评审时,所述人工评审结果为不通过。所述服务器可以获得所述开发任务的自动化测试结果和人工评审结果,在判断获知所述开发任务的自动化测试结果为通过且人工评审结果为通过之后,确定所述开发任务通过验收。如果人工评审结果为不通过或者自动化测试结果为不通过,那么会将所述开发任务通过开发终端返回给对应的开发人员,由开发人员对开发任务对应的提交代码进行修改。其中,人工评审和自动化测试的具体过程,根据实际需要进行设置,本发明实施例不做限定。
在上述各实施例的基础上,进一步地,每个开发任务对应一个开发人员。
具体地,开发送人员在通过开发终端向服务器发送任务提交请求时,所述任务提交请求可以携带开发人员的标识,使得开发任务与开发人员对应。当所述用户需求对应的多个开发任务完成并投入使用之后,如果出现问题,可以定位导致问题的开发任务,并通过开发任务与开发人员的对应关系准确定位到引起问题的开发人员,由开发人员找到问题原因并解决。其中,所述开发人员的标识例如为员工号码,开发系统的登录标识等,根据实际需要进行设置,本发明实施例不做限定。
下面以一个具体的实施例来说明本发明实施例提供的软件产品开发的处理方法的实现过程。
软件产品E在投产之后,经过用户的反馈产生了新的需求,针对上述用户需求e,软件产品E的开发团队的项目经理将用户需求e分解为5个开发任务,配置管理员为每个开发任务配置对应的工程代码。项目经理通过服务器发布用户需求e对应的5个开发任务,假设软件产品E的开发团队有7个开发人员,每个开发人员都使用一台笔记本电脑作为开发终端,每个开发终端都可以接收到用户需求e对应的5个开发任务。其中,服务器和开发终端之间的交互可以通过IDE上安装的开发任务插件实现。
每个开发人员可以在开发终端上通过输入用户名和密码登录IDE,然后从用户需求e对应的5个开发任务中选择想要领取的开发任务,开发终端会将开发人员想要领取的开发任务携带在任务领取请求中发送给服务器。服务器会接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取,然后向开发终端返回任务领取成功信息,每个开发任务都可以与开发人员的用户名对应。开发人员可以在开发终端的任务列表中查看到领取的开发任务,并获取到开发任务对应的工程代码,开发人员对开发任务对应的工程代码进行修改,在完成开发之后,获得开发任务对应的提交代码,然后通过开发终端向服务器发送携带开发任务对应的提交代码的任务提交请求。
所述服务器会接收到至少一个开发终端的任务提交请求,任务提交请求包括的开发任务对应的提交代码需要经过人工审核以及软件测试,以保证开发任务完成的正确性。所述服务器在判断获知用户需求e对应的5个开发任务都通过验收之后,确认用户需求e对应的5个开发任务完成,所述服务器可以将用户需求e对应的5个开发任务的提交代码提交到代码仓库。
所述服务器可以统计用户需求e对应的5个开发任务中每个开发任务的代码变更行数,再计算获得用户需求e对应的5个开发任务的代码变更量。所述服务器可以获得用户需求e对应的5个开发任务中每个开发任务的完成时间,然后计算获得用户需求e对应的5个开发任务的完成时间。所述服务器根据用户需求e对应的5个开发任务的代码变更量和用户需求e对应的5个开发任务的完成时间,可以计算获得用户需求e的开发效率。
将用户需求对应到若干个开发任务,开发任务对应到若干次的代码变更,代码变更集组成了最终的软件产品的发布版本,建立起了从需求到软件产品版本的精确对应关系。将用户需求与软件产品的版本相结合,对每次软件产品的版本变更都与用户需求分解而来得更细粒度的开发任务关联,这样就能精细化管理每个软件产品版本对应的用户需求和开发工作量,达到对软件产品开发效率和开发成本精确度量的目的,也能够精确度量软件需求,实现对软件产品的精细化管理。当软件产品在使用时出现问题的时候,通过软件产品版本与用户需求的对应关联,能很迅速定位出现问题的开发任务,并通过开发任务与开发人员的对应关系,精确定位到开发人员,由开发人员快速找到问题原因对软件产品进行修复,提高了企业软件管理水平。
图4是本发明一实施例提供的软件产品开发的处理装置的结构示意图,如图4所示,在上述各实施例的基础上,进一步地,本发明实施例提供的软件产品开发的处理装置包括发布单元401、第一接收单元402、第二接收单元403、确认单元404和确定单元405,其中:
发布单元401用于发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;第一接收单元402用于接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;第二接收单元403用于接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;确认单元404用于在判断获知所述用户需求对应的多个开发任务都通过验收之后,确认所述用户需求对应的多个开发任务完成;确定单元405用于根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
具体地,发布单元401可以发布用户需求对应的多个开发任务,并将每个开发任务的状态设置并为未分配。其中,所述用户需求对应的多个开发任务是预先设置的,每个开发任务对应一个代码工程,所述代码工程是预设的。状态为未分配的开发任务可以被领取,每个开发任务只能被领取一次。
在发布单元401发布所述用户需求对应的多个开发任务之后,各个开发终端可以接收到所述用户需求对应的多个开发任务。每个开发终端可以提示对应的开发人员接收到了所述多个开发任务,每个开发终端对应的开发人员可以决定是否去领取开发任务,如果决定领取开发任务,可以通过开发终端向第一接收单元402发送任务领取请求,所述任务领取请求包括开发人员想要领取的开发任务。第一接收单元402可以接收开发终端发送的任务领取请求,然后将所述任务领取请求包括的开发任务的状态变更为已领取,状态为已领取的开发任务已经被领取。第一接收单元402还可以向发送任务领取请求的开发终端发送任务领取成功的提示信息。
开发人员在通过对应的开发终端领取到开发任务之后,可以通过开发终端上配置的IDE,在领取的开发任务对应的代码工程的基础上进行软件开发,即修改开发任务对应的码工程中的代码或者增加新代码,以完成开发任务。开发人员在完成领取的开发任务之后,可以通过对应的开发终端向第二接收单元403发送任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码。第二接收单元403会接收所述任务提交请求,当有多个开发终端向所述服务器发送任务提交请求时,所述服务器会接收到多个开发终端发送的任务提交请求。所述开发任务对应的提交代码是开发人员针对所述开发任务对应的代码工程修改后获得的。
所述用户需求对应的多个开发任务在提交之后,需要进行验收,例如通过自动化测试以及人工评审对开发任务进行验收,获得每个开发任务的验收结果。确认单元404可以获取每个开发任务的验收结果,当所述开发任务的验收结果为验收通过时,所述服务器可以确定所述开发任务完成,并变更所述开发任务的状态为已完成。当确认单元404判断出所述用户需求对应的多个开发任务都通过验收时,可以确认所述用户需求对应的多个开发任务完成。其中,当所述开发任务的验收结果为验收通过时,确认单元404可以将所述开发任务的验收通过信息发送给对应的开发终端,开发终端对应的开发人员可以设置所述开发任务的状态为已完成。对于状态为已完成的开发任务,开发任务对应的提交代码不能被修改。
在所述用户需求对应的多个开发任务完成之后,确定单元405可以统计获得所述用户需求对应的多个开发任务的代码变更量,以及所述用户需求对应的多个开发任务的完成时间,然后根据所述用户需求对应的多个开发任务的代码变更量和所述用户需求对应的多个开发任务的完成时间,计算出所述用户需求的开发效率。
本发明实施例提供的软件产品开发的处理装置,你能够发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配,接收至少一个开发终端发送的任务领取请求,并将任务领取请求包括的开发任务的状态变更为已领取,接收至少一个开发终端发送的任务提交请求,任务提交请求包括开发任务以及开发任务对应的提交代码,在判断获知用户需求对应的多个开发任务都通过验收之后,确认用户需求对应的多个开发任务完成,根据用户需求对应的多个开发任务的代码变更量以及用户需求对应多个开发任务的完成时间,确定用户需求的开发效率,将用户需求与开发任务进行对应,通过对开发任务的记录,确定用户需求的开发效率,实现了软件产品开发过程中对用户需求的量化,提高了对用户需求度量的准确性。
图5是本发明另一实施例提供的软件产品开发的处理装置的结构示意图,如图5所示,在上述各实施例的基础上,进一步地,确定单元405包括第一计算子单元4051、第二计算子单元4052和第三计算子单元4053,其中:
第一计算子单元4051用于根据每个开发任务的提交代码和每个开发任务的工程代码,确定每个开发任务的代码变更行数,并根据所述多个开发任务的代码变更行数,计算获得所述用户需求对应的多个开发任务的代码变更量;第二计算子单元4052用于根据每个开发任务的领取时间和提交时间,获得每个开发任务的完成时间,并根据所述多个开发任务的完成时间,计算获得所述用户需求对应多个开发任务的完成时间;第三计算子单元4053用于计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,作为所述用户需求的开发效率。
具体地,第一计算子单元4051可以对比每个开发任务的提交代码和每个开发任务的工程代码,获得每个开发任务的提交代码相对于每个开发任务的工程代码发生变化的代码的行数作为每个开发任务的代码变更行数,涉及修改的代码行,新增加的代码行以及删除的代码行。第一计算子单元4051获得所述用户需求对应的多个开发任务的代码变更行数之后,将多个开发任务的代码变更行数求和,可以计算获得所述用户需求对应的多个开发任务的代码变更量。
在接收到开发终端发送的任务领取请求时,第二计算子单元4052可以记录接收到任务领取请求的时间作为任务领取请求包括的开发任务的领取时间;第二计算子单元4052在接收到开发终端发送的任务提交请求时,可以记录任务提交请求的发送时间,由于开发任务可能存在验收不通过,多次提交的情况,第二计算子单元4052会将接收到的最后一次包括所述开发任务的任务领取请求的发送时间,作为所述开发任务的提交时间。第二计算子单元4052根据每个开发任务的领取时间和提交时间,计算每个开发任务的提交时间和每个开发任务的领取时间的时间差,可以获得每个开发任务的完成时间。第二计算子单元4052在获得所述用户需求对应的多个开发任务的完成时间之后,计算所述多个开发任务的完成时间之和,获得所述用户需求对应的多个开发任务的完成时间。
在获得所述用户需求对应的多个开发任务的代码变更量和所述用户需求对应多个开发任务的完成时间之后,第三计算子单元4053计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,获得所述用户需求的开发效率。通过所述用户需求的开发效率,实现对软件产品开发的精确度量。
在上述各实施例的基础上,进一步地,确认单元404具体用于:
在判断获知所述开发任务的自动化测试结果为通过且所述开发任务的人工评审结果为通过之后,确定所述开发任务通过验收。
开发任务的验收可以包括自动化测试和人工评审两个过程。首先对所述开发任务的提交代码进行自动化测试,所述自动化测试可以包括代码扫描、合规性检测、单元自动化测试等步骤,根据实际需要进行设置,本发明实施例不做限定。所述开发任务经过自动化测试之后,可以获得所述开发任务的测试结果,当通过自动化测试时,所述开发任务的测试结果为通过,当没有通过自动化测试时,所述开发任务的测试结果为不通过。在所述开发任务通过自动化测试之后,人工对所述开发任务进行评审,获得所述开发任务的人工评审结果,当通过人工评审时,所述开发任务的人工评审结果为通过;当没有通过人工评审时,所述人工评审结果为不通过。确认单元404可以获得所述开发任务的自动化测试结果和人工评审结果,在判断获知所述开发任务的自动化测试结果为通过且人工评审结果为通过之后,确定所述开发任务通过验收。如果人工评审结果为不通过或者自动化测试结果为不通过,那么会将所述开发任务通过开发终端返回给对应的开发人员,由开发人员对开发任务对应的提交代码进行修改。其中,人工评审和自动化测试的具体过程,根据实际需要进行设置,本发明实施例不做限定。
在上述各实施例的基础上,进一步地,每个开发任务对应一个开发人员。
具体地,开发送人员在通过开发终端向服务器发送任务提交请求时,所述任务提交请求可以携带开发人员的标识,使得开发任务与开发人员对应。当所述用户需求对应的多个开发任务完成并投入使用之后,如果出现问题,可以定位导致问题的开发任务,并通过开发任务与开发人员的对应关系准确定位到引起问题的开发人员,由开发人员找到问题原因并解决。其中,所述开发人员的标识例如为员工号码,开发系统的登录标识等,根据实际需要进行设置,本发明实施例不做限定。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图6是本发明一实施例提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行如下方法:发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种软件产品开发的处理方法,其特征在于,包括:
发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;所述代码工程是预设的,所述代码工程来源于代码工程集,本次投产的用户需求对应的多个开发任务只能修改变更代码工程集中的代码;
接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;
接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;
若判断获知所述用户需求对应的多个开发任务都通过验收,则确认所述用户需求对应的多个开发任务完成;其中,开发任务对应到若干次的代码变更,代码变更集组成了最终的软件产品的发布版本;
根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率;
其中,所述根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率包括:
根据每个开发任务的提交代码和每个开发任务的工程代码,确定每个开发任务的代码变更行数,并根据所述多个开发任务的代码变更行数,计算获得所述用户需求对应的多个开发任务的代码变更量;
根据每个开发任务的领取时间和提交时间,获得每个开发任务的完成时间,并根据所述多个开发任务的完成时间,计算获得所述用户需求对应多个开发任务的完成时间;
计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,作为所述用户需求的开发效率。
2.根据权利要求1所述的方法,其特征在于,所述若判断获知所述用户需求对应的多个开发任务都通过验收包括:
若判断获知所述开发任务的自动化测试结果为通过且所述开发任务的人工评审结果为通过,则确定所述开发任务通过验收。
3.根据权利要求1或2所述的方法,其特征在于,每个开发任务对应一个开发人员。
4.一种软件产品开发的处理装置,其特征在于,包括:
发布单元,用于发布用户需求对应的多个开发任务并设置每个开发任务的状态为未分配;其中,每个开发任务对应一个代码工程;所述代码工程是预设的,所述代码工程来源于代码工程集,本次投产的用户需求对应的多个开发任务只能修改变更代码工程集中的代码;
第一接收单元,用于接收至少一个开发终端发送的任务领取请求,并将所述任务领取请求包括的开发任务的状态变更为已领取;
第二接收单元,用于接收所述至少一个开发终端发送的任务提交请求,所述任务提交请求包括开发任务以及开发任务对应的提交代码,所述开发任务对应的提交代码是针对所述开发任务对应的代码工程修改后获得的;
确认单元,用于在判断获知所述用户需求对应的多个开发任务都通过验收之后,确认所述用户需求对应的多个开发任务完成;其中,开发任务对应到若干次的代码变更,代码变更集组成最终的软件产品的发布版本;
确定单元,用于根据所述用户需求对应的多个开发任务的代码变更量以及所述用户需求对应多个开发任务的完成时间,确定所述用户需求的开发效率;
其中,所述确定单元包括:
第一计算子单元,用于根据每个开发任务的提交代码和每个开发任务的工程代码,确定每个开发任务的代码变更行数,并根据所述多个开发任务的代码变更行数,计算获得所述用户需求对应的多个开发任务的代码变更量;
第二计算子单元,用于根据每个开发任务的领取时间和提交时间,获得每个开发任务的完成时间,并根据所述多个开发任务的完成时间,计算获得所述用户需求对应多个开发任务的完成时间;
第三计算子单元,用于计算所述用户需求对应的多个开发任务的代码变更量与所述用户需求对应多个开发任务的完成时间的商值,作为所述用户需求的开发效率。
5.根据权利要求4所述的装置,其特征在于,所述确认单元具体用于:
在判断获知所述开发任务的自动化测试结果为通过且所述开发任务的人工评审结果为通过之后,确定所述开发任务通过验收。
6.根据权利要求4或5所述的装置,其特征在于,每个开发任务对应一个开发人员。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010206667.2A CN111427543B (zh) | 2020-03-23 | 2020-03-23 | 一种软件产品开发的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010206667.2A CN111427543B (zh) | 2020-03-23 | 2020-03-23 | 一种软件产品开发的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427543A CN111427543A (zh) | 2020-07-17 |
CN111427543B true CN111427543B (zh) | 2023-08-11 |
Family
ID=71549661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010206667.2A Active CN111427543B (zh) | 2020-03-23 | 2020-03-23 | 一种软件产品开发的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427543B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667199A (zh) * | 2020-12-04 | 2021-04-16 | 苏州方正璞华信息技术有限公司 | 产品的网络协同方法、系统、计算机设备及存储介质 |
CN113127174A (zh) * | 2021-04-28 | 2021-07-16 | 上海淇玥信息技术有限公司 | 一种任务需求处理方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036335A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN108876201A (zh) * | 2018-07-24 | 2018-11-23 | 武汉空心科技有限公司 | 快速交付的开发方法、平台及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372685B1 (en) * | 2014-12-16 | 2016-06-21 | Sap Se | Impact prediction of software change deployment on customer systems |
-
2020
- 2020-03-23 CN CN202010206667.2A patent/CN111427543B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036335A1 (zh) * | 2015-09-01 | 2017-03-09 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN108876201A (zh) * | 2018-07-24 | 2018-11-23 | 武汉空心科技有限公司 | 快速交付的开发方法、平台及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111427543A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427543B (zh) | 一种软件产品开发的处理方法及装置 | |
CN110888804B (zh) | 接口测试方法以及接口测试平台 | |
CN111813788A (zh) | 信息的查询方法和装置、信息的同步方法和装置 | |
CN111695877A (zh) | 计算机执行的项目资源管理方法、系统、设备和可读介质 | |
CN110865806B (zh) | 代码处理方法、装置、服务器及存储介质 | |
CN114911522A (zh) | 一种软件版本发布系统、方法、设备及可读存储介质 | |
CN103440460A (zh) | 一种应用系统变更验证方法及验证系统 | |
CN115130857A (zh) | 产品管控方法、系统、计算机设备和存储介质 | |
CN113485697A (zh) | 一种人工智能框架下的模型建设运营服务方法及系统 | |
CN108038667B (zh) | 保单生成方法、装置及设备 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN113419949B (zh) | 数据处理的异常检测方法、装置、设备及存储介质 | |
CN114020642A (zh) | 大数据任务的测试方法、装置、存储介质和电子设备 | |
CN109816342B (zh) | 合同的管理方法、装置、终端及计算机可读存储介质 | |
CN112950138B (zh) | 协同开发的状态管理方法、装置和服务器 | |
CN111382054A (zh) | 基于文件的测试流程处理方法、装置及计算机存储介质 | |
CN117710068B (zh) | 基于人工智能的临时供应商核验方法、装置及设备 | |
CN113569225B (zh) | 一种算法程序的验证方法及装置 | |
CN117313856B (zh) | 一种可靠性测试规划系统及方法 | |
CN111158746B (zh) | 一种调用关系的获取方法及装置 | |
CN111399903B (zh) | 一种服务器连接方法、装置及其相关设备 | |
CN115454836A (zh) | 一种代码覆盖率的统计方法、系统、终端及存储介质 | |
CN116974938A (zh) | 一种自动化测试方法、装置、电子设备和存储介质 | |
CN117971679A (zh) | 一种智能合约测试数据生成方法、装置、设备及存储介质 | |
CN114328232A (zh) | 一种渗透测试工程化的方法、系统、装置及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220914 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |