本发明涉及计算机,尤其涉及一种应用开发的方法和装置。
背景技术:
1、应用开发必须要遵从一定的流程、技术开发规范,应用开发团队中的每个成员都遵照统一的规范部署去设计、开发、测试、沟通,才能提高开发的效率,提高项目开发的质量。但目前设计的应用开发过程没有形成整个研发过程的线上化、数字化。研发及测试工具是一种离散工具,与流程和研发测试过程脱节,即工具流与信息流脱节,没有形成研发过程的流水线,忽视了测试过程的重要性。
2、同时,目前研发过程管理是粗粒度的,仅包括大致的阶段过程中的记录,过程记录不够精细,也缺少完整的工具链支撑研发工作流。后续需要进行开发过程的统计分析时,仅能依靠人工回填入系统的信息来进行,这样人工回填信息的不准确有误差情况跟实际情况有偏差,导致过程数据不可信。
技术实现思路
1、有鉴于此,本发明实施例提供一种应用开发的方法和装置,能够实现对应用开发的全流程线上管理,解决了流程问题,通过流程制度约束,提高项目交付质量;满足从需求分析阶段到代码测试阶段的整个流程管理,可普遍应用于应用软件研发测试流程管理,同时还可以提高研发效能。另外,在应用开发过程中记录输入参数、输出结果等过程数据,使得后续进行数据统计分析时的数据真实可信,通过整个过程的数据分析,满足多维度(项目、人员、团队、应用、代码)数据能效分析,通过能效数据分析,反向推进提高研发效能、过程改进,不断良性循环。
2、为实现上述目的,根据本发明实施例的一个方面,提供了一种应用开发的方法,包括:响应于应用的开发需求分析指令,创建需求分析任务并生成需求编号,对所述需求分析任务进行解析以生成与所述需求编号相对应的需求分析子流程,根据所述需求分析子流程进行需求分析;响应于代码开发指令,建立所述应用的应用标识与所述需求编号的关联关系,并根据需求分析的结果生成与所述应用标识相对应的代码开发子流程,根据所述代码开发子流程进行代码开发以得到应用代码;响应于代码测试指令,创建代码测试任务,并建立测试任务标识与所述应用标识的关联关系,根据所述代码测试任务生成与所述测试任务标识相对应的代码测试子流程,根据所述代码测试子流程对所述应用代码进行测试以完成应用开发。
3、可选地,所述需求分析子流程包括:需求创建、需求评审和需求受理;根据所述需求分析子流程进行需求分析,包括:响应于需求创建指令,根据所述需求分析任务获取需求信息,并根据所述需求信息生成应用开发流程图;响应于需求评审指令,对所述应用开发流程图进行审核以生成需求评审结果;在所述需求评审结果为评审通过的情况下,响应于需求受理指令,根据需求受理信息生成受理表单。
4、可选地,在根据所述需求信息生成应用开发流程图之后,还包括:以图形化方式对所述应用开发流程图进行展示。
5、可选地,所述代码开发子流程包括:系统设计评审、代码提交、单元测试覆盖率统计、安全合规检测、依赖冲突检测、代码静态扫描、代码评审和代码集成;根据所述代码开发子流程进行代码开发,包括:响应于系统设计评审指令,对所述应用的系统设计文件进行审核以生成系统设计评审结果;在所述系统设计评审结果为评审通过的情况下,响应于代码提交指令,根据提交的开发代码和所述应用标识生成代码提交信息和应用代码变更信息;响应于单元测试覆盖率统计指令,根据所述应用标识获取代码覆盖率报告文件和应用代码,并结合所述代码覆盖率报告文件和所述应用代码得到单元测试覆盖率统计信息;响应于安全合规检测指令,根据待检测的应用代码分支和所述应用代码进行漏洞检测及隐私合规性扫描,并生成安全合规检测结果;响应于依赖冲突检测指令,根据待检测的应用代码分支和所述应用代码进行组件依赖冲突检测,并生成依赖冲突检测结果;响应于代码静态扫描指令,根据待检测的应用代码分支和所述应用代码,基于代码质量管理平台进行既定代码规范扫描,并生成代码静态扫描结果;响应于代码评审指令,根据待评审的应用代码分支和所述应用代码进行代码评审,并生成代码评审结果;在所述代码评审结果为评审通过的情况下,响应于代码集成指令,将所述提交的开发代码合并到待检测的应用代码分支,以进行代码集成。
6、可选地,所述代码测试子流程包括:创建测试任务、发送提测报告、编译构建、代码扫描、冒烟测试、测试受理/驳回、创建测试计划、测试用例评审、ui自动化测试、接口自动化测试、功能测试覆盖率/监控、发送测试报告、发送上线通告和发送线上验证报告;根据所述代码测试子流程对所述应用代码进行测试,包括:响应于创建测试任务指令,根据测试需求信息创建测试任务,并生成测试任务信息;响应于发送提测报告指令,对所述测试需求信息和所述测试任务信息进行组装,并将组装得到的提测报告发送给相关人员;响应于编译构建指令,根据所述测试任务信息获取待测试应用标识,并根据所述测试需求信息和所述待测试应用标识完成测试环境部署,并显示编译构建的进度;响应于代码扫描指令,根据所述测试需求信息和所述待测试应用标识获取代码覆盖率报告文件和应用代码,并结合所述代码覆盖率报告文件和所述应用代码得到单元测试覆盖率统计信息;响应于冒烟测试指令,根据所述测试需求信息、所述待测试应用标识和测试用例,对待测试应用进行冒烟测试,并生成冒烟测试结果;响应于测试受理/驳回指令,根据所述冒烟测试结果生成测试受理信息或者测试驳回信息;在测试受理的情况下,响应于创建测试计划指令,根据所述测试任务信息和所述待测试应用标识生成测试计划,并统计功能测试用例和自动化测试用例的执行结果;响应于测试用例评审指令,根据待评审的功能测试用例和自动化测试用例的执行结果进行测试用例评审,并生成测试用例评审结果;响应于ui自动化测试指令,根据所述测试任务信息、所述待测试应用标识和ui自动化测试用例进行ui自动化测试,并统计ui自动化测试用例的执行结果;响应于接口自动化测试指令,根据所述测试任务信息、所述待测试应用标识和接口自动化测试用例进行接口自动化测试,并统计接口自动化测试用例的执行结果;响应于功能测试覆盖率/监控指令,根据所述待测试应用标识得到应用部署服务器信息,根据功能测试用例和自动化测试用例对应用部署服务器上部署的所述待测试应用进行覆盖率测试,并生成覆盖率测试结果;响应于发送测试报告指令,根据所述测试需求信息、所述待测试应用标识、功能测试用例和自动化测试用例的覆盖率测试结果,按照测试报告模板组装生成测试报告,并发送给相关人员;响应于发送上线通告指令,根据所述测试需求信息、所述待测试应用标识、应用上线前的检查结果,按照上线通告模板组装生成上线通告,并发送给相关人员;响应于发送线上验证报告指令,根据所述测试需求信息、所述待测试应用标识、应用验收后的检查结果,按照线上验证报告模板组装生成线上验证报告,并发送给相关人员。
7、可选地,所述方法还包括:在进行应用开发的过程中,将各个子流程包括的输入参数和输出结果与所述子流程的各个节点进行关联存储;以及,通过对所述各个节点进行操作以展示所述各个节点的相关信息。
8、可选地,所述方法还包括:在需求受理、创建提测、发送提测报告、发送测试报告、发送上线通告和发送线上验证报告的节点,还根据节点的输出结果生成通知信息并发送给相关人员。
9、根据本发明实施例的另一方面,提供了一种应用开发的装置,包括:需求分析模块,用于响应于应用的开发需求分析指令,创建需求分析任务并生成需求编号,对所述需求分析任务进行解析以生成与所述需求编号相对应的需求分析子流程,根据所述需求分析子流程进行需求分析;代码开发模块,用于响应于代码开发指令,建立所述应用的应用标识与所述需求编号的关联关系,并根据需求分析的结果生成与所述应用标识相对应的代码开发子流程,根据所述代码开发子流程进行代码开发以得到应用代码;代码测试模块,用于响应于代码测试指令,创建代码测试任务,并建立测试任务标识与所述应用标识的关联关系,根据所述代码测试任务生成与所述测试任务标识相对应的代码测试子流程,根据所述代码测试子流程对所述应用代码进行测试以完成应用开发。
10、根据本发明实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用开发的方法。
11、根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的应用开发的方法。
12、上述发明中的一个实施例具有如下优点或有益效果:通过响应于应用的开发需求分析指令,创建需求分析任务并生成需求编号,对需求分析任务进行解析以生成与需求编号相对应的需求分析子流程,根据需求分析子流程进行需求分析;响应于代码开发指令,建立应用的应用标识与需求编号的关联关系,并根据需求分析的结果生成与应用标识相对应的代码开发子流程,根据代码开发子流程进行代码开发以得到应用代码;响应于代码测试指令,创建代码测试任务,并建立测试任务标识与应用标识的关联关系,根据代码测试任务生成与测试任务标识相对应的代码测试子流程,根据代码测试子流程对应用代码进行测试以完成应用开发的技术方案,通过将应用开发全流程划分为需求分析阶段、代码开发阶段和代码测试阶段,并且,在各个阶段使用不同的字段作为流程管理的关键信息,并通过这些字段来将需求分析阶段、代码开发阶段和代码测试阶段对应的子流程进行关联生成软件开发工作流,实现了对应用软件开发的全流程线上管理,解决了流程问题,通过流程制度约束,提高项目交付质量;满足从需求分析阶段到代码测试阶段的整个流程管理,可普遍应用于应用软件研发测试流程管理,同时还可以提高研发效能。另外,在应用软件开发过程中记录输入参数、输出结果等过程数据,使得后续进行数据统计分析时的数据真实可信,通过整个过程的数据分析,满足多维度(项目、人员、团队、应用、代码)数据能效分析,通过能效数据分析,反向推进提高研发效能、过程改进,不断良性循环。
13、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种应用开发的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述需求分析子流程包括:需求创建、需求评审和需求受理;
3.根据权利要求2所述的方法,其特征在于,在根据所述需求信息生成应用开发流程图之后,还包括:
4.根据权利要求1所述的方法,其特征在于,所述代码开发子流程包括:系统设计评审、代码提交、单元测试覆盖率统计、安全合规检测、依赖冲突检测、代码静态扫描、代码评审和代码集成;
5.根据权利要求1所述的方法,其特征在于,所述代码测试子流程包括:创建测试任务、发送提测报告、编译构建、代码扫描、冒烟测试、测试受理/驳回、创建测试计划、测试用例评审、ui自动化测试、接口自动化测试、功能测试覆盖率/监控、发送测试报告、发送上线通告和发送线上验证报告;
6.根据权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种应用开发的装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。