本发明涉及计算机应用
技术领域:
,具体地指一种快速交付的后端软件开发方法、平台及系统。
背景技术:
开发平台聚集了大量工程师,可以为客户提供开发服务。传统的开发平台主要包括三个重要阶段,首先是客户发布任务,由客户提供软件设计稿及交互说明文档,招募开发工程师,与工程师沟通明确需求细节后,支付相应费用;然后进入开发阶段,开发工程师根据设计稿及需求文档进行开发,开发过程中提交代码,开发完成后将代码整合,交付给客户;客户收到交付代码后,进行最后的测试,开发工程师配合进行修改完善,再由客户进行验收,支付剩余开发费用。目前,影响平台开发任务工作效率的瓶颈主要在于需求沟通和协同开发这两个环节,其中涉及大量的工程师与客户之间、工程师与工程师之间的沟通工作。一方面人为沟通容易遗漏或者误解需求细节,另一方面反复沟通确认耗时较长,从而造成交付时间的延误。技术实现要素:基于
背景技术:
存在的技术问题,本发明提出了一种快速交付的后端软件开发方法、平台及系统,通过标准化流程将客户开发需求的响应速度极致化,以合理的任务拆分方式将项目完成时间限制于任务期限以内,从而实现快速交付开发任务。为达到上述目的,本发明所采用的技术方案包括以下步骤:1)客户通过客户终端向服务器发布后端软件开发项目需求;2)服务器根据后端软件开发项目需求计算开发工作量及总体开发费用,并将后端软件开发项目分解为若干个工作任务;3)服务器通过用户终端向工程师用户提供任务信息,并接收来自工程师用户的报名指令;4)服务器将所有工作任务分配给报名任务的工程师进行开发,并设置任务期限,保证所有工作任务在任务期限内完成;5)工程师用户在任务期限内完成分配的工作任务后,将任务代码上传至服务器;6)服务器在任务期限届满后检查任务代码是否全部按时提交,是则向客户终端发送项目完成消息,服务器根据任务进行费用结算,并向用户终端发送结算消息;否则向用户终端发送项目完成失败消息。优选地,步骤1)中后端软件开发项目需求包括软件架构设计文档、软件接口设计文档、软件数据结构设计文档。优选地,步骤2)中将后端软件开发项目分解为若干个工作任务的方法为将后端软件开发项目以开发页面或者软件功能或者软件模块或者软件设计稿或者接口数量为计量单位计算开发工作量,将总体开发工作量以指定时间、平均开发速率切分为若干个任务。优选地,步骤4)的具体步骤包括:41)服务器接收到报名指令后,根据工程师用户的技术标签筛选符合要求的工程师用户,并根据工程师用户的工作参数排序,形成备选工程师列表;42)服务器根据备选工程师列表顺序将所有工作任务分发至工程师用户,并设置任务期限,工程师用户通过用户终端向服务器发送确认接单指令,服务器接收确认接单指令并启动计时;43)若备选工程师列表中的人数大于0小于任务数,或指定时间内未收到全部的确认接单指令,则服务器向客户终端发送分配失败指令和请求延期指令,转步骤44),若备选工程师列表中的人数为0,则服务器向客户终端发送分配失败指令,项目结束;44)客户通过客户终端接收分配失败指令和请求延期指令,向服务器发送同意延期指令或者项目结束指令,服务器接收同意延期指令则根据备选工程师列表顺序将所有工作任务分发至工程师用户,并根据备选工程师人数重新设置任务期限。优选地,步骤5)中,若工程师用户在任务期限内主动放弃任务,则通过用户终端向服务器发送放弃任务指令,服务器根据任务期限剩余时间和平均开发速率判断是否需要任务延期,是则向客户终端发送请求延期指令,否则将该项任务重新分配;客户通过客户终端接收请求延期指令,返回同意延期指令则服务器将该项任务重新分配,返回项目结束指令则服务器向客户终端发送费用退还指令。优选地,步骤6)中服务器向客户终端发送项目完成消息后,项目进入质保期,在设置的质保期限内,客户通过客户终端提交基于任务的修改意见,服务器将修改意见发送至相应的用户终端,工程师用户对任务进行修改,并通过用户终端向服务器提交修改后的代码,服务器将修改后的代码部署到测试环境并向客户终端发送页面访问地址和代码下载地址。优选地,质保期限结束后,服务器根据任务进行费用结算,将任务结算金额支付至该任务对应的用户终端指定的账户,并向用户终端发送结算消息。本发明还提出一种快速交付的后端软件开发平台,包括客户终端,用于发布后端软件开发项目需求,支付总体开发费用,验收开发代码;用户终端,用于获取任务信息、发送报名任务的指令、确认接收分配的任务,从服务器下载开发要求,在任务期限内完成开发任务并向服务器上传代码;服务器,用于根据后端软件开发项目需求计算开发工作量及总体开发费用,并将后端软件开发项目分解为若干个工作任务;通过用户终端向工程师用户提供任务信息,并接收来自工程师用户的报名指令;将所有工作任务分配给报名任务的工程师进行开发,并设置任务期限,保证所有工作任务在任务期限内完成;接收工程师上传的任务代码;在任务期限届满后检查任务代码是否全部按时提交,是则向客户终端发送项目完成消息,服务器根据任务进行费用结算,并向用户终端发送结算消息;否则向用户终端发送项目完成失败消息。进一步地,服务器包括任务管理服务器,用于接收后端软件开发项目需求,计算开发工作量及总体开发费用,收到费用支付消息后,将开发工作量分解为若干个工作任务,根据工作任务开发进度及交付期限调整任务分配;文件存储服务器,用于存储后端软件开发项目需求文件;代码管理服务器,用于根据后端软件开发项目需求创建初始框架代码,供用户终端上传开发结果代码,并将代码部署至测试环境供客户终端调用;修改管理服务器,用于接收客户终端提交任务测试修改意见,将修改意见发送至用户终端并接收反馈的修改结果状态。基于上述快速交付的后端软件开发方法,本发明还提出一种后端软件开发系统,包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器被配置为执行该计算机程序时实现上所述方法的步骤。与现有技术相比,本发明快速交付的后端软件开发方法、平台及系统,利用合理的开发工作量核算方法及灵活可控的任务切分方法,将前端软件、后端软件、软件对接的开发过程形成标准化、规范化的业务流程,一方面避免了对大量常规需求的反复确认,减少了客户与工程师的沟通工作量;另一方面保证了多位工程师并行开发时任务整体的交付质量,并由此提高了任务开发速度,确保快速交付。附图说明图1为本发明快速交付的后端软件开发方法的流程图。图2为本发明快速交付的后端软件开发平台的结构框图。具体实施方式下面结合附图和实施例对本发明做进一步的说明。如图1所示,本发明提出一种快速交付的后端软件开发方法,所述方法的具体步骤包括:1)客户通过客户终端向服务器发布后端软件开发项目需求;后端软件开发开发项目需求包括软件架构设计文档、软件接口设计文档、软件数据结构设计文档。客户通过客户终端上传需求文件,服务器接受需求文件后,根据文件名返回页面名称。客户仅需按照系统提示提供上述必要信息,其他详细需求信息都包含在设计文档里,客户不需要提供更多需求信息,尽量减少需求沟通工作量。2)服务器根据后端软件开发项目需求计算开发工作量及总体开发费用,并将后端软件开发项目分解为若干个工作任务。计算开发工作量可以以开发页面、软件功能或者软件模块或者软件设计稿为计量单位,将总体开发工作量以任务期限、平均开发速率切分为若干个任务,每一个任务的任务期限为自分配任务时刻的指定时间以内。以模块类型和规模计算开发工作量为例。模块类型中,基本通用模块工作量为5人日,基本业务模块工作量为8人日,基本封装模块工作量为4人日;模块规模中,小规模取系数0.6,标准规模取系数1,大规模取系数1.5,超大规模取系数3;根据每个模块对应类型的工作量乘以其对应的规模系数,即为每个模块的工作量,所有模块工作量之和即为任务对应的工作量。例如,总体开发工作量为10人日,则将该项目切分为10个任务,每个任务的任务期限设置为20小时或者24小时以内任意时限,以此保证总体开发工作量在24小时以内完成。服务器根据模块工作量之和,计算出总体开发费用,客户支付费用后,在服务端器发布任务信息。服务器将任务根据难易程度分为一级任务、二级任务、三级任务……,分别与一级工程师、二级工程师、三级工程师相匹配。服务器发布任务时,将一级任务、二级任务、三级任务对应发布至一级工程师、二级工程师、三级工程师的用户终端,低级别的任务同时发布至高级别的工程师。客户通过平台账户支付费用后,服务器开启任务流程,并向当前可接单工程师的用户终端发送任务信息。服务器同时根据前端软件开发项目需求的技术框架,选择与技术要求匹配的代码模版,创建该项目的初始代码框架,然后根据项目需求中的页面信息,为每一个页面创建初始目录及初始代码文件。3)服务器通过用户终端向工程师用户提供任务信息,并接收来自工程师用户的报名指令。4)服务器将所有工作任务分配给报名任务的工程师进行开发,并设置任务期限,保证所有工作任务在任务期限内完成。41)服务器接收到报名指令后,根据工程师用户的技术标签筛选符合要求的工程师用户,并根据工程师用户的工作参数排序,形成备选工程师列表;42)服务器根据备选工程师列表顺序将所有工作任务分发至工程师用户,并设置任务期限,工程师用户通过用户终端向服务器发送确认接单指令,服务器接收确认接单指令并启动计时;43)若备选工程师列表中的人数大于0小于任务数,或指定时间内未收到全部的确认接单指令,则服务器向客户终端发送分配失败指令和请求延期指令,转步骤44),若备选工程师列表中的人数为0,则服务器向客户终端发送分配失败指令,项目结束;44)客户通过客户终端接收分配失败指令和请求延期指令,向服务器发送同意延期指令或者项目结束指令,服务器接收同意延期指令则根据备选工程师列表顺序将所有工作任务分发至工程师用户,并根据备选工程师人数重新设置任务期限。由于发布任务时,服务器已根据任务级别发至相应级别的开发工程师用户,工程师用户报名相应级别的任务或者低级别的任务,服务器分配任务时,将一级任务、二级任务、三级任务分别分配至相应级别或者高级别的工程师用户。例如,客户发布了一个在线商城的后端软件开发任务,根据客户模块任务级别描述工程师用户管理一级任务用户信息维护、登录、注册一级工程师a商品管理二级任务商品信息维护、商品选购二级工程师b订单管理二级任务订单流程、物流信息二级工程师c支付二级任务用户账户管理、支付流程二级工程师d提交的软件需求设计文档,任务分配情况如下5)工程师用户在任务期限内完成分配的工作任务后,将任务代码上传至服务器。工程师在用户终端接收到分配的任务消息后,从服务器下载对应页面的设计稿文件,并同步任务的初始代码,基于设计稿,根据平台规定的开发规范进行开发。开发规范从代码风格、页面布局、以及前端各种元素、组件的实现进行了详细的规定,要求对设计稿中可识别的原则统一按照平台开发规范进行标准化开发。若工程师用户在任务期限内主动放弃任务,则通过用户终端向服务器发送放弃任务指令,服务器根据任务期限剩余时间和平均开发速率判断是否需要任务延期,是则向客户终端发送请求延期指令,否则将该项任务重新分配;客户通过客户终端接收请求延期指令,返回同意延期指令则服务器将该项任务重新分配,将当前工程师脱离该任务,将该工程师未提交的页面重新分配给队列内其他工程师,向替补工程师的用户终端发送任务分配信息;返回项目结束指令则服务器向客户终端发送费用退还指令。6)服务器在任务期限届满后检查任务代码是否全部按时提交,是则向客户终端发送项目完成消息,服务器根据任务进行费用结算,并向用户终端发送结算消息;否则向用户终端发送项目完成失败消息。服务器存储工程师用户发送的代码,将代码部署到测试环境并向客户终端发送页面访问地址和代码下载地址。服务器向客户终端发送项目完成消息,服务器根据任务进行费用结算,并向用户终端发送结算消息。服务器向客户终端发送项目完成消息后,项目进入质保期,在设置的质保期限内,客户通过客户终端提交基于任务的修改意见,服务器将修改意见发送至相应的用户终端,工程师用户对任务进行修改,并通过用户终端向服务器提交修改后的代码,服务器将修改后的代码部署到测试环境并向客户终端发送页面访问地址和代码下载地址。客户在客户终端接收到页面完成信息后,访问服务器提供的页面访问地址,查看测试交付结果页面。如果发现有需要修改完善的问题,将修改意见发布到服务器。客户也可以通过服务器提供的代码下载地址,下载全部已完成页面代码。服务器接收到客户提交的修改意见时,向对应的用户终端发送修改通知消息。工程师根据接收到的修改意见,对页面进行修改,然后向服务器提交修改后的页面代码。质保期限结束后,服务器根据任务进行费用结算,将任务结算金额支付至该任务对应的用户终端指定的账户,并向用户终端发送结算消息。如图2所示,本发明还提出一种快速交付的后端软件开发平台,包括客户终端,用于发布后端软件开发项目需求,支付总体开发费用,验收开发代码;用户终端,用于获取任务信息、发送报名任务的指令、确认接收分配的任务,从服务器下载开发要求,在任务期限内完成开发任务并向服务器上传代码;服务器,用于根据后端软件开发项目需求计算开发工作量及总体开发费用,并将后端软件开发项目分解为若干个工作任务;通过用户终端向工程师用户提供任务信息,并接收来自工程师用户的报名指令;将所有工作任务分配给报名任务的工程师进行开发,并设置任务期限,保证所有工作任务在任务期限内完成;接收工程师上传的任务代码;在任务期限届满后检查任务代码是否全部按时提交,是则向客户终端发送项目完成消息,服务器根据任务进行费用结算,并向用户终端发送结算消息;否则向用户终端发送项目完成失败消息。进一步地,服务器包括任务管理服务器,用于接收后端软件开发项目需求计算开发工作量及总体开发费用,收到费用支付消息后,将开发工作量分解为若干个工作任务,根据任务开发进度及交付期限调整任务分配;文件存储服务器,用于存储后端软件开发项目需求文件;代码管理服务器,用于根据后端软件开发项目需求创建初始框架代码,供用户终端上传开发结果代码,并将代码部署至测试环境供客户终端调用;修改管理服务器,用于接收客户终端提交任务测试修改意见,将修改意见发送至用户终端并接收反馈的修改结果状态。基于上述快速交付的后端软件开发方法,本发明还提出一种软件开发系统,包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器被配置为执行该计算机程序时实现上所述方法的步骤。当前第1页12