基于众包的软件开发方法及装置制造方法及图纸

技术编号:14525174 阅读:63 留言:0更新日期:2017-02-02 03:43
本发明专利技术提供一种基于众包的软件开发方法及装置,该方法包括:接收需求提供者输入的原始软件需求;将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD;生成PRD对应的第一模块开发任务MDT;将所述第一MDT分发至产品架构师,以使所述产品架构师根据所述第一MDT生成多个第二MDT并向互联网用户发布所述多个第二MDT;接收所述互联网用户提交的至少一组交付件,将所述至少一组交付件分发至所述产品架构师,以使所述产品架构师根据所述至少一组交付件生成所述原始软件需求对应的软件产品。本发明专利技术可以实现大规模的并发开发,极大提高软件开发速度。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种基于众包的软件开发方法及装置。
技术介绍
众包是指一个公司或机构把过去由员工执行的工作任务,以自由自愿的形式外包给非特定的大众网络的做法,将众包的概念应用于软件开发过程中,可以显著地提升软件开发的速度。尤其对于提供基于安卓系统的应用的企业,需要快速开发安卓应用来抢占市场,基于众包的软件开发方法由于其自身的优势可以快速完成安卓应用的开发。现有技术中,利用众包进行软件开发时,可以使用基于开源方式的众包或者基于比赛的众包,其中,基于开源方式的众包是通过将软件开发需求提交到主流开源社区的方式,吸引社区成员来进行贡献,最终收回软件产品,基于比赛的众包是通过在平台内部设立专家团队,将软件开发流程拆分为一系列连续的子过程,并将每个子过程作为一个比赛发布到网络上,吸引网络用户来参与,并通过参赛者互相评选的方式,选出每个比赛阶段的优胜者,作为该子过程的输出,最终完成整个软件产品的开发。但是,现有技术所提供的基于众包的软件开发方法没有充分实现并行化的开发,因此,软件开发的速度并不能满足用户的要求。
技术实现思路
本专利技术提供一种基于众包的软件开发方法及装置,用于解决现有技术中的软件开发方法所存在的软件开发速度不能满足用户要求的问题。本专利技术第一方面提供一种基于众包的软件开发方法,该方法应用于基于众包的软件开发平台,该方法包括:接收需求提供者输入的原始软件需求;将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD;生成所述PRD对应的第一模块开发任务MDT;将所述第一MDT分发至产品架构师,以使所述产品架构师根据所述第一MDT生成多个第二MDT并向互联网用户发布所述多个第二MDT;接收所述互联网用户提交的至少一组交付件,所述交付件包括软件代码以及测试报告,所述交付件与所述第二MDT或者功能开发任务FDT一一对应,其中,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,所述FDT用于实现一个函数功能;将所述至少一组交付件分发至所述产品架构师,以使所述产品架构师根据所述至少一组交付件生成所述原始软件需求对应的软件产品。进一步地,所述将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD之后,还包括:接收所述互联网用户针对所述PRD的至少一条意见信息,所述意见信息通过评论方式生成,所述意见信息为对所述PRD的补充或修改;根据所述产品经理的特点,对所述意见信息进行排序;将排序之后的意见信息分发至所述产品经理,以使所述产品经理根据所述意见信息更新所述PRD。进一步地,所述意见信息中包括意见的类别,相应地,所述根据所述产品经理的特点,对所述意见信息进行排序,包括:根据所述意见信息的类别以及所述产品经理的特点,确定各类别的意见信息的顺序;根据所述意见信息的评论结果,对每种类别的意见信息进行排序,形成所述意见信息的排序结果。进一步地,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,包括:所述FDT由所述互联网用户对所述第二MDT进行至少一次分解并发布之后获得,以使选择所述FDT的互联网用户实现所述FDT。进一步地,所述接收所述互联网用户提交的至少一组交付件之后,还包括:将所述交付件中的软件代码中的恒真代码替换为实际调用代码,其中,所述恒真代码用于替代所述软件代码中的待调用代码,所述恒真代码具有起始标识以及结束标识。进一步地,还包括:接收所述互联网用户输入的函数名称;对所述函数名称进行拆分,确定所述函数名称中的至少一个关键词;根据所述至少一个关键词,从预设的推荐代码库中查找与所述函数名称匹配的推荐代码。进一步地,所述根据所述至少一个关键词,从预设的推荐代码库中查找与所述函数名称匹配的推荐代码,包括:按照关键词数量由多到少的顺序从预设的推荐代码库中查找与所述关键词匹配的推荐代码;按照所述推荐代码的星级评分对查找出的推荐代码进行排序;向所述互联网用户显示排序后的所述推荐代码。本专利技术第二方面提供一种基于众包的软件开发装置,包括:第一接收模块,用于接收需求提供者输入的原始软件需求;第一分发模块,用于将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD;生成模块,用于生成所述PRD对应的第一模块开发任务MDT;第二分发模块,用于将所述第一MDT分发至产品架构师,以使所述产品架构师根据所述第一MDT生成多个第二MDT并向互联网用户发布所述多个第二MDT;第二接收模块,用于接收所述互联网用户提交的至少一组交付件,所述交付件包括软件代码以及测试报告,所述交付件与所述第二MDT或者功能开发任务FDT一一对应,其中,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,所述FDT用于实现一个函数功能;第三分发模块,用于将所述至少一组交付件分发至所述产品架构师,以使所述产品架构师根据所述至少一组交付件生成所述原始软件需求对应的软件产品。进一步地,还包括:第三接收模块,用于接收所述互联网用户针对所述PRD的至少一条意见信息,所述意见信息通过评论方式生成,所述意见信息为对所述PRD的补充或修改;排序模块,用于根据所述产品经理的特点,对所述意见信息进行排序;第四分发模块,用于将排序之后的意见信息分发至所述产品经理,以使所述产品经理根据所述意见信息更新所述PRD。进一步地,所述意见信息中包括意见的类别,相应地,所述排序模块包括:确定单元,用于根据所述意见信息的类别以及所述产品经理的特点,确定各类别的意见信息的顺序;排序单元,用于根据所述意见信息的评论结果,对每种类别的意见信息进行排序,形成所述意见信息的排序结果。进一步地,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,包括:所述FDT由所述互联网用户对所述第二MDT进行至少一次分解并发布之后获得,以使选择所述FDT的互联网用户实现所述FDT。进一步地,还包括:替换模块,用于将所述交付件中的软件代码中的恒真代码替换为实际调用代码,其中,所述恒真代码用于替代所述软件代码中的待调用代码,所述恒真代码具有起始标识以及结束标识。进一步地,还包括:第四接收模块,用于接收所述互联网用户输入的函数名称;拆分模块,用于对所述函数名称进行拆分,确定所述函数名称中的至少一个关键词;查找模块,用于根据所述至少一个关键词,从预设的推荐代码库中查找与所述函数名称匹配的推荐代码。进一步地,所述查找模块包括:查找单元,用于按照关键词数量由多到少的顺序从预设的推荐代码库中查找与所述关键词匹配的推荐代码;排序单元,用于按照所述推荐代码的星级评分对查找出的推荐代码进行排序;显示单元,用于向所述互联网用户显示排序后的所述推荐代码。本专利技术所提供的基于众包的软件开发方法及装置,通过在基于众包的软件开发平台上设置四种角色,可以快速的聚合互联网上软件对应的目标用户,进行高效的需求分析,扩展,规约,快速完成由想法到原型的过程,同时,通过将软件开发任务拆分为低至一个函数开发的超细粒度的微任务,可以实现大规模的并发开发,极大提高软件开发速度,另外,通过将调度协调的任务从平台专家团队转移到了互联网用户中,使得管理成本融入了开发成本中,因此也降低了软件开发的成本。附图说本文档来自技高网...

【技术保护点】
一种基于众包的软件开发方法,其特征在于,所述方法应用于基于众包的软件开发平台,所述方法包括:接收需求提供者输入的原始软件需求;将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD;生成所述PRD对应的第一模块开发任务MDT;将所述第一MDT分发至产品架构师,以使所述产品架构师根据所述第一MDT生成多个第二MDT并向互联网用户发布所述多个第二MDT;接收所述互联网用户提交的至少一组交付件,所述交付件包括软件代码以及测试报告,所述交付件与所述第二MDT或者功能开发任务FDT一一对应,其中,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,所述FDT用于实现一个函数功能;将所述至少一组交付件分发至所述产品架构师,以使所述产品架构师根据所述至少一组交付件生成所述原始软件需求对应的软件产品。

【技术特征摘要】
1.一种基于众包的软件开发方法,其特征在于,所述方法应用于基于众包的软件开发平台,所述方法包括:接收需求提供者输入的原始软件需求;将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD;生成所述PRD对应的第一模块开发任务MDT;将所述第一MDT分发至产品架构师,以使所述产品架构师根据所述第一MDT生成多个第二MDT并向互联网用户发布所述多个第二MDT;接收所述互联网用户提交的至少一组交付件,所述交付件包括软件代码以及测试报告,所述交付件与所述第二MDT或者功能开发任务FDT一一对应,其中,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,所述FDT用于实现一个函数功能;将所述至少一组交付件分发至所述产品架构师,以使所述产品架构师根据所述至少一组交付件生成所述原始软件需求对应的软件产品。2.根据权利要求1所述的方法,其特征在于,所述将所述原始软件需求分发至产品经理,以使所述产品经理根据所述原始软件需求生成并发布产品需求文档PRD之后,还包括:接收所述互联网用户针对所述PRD的至少一条意见信息,所述意见信息通过评论方式生成,所述意见信息为对所述PRD的补充或修改;根据所述产品经理的特点,对所述意见信息进行排序;将排序之后的意见信息分发至所述产品经理,以使所述产品经理根据所述意见信息更新所述PRD。3.根据权利要求2所述的方法,其特征在于,所述意见信息中包括意见的类别,相应地,所述根据所述产品经理的特点,对所述意见信息进行排序,包括:根据所述意见信息的类别以及所述产品经理的特点,确定各类别的意见信息的顺序;根据所述意见信息的评论结果,对每种类别的意见信息进行排序,形成所述意见信息的排序结果。4.根据权利要求1-3任一项所述的方法,其特征在于,所述FDT由所述互联网用户对所述第二MDT进行分解后获得,包括:所述FDT由所述互联网用户对所述第二MDT进行至少一次分解并发布之后获得,以使选择所述FDT的互联网用户实现所述FDT。5.根据权利要求1所述的方法,其特征在于,所述接收所述互联网用户提交的至少一组交付件之后,还包括:将所述交付件中的软件代码中的恒真代码替换为实际调用代码,其中,所述恒真代码用于替代所述软件代码中的待调用代码,所述恒真代码具有起始标识以及结束标识。6.根据权利要求1...

【专利技术属性】
技术研发人员:孙海龙刘旭东段伟韩焘王旭
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1